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/localization.cpp
|
||||||
src/core/dynamicshortcuts.cpp
|
src/core/dynamicshortcuts.cpp
|
||||||
src/core/basenetworkaccessmanager.cpp
|
src/core/basenetworkaccessmanager.cpp
|
||||||
|
src/core/webBrowsernetworkaccessmanager.cpp
|
||||||
|
|
||||||
# Basic application sources.
|
# Basic application sources.
|
||||||
src/main.cpp
|
src/main.cpp
|
||||||
@ -212,6 +213,7 @@ set(APP_HEADERS
|
|||||||
|
|
||||||
# CORE headers.
|
# CORE headers.
|
||||||
src/core/basenetworkaccessmanager.h
|
src/core/basenetworkaccessmanager.h
|
||||||
|
src/core/webBrowsernetworkaccessmanager.h
|
||||||
)
|
)
|
||||||
|
|
||||||
# Add form files.
|
# Add form files.
|
||||||
|
@ -10,10 +10,36 @@ BaseNetworkAccessManager::BaseNetworkAccessManager(QObject *parent)
|
|||||||
loadSettings();
|
loadSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BaseNetworkAccessManager::~BaseNetworkAccessManager() {
|
||||||
|
qDebug("Destroying BaseNetworkAccessManager instance.");
|
||||||
|
}
|
||||||
|
|
||||||
void BaseNetworkAccessManager::loadSettings() {
|
void BaseNetworkAccessManager::loadSettings() {
|
||||||
QNetworkProxy new_proxy;
|
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);
|
setProxy(new_proxy);
|
||||||
|
|
||||||
|
qDebug("Settings of BaseNetworkAccessManager changed.");
|
||||||
}
|
}
|
||||||
|
|
||||||
QNetworkReply *BaseNetworkAccessManager::createRequest(QNetworkAccessManager::Operation op,
|
QNetworkReply *BaseNetworkAccessManager::createRequest(QNetworkAccessManager::Operation op,
|
||||||
|
@ -8,9 +8,10 @@ class BaseNetworkAccessManager : public QNetworkAccessManager {
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit BaseNetworkAccessManager(QObject *parent = 0);
|
explicit BaseNetworkAccessManager(QObject *parent = 0);
|
||||||
|
virtual ~BaseNetworkAccessManager();
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void loadSettings();
|
virtual void loadSettings();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
QNetworkReply *createRequest(Operation op,
|
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/basewebpage.h"
|
||||||
#include "gui/webbrowser.h"
|
#include "gui/webbrowser.h"
|
||||||
|
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
#include "core/localization.h"
|
#include "core/localization.h"
|
||||||
#include "core/systemfactory.h"
|
#include "core/systemfactory.h"
|
||||||
#include "core/dynamicshortcuts.h"
|
#include "core/dynamicshortcuts.h"
|
||||||
|
#include "core/webbrowsernetworkaccessmanager.h"
|
||||||
|
|
||||||
|
|
||||||
FormSettings::FormSettings(QWidget *parent) : QDialog(parent), m_ui(new Ui::FormSettings) {
|
FormSettings::FormSettings(QWidget *parent) : QDialog(parent), m_ui(new Ui::FormSettings) {
|
||||||
@ -116,6 +117,9 @@ void FormSettings::saveProxy() {
|
|||||||
m_ui->m_txtProxyPassword->text());
|
m_ui->m_txtProxyPassword->text());
|
||||||
Settings::getInstance()->setValue(APP_CFG_PROXY, "port",
|
Settings::getInstance()->setValue(APP_CFG_PROXY, "port",
|
||||||
m_ui->m_spinProxyPort->value());
|
m_ui->m_spinProxyPort->value());
|
||||||
|
|
||||||
|
// Reload settings for all network access managers.
|
||||||
|
WebBrowser::globalNetworkManager()->loadSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
void FormSettings::loadLanguage() {
|
void FormSettings::loadLanguage() {
|
||||||
|
@ -2,10 +2,12 @@
|
|||||||
#include <QToolBar>
|
#include <QToolBar>
|
||||||
#include <QAction>
|
#include <QAction>
|
||||||
#include <QPointer>
|
#include <QPointer>
|
||||||
|
#include <QApplication>
|
||||||
|
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
|
|
||||||
#include "core/basenetworkaccessmanager.h"
|
#include "core/basenetworkaccessmanager.h"
|
||||||
|
#include "core/webbrowsernetworkaccessmanager.h"
|
||||||
#include "gui/basewebview.h"
|
#include "gui/basewebview.h"
|
||||||
#include "gui/basewebpage.h"
|
#include "gui/basewebpage.h"
|
||||||
#include "gui/webbrowser.h"
|
#include "gui/webbrowser.h"
|
||||||
@ -13,7 +15,7 @@
|
|||||||
#include "gui/themefactory.h"
|
#include "gui/themefactory.h"
|
||||||
|
|
||||||
|
|
||||||
QPointer<BaseNetworkAccessManager> WebBrowser::m_networkManager;
|
QPointer<WebBrowserNetworkAccessManager> WebBrowser::m_networkManager;
|
||||||
QList<WebBrowser*> WebBrowser::m_runningWebBrowsers;
|
QList<WebBrowser*> WebBrowser::m_runningWebBrowsers;
|
||||||
|
|
||||||
WebBrowser::WebBrowser(QWidget *parent)
|
WebBrowser::WebBrowser(QWidget *parent)
|
||||||
@ -112,9 +114,10 @@ QList<WebBrowser *> WebBrowser::runningWebBrowsers() {
|
|||||||
return m_runningWebBrowsers;
|
return m_runningWebBrowsers;
|
||||||
}
|
}
|
||||||
|
|
||||||
BaseNetworkAccessManager *WebBrowser::globalNetworkManager() {
|
WebBrowserNetworkAccessManager *WebBrowser::globalNetworkManager() {
|
||||||
if (m_networkManager.isNull()) {
|
if (m_networkManager.isNull()) {
|
||||||
m_networkManager = new BaseNetworkAccessManager();
|
// TODO: Not sure if qApp is needed here.
|
||||||
|
m_networkManager = new WebBrowserNetworkAccessManager(qApp);
|
||||||
}
|
}
|
||||||
|
|
||||||
return m_networkManager;
|
return m_networkManager;
|
||||||
|
@ -8,7 +8,7 @@ class QToolBar;
|
|||||||
class QVBoxLayout;
|
class QVBoxLayout;
|
||||||
class LocationLineEdit;
|
class LocationLineEdit;
|
||||||
class BaseWebView;
|
class BaseWebView;
|
||||||
class BaseNetworkAccessManager;
|
class WebBrowserNetworkAccessManager;
|
||||||
|
|
||||||
class WebBrowser : public QWidget {
|
class WebBrowser : public QWidget {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
@ -19,7 +19,7 @@ class WebBrowser : public QWidget {
|
|||||||
|
|
||||||
void setupIcons();
|
void setupIcons();
|
||||||
|
|
||||||
static BaseNetworkAccessManager *globalNetworkManager();
|
static WebBrowserNetworkAccessManager *globalNetworkManager();
|
||||||
static QList<WebBrowser*> runningWebBrowsers();
|
static QList<WebBrowser*> runningWebBrowsers();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
@ -40,7 +40,7 @@ class WebBrowser : public QWidget {
|
|||||||
QAction *m_actionReload;
|
QAction *m_actionReload;
|
||||||
QAction *m_actionStop;
|
QAction *m_actionStop;
|
||||||
|
|
||||||
static QPointer<BaseNetworkAccessManager> m_networkManager;
|
static QPointer<WebBrowserNetworkAccessManager> m_networkManager;
|
||||||
static QList<WebBrowser*> m_runningWebBrowsers;
|
static QList<WebBrowser*> m_runningWebBrowsers;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user