/*
- * Copyright © 2022 Soren Stoutner <soren@stoutner.com>.
+ * Copyright 2022-2023 Soren Stoutner <soren@stoutner.com>.
*
* This file is part of Privacy Browser PC <https://www.stoutner.com/privacy-browser-pc>.
*
*/
// Application headers.
-#include "mainwindow.h"
+#include "databases/BookmarksDatabase.h"
+#include "databases/CookiesDatabase.h"
+#include "databases/DomainsDatabase.h"
+#include "windows/BrowserWindow.h"
// KDE Frameworks headers.
#include <KAboutData>
#include <KCrash>
+#include <KLocalizedString>
#include <KDBusService>
// Qt headers.
+#include <QApplication>
#include <QCommandLineParser>
#include <QFile>
KCrash::initialize();
// Instantiate about data, setting the component name, the display name, and the version.
- KAboutData aboutData(QStringLiteral("privacy-browser"), i18n("Privacy Browser"), QStringLiteral("0.1"));
+ KAboutData aboutData(QStringLiteral("privacybrowser"), i18nc("Program Name", "Privacy Browser"), QStringLiteral("0.4"));
// 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 <soren@stoutner.com>"));
+ aboutData.setCopyrightStatement(i18nc("Copyright", "Copyright 2016-2017,2021-2023 Soren Stoutner <soren@stoutner.com>"));
aboutData.setDesktopFileName(QStringLiteral("com.stoutner.privacybrowser"));
aboutData.setHomepage(QStringLiteral("https://www.stoutner.com/privacy-browser-pc/"));
- aboutData.setLicenseTextFile(":/licenses/GPLv3+.txt");
+ //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."));
+ 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;
// 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.
+ BookmarksDatabase::addDatabase();
+ CookiesDatabase::addDatabase();
+ DomainsDatabase::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();