]> gitweb.stoutner.com Git - PrivacyBrowserPC.git/blobdiff - src/main.cpp
Add a default folder icon to the edit folder dialog. https://redmine.stoutner.com...
[PrivacyBrowserPC.git] / src / main.cpp
index d9accc7079946332a69a82db31b1d8ff79b5f445..0c499f2750e19f01ea294c011c6e7701542f72b4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * 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>.
  *
@@ -18,6 +18,7 @@
  */
 
 // Application headers.
+#include "databases/BookmarksDatabase.h"
 #include "databases/CookiesDatabase.h"
 #include "databases/DomainsDatabase.h"
 #include "windows/BrowserWindow.h"
@@ -25,8 +26,8 @@
 // KDE Frameworks headers.
 #include <KAboutData>
 #include <KCrash>
-#include <KLocalizedString>
 #include <KDBusService>
+#include <KLocalizedString>
 
 // Qt headers.
 #include <QApplication>
@@ -45,7 +46,7 @@ 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"), i18nc("Program Name", "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(i18nc("Developer Information", "Soren Stoutner"),i18nc("Developer Information", "Principal developer"), QStringLiteral("soren@stoutner.com"),
@@ -53,7 +54,7 @@ int main(int argc, char *argv[])
 
     // Populate additional about data info.
     aboutData.setBugAddress("https://redmine.stoutner.com/projects/privacy-browser-pc/issues");
-    aboutData.setCopyrightStatement(i18nc("Copyright", "Copyright 2016-2017,2021-2023 Soren Stoutner <soren@stoutner.com>"));
+    aboutData.setCopyrightStatement(i18nc("Copyright", "Copyright 2016-2017,2021-2024 Soren Stoutner <soren@stoutner.com>"));
     aboutData.setDesktopFileName(QStringLiteral("com.stoutner.privacybrowser"));
     aboutData.setHomepage(QStringLiteral("https://www.stoutner.com/privacy-browser-pc/"));
     //aboutData.setLicense(KAboutLicense::GPL_V3, KAboutLicense::OrLaterVersions);  <https://redmine.stoutner.com/issues/822>
@@ -65,7 +66,7 @@ int main(int argc, char *argv[])
     KAboutData::setApplicationData(aboutData);
 
     // Set the window icon.
-    application.setWindowIcon(QIcon::fromTheme(QStringLiteral("privacy-browser"), QIcon(QStringLiteral(":/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;
@@ -82,9 +83,14 @@ 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);
 
+    // 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.
-    DomainsDatabase::addDatabase();
+    BookmarksDatabase::addDatabase();
     CookiesDatabase::addDatabase();
+    DomainsDatabase::addDatabase();
 
     // Create the main window.
     BrowserWindow *browserWindowPointer = new BrowserWindow();