Make Privacy Browser installable.
authorSoren Stoutner <soren@stoutner.com>
Sat, 22 Jan 2022 22:01:34 +0000 (15:01 -0700)
committerSoren Stoutner <soren@stoutner.com>
Sat, 22 Jan 2022 22:01:34 +0000 (15:01 -0700)
20 files changed:
po/privacybrowser.pot
src/CMakeLists.txt
src/com.stoutner.privacybrowser.appdata.xml [new file with mode: 0644]
src/com.stoutner.privacybrowser.desktop [new file with mode: 0644]
src/icons/privacy_browser.svg [deleted file]
src/icons/sc-apps-privacy_browser.svg [new file with mode: 0644]
src/main.cpp
src/mainview.cpp [new file with mode: 0644]
src/mainview.h [new file with mode: 0644]
src/mainview.ui [new file with mode: 0644]
src/mainwindow.cpp
src/mainwindow.h
src/org.example.privacybrowserpc.appdata.xml [deleted file]
src/org.example.privacybrowserpc.desktop [deleted file]
src/privacybrowserpcui.rc [deleted file]
src/privacybrowserpcview.cpp [deleted file]
src/privacybrowserpcview.h [deleted file]
src/privacybrowserpcview.ui [deleted file]
src/privacybrowserui.rc [new file with mode: 0644]
src/resources.qrc

index 18f6b420886a8b0c64b6e786fbabc2ae980b1b9d..3ab6a9b3d78f7dbfda0f44eadeaacdacff6e4823 100644 (file)
@@ -21,7 +21,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-01-20 17:18-0700\n"
+"POT-Creation-Date: 2022-01-22 14:47-0700\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -30,18 +30,13 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/privacybrowserpcview.cpp:44
-#, kde-format
-msgid "This project is %1 days old"
-msgstr ""
-
-#: src/mainwindow.cpp:38
+#: src/mainwindow.cpp:46
 #, kde-format
 msgctxt "@action"
 msgid "Switch Colors"
 msgstr ""
 
-#: src/mainwindow.cpp:74
+#: src/mainwindow.cpp:80
 #, kde-format
 msgctxt "@title:tab"
 msgid "General"
@@ -72,6 +67,11 @@ msgstr ""
 msgid "A web browser that respects your privacy."
 msgstr ""
 
+#: src/mainview.cpp:44
+#, kde-format
+msgid "This project is %1 days old"
+msgstr ""
+
 #: rc.cpp:3
 #, kde-format
 msgid "Background color:"
@@ -154,12 +154,12 @@ msgstr ""
 
 #: rc.cpp:45
 #, kde-format
-msgid "hello, world"
+msgid "Main Toolbar"
 msgstr ""
 
 #: rc.cpp:48
 #, kde-format
-msgid "Main Toolbar"
+msgid "hello, world"
 msgstr ""
 
 #: rc.cpp:49
index e251e06d08a8fc4301f1ce5d339b022883c7a29f..513e8e6222eaab9b6491411bc0ddf437ce0d9802 100644 (file)
 
 
 # Create the executable and add the resources.
-add_executable(privacybrowser resources.qrc)
+add_executable(privacy-browser resources.qrc)
 
 # List the sources to include in the executable.
