2017-04-23 15:05:48 +02:00
|
|
|
#ifndef MAINWINDOW_HPP
|
|
|
|
#define MAINWINDOW_HPP
|
|
|
|
|
2017-04-25 22:36:33 +02:00
|
|
|
#include <QDoubleSpinBox>
|
2017-04-23 15:05:48 +02:00
|
|
|
#include <QMainWindow>
|
2017-04-26 22:00:13 +02:00
|
|
|
#include <QMap>
|
2017-04-23 15:05:48 +02:00
|
|
|
#include <QSystemTrayIcon>
|
2017-04-26 22:00:13 +02:00
|
|
|
#include <functional>
|
2017-04-23 15:05:48 +02:00
|
|
|
|
2017-06-04 01:04:42 +02:00
|
|
|
#include <recording/recordingcontroller.hpp>
|
2017-04-25 21:27:29 +02:00
|
|
|
#include <uploaders/uploader.hpp>
|
|
|
|
|
2017-05-06 13:21:12 +02:00
|
|
|
namespace Ui {
|
2017-04-23 15:05:48 +02:00
|
|
|
class MainWindow;
|
|
|
|
}
|
|
|
|
|
2017-05-06 13:21:12 +02:00
|
|
|
class MainWindow : public QMainWindow {
|
2017-05-09 17:26:00 +02:00
|
|
|
Q_OBJECT
|
2017-06-04 01:04:42 +02:00
|
|
|
private slots:
|
2017-05-09 17:26:00 +02:00
|
|
|
void quit();
|
|
|
|
void toggleVisible();
|
|
|
|
void newUploader(Uploader *u);
|
2017-04-23 15:05:48 +02:00
|
|
|
|
2017-05-09 17:26:00 +02:00
|
|
|
void on_actionQuit_triggered();
|
|
|
|
void on_actionFullscreen_triggered();
|
|
|
|
void on_actionArea_triggered();
|
|
|
|
void on_uploaderList_clicked(const QModelIndex &);
|
|
|
|
void on_nameScheme_textEdited(const QString &arg1);
|
|
|
|
void on_delay_valueChanged(double arg1);
|
|
|
|
void on_hotkeys_doubleClicked(const QModelIndex &index);
|
2017-05-13 19:19:56 +02:00
|
|
|
void on_settingsButton_clicked();
|
|
|
|
void on_quickMode_clicked(bool checked);
|
2017-05-15 14:42:40 +02:00
|
|
|
void on_hideToTray_clicked(bool checked);
|
2017-05-16 15:52:15 +02:00
|
|
|
void on_actionColor_Picker_triggered();
|
2017-05-15 14:10:00 +02:00
|
|
|
void on_captureCursor_clicked(bool checked);
|
2017-05-16 15:52:15 +02:00
|
|
|
|
2017-06-06 13:38:15 +02:00
|
|
|
void on_formatBox_currentIndexChanged(int index);
|
|
|
|
|
2017-06-04 01:04:42 +02:00
|
|
|
public:
|
2017-05-09 17:26:00 +02:00
|
|
|
explicit MainWindow(QWidget *parent = 0);
|
|
|
|
~MainWindow();
|
|
|
|
Ui::MainWindow *ui;
|
2017-04-23 15:05:48 +02:00
|
|
|
|
2017-05-09 17:26:00 +02:00
|
|
|
QSystemTrayIcon *tray;
|
|
|
|
void setScheme(QString scheme);
|
|
|
|
QDoubleSpinBox *delay();
|
2017-04-23 20:29:24 +02:00
|
|
|
|
2017-05-09 17:26:00 +02:00
|
|
|
static MainWindow *inst();
|
2017-06-04 01:04:42 +02:00
|
|
|
QMap<QString, std::function<void()>> fncs;
|
2017-04-25 22:17:36 +02:00
|
|
|
|
2017-06-04 01:04:42 +02:00
|
|
|
private:
|
2017-05-09 17:26:00 +02:00
|
|
|
static MainWindow *instance;
|
2017-06-04 01:04:42 +02:00
|
|
|
RecordingController *controller = new RecordingController;
|
2017-04-23 15:05:48 +02:00
|
|
|
|
2017-06-04 01:04:42 +02:00
|
|
|
protected:
|
2017-05-09 17:26:00 +02:00
|
|
|
void closeEvent(QCloseEvent *event);
|
2017-04-23 15:05:48 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // MAINWINDOW_HPP
|