From 62c3898d8e18a872700948c46a61592b315e79de Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Fri, 22 Nov 2019 19:34:09 +0200 Subject: WebProfile refactoring - Remove WebProfileManager::Profile::value - Make WebProfile constructors protected, and WebProfileManager friend class --- src/webengine/webprofilemanager.cpp | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'src/webengine/webprofilemanager.cpp') diff --git a/src/webengine/webprofilemanager.cpp b/src/webengine/webprofilemanager.cpp index 3f3d5ba..2fe6222 100644 --- a/src/webengine/webprofilemanager.cpp +++ b/src/webengine/webprofilemanager.cpp @@ -7,10 +7,10 @@ */ #include "webprofilemanager.h" +#include "configuration.h" #include "webprofile.h" #include #include -#include "configuration.h" WebProfileManager::WebProfileManager(QObject *parent) : QObject(parent) @@ -48,32 +48,34 @@ WebProfile *WebProfileManager::profile(const QString &id, const QString &path, b if(!path.isEmpty()) profile.settings = new QSettings(path, QSettings::IniFormat); + else + profile.settings = new QSettings; // QWebEngineCore cleans up profiles automatically, so no need to set parent profile.ptr = [id, isOffTheRecord, profile]() { - if(profile.value("otr", isOffTheRecord).toBool()) - return new WebProfile(/* name */ profile.value("name", id).toString(), /* parent */ nullptr); + if(profile.settings->value("otr", isOffTheRecord).toBool()) + return new WebProfile(/* name */ profile.settings->value("name", id).toString(), /* parent */ nullptr); else - return new WebProfile(/* storageName */ id, /* name */ profile.value("name", id).toString(), /* parent */ nullptr); + return new WebProfile(/* storageName */ id, /* name */ profile.settings->value("name", id).toString(), /* parent */ nullptr); }(); - if(profile.settings != nullptr) - profile.settings->setParent(profile.ptr); + + profile.settings->setParent(profile.ptr); connect(profile.ptr, &WebProfile::nameChanged, profile.settings, [profile](const QString &name) { profile.settings->setValue("name", name); }); - profile.ptr->setSearch(profile.value("search", conf.value("profile.search").value()).toString()); + profile.ptr->setSearch(profile.settings->value("search", conf.value("profile.search").value()).toString()); connect(profile.ptr, &WebProfile::searchChanged, profile.settings, [profile](const QString &url) { profile.settings->setValue("search", url); }); - profile.ptr->setHomepage(profile.value("homepage", conf.value("profile.homepage").value()).toUrl()); + profile.ptr->setHomepage(profile.settings->value("homepage", conf.value("profile.homepage").value()).toUrl()); connect(profile.ptr, &WebProfile::homepageChanged, profile.settings, [profile](const QUrl &url) { profile.settings->setValue("homepage", url); }); - profile.ptr->setNewtab(profile.value("newtab", conf.value("profile.newtab").value()).toUrl()); + profile.ptr->setNewtab(profile.settings->value("newtab", conf.value("profile.newtab").value()).toUrl()); connect(profile.ptr, &WebProfile::newtabChanged, profile.settings, [profile](const QUrl &url) { profile.settings->setValue("newtab", url); }); @@ -146,4 +148,3 @@ void WebProfileManager::profileMenu(QMenu *menu, const std::functionaddAction(action); } } - -- cgit v1.2.1