]> gitweb.stoutner.com Git - PrivacyBrowserPC.git/blobdiff - src/main.cpp
Rename Local Storage to DOM Storage. https://redmine.stoutner.com/issues/852
[PrivacyBrowserPC.git] / src / main.cpp
index f0ffdecafd53cd5b89cd23b63fe7c587051eed55..6aa5c51a28c3eaf9c5aa443cd92667a5aa31a17c 100644 (file)
  */
 
 // Application headers.
-#include "mainwindow.h"
-#include "privacybrowserpcdebug.h"  // TODO.  Rename.
+#include "helpers/DomainsDatabaseHelper.h"
+#include "windows/BrowserWindow.h"
 
 // KDE Frameworks headers.
 #include <KAboutData>
 #include <KCrash>
+#include <KLocalizedString>
 #include <KDBusService>
-#include <KLocalizedString>  // TODO.  This may not be needed.
 
 // Qt headers.
-#include <QApplication>  // TODO.  Probably not needed.  Appears to be included in a sub header.
+#include <QApplication>
 #include <QCommandLineParser>
-#include <QIcon>  // TODO.  Probably not needed.  Appears to be included in a sub header.
-#include <QLoggingCategory>  // Probably not needed at all.
+#include <QFile>
 
 int main(int argc, char *argv[])
 {
@@ -44,18 +43,19 @@ int main(int argc, char *argv[])
     // Initialize KCrash.
     KCrash::initialize();
 
-    // Instantiate about data.
+    // Instantiate about data, setting the component name, the display name, and the version.
     KAboutData aboutData(QStringLiteral("privacybrowser"), i18n("Privacy Browser"), QStringLiteral("0.1"));
 
-    // Add the author information.
+    // 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/"));
 
-    // Populate additional about data info.  TODO, OrLaterVersions does not work.  The solution is probably to use a custom license file.
-    aboutData.setBugAddress("https://redmine.stoutner.com/projects/privacy-browser/issues");  // TODO.  Update the URL.
-    aboutData.setCopyrightStatement(i18n("Copyright © 2022 Soren Stoutner <soren@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 <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);
+    //aboutData.setLicense(KAboutLicense::GPL_V3, KAboutLicense::OrLaterVersions);  <https://redmine.stoutner.com/issues/822>
+    aboutData.setLicenseTextFile(QStringLiteral(":/licenses/GPLv3+.txt"));
     aboutData.setOrganizationDomain("stoutner.com");
     aboutData.setShortDescription(i18n("A web browser that respects your privacy."));
 
@@ -63,7 +63,7 @@ int main(int argc, char *argv[])
     KAboutData::setApplicationData(aboutData);
 
     // Set the window icon.
-    application.setWindowIcon(QIcon::fromTheme(QStringLiteral("privacybrowser"), QIcon(":/icons/privacy_browser.svg")));
+    application.setWindowIcon(QIcon::fromTheme(QStringLiteral("privacy-browser"), QIcon(":/icons/sc-apps-privacy-browser.svg")));
 
     // Create a command line parser.
     QCommandLineParser commandLineParser;
@@ -77,14 +77,17 @@ int main(int argc, char *argv[])
     // Make it so.
     aboutData.processCommandLine(&commandLineParser);
 
-    // TODO.
+    // 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 main window.
-    MainWindow *mainWindowPointer = new MainWindow;
+    BrowserWindow *browserWindowPointer = new BrowserWindow();
 
     // Show the main window.
-    mainWindowPointer->show();
+    browserWindowPointer->show();
 
     // Return the application.
     return application.exec();