summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@theqtcompany.com>2015-08-05 14:33:02 +0200
committerJoerg Bornemann <joerg.bornemann@theqtcompany.com>2015-08-11 09:19:57 +0000
commitb3c7057ffd4560f01f6068a800e870cf5c15427a (patch)
tree74a5609a4ee4f05e59ddc63821434d27152fd0f0 /examples
parent2ec9580e0f39df3adb0cae2c9d1cea1162138960 (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.cpp1
-rw-r--r--examples/webenginewidgets/browser/settings.cpp24
-rw-r--r--examples/webenginewidgets/browser/settings.h2
-rw-r--r--examples/webenginewidgets/browser/settings.ui27
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-&amp;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>