X-Git-Url: https://gitweb.stoutner.com/?p=PrivacyBrowserPC.git;a=blobdiff_plain;f=src%2Fmain.cpp;h=10ce579ca39829f90c6046fcc0ca560483aaa087;hp=6aa5c51a28c3eaf9c5aa443cd92667a5aa31a17c;hb=refs%2Fheads%2Fmaster;hpb=5daa7af456c7daa05b1a055932b5156ed1f88b00 diff --git a/src/main.cpp b/src/main.cpp index 6aa5c51..9ff1e4d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,7 +1,7 @@ /* - * Copyright © 2022 Soren Stoutner . + * Copyright 2022-2024 Soren Stoutner . * - * This file is part of Privacy Browser PC . + * This file is part of Privacy Browser PC . * * Privacy Browser PC is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -18,20 +18,27 @@ */ // Application headers. -#include "helpers/DomainsDatabaseHelper.h" +#include "GlobalVariables.h" +#include "databases/BookmarksDatabase.h" +#include "databases/CookiesDatabase.h" +#include "databases/DomainsDatabase.h" +#include "helpers/FilterListHelper.h" #include "windows/BrowserWindow.h" // KDE Frameworks headers. #include #include -#include #include +#include // Qt headers. #include #include #include +// Declare the global variables. +FilterListHelper *globalFilterListHelperPointer; + int main(int argc, char *argv[]) { // Create the application. @@ -44,26 +51,27 @@ int main(int argc, char *argv[]) KCrash::initialize(); // Instantiate about data, setting the component name, the display name, and the version. - KAboutData aboutData(QStringLiteral("privacybrowser"), i18n("Privacy Browser"), QStringLiteral("0.1")); + KAboutData aboutData(QStringLiteral("privacybrowser"), i18nc("Program Name", "Privacy Browser"), QStringLiteral("0.5")); // Add the author name, job description, email address, and website. - aboutData.addAuthor(i18n("Soren Stoutner"),i18n("Principal developer"), QStringLiteral("soren@stoutner.com"), QStringLiteral("https://www.stoutner.com/")); + aboutData.addAuthor(i18nc("Developer Information", "Soren Stoutner"),i18nc("Developer Information", "Principal developer"), QStringLiteral("soren@stoutner.com"), + QStringLiteral("https://www.stoutner.com/")); // Populate additional about data info. aboutData.setBugAddress("https://redmine.stoutner.com/projects/privacy-browser-pc/issues"); - aboutData.setCopyrightStatement(i18n("Copyright © 2016-2017,2021-2022 Soren Stoutner ")); + aboutData.setCopyrightStatement(i18nc("Copyright", "Copyright 2016-2017,2021-2024 Soren Stoutner ")); aboutData.setDesktopFileName(QStringLiteral("com.stoutner.privacybrowser")); aboutData.setHomepage(QStringLiteral("https://www.stoutner.com/privacy-browser-pc/")); //aboutData.setLicense(KAboutLicense::GPL_V3, KAboutLicense::OrLaterVersions); aboutData.setLicenseTextFile(QStringLiteral(":/licenses/GPLv3+.txt")); aboutData.setOrganizationDomain("stoutner.com"); - aboutData.setShortDescription(i18n("A web browser that respects your privacy.")); + aboutData.setShortDescription(i18nc("Tagline", "A web browser that respects your privacy.")); // Set the application data. KAboutData::setApplicationData(aboutData); // Set the window icon. - application.setWindowIcon(QIcon::fromTheme(QStringLiteral("privacy-browser"), QIcon(":/icons/sc-apps-privacy-browser.svg"))); + application.setWindowIcon(QIcon::fromTheme(QStringLiteral("privacy-browser"), QIcon(QStringLiteral(":/icons/sc-apps-privacybrowser.svg")))); // Create a command line parser. QCommandLineParser commandLineParser; @@ -80,8 +88,17 @@ int main(int argc, char *argv[]) // Register with D-Bus, allowing multiple instances and allowing the program to run if for some reason the registration fails. KDBusService appDBusService(KDBusService::Multiple | KDBusService::NoExitOnFailure); - // Add the domains database. - DomainsDatabaseHelper::addDatabase(); + // Create the app data location directory if it doesn't currently exist. This directory is used to store the databases in the subsequent commands. + // The first directory in the list should be the private, writable location, which on Linux should be `/home/user/.local/share/privacybrowser`. + QDir().mkdir(QStandardPaths::standardLocations(QStandardPaths::AppDataLocation).first()); + + // Add the databases. + BookmarksDatabase::addDatabase(); + CookiesDatabase::addDatabase(); + DomainsDatabase::addDatabase(); + + // Populate the filter lists. + globalFilterListHelperPointer = new FilterListHelper; // Create the main window. BrowserWindow *browserWindowPointer = new BrowserWindow();