Files
discord-awesomeaudio/src/mainwindow.h

51 lines
1.1 KiB
C
Raw Normal View History

2022-07-07 13:11:51 +02:00
#pragma once
2022-07-09 22:07:14 +02:00
#include "discordpage.h"
2022-07-07 13:11:51 +02:00
#include <QMainWindow>
2023-01-13 23:33:47 +01:00
#include <QMenu>
2022-07-07 13:11:51 +02:00
#include <QScopedPointer>
2023-01-13 23:33:47 +01:00
#include <QSettings>
2022-07-07 13:11:51 +02:00
#include <QString>
2023-01-13 23:33:47 +01:00
#include <QSystemTrayIcon>
2022-07-07 13:11:51 +02:00
#include <QVector>
#include <QWebEnginePage>
#include <QWebEngineProfile>
#include <QWebEngineView>
class MainWindow : public QMainWindow {
Q_OBJECT
public:
2022-11-04 23:16:49 +01:00
explicit MainWindow(bool useNotifySend = false, QWidget *parent = nullptr);
2022-10-10 19:50:26 +00:00
static MainWindow *instance();
2023-01-13 23:33:47 +01:00
QSettings *settings() const;
2022-07-07 13:11:51 +02:00
private:
void setupWebView();
2023-01-13 23:33:47 +01:00
void setupTrayIcon();
void cleanTrayIcon();
void setupSettings();
2022-07-07 13:11:51 +02:00
QWebEngineView *m_webView;
QWebEngineProfile *prepareProfile();
2022-07-09 22:07:14 +02:00
DiscordPage *m_discordPage;
void closeEvent(QCloseEvent *event) override;
2023-01-13 23:33:47 +01:00
QSystemTrayIcon *m_trayIcon;
QMenu *m_trayIconMenu;
QSettings *m_settings;
bool m_wasMaximized;
2022-10-10 19:50:26 +00:00
static MainWindow *m_instance;
2022-11-04 23:16:49 +01:00
bool m_useNotifySend;
#ifdef KNOTIFICATIONS
bool m_useKF5Notifications = true;
#else
bool m_useKF5Notifications = false;
#endif
2022-07-27 14:13:59 +02:00
2023-01-13 23:33:47 +01:00
public Q_SLOTS:
void setTrayIcon(bool enabled);
2022-07-27 14:13:59 +02:00
private Q_SLOTS:
void fullScreenRequested(QWebEngineFullScreenRequest fullScreenRequest);
2022-07-07 13:11:51 +02:00
};