WindowCaptureToolbar.cpp 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #include "WindowCaptureToolbar.hpp"
  2. #include "ui_device-select-toolbar.h"
  3. #include "moc_WindowCaptureToolbar.cpp"
  4. #ifdef _WIN32
  5. #define get_os_module(win, mac, linux) obs_get_module(win)
  6. #define get_os_text(mod, win, mac, linux) obs_module_get_locale_text(mod, win)
  7. #elif __APPLE__
  8. #define get_os_module(win, mac, linux) obs_get_module(mac)
  9. #define get_os_text(mod, win, mac, linux) obs_module_get_locale_text(mod, mac)
  10. #else
  11. #define get_os_module(win, mac, linux) obs_get_module(linux)
  12. #define get_os_text(mod, win, mac, linux) obs_module_get_locale_text(mod, linux)
  13. #endif
  14. WindowCaptureToolbar::WindowCaptureToolbar(QWidget *parent, OBSSource source) : ComboSelectToolbar(parent, source) {}
  15. void WindowCaptureToolbar::Init()
  16. {
  17. delete ui->activateButton;
  18. ui->activateButton = nullptr;
  19. obs_module_t *mod = get_os_module("win-capture", "mac-capture", "linux-capture");
  20. if (!mod)
  21. return;
  22. const char *device_str = get_os_text(mod, "WindowCapture.Window", "WindowUtils.Window", "Window");
  23. ui->deviceLabel->setText(device_str);
  24. #if !defined(_WIN32) && !defined(__APPLE__) //linux
  25. prop_name = "capture_window";
  26. #else
  27. prop_name = "window";
  28. #endif
  29. #ifdef __APPLE__
  30. is_int = true;
  31. #endif
  32. ComboSelectToolbar::Init();
  33. }