#ifndef SCREEN_RECORDER_MAIN_WINDOW_HPP #define SCREEN_RECORDER_MAIN_WINDOW_HPP #include "obs-manager.hpp" #include "settings-window.hpp" #include "preview-window.hpp" #include class MainWindow : public Gtk::Window { public: MainWindow(Glib::RefPtr app, OBSManager *obs); virtual ~MainWindow(); private: Glib::RefPtr mApp; OBSManager *mOBS; void onPreviewClicked(); void onStartClicked(); void onSettingsClicked(); void onExitClicked(); void onCleanupDone(); Gtk::Box mBoxMain; Gtk::Box mBoxSpacer; Gtk::Button mButtonPreview; Gtk::Button mButtonStart; Gtk::Button mButtonSettings; Gtk::Button mButtonExit; Gtk::Label mLabelVersion; SettingsWindow mSettingsWindow; PreviewWindow mPreviewWindow; // Signals void onPreviewStarted(); void onRecordingStarted(); void onRecordingStopped(); void on_show(); }; #endif