#include "main-window.hpp" #include "obs-manager.hpp" #include #include #include using namespace std; MainWindow::MainWindow(OBSManager *obs) : mBoxMain(Gtk::Orientation::ORIENTATION_VERTICAL, 2), mButtonStart("Start Recording"), mButtonSettings("Settings"), mButtonExit("Exit"), mLabelVersion("Version: "), mSettingsWindow(obs), mPreviewWindow(obs) { set_title("New Recording"); set_default_size(1048, 720); set_border_width(10); mOBS = obs; mButtonStart.signal_clicked().connect( sigc::mem_fun(*this, &MainWindow::onStartClicked)); mButtonSettings.signal_clicked().connect( sigc::mem_fun(*this, &MainWindow::onSettingsClicked)); mButtonExit.signal_clicked().connect( sigc::mem_fun(*this, &MainWindow::onExitClicked)); mBoxMain.add(mButtonStart); mBoxMain.add(mButtonSettings); mBoxMain.add(mButtonExit); mBoxMain.add(mLabelVersion); add(mBoxMain); mBoxMain.show_all(); string version; version.append("OBS Version: "); version.append(obs->GetVersion()); mLabelVersion.set_text(version); mOBS->Initialize(); } MainWindow::~MainWindow() { mOBS->Cleanup(); } void MainWindow::onStartClicked() { mPreviewWindow.show(); } void MainWindow::onSettingsClicked() { mSettingsWindow.set_transient_for(*this); mSettingsWindow.show(); } void MainWindow::onExitClicked() { mOBS->Cleanup(); Gtk::Main::quit(); }