diff options
Diffstat (limited to 'variant')
-rw-r--r-- | variant/default/main-window.cpp | 29 | ||||
-rw-r--r-- | variant/default/main-window.hpp | 55 |
2 files changed, 41 insertions, 43 deletions
diff --git a/variant/default/main-window.cpp b/variant/default/main-window.cpp index 9442ec14..192ad289 100644 --- a/variant/default/main-window.cpp +++ b/variant/default/main-window.cpp @@ -298,11 +298,6 @@ main_window::~main_window() exit(); } -void main_window::set_working_directory() -{ - QDir::setCurrent(OPENTRACK_BASE_PATH); -} - void main_window::save_modules() { m.b->save(); @@ -454,7 +449,7 @@ void main_window::start_tracker_() { double p[6] = {0,0,0, 0,0,0}; - display_pose(p, p); + show_pose_(p, p); } work = std::make_shared<Work>(pose, ev, ui.video_frame, current_tracker(), current_protocol(), current_filter()); @@ -508,7 +503,7 @@ void main_window::stop_tracker_() { double p[6] = {0,0,0, 0,0,0}; - display_pose(p, p); + show_pose_(p, p); } update_button_state(false, false); @@ -516,7 +511,7 @@ void main_window::stop_tracker_() ui.btnStartTracker->setFocus(); } -void main_window::display_pose(const double *mapped, const double *raw) +void main_window::show_pose_(const double* mapped, const double* raw) { ui.pose_display->rotate_async(mapped[Yaw], mapped[Pitch], -mapped[Roll], mapped[TX], mapped[TY], mapped[TZ]); @@ -572,10 +567,10 @@ void main_window::show_pose() work->pipeline_.raw_and_mapped_pose(mapped, raw); - display_pose(mapped, raw); + show_pose_(mapped, raw); } -void show_window(QWidget& d, bool fresh) +static void show_window(QWidget& d, bool fresh) { if (fresh) { @@ -594,7 +589,7 @@ void show_window(QWidget& d, bool fresh) } template<typename t, typename F> -bool mk_window_common(std::unique_ptr<t>& d, F&& fun) +static bool mk_window_common(std::unique_ptr<t>& d, F&& fun) { bool fresh = false; @@ -608,7 +603,7 @@ bool mk_window_common(std::unique_ptr<t>& d, F&& fun) } template<typename t, typename... Args> -bool mk_window(std::unique_ptr<t>& place, Args&&... params) +static bool mk_window(std::unique_ptr<t>& place, Args&&... params) { return mk_window_common(place, [&] { return std::make_unique<t>(params...); @@ -616,7 +611,7 @@ bool mk_window(std::unique_ptr<t>& place, Args&&... params) } template<typename t> -bool mk_dialog(std::unique_ptr<t>& place, const std::shared_ptr<dylib>& lib) +static bool mk_dialog(std::unique_ptr<t>& place, const std::shared_ptr<dylib>& lib) { using u = std::unique_ptr<t>; @@ -784,7 +779,7 @@ void main_window::toggle_restore_from_tray(QSystemTrayIcon::ActivationReason e) ensure_tray(); - const bool is_minimized = isHidden() || !is_tray_enabled(); + const bool is_minimized = isHidden() || !tray_enabled(); menu_action_show.setText(!isHidden() ? tr("Show the Octopus") : tr("Hide the Octopus")); @@ -809,7 +804,7 @@ bool main_window::maybe_hide_to_tray(QEvent* e) { if (e->type() == QEvent::WindowStateChange && (windowState() & Qt::WindowMinimized) && - is_tray_enabled()) + tray_enabled()) { e->accept(); ensure_tray(); @@ -894,14 +889,14 @@ bool main_window::event(QEvent* event) return QMainWindow::event(event); } -bool main_window::is_tray_enabled() +bool main_window::tray_enabled() { return s.tray_enabled && QSystemTrayIcon::isSystemTrayAvailable(); } bool main_window::start_in_tray() { - return is_tray_enabled() && s.tray_start; + return tray_enabled() && s.tray_start; } void main_window::set_profile_in_registry(const QString &profile) diff --git a/variant/default/main-window.hpp b/variant/default/main-window.hpp index a236b240..6333c131 100644 --- a/variant/default/main-window.hpp +++ b/variant/default/main-window.hpp @@ -44,16 +44,21 @@ class main_window final : public QMainWindow, private State Ui::main_window ui; - Shortcuts global_shortcuts; module_settings m; + std::unique_ptr<QSystemTrayIcon> tray; QMenu tray_menu { this }; + QTimer pose_update_timer { this }; QTimer det_timer; QTimer config_list_timer; + + Shortcuts global_shortcuts; + QShortcut kbd_quit { QKeySequence("Ctrl+Q"), this }; + std::unique_ptr<options_dialog> options_widget; std::unique_ptr<mapping_dialog> mapping_widget; - QShortcut kbd_quit { QKeySequence("Ctrl+Q"), this }; + std::unique_ptr<IFilterDialog> pFilterDialog; std::unique_ptr<IProtocolDialog> pProtocolDialog; std::unique_ptr<ITrackerDialog> pTrackerDialog; @@ -84,47 +89,36 @@ class main_window final : public QMainWindow, private State qt_sig::nullary toggle_tracker { this, &main_window::toggle_tracker_, Qt::QueuedConnection }; qt_sig::nullary restart_tracker { this, &main_window::restart_tracker_, Qt::QueuedConnection }; - void update_button_state(bool running, bool inertialp); - void display_pose(const double* mapped, const double* raw); - void set_title(const QString& game_title = QString()); - [[nodiscard]] static bool get_new_config_name_from_dialog(QString &ret); - void set_profile_in_registry(const QString& profile); - void register_shortcuts(); - void set_keys_enabled(bool flag); - bool config_listed(const QString& name); - void init_dylibs(); void init_tray_menu(); void init_profiles(); - void init_shortcuts(); void init_buttons(); + void init_shortcuts(); + void register_shortcuts(); + void set_keys_enabled(bool flag); + + void update_button_state(bool running, bool inertialp); + #if !defined _WIN32 void annoy_if_root(); #endif void changeEvent(QEvent* e) override; - bool event(QEvent *event) override; bool maybe_hide_to_tray(QEvent* e); - void closeEvent(QCloseEvent *event) override; - - void die_on_config_not_writable(); - bool is_tray_enabled(); - bool start_in_tray(); - - void refresh_config_list(); - - void make_empty_config(); - void make_copied_config(); - void open_config_directory(); + bool event(QEvent *event) override; void show_tracker_settings(); void show_proto_settings(); void show_filter_settings(); + void show_options_dialog(); void show_mapping_window(); + void show_pose(); + void show_pose_(const double* mapped, const double* raw); + void set_title(const QString& game_title = QString()); void start_tracker_(); void stop_tracker_(); @@ -132,18 +126,27 @@ class main_window final : public QMainWindow, private State void toggle_tracker_(); void set_profile(const QString& new_name, bool migrate = true); + void set_profile_in_registry(const QString& profile); + void refresh_config_list(); + bool config_listed(const QString& name); + void die_on_config_not_writable(); void maybe_start_profile_from_executable(); + [[nodiscard]] static bool get_new_config_name_from_dialog(QString &ret); + + void make_empty_config(); + void make_copied_config(); + void open_config_directory(); void ensure_tray(); void toggle_restore_from_tray(QSystemTrayIcon::ActivationReason e); + bool tray_enabled(); + bool start_in_tray(); void save_modules(); static std::tuple<dylib_ptr, int> module_by_name(const QString& name, Modules::dylib_list& list); void exit(int status = EXIT_SUCCESS); - static void set_working_directory(); - public: main_window(); ~main_window() override; |