]> gitweb.stoutner.com Git - PrivacyBrowserPC.git/blob - src/mainwindow.h
Remove .kdev4/.
[PrivacyBrowserPC.git] / src / mainwindow.h
1 /*
2  * Copyright © 2022 Soren Stoutner <soren@stoutner.com>.
3  *
4  * This file is part of Privacy Browser PC <https://www.stoutner.com/privacy-browser-pc>.
5  *
6  * Privacy Browser PC is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * Privacy Browser PC is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with Privacy Browser PC.  If not, see <http://www.gnu.org/licenses/>.
18  */
19
20 #ifndef MAINWINDOW_H
21 #define MAINWINDOW_H
22
23 // Application headers.
24 #include "ui_settings.h"
25 #include "PrivacyBrowserPCSettings.h"
26
27 // KDE Frameworks headers.
28 #include <KXmlGuiWindow>
29
30 // TODO.  What is this doing here?
31 class PrivacyBrowserPCView;
32
33 /**  TODO.  Remove.
34  * This class serves as the main window for privacybrowserpc.  It handles the
35  * menus, toolbars and status bars.
36  *
37  * @short Main window class
38  * @author %{AUTHOR} <%{EMAIL}>
39  * @version %{VERSION}
40  */
41 class MainWindow : public KXmlGuiWindow  // TODO.  Checkout documentation.
42 {
43     // Include the Q_OBJECT macro.
44     Q_OBJECT
45
46 public:
47     // The default constructor.
48     MainWindow();
49
50
51     // The default destructor.  TODO, this could probably be removed.
52     ~MainWindow() override;
53
54 private Q_SLOTS:
55     /**
56      * Create a new window
57      */
58     void fileNew();
59
60     /**
61      * Open the settings dialog
62      */
63     void settingsConfigure();
64
65 private:
66     // this is the name of the root widget inside our Ui file
67     // you can rename it in designer and then change it here
68     Ui::Settings m_settings;
69     QAction *m_switchAction;
70     PrivacyBrowserPCView *m_privacybrowserpcView;
71 };
72 #endif