diff options
author | Joerg Bornemann <joerg.bornemann@theqtcompany.com> | 2015-08-05 14:33:02 +0200 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@theqtcompany.com> | 2015-08-11 09:19:57 +0000 |
commit | b3c7057ffd4560f01f6068a800e870cf5c15427a (patch) | |
tree | 74a5609a4ee4f05e59ddc63821434d27152fd0f0 /examples | |
parent | 2ec9580e0f39df3adb0cae2c9d1cea1162138960 (diff) |
add a way to set Accept-Language in browser example
Change-Id: I3d67b8ce9a51f82fe1de6fe92edd8f69fcda1a2f
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Diffstat (limited to 'examples')
-rw-r--r-- | examples/webenginewidgets/browser/browserapplication.cpp | 1 | ||||
-rw-r--r-- | examples/webenginewidgets/browser/settings.cpp | 24 | ||||
-rw-r--r-- | examples/webenginewidgets/browser/settings.h | 2 | ||||
-rw-r--r-- | examples/webenginewidgets/browser/settings.ui | 27 |
4 files changed, 47 insertions, 7 deletions
diff --git a/examples/webenginewidgets/browser/browserapplication.cpp b/examples/webenginewidgets/browser/browserapplication.cpp index d213ea871..5fb8aad4c 100644 --- a/examples/webenginewidgets/browser/browserapplication.cpp +++ b/examples/webenginewidgets/browser/browserapplication.cpp @@ -289,6 +289,7 @@ void BrowserApplication::loadSettings() setUserStyleSheet(defaultProfile, css, mainWindow()); defaultProfile->setHttpUserAgent(settings.value(QLatin1String("httpUserAgent")).toString()); + defaultProfile->setHttpAcceptLanguage(settings.value(QLatin1String("httpAcceptLanguage")).toString()); settings.endGroup(); settings.beginGroup(QLatin1String("cookies")); diff --git a/examples/webenginewidgets/browser/settings.cpp b/examples/webenginewidgets/browser/settings.cpp index f5b0e30a9..11cefa35f 100644 --- a/examples/webenginewidgets/browser/settings.cpp +++ b/examples/webenginewidgets/browser/settings.cpp @@ -50,6 +50,7 @@ #include "networkaccessmanager.h" #include "webview.h" +#include <QtCore/QLocale> #include <QtCore/QSettings> #include <QtWidgets/QtWidgets> #include <QtWebEngineWidgets/QtWebEngineWidgets> @@ -66,6 +67,21 @@ SettingsDialog::SettingsDialog(QWidget *parent) loadFromSettings(); } +static QString defaultAcceptLanguage() +{ + const QStringList langs = QLocale().uiLanguages(); + if (langs.isEmpty()) + return QString(); + QString str = langs.first(); + const float qstep = 1.0f / float(langs.count()); + float q = 1.0f - qstep; + for (int i = 1; i < langs.count(); ++i) { + str += QStringLiteral(", ") + langs.at(i) + QStringLiteral(";q=") + QString::number(q, 'f', 2); + q -= qstep; + } + return str; +} + void SettingsDialog::loadDefaults() { QWebEngineSettings *defaultSettings = QWebEngineSettings::globalSettings(); @@ -89,6 +105,7 @@ void SettingsDialog::loadDefaults() persistentDataPath->setText(QWebEngineProfile::defaultProfile()->persistentStoragePath()); sessionCookiesCombo->setCurrentIndex(QWebEngineProfile::defaultProfile()->persistentCookiesPolicy()); httpUserAgent->setText(QWebEngineProfile::defaultProfile()->httpUserAgent()); + httpAcceptLanguage->setText(defaultAcceptLanguage()); } void SettingsDialog::loadFromSettings() @@ -138,6 +155,7 @@ void SettingsDialog::loadFromSettings() userStyleSheet->setPlainText(settings.value(QLatin1String("userStyleSheet")).toString()); enableScrollAnimator->setChecked(settings.value(QLatin1String("enableScrollAnimator"), enableScrollAnimator->isChecked()).toBool()); httpUserAgent->setText(settings.value(QLatin1String("httpUserAgent"), httpUserAgent->text()).toString()); + httpAcceptLanguage->setText(settings.value(QLatin1String("httpAcceptLanguage"), httpAcceptLanguage->text()).toString()); settings.endGroup(); // Privacy @@ -196,6 +214,7 @@ void SettingsDialog::saveToSettings() settings.setValue(QLatin1String("enableScrollAnimator"), enableScrollAnimator->isChecked()); settings.setValue(QLatin1String("userStyleSheet"), userStyleSheet->toPlainText()); settings.setValue(QLatin1String("httpUserAgent"), httpUserAgent->text()); + settings.setValue(QLatin1String("httpAcceptLanguage"), httpAcceptLanguage->text()); settings.endGroup(); //Privacy @@ -269,6 +288,11 @@ void SettingsDialog::chooseFixedFont() } } +void SettingsDialog::on_httpAcceptLanguage_editingFinished() +{ + QWebEngineProfile::defaultProfile()->setHttpAcceptLanguage(httpAcceptLanguage->text()); +} + void SettingsDialog::setHomeToCurrentPage() { BrowserMainWindow *mw = static_cast<BrowserMainWindow*>(parent()); diff --git a/examples/webenginewidgets/browser/settings.h b/examples/webenginewidgets/browser/settings.h index 6def66928..ee81c12a4 100644 --- a/examples/webenginewidgets/browser/settings.h +++ b/examples/webenginewidgets/browser/settings.h @@ -65,6 +65,8 @@ private slots: void chooseFont(); void chooseFixedFont(); + void on_httpAcceptLanguage_editingFinished(); + private: QFont standardFont; QFont fixedFont; diff --git a/examples/webenginewidgets/browser/settings.ui b/examples/webenginewidgets/browser/settings.ui index 11bdee4d3..38a7af344 100644 --- a/examples/webenginewidgets/browser/settings.ui +++ b/examples/webenginewidgets/browser/settings.ui @@ -7,7 +7,7 @@ <x>0</x> <y>0</y> <width>657</width> - <height>322</height> + <height>336</height> </rect> </property> <property name="windowTitle"> @@ -499,19 +499,29 @@ <string>Advanced</string> </attribute> <layout class="QGridLayout" name="gridLayout_2"> - <item row="2" column="1"> - <widget class="QTextEdit" name="userStyleSheet"/> + <item row="0" column="0"> + <widget class="QLabel" name="label_15"> + <property name="text"> + <string>HTTP User-Agent:</string> + </property> + </widget> </item> <item row="0" column="1"> <widget class="QLineEdit" name="httpUserAgent"/> </item> - <item row="0" column="0"> - <widget class="QLabel" name="label_15"> + <item row="1" column="0"> + <widget class="QLabel" name="label_16"> <property name="text"> - <string>HTTP User-Agent:</string> + <string>HTTP Accept-&Language:</string> + </property> + <property name="buddy"> + <cstring>httpAcceptLanguage</cstring> </property> </widget> </item> + <item row="1" column="1"> + <widget class="QLineEdit" name="httpAcceptLanguage"/> + </item> <item row="2" column="0"> <widget class="QLabel" name="label_14"> <property name="text"> @@ -519,7 +529,10 @@ </property> </widget> </item> - <item row="4" column="1"> + <item row="2" column="1"> + <widget class="QTextEdit" name="userStyleSheet"/> + </item> + <item row="3" column="1"> <spacer name="verticalSpacer_3"> <property name="orientation"> <enum>Qt::Vertical</enum> |