aboutsummaryrefslogtreecommitdiff
path: root/src/protocols/geminiclient.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/protocols/geminiclient.cpp')
-rw-r--r--src/protocols/geminiclient.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/protocols/geminiclient.cpp b/src/protocols/geminiclient.cpp
index 71bac3d..ee5ac27 100644
--- a/src/protocols/geminiclient.cpp
+++ b/src/protocols/geminiclient.cpp
@@ -19,6 +19,18 @@ GeminiClient::GeminiClient() : ProtocolHandler(nullptr)
#else
connect(&socket, QOverload<QAbstractSocket::SocketError>::of(&QTcpSocket::error), this, &GeminiClient::socketError);
#endif
+
+ // States
+ connect(&socket, &QAbstractSocket::hostFound, this, [this]() {
+ emit this->requestStateChange(RequestState::HostFound);
+ });
+ connect(&socket, &QAbstractSocket::connected, this, [this]() {
+ emit this->requestStateChange(RequestState::Connected);
+ });
+ connect(&socket, &QAbstractSocket::disconnected, this, [this]() {
+ emit this->requestStateChange(RequestState::None);
+ });
+ emit this->requestStateChange(RequestState::None);
}
GeminiClient::~GeminiClient()
@@ -45,6 +57,8 @@ bool GeminiClient::startRequest(const QUrl &url, RequestOptions options)
return false;
}
+ emit this->requestStateChange(RequestState::Started);
+
this->is_error_state = false;
this->options = options;