#ifndef SCREEN_RECORDER_SETTINGS_WINDOW_HPP #define SCREEN_RECORDER_SETTINGS_WINDOW_HPP #include "obs-manager.hpp" #include "settings-manager.hpp" #include class SettingsWindow : public Gtk::Window { public: SettingsWindow(OBSManager *obs); virtual ~SettingsWindow(); private: SettingsManager *settings; Gtk::Box mBox; Gtk::Frame mFrameSettings; Gtk::Box mBoxSettings; Gtk::Box mBoxPluginDir; Gtk::Label mLabelPluginDir; Gtk::Entry mEntryPluginDir; Gtk::Box mBoxOutputDir; Gtk::Label mLabelOutputDir; Gtk::Entry mEntryOutputDir; Gtk::Frame mFrameDesktop; Gtk::CheckButton mCheckButtonDesktop; Gtk::Frame mFrameWebcam; Gtk::Box mBoxWebcam; Gtk::CheckButton mCheckButtonWebcam; Gtk::ComboBoxText mComboBoxVideoDevice; Gtk::Frame mFrameAudio; Gtk::Box mBoxAudio; Gtk::CheckButton mCheckButtonAudio; Gtk::ComboBoxText mComboBoxAudioDevice; Gtk::ActionBar mActionBar; Gtk::Button mButtonClose; Gtk::Button mButtonSave; void on_show(); void populateVideoDevices(); void populateALSAAudioDevices(); void populatePulseAudioDevices(); bool onKeyPressed(GdkEventKey* event); void onClosePressed(); void onSavePressed(); }; #endif