You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

71 lines
1.5 KiB

#include "main-window.hpp"
#include "obs-manager.hpp"
#include <iostream>
#include <string>
#include <gdk/gdkx.h>
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();
}