From c635094a6bdfcf2f081eb3c0ed9a1454ae2933fb Mon Sep 17 00:00:00 2001 From: Mike Skec Date: Sat, 9 Jan 2021 15:55:52 +1100 Subject: status bar: show request status when loading pages status text for loading HTTP/S is only a simple 'loading webpage'. The other protocols display more information --- src/protocols/geminiclient.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/protocols/geminiclient.cpp') 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::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; -- cgit v1.2.3