/*
- * Copyright 2022-2023 Soren Stoutner <soren@stoutner.com>.
+ * Copyright 2022-2024 Soren Stoutner <soren@stoutner.com>.
*
* This file is part of Privacy Browser PC <https://www.stoutner.com/privacy-browser-pc>.
*
// Application headers.
#include "DomainsDatabase.h"
+#include "Settings.h"
#include "helpers/UserAgentHelper.h"
// Define the private static schema constants.
}
else // Opening the database failed.
{
- // Write the last database error message to the debug output.
+ // Write the last database error message to the debug output.Settings::zoom
qDebug().noquote().nospace() << "Error opening database: " << domainsDatabase.lastError();
}
};
+void DomainsDatabase::addDomain(const QString &domainName)
+{
+ // Add the domain:
+ addDomain(domainName, SYSTEM_DEFAULT, SYSTEM_DEFAULT, SYSTEM_DEFAULT, UserAgentHelper::SYSTEM_DEFAULT_DATABASE, SYSTEM_DEFAULT, Settings::zoomFactor());
+}
+
+void DomainsDatabase::addDomain(const QString &domainName, const int javaScriptInt, const int localStorageInt, const int domStorageInt, const QString &userAgentDatabaseString,
+ const int zoomFactorInt, const double currentZoomFactorDouble)
+{
+ // Get a handle for the domains database.
+ QSqlDatabase domainsDatabase = QSqlDatabase::database(CONNECTION_NAME);
+
+ // Instantiate an add domain settings query.
+ QSqlQuery addDomainSettingsQuery(domainsDatabase);
+
+ // Prepare the query.
+ addDomainSettingsQuery.prepare("INSERT INTO " + DomainsDatabase::DOMAINS_TABLE + " (" +
+ DomainsDatabase::DOMAIN_NAME + ", " +
+ DomainsDatabase::JAVASCRIPT + ", " +
+ DomainsDatabase::LOCAL_STORAGE + ", " +
+ DomainsDatabase::DOM_STORAGE + ", " +
+ DomainsDatabase::USER_AGENT + ", " +
+ DomainsDatabase::ZOOM_FACTOR + ", " +
+ DomainsDatabase::CUSTOM_ZOOM_FACTOR + ") " +
+ "VALUES (:domain_name, :javascript, :local_storage, :dom_storage, :user_agent, :zoom_factor, :custom_zoom_factor)"
+ );
+
+ // Bind the query values.
+ addDomainSettingsQuery.bindValue(":domain_name", domainName);
+ addDomainSettingsQuery.bindValue(":javascript", javaScriptInt);
+ addDomainSettingsQuery.bindValue(":local_storage", localStorageInt);
+ addDomainSettingsQuery.bindValue(":dom_storage", domStorageInt);
+ addDomainSettingsQuery.bindValue(":user_agent", userAgentDatabaseString);
+ addDomainSettingsQuery.bindValue(":zoom_factor", zoomFactorInt);
+ addDomainSettingsQuery.bindValue(":custom_zoom_factor", currentZoomFactorDouble);
+
+ // Execute the query.
+ addDomainSettingsQuery.exec();
+}
+
QSqlQuery DomainsDatabase::getDomainQuery(const QString &hostname)
{
// Get a handle for the domains database.