1
mirror of https://invent.kde.org/network/falkon.git synced 2024-09-21 17:52:10 +02:00

Add preparations for handling Private mode setting

Signed-off-by: Juraj Oravec <jurajoravec@mailo.com>
This commit is contained in:
Juraj Oravec 2022-09-24 11:15:05 +02:00
parent 653e7aa429
commit 5e0a779d53
Signed by: SGOrava
GPG Key ID: 13660A3F1D9F093B
3 changed files with 26 additions and 9 deletions

View File

@ -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]);

View File

@ -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<QWebEnginePage::Feature> 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());
}

View File

@ -95,7 +95,9 @@ public:
QList<QWebEngineSettings::WebAttribute> getSupportedAttribute() const;
QList<QWebEnginePage::Feature> getSupportedFeatures() const;
SiteSettings getSiteSettings(QUrl &url);
SiteSettings getSiteSettings(QUrl &url, bool privateMode);
QString sqlTable(bool privateMode);
QString sqlTable();
private: