aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/browser.cpp1
-rw-r--r--src/webengine/webprofile.cpp136
-rw-r--r--src/webengine/webprofile.h3
3 files changed, 15 insertions, 125 deletions
diff --git a/src/browser.cpp b/src/browser.cpp
index 41c73df..b10ff6a 100644
--- a/src/browser.cpp
+++ b/src/browser.cpp
@@ -102,6 +102,7 @@ void Browser::setup(const QString &defaultProfile)
// load profiles
{
auto *otr = new WebProfile(m_config->section("profile"), this);
+ loadProfile(otr, QString::fromStdString(m_config->value<std::string>("profile.path").value()) + "/otr.ini");
m_profiles.insert(tr("Off-the-record"), otr);
m_profiles.unite(loadProfiles(QString::fromStdString(m_config->value<std::string>("profile.path").value())));
diff --git a/src/webengine/webprofile.cpp b/src/webengine/webprofile.cpp
index 28b1bd1..081e091 100644
--- a/src/webengine/webprofile.cpp
+++ b/src/webengine/webprofile.cpp
@@ -27,13 +27,23 @@ void loadProfile(WebProfile *profile, const QString &path)
config.beginGroup("properties");
for(const QString &key : config.childKeys()) {
+#ifdef QT_DEBUG
+ qDebug("set property %s to %s", qUtf8Printable(key), qUtf8Printable(config.value(key).toString()));
+#endif
profile->setProperty(qUtf8Printable(key), config.value(key));
}
config.endGroup(); // properties
-// m_search = config.value("search", conf.value("profile.search")).toString();
-// m_homepage = config.value("homepage", conf["profile.homepage"]).toUrl();
-// m_newtab = config.value("newtab", conf["profile.newtab"]).toUrl();
+ config.beginGroup("attributes");
+ auto *settings = profile->settings();
+ for(const QString &key : config.childKeys()) {
+#ifdef QT_DEBUG
+ qDebug("set attribute %s to %s", qUtf8Printable(key), qUtf8Printable(config.value(key).toString()));
+#endif
+ auto attribute = static_cast<QWebEngineSettings::WebAttribute>(key.toInt());
+ settings->setAttribute(attribute, config.value(key).toBool());
+ }
+ config.endGroup();
// config.beginGroup("http");
// setHttpUserAgent(config.value("userAgent", httpUserAgent()).toString());
@@ -63,128 +73,8 @@ void loadProfile(WebProfile *profile, const QString &path)
// }
// }
// config.endGroup(); // policy
-
-// config.beginGroup("attributes");
-// QWebEngineSettings *s = settings();
-// s->setAttribute(QWebEngineSettings::AutoLoadImages,
-// config.value("autoLoadImages", s->testAttribute(QWebEngineSettings::AutoLoadImages)).toBool());
-// s->setAttribute(QWebEngineSettings::JavascriptEnabled,
-// config.value("javascriptEnabled", s->testAttribute(QWebEngineSettings::JavascriptEnabled)).toBool());
-// s->setAttribute(QWebEngineSettings::JavascriptCanOpenWindows,
-// config.value("javascriptCanOpenWindows", s->testAttribute(QWebEngineSettings::JavascriptCanOpenWindows)).toBool());
-// s->setAttribute(QWebEngineSettings::JavascriptCanAccessClipboard,
-// config.value("javascriptCanAccessClipboard", s->testAttribute(QWebEngineSettings::JavascriptCanAccessClipboard)).toBool());
-// s->setAttribute(QWebEngineSettings::LinksIncludedInFocusChain,
-// config.value("linksIncludedInFocusChain", s->testAttribute(QWebEngineSettings::LinksIncludedInFocusChain)).toBool());
-// s->setAttribute(QWebEngineSettings::LocalStorageEnabled,
-// config.value("localStorageEnabled", s->testAttribute(QWebEngineSettings::LocalStorageEnabled)).toBool());
-// s->setAttribute(QWebEngineSettings::LocalContentCanAccessRemoteUrls,
-// config.value("localContentCanAccessRemoteUrls", s->testAttribute(QWebEngineSettings::LocalContentCanAccessRemoteUrls)).toBool());
-// s->setAttribute(QWebEngineSettings::XSSAuditingEnabled,
-// config.value("xssAuditingEnabled", s->testAttribute(QWebEngineSettings::XSSAuditingEnabled)).toBool());
-// s->setAttribute(QWebEngineSettings::SpatialNavigationEnabled,
-// config.value("spatialNavigationEnabled", s->testAttribute(QWebEngineSettings::SpatialNavigationEnabled)).toBool());
-// s->setAttribute(QWebEngineSettings::LocalContentCanAccessFileUrls,
-// config.value("localContentCanAccessFileUrls", s->testAttribute(QWebEngineSettings::LocalContentCanAccessFileUrls)).toBool());
-// s->setAttribute(QWebEngineSettings::HyperlinkAuditingEnabled,
-// config.value("hyperlinkAuditingEnabled", s->testAttribute(QWebEngineSettings::HyperlinkAuditingEnabled)).toBool());
-// s->setAttribute(QWebEngineSettings::ScrollAnimatorEnabled,
-// config.value("scrollAnimatorEnabled", s->testAttribute(QWebEngineSettings::ScrollAnimatorEnabled)).toBool());
-// s->setAttribute(QWebEngineSettings::ErrorPageEnabled,
-// config.value("errorPageEnabled", s->testAttribute(QWebEngineSettings::ErrorPageEnabled)).toBool());
-// s->setAttribute(QWebEngineSettings::PluginsEnabled,
-// config.value("pluginsEnabled", s->testAttribute(QWebEngineSettings::PluginsEnabled)).toBool());
-// s->setAttribute(QWebEngineSettings::FullScreenSupportEnabled,
-// config.value("fullscreenSupportEnabled", s->testAttribute(QWebEngineSettings::FullScreenSupportEnabled)).toBool());
-// s->setAttribute(QWebEngineSettings::ScreenCaptureEnabled,
-// config.value("screenCaptureEnabled", s->testAttribute(QWebEngineSettings::ScreenCaptureEnabled)).toBool());
-// s->setAttribute(QWebEngineSettings::WebGLEnabled,
-// config.value("webglEnabled", s->testAttribute(QWebEngineSettings::WebGLEnabled)).toBool());
-// s->setAttribute(QWebEngineSettings::Accelerated2dCanvasEnabled,
-// config.value("accelerated2dCanvasEnabled", s->testAttribute(QWebEngineSettings::Accelerated2dCanvasEnabled)).toBool());
-// s->setAttribute(QWebEngineSettings::AutoLoadIconsForPage,
-// config.value("autoLoadIconsForPage", s->testAttribute(QWebEngineSettings::AutoLoadIconsForPage)).toBool());
-// s->setAttribute(QWebEngineSettings::TouchIconsEnabled,
-// config.value("touchIconsEnabled", s->testAttribute(QWebEngineSettings::TouchIconsEnabled)).toBool());
-// s->setAttribute(QWebEngineSettings::FocusOnNavigationEnabled,
-// config.value("focusOnNavigationEnabled", s->testAttribute(QWebEngineSettings::FocusOnNavigationEnabled)).toBool());
-// s->setAttribute(QWebEngineSettings::PrintElementBackgrounds,
-// config.value("printElementBackgrounds", s->testAttribute(QWebEngineSettings::PrintElementBackgrounds)).toBool());
-// s->setAttribute(QWebEngineSettings::AllowRunningInsecureContent,
-// config.value("allowRunningInsecureContent", s->testAttribute(QWebEngineSettings::AllowRunningInsecureContent)).toBool());
-// config.endGroup(); // attributes
}
-//void WebProfile::saveProfile(const QString &path)
-//{
-// QSettings config(persistentStoragePath() + "/profile.ini", QSettings::IniFormat);
-
-// config.setValue("homepage", homepage().toString());
-// config.setValue("newtab", newtab().toString());
-
-// config.beginGroup("http");
-// config.setValue("userAgent", httpUserAgent());
-// config.setValue("accept-lang", httpAcceptLanguage());
-// switch(httpCacheType()) {
-// case MemoryHttpCache:
-// config.setValue("cacheType", "memory");
-// break;
-// case DiskHttpCache:
-// config.setValue("cacheType", "disk");
-// break;
-// case NoCache:
-// config.setValue("cacheType", "disabled");
-// break;
-// }
-// config.setValue("cacheSize", httpCacheMaximumSize());
-// config.endGroup(); // http
-
-// config.beginGroup("policy");
-// switch(persistentCookiesPolicy()) {
-// case NoPersistentCookies:
-// config.setValue("cookies", "disabled");
-// break;
-// case AllowPersistentCookies:
-// config.setValue("cookies", "allow");
-// break;
-// case ForcePersistentCookies:
-// config.setValue("cookies", "force");
-// break;
-// }
-// config.endGroup(); // policy
-
-// QWebEngineSettings *s = settings();
-// config.beginGroup("attributes");
-// config.setValue("autoLoadImages", s->testAttribute(QWebEngineSettings::AutoLoadImages));
-// config.setValue("javascriptEnabled", s->testAttribute(QWebEngineSettings::JavascriptEnabled));
-// config.setValue("javascriptCanOpenWindows", s->testAttribute(QWebEngineSettings::JavascriptCanOpenWindows));
-// config.setValue("javascriptCanAccessClipboard", s->testAttribute(QWebEngineSettings::JavascriptCanAccessClipboard));
-// config.setValue("linksIncludedInFocusChain", s->testAttribute(QWebEngineSettings::LinksIncludedInFocusChain));
-// config.setValue("localStorageEnabled", s->testAttribute(QWebEngineSettings::LocalStorageEnabled));
-// config.setValue("localContentCanAccessRemoteUrls", s->testAttribute(QWebEngineSettings::LocalContentCanAccessRemoteUrls));
-// config.setValue("xssAuditingEnabled", s->testAttribute(QWebEngineSettings::XSSAuditingEnabled));
-// config.setValue("spatialNavigationEnabled", s->testAttribute(QWebEngineSettings::SpatialNavigationEnabled));
-// config.setValue("localContentCanAccessFileUrls", s->testAttribute(QWebEngineSettings::LocalContentCanAccessFileUrls));
-// config.setValue("hyperlinkAuditingEnabled", s->testAttribute(QWebEngineSettings::HyperlinkAuditingEnabled));
-// config.setValue("scrollAnimatorEnabled", s->testAttribute(QWebEngineSettings::ScrollAnimatorEnabled));
-// config.setValue("errorPageEnabled", s->testAttribute(QWebEngineSettings::ErrorPageEnabled));
-// config.setValue("pluginsEnabled", s->testAttribute(QWebEngineSettings::PluginsEnabled));
-// config.setValue("fullscreenSupportEnabled", s->testAttribute(QWebEngineSettings::FullScreenSupportEnabled));
-// config.setValue("screenCaptureEnabled", s->testAttribute(QWebEngineSettings::ScreenCaptureEnabled));
-// config.setValue("webglEnabled", s->testAttribute(QWebEngineSettings::WebGLEnabled));
-// config.setValue("accelerated2dCanvasEnabled", s->testAttribute(QWebEngineSettings::Accelerated2dCanvasEnabled));
-// config.setValue("autoLoadIconsForPage", s->testAttribute(QWebEngineSettings::AutoLoadIconsForPage));
-// config.setValue("touchIconsEnabled", s->testAttribute(QWebEngineSettings::TouchIconsEnabled));
-//#if QT_VERSION >= QT_VERSION_CHECK(5, 8, 0)
-// config.setValue("focusOnNavigationEnabled", s->testAttribute(QWebEngineSettings::FocusOnNavigationEnabled));
-// config.setValue("printElementBackgrounds", s->testAttribute(QWebEngineSettings::PrintElementBackgrounds));
-// config.setValue("allowRunningInsecureContent", s->testAttribute(QWebEngineSettings::AllowRunningInsecureContent));
-//#endif
-// config.endGroup(); // attributes
-
-// config.sync();
-//}
-
WebProfile::WebProfile(const QHash<QString, QString> &defaults, QObject *parent)
: QWebEngineProfile(parent)
{
diff --git a/src/webengine/webprofile.h b/src/webengine/webprofile.h
index e11d7c5..1e3ac64 100644
--- a/src/webengine/webprofile.h
+++ b/src/webengine/webprofile.h
@@ -18,7 +18,6 @@ class WebProfile : public QWebEngineProfile
{
Q_OBJECT
- //Q_PROPERTY(QString cachePath READ cachePath WRITE setCachePath)
Q_PROPERTY(QString search READ search WRITE setSearch)
Q_PROPERTY(QUrl homepage READ homepage WRITE setHomepage)
Q_PROPERTY(QUrl newtab READ newtab WRITE setNewtab)
@@ -88,6 +87,6 @@ private:
};
void loadProfile(WebProfile *profile, const QString &path);
-//WebProfile *saveProfile(const QString &path);
+//WebProfile *saveProfile(WebProfile *profile, const QString &path);
#endif // SMOLBOTE_WEBENGINEPROFILE_H