diff --git a/src/lib/other/siteinfo.cpp b/src/lib/other/siteinfo.cpp index 531f1c147..06309ffd9 100644 --- a/src/lib/other/siteinfo.cpp +++ b/src/lib/other/siteinfo.cpp @@ -342,7 +342,7 @@ SiteInfoPermissionItem* SiteInfo::addPermissionOption(SiteSettingsManager::Permi void SiteInfo::addSiteSettings() { - auto siteSettings = mApp->siteSettingsManager()->getSiteSettings(m_baseUrl); + auto siteSettings = mApp->siteSettingsManager()->getSiteSettings(m_baseUrl, mApp->isPrivate()); // Attributes for (const auto &attribute : mApp->siteSettingsManager()->getSupportedAttribute()) { SiteInfoPermissionItem *item = addPermissionOption(siteSettings.attributes[attribute]); diff --git a/src/lib/other/sitesettingsmanager.cpp b/src/lib/other/sitesettingsmanager.cpp index e8dbeae4f..d51ef3d8c 100644 --- a/src/lib/other/sitesettingsmanager.cpp +++ b/src/lib/other/sitesettingsmanager.cpp @@ -51,7 +51,7 @@ SiteSettingsManager::SiteSettingsManager ( QObject* parent ) attributesSql.append(webAttributeToSqlColumn(supportedAttribute[i])); } - attributesSql.append(QSL(" FROM site_settings WHERE server=?")); + attributesSql.append(QSL(" FROM %1 WHERE server=?").arg(sqlTable())); supportedFeatures.append(QWebEnginePage::Notifications); @@ -84,7 +84,7 @@ SiteSettingsManager::SiteSettingsManager ( QObject* parent ) everythingSql.append(QSL(", ")); everythingSql.append(optionToSqlColumn(poZoomLevel)); - everythingSql.append(QSL(" FROM site_settings WHERE server=?")); + everythingSql.append(QSL(" FROM %1 WHERE server=?")); } SiteSettingsManager::~SiteSettingsManager() noexcept @@ -192,12 +192,12 @@ void SiteSettingsManager::setOption(const QString& column, const QUrl& url, cons return; } - auto job = new SqlQueryJob(QSL("UPDATE site_settings SET %1=? WHERE server=?").arg(column), this); + auto job = new SqlQueryJob(QSL("UPDATE %2 SET %1=? WHERE server=?").arg(column, sqlTable()), this); job->addBindValue(value); job->addBindValue(url.host()); connect(job, &SqlQueryJob::finished, this, [=]() { if (job->numRowsAffected() == 0) { - auto job = new SqlQueryJob(QSL("INSERT INTO site_settings (server, %1) VALUES (?,?)").arg(column), this); + auto job = new SqlQueryJob(QSL("INSERT INTO %2 (server, %1) VALUES (?,?)").arg(column, sqlTable()), this); job->addBindValue(url.host()); job->addBindValue(value); job->start(); @@ -228,7 +228,7 @@ SiteSettingsManager::Permission SiteSettingsManager::getPermission(const QString } QSqlQuery query(SqlDatabase::instance()->database()); - query.prepare(QSL("SELECT %1 FROM site_settings WHERE server=?").arg(column)); + query.prepare(QSL("SELECT %1 FROM %2 WHERE server=?").arg(column, sqlTable())); query.addBindValue(url.host()); query.exec(); @@ -526,13 +526,13 @@ QList SiteSettingsManager::getSupportedFeatures() const return supportedFeatures; } -SiteSettingsManager::SiteSettings SiteSettingsManager::getSiteSettings(QUrl& url) +SiteSettingsManager::SiteSettings SiteSettingsManager::getSiteSettings(QUrl& url, bool privateMode) { SiteSettings siteSettings; int i; QSqlQuery query(SqlDatabase::instance()->database()); - query.prepare(everythingSql); + query.prepare(everythingSql.arg(sqlTable(privateMode))); query.addBindValue(url.host()); query.exec(); @@ -553,3 +553,18 @@ SiteSettingsManager::SiteSettings SiteSettingsManager::getSiteSettings(QUrl& url return siteSettings; } + +QString SiteSettingsManager::sqlTable(bool privateMode) +{ + if (privateMode) { + return QSL("site_settings_private"); + } + else { + return QSL("site_settings"); + } +} + +QString SiteSettingsManager::sqlTable() +{ + return sqlTable(mApp->isPrivate()); +} diff --git a/src/lib/other/sitesettingsmanager.h b/src/lib/other/sitesettingsmanager.h index 52a9cd596..48fa3ee34 100644 --- a/src/lib/other/sitesettingsmanager.h +++ b/src/lib/other/sitesettingsmanager.h @@ -95,7 +95,9 @@ public: QList getSupportedAttribute() const; QList getSupportedFeatures() const; - SiteSettings getSiteSettings(QUrl &url); + SiteSettings getSiteSettings(QUrl &url, bool privateMode); + QString sqlTable(bool privateMode); + QString sqlTable(); private: