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

3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
  1. #include "main-window.hpp"
  2. #include "obs-manager.hpp"
  3. #include <iostream>
  4. #include <string>
  5. #include <gdk/gdkx.h>
  6. using namespace std;
  7. MainWindow::MainWindow(OBSManager *obs)
  8. : mBoxMain(Gtk::Orientation::ORIENTATION_VERTICAL, 2),
  9. mButtonStart("Start Recording"),
  10. mButtonSettings("Settings"),
  11. mButtonExit("Exit"),
  12. mLabelVersion("Version: "),
  13. mSettingsWindow(obs),
  14. mPreviewWindow(obs)
  15. {
  16. set_title("New Recording");
  17. set_default_size(1048, 720);
  18. set_border_width(10);
  19. mOBS = obs;
  20. mButtonStart.signal_clicked().connect(
  21. sigc::mem_fun(*this, &MainWindow::onStartClicked));
  22. mButtonSettings.signal_clicked().connect(
  23. sigc::mem_fun(*this, &MainWindow::onSettingsClicked));
  24. mButtonExit.signal_clicked().connect(
  25. sigc::mem_fun(*this, &MainWindow::onExitClicked));
  26. mBoxMain.add(mButtonStart);
  27. mBoxMain.add(mButtonSettings);
  28. mBoxMain.add(mButtonExit);
  29. mBoxMain.add(mLabelVersion);
  30. add(mBoxMain);
  31. mBoxMain.show_all();
  32. string version;
  33. version.append("OBS Version: ");
  34. version.append(obs->GetVersion());
  35. mLabelVersion.set_text(version);
  36. mOBS->Initialize();
  37. }
  38. MainWindow::~MainWindow()
  39. {
  40. mOBS->Cleanup();
  41. }
  42. void MainWindow::onStartClicked()
  43. {
  44. mPreviewWindow.show();
  45. }
  46. void MainWindow::onSettingsClicked()
  47. {
  48. mSettingsWindow.set_transient_for(*this);
  49. mSettingsWindow.show();
  50. }
  51. void MainWindow::onExitClicked()
  52. {
  53. mOBS->Cleanup();
  54. Gtk::Main::quit();
  55. }