X-Git-Url: https://gitweb.stoutner.com/?p=PrivacyBrowserPC.git;a=blobdiff_plain;f=src%2Fdatabases%2FDomainsDatabase.cpp;fp=src%2Fdatabases%2FDomainsDatabase.cpp;h=d52647cca107ca5163f9493f173e164ae4060530;hp=05535436efa2a418e435748db9ff5e30bf4a244a;hb=03d1e9e85a1fc8c7f561d0c7d9492ef1bee292db;hpb=2e3b899634155bbbedf6cce0e3156fa00d4a16e8 diff --git a/src/databases/DomainsDatabase.cpp b/src/databases/DomainsDatabase.cpp index 0553543..d52647c 100644 --- a/src/databases/DomainsDatabase.cpp +++ b/src/databases/DomainsDatabase.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2022-2023 Soren Stoutner . + * Copyright 2022-2024 Soren Stoutner . * * This file is part of Privacy Browser PC . * @@ -19,6 +19,7 @@ // Application headers. #include "DomainsDatabase.h" +#include "Settings.h" #include "helpers/UserAgentHelper.h" // Define the private static schema constants. @@ -266,11 +267,51 @@ void DomainsDatabase::addDatabase() } 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.