Some corrections for network access managers. Now WebBrowser manager is strictly used for web browsing. Feed downloader/Google suggestor/download manager now uses Silent manager.

This commit is contained in:
Martin Rotter 2015-06-14 08:39:57 +02:00
parent 8ba6583a8c
commit 0cdc250d54
8 changed files with 26 additions and 6 deletions

View File

@ -457,6 +457,7 @@ void FormSettings::saveProxy() {
settings->setValue(GROUP(Proxy), Proxy::Port, m_ui->m_spinProxyPort->value());
// Reload settings for all network access managers.
SilentNetworkAccessManager::instance()->loadSettings();
WebBrowserNetworkAccessManager::instance()->loadSettings();
}

View File

@ -31,7 +31,6 @@ Downloader::Downloader(QObject *parent)
m_timer->setSingleShot(true);
connect(m_timer, SIGNAL(timeout()), this, SLOT(timeout()));
//connect(m_downloadManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(finished(QNetworkReply*)));
}
Downloader::~Downloader() {

View File

@ -24,7 +24,6 @@
#include "gui/tabwidget.h"
#include "gui/messagebox.h"
#include "network-web/silentnetworkaccessmanager.h"
#include "network-web/webbrowsernetworkaccessmanager.h"
#include <math.h>
@ -437,7 +436,7 @@ void DownloadItem::finished() {
DownloadManager::DownloadManager(QWidget *parent) : TabContent(parent), m_ui(new Ui::DownloadManager),
m_autoSaver(new AutoSaver(this)), m_model(new DownloadModel(this)),
m_networkManager(WebBrowserNetworkAccessManager::instance()), m_iconProvider(0), m_removePolicy(Never) {
m_networkManager(SilentNetworkAccessManager::instance()), m_iconProvider(0), m_removePolicy(Never) {
m_ui->setupUi(this);
m_ui->m_viewDownloads->setShowGrid(false);
m_ui->m_viewDownloads->verticalHeader()->hide();

View File

@ -46,7 +46,7 @@
#include "network-web/googlesuggest.h"
#include "definitions/definitions.h"
#include "network-web/webbrowsernetworkaccessmanager.h"
#include "network-web/silentnetworkaccessmanager.h"
#include "gui/locationlineedit.h"
#include <QListWidget>
@ -171,7 +171,7 @@ void GoogleSuggest::autoSuggest() {
QString str = QUrl::toPercentEncoding(editor->text());
QString url = QString(GOOGLE_SUGGEST_URL).arg(str);
connect(WebBrowserNetworkAccessManager::instance()->get(QNetworkRequest(QString(url))), SIGNAL(finished()),
connect(SilentNetworkAccessManager::instance()->get(QNetworkRequest(QString(url))), SIGNAL(finished()),
this, SLOT(handleNetworkData()));
}

View File

@ -23,6 +23,8 @@
#include <QAuthenticator>
QPointer<SilentNetworkAccessManager> SilentNetworkAccessManager::s_instance;
SilentNetworkAccessManager::SilentNetworkAccessManager(QObject *parent)
: BaseNetworkAccessManager(parent) {
connect(this, SIGNAL(authenticationRequired(QNetworkReply*,QAuthenticator*)),
@ -30,6 +32,15 @@ SilentNetworkAccessManager::SilentNetworkAccessManager(QObject *parent)
}
SilentNetworkAccessManager::~SilentNetworkAccessManager() {
qDebug("Destroying SilentNetworkAccessManager instance.");
}
SilentNetworkAccessManager *SilentNetworkAccessManager::instance() {
if (s_instance.isNull()) {
s_instance = new SilentNetworkAccessManager(qApp);
}
return s_instance;
}
void SilentNetworkAccessManager::onAuthenticationRequired(QNetworkReply *reply, QAuthenticator *authenticator) {

View File

@ -20,8 +20,11 @@
#include "network-web/basenetworkaccessmanager.h"
#include <QPointer>
// Network manager used for more communication for feeds.
// This network manager does not provide any GUI interaction options.
class SilentNetworkAccessManager : public BaseNetworkAccessManager {
Q_OBJECT
@ -30,9 +33,15 @@ class SilentNetworkAccessManager : public BaseNetworkAccessManager {
explicit SilentNetworkAccessManager(QObject *parent = 0);
virtual ~SilentNetworkAccessManager();
// Returns pointer to global silent network manager
static SilentNetworkAccessManager *instance();
protected slots:
// This cannot do any GUI stuff.
void onAuthenticationRequired(QNetworkReply * reply, QAuthenticator *authenticator);
private:
static QPointer<SilentNetworkAccessManager> s_instance;
};
#endif // SILENTNETWORKACCESSMANAGER_H

View File

@ -31,6 +31,7 @@ WebBrowserNetworkAccessManager::WebBrowserNetworkAccessManager(QObject *parent)
}
WebBrowserNetworkAccessManager::~WebBrowserNetworkAccessManager() {
qDebug("Destroying WebBrowserNetworkAccessManager instance.");
}
void WebBrowserNetworkAccessManager::onAuthenticationRequired(QNetworkReply *reply, QAuthenticator *authenticator) {

View File

@ -37,7 +37,7 @@ class WebBrowserNetworkAccessManager : public BaseNetworkAccessManager {
static WebBrowserNetworkAccessManager *instance();
protected slots:
void onAuthenticationRequired(QNetworkReply * reply, QAuthenticator *authenticator);
void onAuthenticationRequired(QNetworkReply *reply, QAuthenticator *authenticator);
private:
static QPointer<WebBrowserNetworkAccessManager> s_instance;