blob: 75948e913120e5447d45f959438c93a571885f33 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QAction>
#include <QApplication>
#include <QFileDialog>
#include <QGraphicsOpacityEffect>
#include <QIcon>
#include <QMainWindow>
#include <QMenu>
#include <QMessageBox>
#include <QProgressBar>
#include <QRegExp>
#include <QSettings>
#include <QStatusBar>
#include <QStyle>
#include <QStyleFactory>
#include <QSystemTrayIcon>
#include <QWebEngineCookieStore>
#include <QWebEngineFullScreenRequest>
#include <QWebEngineProfile>
#include <QWebEngineView>
#include <QWebEngineSettings>
#include <QRadioButton>
#include <QWebEngineContextMenuData>
#include "notificationpopup.h"
#include "requestinterceptor.h"
#include "settingswidget.h"
#include "webenginepage.h"
#include "lock.h"
#include "downloadmanagerwidget.h"
#include "about.h"
#include "dictionaries.h"
#include "webview.h"
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
public slots:
void updateWindowTheme();
void updatePageTheme();
void handleWebViewTitleChanged(QString title);
void handleLoadStarted();
void handleLoadProgress(int progress);
void handleLoadFinished(bool loaded);
void handleDownloadRequested(QWebEngineDownloadItem *download);
protected slots:
void closeEvent(QCloseEvent *event) override;
void resizeEvent(QResizeEvent *event);
private:
QPalette lightPalette;
void createActions();
void createStatusBar();
void createTrayIcon();
void createWebEngine();
QSettings settings;
QRegExp notificationsTitleRegExp;
QIcon trayIconRead;
QIcon trayIconUnread;
QAction *reloadAction;
QAction *minimizeAction;
QAction *restoreAction;
QAction *aboutAction;
QAction *settingsAction;
QAction *quitAction;
QAction *lockAction;
QAction *fullscreenAction;
QMenu *trayIconMenu;
QSystemTrayIcon *trayIcon;
QWebEngineView *webEngine;
QStatusBar *statusBar;
SettingsWidget * settingsWidget = nullptr;
//void reload();
DownloadManagerWidget m_downloadManagerWidget;
QScopedPointer<QWebEngineProfile> m_otrProfile;
Lock *lockWidget = nullptr;
int correctlyLoaderRetries = 4;
QStringList m_dictionaries;
private slots:
void iconActivated(QSystemTrayIcon::ActivationReason reason);
void messageClicked();
void doReload();
void showAbout();
void notify(QString title, QString message);
void showSettings();
void handleCookieAdded(const QNetworkCookie &cookie);
QString getPageTheme();
void toggleMute(const bool checked);
void doAppReload();
void askToReloadPage();
void updateSettingsUserAgentWidget();
void fullScreenRequested(QWebEngineFullScreenRequest request);
void createWebPage(bool offTheRecord =false);
void init_settingWidget();
void init_globalWebProfile();
void check_window_state();
void init_lock();
void lockApp();
void checkLoadedCorrectly();
void loadingQuirk(QString test);
void setNotificationPresenter(QWebEngineProfile *profile);
};
#endif // MAINWINDOW_H
|