Implement Tray Icon

This commit is contained in:
Malte Jürgens
2023-01-13 23:33:47 +01:00
parent bfb0714b13
commit b836be6530
4 changed files with 189 additions and 12 deletions

View File

@@ -3,8 +3,11 @@
#include "discordpage.h"
#include <QMainWindow>
#include <QMenu>
#include <QScopedPointer>
#include <QSettings>
#include <QString>
#include <QSystemTrayIcon>
#include <QVector>
#include <QWebEnginePage>
#include <QWebEngineProfile>
@@ -16,13 +19,20 @@ class MainWindow : public QMainWindow {
public:
explicit MainWindow(bool useNotifySend = false, QWidget *parent = nullptr);
static MainWindow *instance();
QSettings *settings() const;
private:
void setupWebView();
void setupTrayIcon();
void cleanTrayIcon();
void setupSettings();
QWebEngineView *m_webView;
QWebEngineProfile *prepareProfile();
DiscordPage *m_discordPage;
void closeEvent(QCloseEvent *event) override;
QSystemTrayIcon *m_trayIcon;
QMenu *m_trayIconMenu;
QSettings *m_settings;
bool m_wasMaximized;
static MainWindow *m_instance;
bool m_useNotifySend;
@@ -32,6 +42,9 @@ private:
bool m_useKF5Notifications = false;
#endif
public Q_SLOTS:
void setTrayIcon(bool enabled);
private Q_SLOTS:
void fullScreenRequested(QWebEngineFullScreenRequest fullScreenRequest);
};