Proxy settings loading for global access network manager for web browsers.
This commit is contained in:
parent
beb8ba41d9
commit
d779e74557
@ -181,6 +181,7 @@ set(APP_SOURCES
|
||||
src/core/localization.cpp
|
||||
src/core/dynamicshortcuts.cpp
|
||||
src/core/basenetworkaccessmanager.cpp
|
||||
src/core/webBrowsernetworkaccessmanager.cpp
|
||||
|
||||
# Basic application sources.
|
||||
src/main.cpp
|
||||
@ -212,6 +213,7 @@ set(APP_HEADERS
|
||||
|
||||
# CORE headers.
|
||||
src/core/basenetworkaccessmanager.h
|
||||
src/core/webBrowsernetworkaccessmanager.h
|
||||
)
|
||||
|
||||
# Add form files.
|
||||
|
@ -10,10 +10,36 @@ BaseNetworkAccessManager::BaseNetworkAccessManager(QObject *parent)
|
||||
loadSettings();
|
||||
}
|
||||
|
||||
BaseNetworkAccessManager::~BaseNetworkAccessManager() {
|
||||
qDebug("Destroying BaseNetworkAccessManager instance.");
|
||||
}
|
||||
|
||||
void BaseNetworkAccessManager::loadSettings() {
|
||||
QNetworkProxy new_proxy;
|
||||
// TODO: Continue here.
|
||||
|
||||
// Load proxy values from settings.
|
||||
QNetworkProxy::ProxyType selected_proxy_type = static_cast<QNetworkProxy::ProxyType>(Settings::getInstance()->value(APP_CFG_PROXY,
|
||||
"proxy_type",
|
||||
QNetworkProxy::NoProxy).toInt());
|
||||
if (selected_proxy_type == QNetworkProxy::NoProxy) {
|
||||
// No extra setting is needed, set new proxy and exit this method.
|
||||
setProxy(QNetworkProxy::NoProxy);
|
||||
return;
|
||||
}
|
||||
|
||||
// Custom proxy is selected, set it up.
|
||||
new_proxy.setType(selected_proxy_type);
|
||||
new_proxy.setHostName(Settings::getInstance()->value(APP_CFG_PROXY,
|
||||
"host").toString());
|
||||
new_proxy.setPort(Settings::getInstance()->value(APP_CFG_PROXY,
|
||||
"port", 80).toInt());
|
||||
new_proxy.setUser(Settings::getInstance()->value(APP_CFG_PROXY,
|
||||
"username").toString());
|
||||
new_proxy.setPassword(Settings::getInstance()->value(APP_CFG_PROXY,
|
||||
"password").toString());
|
||||
setProxy(new_proxy);
|
||||
|
||||
qDebug("Settings of BaseNetworkAccessManager changed.");
|
||||
}
|
||||
|
||||
QNetworkReply *BaseNetworkAccessManager::createRequest(QNetworkAccessManager::Operation op,
|
||||
|
@ -8,9 +8,10 @@ class BaseNetworkAccessManager : public QNetworkAccessManager {
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit BaseNetworkAccessManager(QObject *parent = 0);
|
||||
virtual ~BaseNetworkAccessManager();
|
||||
|
||||
public slots:
|
||||
void loadSettings();
|
||||
virtual void loadSettings();
|
||||
|
||||
protected:
|
||||
QNetworkReply *createRequest(Operation op,
|
||||
|
9
src/core/webbrowsernetworkaccessmanager.cpp
Normal file
9
src/core/webbrowsernetworkaccessmanager.cpp
Normal file
@ -0,0 +1,9 @@
|
||||
#include "core/webbrowsernetworkaccessmanager.h"
|
||||
|
||||
|
||||
WebBrowserNetworkAccessManager::WebBrowserNetworkAccessManager(QObject *parent)
|
||||
: BaseNetworkAccessManager(parent) {
|
||||
}
|
||||
|
||||
WebBrowserNetworkAccessManager::~WebBrowserNetworkAccessManager() {
|
||||
}
|
15
src/core/webbrowsernetworkaccessmanager.h
Normal file
15
src/core/webbrowsernetworkaccessmanager.h
Normal file
@ -0,0 +1,15 @@
|
||||
#ifndef WEBBROWSERNETWORKACCESSMANAGER_H
|
||||
#define WEBBROWSERNETWORKACCESSMANAGER_H
|
||||
|
||||
#include "core/basenetworkaccessmanager.h"
|
||||
|
||||
|
||||
class WebBrowserNetworkAccessManager : public BaseNetworkAccessManager {
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit WebBrowserNetworkAccessManager(QObject *parent = 0);
|
||||
virtual ~WebBrowserNetworkAccessManager();
|
||||
|
||||
};
|
||||
|
||||
#endif // WEBBROWSERNETWORKACCESSMANAGER_H
|
@ -1,4 +1,4 @@
|
||||
#include "core/basenetworkaccessmanager.h"
|
||||
#include "core/webbrowsernetworkaccessmanager.h"
|
||||
#include "gui/basewebpage.h"
|
||||
#include "gui/webbrowser.h"
|
||||
|
||||
|
@ -11,6 +11,7 @@
|
||||
#include "core/localization.h"
|
||||
#include "core/systemfactory.h"
|
||||
#include "core/dynamicshortcuts.h"
|
||||
#include "core/webbrowsernetworkaccessmanager.h"
|
||||
|
||||
|
||||
FormSettings::FormSettings(QWidget *parent) : QDialog(parent), m_ui(new Ui::FormSettings) {
|
||||
@ -116,6 +117,9 @@ void FormSettings::saveProxy() {
|
||||
m_ui->m_txtProxyPassword->text());
|
||||
Settings::getInstance()->setValue(APP_CFG_PROXY, "port",
|
||||
m_ui->m_spinProxyPort->value());
|
||||
|
||||
// Reload settings for all network access managers.
|
||||
WebBrowser::globalNetworkManager()->loadSettings();
|
||||
}
|
||||
|
||||
void FormSettings::loadLanguage() {
|
||||
|
@ -2,10 +2,12 @@
|
||||
#include <QToolBar>
|
||||
#include <QAction>
|
||||
#include <QPointer>
|
||||
#include <QApplication>
|
||||
|
||||
#include <QMessageBox>
|
||||
|
||||
#include "core/basenetworkaccessmanager.h"
|
||||
#include "core/webbrowsernetworkaccessmanager.h"
|
||||
#include "gui/basewebview.h"
|
||||
#include "gui/basewebpage.h"
|
||||
#include "gui/webbrowser.h"
|
||||
@ -13,7 +15,7 @@
|
||||
#include "gui/themefactory.h"
|
||||
|
||||
|
||||
QPointer<BaseNetworkAccessManager> WebBrowser::m_networkManager;
|
||||
QPointer<WebBrowserNetworkAccessManager> WebBrowser::m_networkManager;
|
||||
QList<WebBrowser*> WebBrowser::m_runningWebBrowsers;
|
||||
|
||||
WebBrowser::WebBrowser(QWidget *parent)
|
||||
@ -112,9 +114,10 @@ QList<WebBrowser *> WebBrowser::runningWebBrowsers() {
|
||||
return m_runningWebBrowsers;
|
||||
}
|
||||
|
||||
BaseNetworkAccessManager *WebBrowser::globalNetworkManager() {
|
||||
WebBrowserNetworkAccessManager *WebBrowser::globalNetworkManager() {
|
||||
if (m_networkManager.isNull()) {
|
||||
m_networkManager = new BaseNetworkAccessManager();
|
||||
// TODO: Not sure if qApp is needed here.
|
||||
m_networkManager = new WebBrowserNetworkAccessManager(qApp);
|
||||
}
|
||||
|
||||
return m_networkManager;
|
||||
|
@ -8,7 +8,7 @@ class QToolBar;
|
||||
class QVBoxLayout;
|
||||
class LocationLineEdit;
|
||||
class BaseWebView;
|
||||
class BaseNetworkAccessManager;
|
||||
class WebBrowserNetworkAccessManager;
|
||||
|
||||
class WebBrowser : public QWidget {
|
||||
Q_OBJECT
|
||||
@ -19,7 +19,7 @@ class WebBrowser : public QWidget {
|
||||
|
||||
void setupIcons();
|
||||
|
||||
static BaseNetworkAccessManager *globalNetworkManager();
|
||||
static WebBrowserNetworkAccessManager *globalNetworkManager();
|
||||
static QList<WebBrowser*> runningWebBrowsers();
|
||||
|
||||
protected:
|
||||
@ -40,7 +40,7 @@ class WebBrowser : public QWidget {
|
||||
QAction *m_actionReload;
|
||||
QAction *m_actionStop;
|
||||
|
||||
static QPointer<BaseNetworkAccessManager> m_networkManager;
|
||||
static QPointer<WebBrowserNetworkAccessManager> m_networkManager;
|
||||
static QList<WebBrowser*> m_runningWebBrowsers;
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user