-target_sources(privacybrowser PRIVATE
+target_sources(privacy-browser PRIVATE
     main.cpp
     mainwindow.cpp
-    privacybrowserpcview.cpp
+    mainview.cpp
 )
 
-# Add the Qt logging category.
-ecm_qt_declare_logging_category(privacybrowser
+# Add the Qt logging category.  This will create the `privacybrowserdebug.h` header file.
+ecm_qt_declare_logging_category(privacy-browser
     HEADER privacybrowserdebug.h
     IDENTIFIER PRIVACYBROWSER
     CATEGORY_NAME "privacybrowser"
 )
 
 # Include the KConfig controller file.
-kconfig_add_kcfg_files(privacybrowser settings.kcfgc)
+kconfig_add_kcfg_files(privacy-browser settings.kcfgc)
 
 # Use KDE Frameworks to handle internationalization of the following UI files.
-ki18n_wrap_ui(privacybrowser
-    privacybrowserpcview.ui
+ki18n_wrap_ui(privacy-browser
+    mainview.ui
     settings.ui
 )
 
-
-target_link_libraries(privacybrowser
+# Link the following libraries.
+target_link_libraries(privacy-browser
+    KF5::ConfigWidgets
     KF5::CoreAddons
+    KF5::Crash
+    KF5::DBusAddons
     KF5::I18n
     KF5::XmlGui
-    KF5::ConfigWidgets
-    KF5::DBusAddons
-    KF5::Crash
     Qt5::Widgets
 )
 
-install(TARGETS privacybrowser ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
-install(PROGRAMS com.stoutner.privacybrowser  DESTINATION ${KDE_INSTALL_APPDIR})
-install(FILES com.stounter.privacybrowser.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
-install(FILES privacybrowserpcui.rc DESTINATION ${KDE_INSTALL_KXMLGUI5DIR}/privacybrowser)  # TODO
+# Install Privacy Browser using the default KDE arguments.
+install(TARGETS privacy-browser ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
+
+# Install Privacy Browser according to the instructions in the desktop file, specifying the permissions.
+install(PROGRAMS com.stoutner.privacybrowser.desktop DESTINATION ${KDE_INSTALL_APPDIR} PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
+
+# Install Privacy Browser's metadata file.
+install(FILES com.stoutner.privacybrowser.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
+
+# Install Privacy Browser's RC (Runtime Configuration) file.
+install(FILES privacybrowserui.rc DESTINATION ${KDE_INSTALL_KXMLGUI5DIR}/privacybrowser)
+
+# Install Privacy Browser's icon.
+ecm_install_icons(ICONS icons/sc-apps-privacy_browser.svg DESTINATION ${KDE_INSTALL_ICONDIR})
diff --git a/src/com.stoutner.privacybrowser.appdata.xml b/src/com.stoutner.privacybrowser.appdata.xml
new file mode 100644 (file)
index 0000000..49704a9
--- /dev/null
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+  Copyright © 2022 Soren Stoutner <soren@stoutner.com>.
+
+  This file is part of Privacy Browser PC <https://www.stoutner.com/privacy-browser-android>.
+
+  Permission is granted to copy, distribute and/or modify this document
+  under the terms of the GNU Free Documentation License, Version 1.3
+  or any later version published by the Free Software Foundation;
+  with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+
+  You should have received a copy of the GNU Free Documentation License
+  along with Privacy Browser PC.  If not, see <http://www.gnu.org/licenses/>. -->
+
+<!-- The XML specification can be found at <https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html>. -->
+<component type="desktop-application">
+    <id>com.stoutner.privacybrowser</id>
+
+    <metadata_license>GFDL-1.3</metadata_license>
+
+    <name>Privacy Browser</name>
+
+    <summary>A web browser that respects your privacy.</summary>
+
+    <categories>
+        <category>Network</category>
+        <category>WebBrowser</category>
+    </categories>
+
+    <url type="homepage">https://www.stoutner.com/privacy-browser-pc/</url>
+    <url type="bugtracker">https://redmine.stoutner.com/projects/privacy-browser-pc/issues</url>
+    <url type="donation">https://www.stoutner.com/donations/</url>
+    <url type="contact">https://redmine.stoutner.com/projects/privacy-browser-pc/boards</url>
+
+    <launchable type="desktop-id">com.stoutner.privacybrowser.desktop</launchable>
+
+    <releases>
+        <release version="0.1.1" date="2022-03-01"/>
+        <release version="0.1" date="2022-01-22"/>
+    </releases>
+
+    <provides>
+        <binary>privacy-browser</binary>
+    </provides>
+
+    <project_license>GPL-3.0-or-later</project_license>
+
+    <developer_name>Soren Stoutner</developer_name>
+
+    <!-- TODO -->
+    <screenshots>
+        <screenshot type="default">
+            <image> https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-screenshots </image>
+        </screenshot>
+    </screenshots>
+
+    <update_contact>soren@stoutner.com</update_contact>
+</component>
diff --git a/src/com.stoutner.privacybrowser.desktop b/src/com.stoutner.privacybrowser.desktop
new file mode 100644 (file)
index 0000000..bdb64ed
--- /dev/null
@@ -0,0 +1,44 @@
+# Copyright © 2022 Soren Stoutner <soren@stoutner.com>.
+#
+# This file is part of Privacy Browser PC <https://www.stoutner.com/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
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Privacy Browser PC is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Privacy Browser PC.  If not, see <http://www.gnu.org/licenses/>.
+
+# The specification for the .desktop file can be found at <https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html>.
+[Desktop Entry]
+# Set the type.
+Type=Application
+
+# Set the name.
+Name=Privacy Browser
+
+# Set the generic name, which is displayed next to the name in the menu.
+GenericName=Web Browser
+
+# Set the categories.  These are used to organize the application in the menu.
+Categories=Network;WebBrowser;
+
+# Set the icon.
+Icon=privacy_browser.svg
+
+# Set the executable.
+Exec=privacy-browser
+
+# TODO.  Check if this is needed.
+StartupWMClass=privacy-browser
+
+# TODO.  Set the document path.
+X-DocPath=privacybrowser/index.html
+
+# TODO.  Add MIME types.
diff --git a/src/icons/privacy_browser.svg b/src/icons/privacy_browser.svg
deleted file mode 100644 (file)
index 428d507..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-
-<!--
-  Copyright © 2016-2017,2021-2022 Soren Stoutner <soren@stoutner.com>.
-
-  This file is derived from `security` and `language`, which are part of the Android Material icon set.  They are released under the Apache License 2.0.  <https://fonts.google.com/icons>
-
-  This file is part of Privacy Browser PC <https://www.stoutner.com/privacy-browser-android>.
-
-  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
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  Privacy Browser PC is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with Privacy Browser PC.  If not, see <http://www.gnu.org/licenses/>. -->
-
-<svg
-    xmlns="http://www.w3.org/2000/svg"
-    viewBox="0 0 256 256" >
-
-    <!-- Inner Shield. -->
-    <g transform="translate(0,160)" >
-        <path
-            style="fill:#0d47a1"
-            d="m 128,-147.2 -94.254546,41.89091 v 62.836368 c 0,58.123635 40.215273,112.477091 94.254546,125.672721 54.03928,-13.19563 94.25454,-67.549086 94.25454,-125.672721 v -62.836368 z" />
-    </g>
-
-    <!-- Outer Shield. -->
-    <g transform="translate(0,160)" >
-        <path
-            style="fill:#1976d2"
-            d="m 128,-160 -104.727273,46.54546 v 69.818182 C 23.272727,20.945459 67.956363,81.338188 128,95.999999 188.04364,81.338188 232.72727,20.945459 232.72727,-43.636358 v -69.818182 z m 0,127.883641 h 81.45454 C 203.28728,15.825464 171.28727,58.530919 128,71.912739 V -31.999996 H 46.545455 V -98.327268 L 128,-134.51636 Z" />
-    </g>
-
-    <!-- Globe. -->
-    <g transform="translate(0,232)" >
-        <path
-            style="fill:#ffffff"
-            d="m 127.92021,-183.78553 c -44.041614,0 -79.705747,35.74391 -79.705747,79.78553 0,44.041617 35.664133,79.785537 79.705747,79.785537 44.1214,0 79.86533,-35.74392 79.86533,-79.785537 0,-44.04162 -35.74393,-79.78553 -79.86533,-79.78553 z m 55.29138,47.87132 h -23.53674 c -2.55313,-9.9732 -6.22326,-19.54746 -11.0104,-28.40365 14.68055,5.02648 26.88773,15.23903 34.54714,28.40365 z M 128,-167.50929 c 6.6222,9.57427 11.80825,20.18574 15.23903,31.59508 h -30.47807 c 3.43078,-11.40934 8.61684,-22.02081 15.23904,-31.59508 z M 66.245993,-88.042889 C 64.969425,-93.149168 64.171571,-98.494798 64.171571,-104 c 0,-5.5052 0.797855,-10.85083 2.074422,-15.95711 h 26.96751 c -0.63829,5.26585 -1.117,10.5317 -1.117,15.95711 0,5.425417 0.47872,10.691263 1.117,15.957111 z m 6.542412,15.957108 H 96.32514 c 2.553137,9.973191 6.22327,19.547449 11.0104,28.403644 C 92.655006,-48.708619 80.44782,-58.841391 72.788405,-72.085781 Z M 96.32514,-135.91421 H 72.788405 c 7.659415,-13.2444 19.866601,-23.37717 34.547135,-28.40365 -4.78713,8.85619 -8.457263,18.43045 -11.0104,28.40365 z M 128,-40.49071 c -6.6222,-9.574268 -11.80826,-20.185747 -15.23904,-31.595071 h 30.47807 C 139.80825,-60.676457 134.6222,-50.064978 128,-40.49071 Z m 18.66982,-47.552179 h -37.33964 c -0.71801,-5.265848 -1.27656,-10.531694 -1.27656,-15.957111 0,-5.42541 0.55854,-10.77105 1.27656,-15.95711 h 37.33964 c 0.71811,5.18606 1.27656,10.5317 1.27656,15.95711 0,5.425417 -0.55844,10.691263 -1.27656,15.957111 z m 1.99463,44.360752 c 4.78714,-8.856195 8.45727,-18.430453 11.0104,-28.403644 h 23.53674 c -7.65941,13.164605 -19.86659,23.377162 -34.54714,28.403644 z m 14.12204,-44.360752 c 0.63828,-5.265848 1.117,-10.531694 1.117,-15.957111 0,-5.42541 -0.47871,-10.69126 -1.117,-15.95711 h 26.96752 c 1.27656,5.10628 2.07441,10.45191 2.07441,15.95711 0,5.505202 -0.79784,10.850832 -2.07441,15.957111 z" />
-    </g>
-</svg>
diff --git a/src/icons/sc-apps-privacy_browser.svg b/src/icons/sc-apps-privacy_browser.svg
new file mode 100644 (file)
index 0000000..428d507
--- /dev/null
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+
+<!--
+  Copyright © 2016-2017,2021-2022 Soren Stoutner <soren@stoutner.com>.
+
+  This file is derived from `security` and `language`, which are part of the Android Material icon set.  They are released under the Apache License 2.0.  <https://fonts.google.com/icons>
+
+  This file is part of Privacy Browser PC <https://www.stoutner.com/privacy-browser-android>.
+
+  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
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  Privacy Browser PC is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with Privacy Browser PC.  If not, see <http://www.gnu.org/licenses/>. -->
+
+<svg
+    xmlns="http://www.w3.org/2000/svg"
+    viewBox="0 0 256 256" >
+
+    <!-- Inner Shield. -->
+    <g transform="translate(0,160)" >
+        <path
+            style="fill:#0d47a1"
+            d="m 128,-147.2 -94.254546,41.89091 v 62.836368 c 0,58.123635 40.215273,112.477091 94.254546,125.672721 54.03928,-13.19563 94.25454,-67.549086 94.25454,-125.672721 v -62.836368 z" />
+    </g>
+
+    <!-- Outer Shield. -->
+    <g transform="translate(0,160)" >
+        <path
+            style="fill:#1976d2"
+            d="m 128,-160 -104.727273,46.54546 v 69.818182 C 23.272727,20.945459 67.956363,81.338188 128,95.999999 188.04364,81.338188 232.72727,20.945459 232.72727,-43.636358 v -69.818182 z m 0,127.883641 h 81.45454 C 203.28728,15.825464 171.28727,58.530919 128,71.912739 V -31.999996 H 46.545455 V -98.327268 L 128,-134.51636 Z" />
+    </g>
+
+    <!-- Globe. -->
+    <g transform="translate(0,232)" >
+        <path
+            style="fill:#ffffff"
+            d="m 127.92021,-183.78553 c -44.041614,0 -79.705747,35.74391 -79.705747,79.78553 0,44.041617 35.664133,79.785537 79.705747,79.785537 44.1214,0 79.86533,-35.74392 79.86533,-79.785537 0,-44.04162 -35.74393,-79.78553 -79.86533,-79.78553 z m 55.29138,47.87132 h -23.53674 c -2.55313,-9.9732 -6.22326,-19.54746 -11.0104,-28.40365 14.68055,5.02648 26.88773,15.23903 34.54714,28.40365 z M 128,-167.50929 c 6.6222,9.57427 11.80825,20.18574 15.23903,31.59508 h -30.47807 c 3.43078,-11.40934 8.61684,-22.02081 15.23904,-31.59508 z M 66.245993,-88.042889 C 64.969425,-93.149168 64.171571,-98.494798 64.171571,-104 c 0,-5.5052 0.797855,-10.85083 2.074422,-15.95711 h 26.96751 c -0.63829,5.26585 -1.117,10.5317 -1.117,15.95711 0,5.425417 0.47872,10.691263 1.117,15.957111 z m 6.542412,15.957108 H 96.32514 c 2.553137,9.973191 6.22327,19.547449 11.0104,28.403644 C 92.655006,-48.708619 80.44782,-58.841391 72.788405,-72.085781 Z M 96.32514,-135.91421 H 72.788405 c 7.659415,-13.2444 19.866601,-23.37717 34.547135,-28.40365 -4.78713,8.85619 -8.457263,18.43045 -11.0104,28.40365 z M 128,-40.49071 c -6.6222,-9.574268 -11.80826,-20.185747 -15.23904,-31.595071 h 30.47807 C 139.80825,-60.676457 134.6222,-50.064978 128,-40.49071 Z m 18.66982,-47.552179 h -37.33964 c -0.71801,-5.265848 -1.27656,-10.531694 -1.27656,-15.957111 0,-5.42541 0.55854,-10.77105 1.27656,-15.95711 h 37.33964 c 0.71811,5.18606 1.27656,10.5317 1.27656,15.95711 0,5.425417 -0.55844,10.691263 -1.27656,15.957111 z m 1.99463,44.360752 c 4.78714,-8.856195 8.45727,-18.430453 11.0104,-28.403644 h 23.53674 c -7.65941,13.164605 -19.86659,23.377162 -34.54714,28.403644 z m 14.12204,-44.360752 c 0.63828,-5.265848 1.117,-10.531694 1.117,-15.957111 0,-5.42541 -0.47871,-10.69126 -1.117,-15.95711 h 26.96752 c 1.27656,5.10628 2.07441,10.45191 2.07441,15.95711 0,5.505202 -0.79784,10.850832 -2.07441,15.957111 z" />
+    </g>
+</svg>
index 5605cdf3760f10c07455192b78c77bce7ef77431..341636475c2025d75aab7e0bbbad635939f5052c 100644 (file)
@@ -40,10 +40,10 @@ int main(int argc, char *argv[])
     // Initialize KCrash.
     KCrash::initialize();
 
-    // Instantiate about data.
-    KAboutData aboutData(QStringLiteral("privacybrowser"), i18n("Privacy Browser"), QStringLiteral("0.1"));
+    // Instantiate about data, setting the component name, the display name, and the version.
+    KAboutData aboutData(QStringLiteral("privacy-browser"), 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.
@@ -59,7 +59,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;
diff --git a/src/mainview.cpp b/src/mainview.cpp
new file mode 100644 (file)
index 0000000..c437c2c
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+    SPDX-FileCopyrightText: %{CURRENT_YEAR} %{AUTHOR} <%{EMAIL}>
+
+    SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
+*/
+
+// application headers
+#include "mainview.h"
+
+#include "settings.h"
+#include "privacybrowserdebug.h"
+
+
+MainView::MainView(QWidget *parent)
+    : QWidget(parent)
+{
+    m_ui.setupUi(this);
+    handleSettingsChanged();
+}
+
+MainView::~MainView()
+{
+}
+
+void MainView::switchColors()
+{
+    // switch the foreground/background colors of the label
+    QColor color = Settings::colorBackground();
+    Settings::setColorBackground(Settings::colorForeground());
+    Settings::setColorForeground(color);
+
+    handleSettingsChanged();
+}
+
+void MainView::handleSettingsChanged()
+{
+    qCDebug(PRIVACYBROWSER) << "MainView::handleSettingsChanged()";
+    QPalette palette = m_ui.templateLabel->palette();
+    palette.setColor(QPalette::Window, Settings::colorBackground());
+    palette.setColor(QPalette::WindowText, Settings::colorForeground());
+    m_ui.templateLabel->setPalette(palette);
+
+    // i18n : internationalization
+    m_ui.templateLabel->setText(i18n("This project is %1 days old", Settings::ageInDays()));
+}
diff --git a/src/mainview.h b/src/mainview.h
new file mode 100644 (file)
index 0000000..6b9e6ca
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+    SPDX-FileCopyrightText: %{CURRENT_YEAR} %{AUTHOR} <%{EMAIL}>
+
+    SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
+*/
+
+#ifndef MAINVIEW_H
+#define MAINVIEW_H
+
+#include "ui_mainview.h"
+
+
+/**
+ * This class serves as the main window for privacybrowserpc.  It handles the
+ * menus, toolbars and status bars.
+ *
+ * @short Main window class
+ * @author %{AUTHOR} <%{EMAIL}>
+ * @version %{VERSION}
+ */
+class MainView : public QWidget
+{
+    Q_OBJECT
+public:
+    /**
+     * Default Constructor
+     */
+    explicit MainView(QWidget *parent);
+
+    /**
+     * Default Destructor
+     */
+    ~MainView() override;
+
+public Q_SLOTS:
+    void switchColors();
+    void handleSettingsChanged();
+
+private:
+    // this is the name of the root widget inside our Ui file
+    // you can rename it in designer and then change it here
+    Ui::MainView m_ui;
+};
+
+#endif
diff --git a/src/mainview.ui b/src/mainview.ui
new file mode 100644 (file)
index 0000000..2f42279
--- /dev/null
@@ -0,0 +1,203 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MainView</class>
+ <widget class="QWidget" name="MainView">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>315</width>
+    <height>233</height>
+   </rect>
+  </property>
+  <property name="autoFillBackground">
+   <bool>true</bool>
+  </property>
+  <layout class="QGridLayout">
+   <property name="leftMargin">
+    <number>0</number>
+   </property>
+   <property name="topMargin">
+    <number>0</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
+    <number>0</number>
+   </property>
+   <item row="0" column="0">
+    <widget class="QLabel" name="templateLabel">
+     <property name="palette">
+      <palette>
+       <active>
+        <colorrole role="WindowText">
+         <brush brushstyle="SolidPattern">
+          <color alpha="255">
+           <red>255</red>
+           <green>255</green>
+           <blue>0</blue>
+          </color>
+         </brush>
+        </colorrole>
+        <colorrole role="Button">
+         <brush brushstyle="SolidPattern">
+          <color alpha="255">
+           <red>0</red>
+           <green>0</green>
+           <blue>0</blue>
+          </color>
+         </brush>
+        </colorrole>
+        <colorrole role="Base">
+         <brush brushstyle="SolidPattern">
+          <color alpha="255">
+           <red>0</red>
+           <green>0</green>
+           <blue>0</blue>
+          </color>
+         </brush>
+        </colorrole>
+        <colorrole role="Window">
+         <brush brushstyle="SolidPattern">
+          <color alpha="255">
+           <red>0</red>
+           <green>0</green>
+           <blue>0</blue>
+          </color>
+         </brush>
+        </colorrole>
+        <colorrole role="AlternateBase">
+         <brush brushstyle="SolidPattern">
+          <color alpha="255">
+           <red>0</red>
+           <green>0</green>
+           <blue>0</blue>
+          </color>
+         </brush>
+        </colorrole>
+       </active>
+       <inactive>
+        <colorrole role="WindowText">
+         <brush brushstyle="SolidPattern">
+          <color alpha="255">
+           <red>255</red>
+           <green>255</green>
+           <blue>0</blue>
+          </color>
+         </brush>
+        </colorrole>
+        <colorrole role="Button">
+         <brush brushstyle="SolidPattern">
+          <color alpha="255">
+           <red>0</red>
+           <green>0</green>
+           <blue>0</blue>
+          </color>
+         </brush>
+        </colorrole>
+        <colorrole role="Base">
+         <brush brushstyle="SolidPattern">
+          <color alpha="255">
+           <red>0</red>
+           <green>0</green>
+           <blue>0</blue>
+          </color>
+         </brush>
+        </colorrole>
+        <colorrole role="Window">
+         <brush brushstyle="SolidPattern">
+          <color alpha="255">
+           <red>0</red>
+           <green>0</green>
+           <blue>0</blue>
+          </color>
+         </brush>
+        </colorrole>
+        <colorrole role="AlternateBase">
+         <brush brushstyle="SolidPattern">
+          <color alpha="255">
+           <red>0</red>
+           <green>0</green>
+           <blue>0</blue>
+          </color>
+         </brush>
+        </colorrole>
+       </inactive>
+       <disabled>
+        <colorrole role="WindowText">
+         <brush brushstyle="SolidPattern">
+          <color alpha="255">
+           <red>119</red>
+           <green>119</green>
+           <blue>119</blue>
+          </color>
+         </brush>
+        </colorrole>
+        <colorrole role="Button">
+         <brush brushstyle="SolidPattern">
+          <color alpha="255">
+           <red>0</red>
+           <green>0</green>
+           <blue>0</blue>
+          </color>
+         </brush>
+        </colorrole>
+        <colorrole role="Base">
+         <brush brushstyle="SolidPattern">
+          <color alpha="255">
+           <red>0</red>
+           <green>0</green>
+           <blue>0</blue>
+          </color>
+         </brush>
+        </colorrole>
+        <colorrole role="Window">
+         <brush brushstyle="SolidPattern">
+          <color alpha="255">
+           <red>0</red>
+           <green>0</green>
+           <blue>0</blue>
+          </color>
+         </brush>
+        </colorrole>
+        <colorrole role="AlternateBase">
+         <brush brushstyle="SolidPattern">
+          <color alpha="255">
+           <red>0</red>
+           <green>0</green>
+           <blue>0</blue>
+          </color>
+         </brush>
+        </colorrole>
+       </disabled>
+      </palette>
+     </property>
+     <property name="font">
+      <font>
+       <family>Sans Serif</family>
+       <pointsize>12</pointsize>
+      </font>
+     </property>
+     <property name="autoFillBackground">
+      <bool>true</bool>
+     </property>
+     <property name="text">
+      <string>hello, world</string>
+     </property>
+     <property name="scaledContents">
+      <bool>true</bool>
+     </property>
+     <property name="alignment">
+      <set>Qt::AlignCenter</set>
+     </property>
+     <property name="wordWrap">
+      <bool>false</bool>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
index d0c4e1b0062c0d3634e8de66cb17558c415f41d9..9cde452405cdd43ee1a71c2e8843caa66fae56ed 100644 (file)
@@ -18,8 +18,8 @@
  */
 
 // Application headers.
+#include "mainview.h"
 #include "mainwindow.h"
-#include "privacybrowserpcview.h"
 #include "privacybrowserdebug.h"
 #include "settings.h"
 
 #include <KActionCollection>
 #include <KConfigDialog>
 
-
 MainWindow::MainWindow() : KXmlGuiWindow()
 {
-    m_privacybrowserpcView = new PrivacyBrowserPCView(this);
-    setCentralWidget(m_privacybrowserpcView);
+    // Instantiate the main view pointer.
+    mainViewPointer = new MainView(this);
 
-    KActionCollection* actionCollection = this->actionCollection();
-    m_switchAction = actionCollection->addAction(QStringLiteral("switch_action"));
-    m_switchAction->setText(i18nc("@action", "Switch Colors"));
-    m_switchAction->setIcon(QIcon::fromTheme(QStringLiteral("fill-color")));
-    connect(m_switchAction, &QAction::triggered, m_privacybrowserpcView, &PrivacyBrowserPCView::switchColors);
+    // Set the main view as the central widget.
+    setCentralWidget(mainViewPointer);
 
-    KStandardAction::openNew(this, SLOT(fileNew()), actionCollection);
-    KStandardAction::quit(qApp, SLOT(closeAllWindows()), actionCollection);
-    KStandardAction::preferences(this, SLOT(settingsConfigure()), actionCollection);
+    // Get a handle for the action collectoin.
+    KActionCollection *actionCollectionPointer = this->actionCollection();
 
-    setupGUI();
-}
+    // Create a switch colorsaction pointer.
+    QAction *switchColorsActionPointer;
 
-MainWindow::~MainWindow()
-{
+    // Populate the switch colors action pointer.
+    switchColorsActionPointer = actionCollectionPointer->addAction(QStringLiteral("switch_action"));
+    switchColorsActionPointer->setText(i18nc("@action", "Switch Colors"));
+    switchColorsActionPointer->setIcon(QIcon::fromTheme(QStringLiteral("fill-color")));
+
+    // Connect the signals to the slots.
+    connect(switchColorsActionPointer, &QAction::triggered, mainViewPointer, &MainView::switchColors);
+
+    KStandardAction::openNew(this, SLOT(fileNew()), actionCollectionPointer);
+    KStandardAction::quit(qApp, SLOT(closeAllWindows()), actionCollectionPointer);
+    KStandardAction::preferences(this, SLOT(settingsConfigure()), actionCollectionPointer);
+
+    setupGUI();
 }
 
 void MainWindow::fileNew()
 {
-    qCDebug(PRIVACYBROWSER) << "PrivacyBrowserPCWindow::fileNew()";
+    qCDebug(PRIVACYBROWSER) << "MainWindow::fileNew()";
     (new MainWindow)->show();
 }
 
@@ -70,9 +76,9 @@ void MainWindow::settingsConfigure()
 
     KConfigDialog *dialog = new KConfigDialog(this, QStringLiteral("settings"), Settings::self());
     QWidget *generalSettingsPage = new QWidget;
-    m_settings.setupUi(generalSettingsPage);
+    settingsWidget.setupUi(generalSettingsPage);
     dialog->addPage(generalSettingsPage, i18nc("@title:tab", "General"), QStringLiteral("package_setting"));
-    connect(dialog, &KConfigDialog::settingsChanged, m_privacybrowserpcView, &PrivacyBrowserPCView::handleSettingsChanged);
+    connect(dialog, &KConfigDialog::settingsChanged, mainViewPointer, &MainView::handleSettingsChanged);
     dialog->setAttribute(Qt::WA_DeleteOnClose);
     dialog->show();
 }
index f108c0da6833a94f0230ea8dc6bd0c374bbf49f7..3e48bd43175724140485703a11fedc779baee341 100644 (file)
 #define MAINWINDOW_H
 
 // Application headers.
-#include "ui_settings.h"  // TODO.  Can probably be removed.  Does not appear to exist.
-#include "PrivacyBrowserPCSettings.h"  // TODO.  Can probably be removed.  Doe snot appear to exist.
+#include "settings.h"
+#include "ui_settings.h"
 
 // KDE Frameworks headers.
 #include <KXmlGuiWindow>
 
-// TODO.  What is this doing here?
-class PrivacyBrowserPCView;
+class MainView;
 
-/**  TODO.  Remove.
- * This class serves as the main window for privacybrowserpc.  It handles the
- * menus, toolbars and status bars.
- *
- * @short Main window class
- * @author %{AUTHOR} <%{EMAIL}>
- * @version %{VERSION}
- */
-class MainWindow : public KXmlGuiWindow  // TODO.  Checkout documentation.
+class MainWindow : public KXmlGuiWindow
 {
     // Include the Q_OBJECT macro.
     Q_OBJECT
@@ -47,26 +38,14 @@ public:
     // The default constructor.
     MainWindow();
 
-
-    // The default destructor.  TODO, this could probably be removed.
-    ~MainWindow() override;
-
 private Q_SLOTS:
-    /**
-     * Create a new window
-     */
+    // Define the private slots.
     void fileNew();
-
-    /**
-     * Open the settings dialog
-     */
     void settingsConfigure();
 
 private:
-    // this is the name of the root widget inside our Ui file
-    // you can rename it in designer and then change it here
-    Ui::Settings m_settings;
-    QAction *m_switchAction;
-    PrivacyBrowserPCView *m_privacybrowserpcView;
+    // Define the private variables.
+    Ui::Settings settingsWidget;
+    MainView *mainViewPointer;
 };
 #endif
diff --git a/src/org.example.privacybrowserpc.appdata.xml b/src/org.example.privacybrowserpc.appdata.xml
deleted file mode 100644 (file)
index e2974dd..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<component type="desktop-application">
-  <id>org.example.privacybrowserpc.desktop</id>
-  <metadata_license>CC0-1.0</metadata_license>
-  <project_license> https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-metadata_license </project_license>
-  <name>PrivacyBrowserPC</name>
-  <summary> https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-summary </summary>
-  <description>
-    <p> https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-description </p>
-  </description>
-  <url type="homepage">https://www.example.org</url>
-  <url type="bugtracker">https://bugs.example.org</url>
-  <url type="donation">https://www.example.org/community/donations</url>
-  <screenshots>
-    <screenshot type="default">
-      <image> https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-screenshots </image>
-    </screenshot>
-  </screenshots>
-  <provides>
-    <binary>privacybrowserpc</binary>
-  </provides>
-  <project_group>KDE</project_group>
-  <releases>
-    <release version="0.1.21080" date="2021-08-12"/>
-    <release version="0.1.21043" date="2021-07-08"/>
-    <release version="0.1.21042" date="2021-06-10"/>
-    <release version="0.1.21041" date="2021-05-13"/>
-  </releases>
-</component>
diff --git a/src/org.example.privacybrowserpc.desktop b/src/org.example.privacybrowserpc.desktop
deleted file mode 100644 (file)
index c640c80..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-[Desktop Entry]
-Type=Application
-
-Name=PrivacyBrowserPC
-GenericName=A Simple Application written with KDE Frameworks
-Icon=privacybrowserpc
-
-Exec=privacybrowserpc
-StartupWMClass=privacybrowserpc
-X-DocPath=privacybrowserpc/index.html
diff --git a/src/privacybrowserpcui.rc b/src/privacybrowserpcui.rc
deleted file mode 100644 (file)
index f14edf0..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<gui name="privacybrowserpc"
-     version="1"
-     xmlns="http://www.kde.org/standards/kxmlgui/1.0"
-     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-     xsi:schemaLocation="http://www.kde.org/standards/kxmlgui/1.0
-                         http://www.kde.org/standards/kxmlgui/1.0/kxmlgui.xsd">
-<MenuBar>
-  <Menu name="edit">
-    <Action name="switch_action"/>
-  </Menu>
-</MenuBar>
-
-<ToolBar name="mainToolBar" noMerge="1">
-    <text>Main Toolbar</text>
-    <Action name="switch_action"/>
-    <Separator/>
-    <Action name="options_configure"/>
-</ToolBar>
-</gui>
diff --git a/src/privacybrowserpcview.cpp b/src/privacybrowserpcview.cpp
deleted file mode 100644 (file)
index 8369f99..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-    SPDX-FileCopyrightText: %{CURRENT_YEAR} %{AUTHOR} <%{EMAIL}>
-
-    SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
-*/
-
-// application headers
-#include "privacybrowserpcview.h"
-
-#include "settings.h"
-#include "privacybrowserdebug.h"
-
-
-PrivacyBrowserPCView::PrivacyBrowserPCView(QWidget *parent)
-    : QWidget(parent)
-{
-    m_ui.setupUi(this);
-    handleSettingsChanged();
-}
-
-PrivacyBrowserPCView::~PrivacyBrowserPCView()
-{
-}
-
-void PrivacyBrowserPCView::switchColors()
-{
-    // switch the foreground/background colors of the label
-    QColor color = Settings::colorBackground();
-    Settings::setColorBackground(Settings::colorForeground());
-    Settings::setColorForeground(color);
-
-    handleSettingsChanged();
-}
-
-void PrivacyBrowserPCView::handleSettingsChanged()
-{
-    qCDebug(PRIVACYBROWSER) << "PrivacyBrowserPCView::handleSettingsChanged()";
-    QPalette palette = m_ui.templateLabel->palette();
-    palette.setColor(QPalette::Window, Settings::colorBackground());
-    palette.setColor(QPalette::WindowText, Settings::colorForeground());
-    m_ui.templateLabel->setPalette(palette);
-
-    // i18n : internationalization
-    m_ui.templateLabel->setText(i18n("This project is %1 days old", Settings::ageInDays()));
-}
-
diff --git a/src/privacybrowserpcview.h b/src/privacybrowserpcview.h
deleted file mode 100644 (file)
index f6dd7ba..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-    SPDX-FileCopyrightText: %{CURRENT_YEAR} %{AUTHOR} <%{EMAIL}>
-
-    SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
-*/
-
-#ifndef PRIVACYBROWSERPCVIEW_H
-#define PRIVACYBROWSERPCVIEW_H
-
-#include "ui_privacybrowserpcview.h"
-
-
-/**
- * This class serves as the main window for privacybrowserpc.  It handles the
- * menus, toolbars and status bars.
- *
- * @short Main window class
- * @author %{AUTHOR} <%{EMAIL}>
- * @version %{VERSION}
- */
-class PrivacyBrowserPCView : public QWidget
-{
-    Q_OBJECT
-public:
-    /**
-     * Default Constructor
-     */
-    explicit PrivacyBrowserPCView(QWidget *parent);
-
-    /**
-     * Default Destructor
-     */
-    ~PrivacyBrowserPCView() override;
-
-public Q_SLOTS:
-    void switchColors();
-    void handleSettingsChanged();
-
-private:
-    // this is the name of the root widget inside our Ui file
-    // you can rename it in designer and then change it here
-    Ui::PrivacyBrowserPCView m_ui;
-};
-
-#endif // PRIVACYBROWSERPCVIEW_H
diff --git a/src/privacybrowserpcview.ui b/src/privacybrowserpcview.ui
deleted file mode 100644 (file)
index f20cd07..0000000
+++ /dev/null
@@ -1,203 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>PrivacyBrowserPCView</class>
- <widget class="QWidget" name="PrivacyBrowserPCView">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>315</width>
-    <height>233</height>
-   </rect>
-  </property>
-  <property name="autoFillBackground">
-   <bool>true</bool>
-  </property>
-  <layout class="QGridLayout">
-   <property name="leftMargin">
-    <number>0</number>
-   </property>
-   <property name="topMargin">
-    <number>0</number>
-   </property>
-   <property name="rightMargin">
-    <number>0</number>
-   </property>
-   <property name="bottomMargin">
-    <number>0</number>
-   </property>
-   <item row="0" column="0">
-    <widget class="QLabel" name="templateLabel">
-     <property name="palette">
-      <palette>
-       <active>
-        <colorrole role="WindowText">
-         <brush brushstyle="SolidPattern">
-          <color alpha="255">
-           <red>255</red>
-           <green>255</green>
-           <blue>0</blue>
-          </color>
-         </brush>
-        </colorrole>
-        <colorrole role="Button">
-         <brush brushstyle="SolidPattern">
-          <color alpha="255">
-           <red>0</red>
-           <green>0</green>
-           <blue>0</blue>
-          </color>
-         </brush>
-        </colorrole>
-        <colorrole role="Base">
-         <brush brushstyle="SolidPattern">
-          <color alpha="255">
-           <red>0</red>
-           <green>0</green>
-           <blue>0</blue>
-          </color>
-         </brush>
-        </colorrole>
-        <colorrole role="Window">
-         <brush brushstyle="SolidPattern">
-          <color alpha="255">
-           <red>0</red>
-           <green>0</green>
-           <blue>0</blue>
-          </color>
-         </brush>
-        </colorrole>
-        <colorrole role="AlternateBase">
-         <brush brushstyle="SolidPattern">
-          <color alpha="255">
-           <red>0</red>
-           <green>0</green>
-           <blue>0</blue>
-          </color>
-         </brush>
-        </colorrole>
-       </active>
-       <inactive>
-        <colorrole role="WindowText">
-         <brush brushstyle="SolidPattern">
-          <color alpha="255">
-           <red>255</red>
-           <green>255</green>
-           <blue>0</blue>
-          </color>
-         </brush>
-        </colorrole>
-        <colorrole role="Button">
-         <brush brushstyle="SolidPattern">
-          <color alpha="255">
-           <red>0</red>
-           <green>0</green>
-           <blue>0</blue>
-          </color>
-         </brush>
-        </colorrole>
-        <colorrole role="Base">
-         <brush brushstyle="SolidPattern">
-          <color alpha="255">
-           <red>0</red>
-           <green>0</green>
-           <blue>0</blue>
-          </color>
-         </brush>
-        </colorrole>
-        <colorrole role="Window">
-         <brush brushstyle="SolidPattern">
-          <color alpha="255">
-           <red>0</red>
-           <green>0</green>
-           <blue>0</blue>
-          </color>
-         </brush>
-        </colorrole>
-        <colorrole role="AlternateBase">
-         <brush brushstyle="SolidPattern">
-          <color alpha="255">
-           <red>0</red>
-           <green>0</green>
-           <blue>0</blue>
-          </color>
-         </brush>
-        </colorrole>
-       </inactive>
-       <disabled>
-        <colorrole role="WindowText">
-         <brush brushstyle="SolidPattern">
-          <color alpha="255">
-           <red>119</red>
-           <green>119</green>
-           <blue>119</blue>
-          </color>
-         </brush>
-        </colorrole>
-        <colorrole role="Button">
-         <brush brushstyle="SolidPattern">
-          <color alpha="255">
-           <red>0</red>
-           <green>0</green>
-           <blue>0</blue>
-          </color>
-         </brush>
-        </colorrole>
-        <colorrole role="Base">
-         <brush brushstyle="SolidPattern">
-          <color alpha="255">
-           <red>0</red>
-           <green>0</green>
-           <blue>0</blue>
-          </color>
-         </brush>
-        </colorrole>
-        <colorrole role="Window">
-         <brush brushstyle="SolidPattern">
-          <color alpha="255">
-           <red>0</red>
-           <green>0</green>
-           <blue>0</blue>
-          </color>
-         </brush>
-        </colorrole>
-        <colorrole role="AlternateBase">
-         <brush brushstyle="SolidPattern">
-          <color alpha="255">
-           <red>0</red>
-           <green>0</green>
-           <blue>0</blue>
-          </color>
-         </brush>
-        </colorrole>
-       </disabled>
-      </palette>
-     </property>
-     <property name="font">
-      <font>
-       <family>Sans Serif</family>
-       <pointsize>12</pointsize>
-      </font>
-     </property>
-     <property name="autoFillBackground">
-      <bool>true</bool>
-     </property>
-     <property name="text">
-      <string>hello, world</string>
-     </property>
-     <property name="scaledContents">
-      <bool>true</bool>
-     </property>
-     <property name="alignment">
-      <set>Qt::AlignCenter</set>
-     </property>
-     <property name="wordWrap">
-      <bool>false</bool>
-     </property>
-    </widget>
-   </item>
-  </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
diff --git a/src/privacybrowserui.rc b/src/privacybrowserui.rc
new file mode 100644 (file)
index 0000000..977ea54
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gui name="privacybrowser"
+     version="1"
+     xmlns="http://www.kde.org/standards/kxmlgui/1.0"
+     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+     xsi:schemaLocation="http://www.kde.org/standards/kxmlgui/1.0
+                         http://www.kde.org/standards/kxmlgui/1.0/kxmlgui.xsd">
+<MenuBar>
+  <Menu name="edit">
+    <Action name="switch_action"/>
+  </Menu>
+</MenuBar>
+
+<ToolBar name="mainToolBar" noMerge="1">
+    <text>Main Toolbar</text>
+    <Action name="switch_action"/>
+    <Separator/>
+    <Action name="options_configure"/>
+</ToolBar>
+</gui>
index b7afaaa5d9fe49ccb52a31d68432b2090d0b654a..f836ed9cea51126046c384deab0a8bc26bc72a73 100644 (file)
@@ -19,7 +19,7 @@
 <!DOCTYPE RCC>
 <RCC version="1.0">
     <qresource>
-        <file>icons/privacy_browser.svg</file>
+        <file>icons/sc-apps-privacy_browser.svg</file>
         <file>licenses/GPLv3+.txt</file>
     </qresource>
 </RCC>