summaryrefslogtreecommitdiffhomepage
path: root/variant
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2019-02-03 12:06:50 +0100
committerStanislaw Halik <sthalik@misaki.pl>2019-02-09 12:13:24 +0100
commit195767619e7a7aeeeb33b13420538f687bef0104 (patch)
tree5701f484f4b8bff13452a192deab76e70ae91196 /variant
parente5fdc0dad2609d89dc2a1294ea1c232c33e64785 (diff)
opentrack: move module list to base class
Diffstat (limited to 'variant')
-rw-r--r--variant/default/main-window.cpp35
-rw-r--r--variant/default/main-window.hpp10
2 files changed, 3 insertions, 42 deletions
diff --git a/variant/default/main-window.cpp b/variant/default/main-window.cpp
index 192ad289..7f8b3bb8 100644
--- a/variant/default/main-window.cpp
+++ b/variant/default/main-window.cpp
@@ -19,7 +19,6 @@
#include "compat/sysexits.hpp"
#include <algorithm>
-#include <iterator>
#include <utility>
#include <QMessageBox>
@@ -75,6 +74,9 @@ void main_window::init_shortcuts()
void main_window::init_dylibs()
{
+ using dylib_ptr = Modules::dylib_ptr;
+ using dylib_list = Modules::dylib_list;
+
modules.filters().push_front(std::make_shared<dylib>("", dylib::Filter));
for (dylib_ptr& x : modules.trackers())
@@ -389,38 +391,7 @@ void main_window::refresh_config_list()
ui.iconcomboProfile->setCurrentText(current);
}
-std::tuple<main_window::dylib_ptr, int> main_window::module_by_name(const QString& name, Modules::dylib_list& list)
-{
- auto it = std::find_if(list.cbegin(), list.cend(), [&name](const dylib_ptr& lib) {
- if (!lib)
- return name.isEmpty();
- else
- return name == lib->module_name;
- });
-
- if (it == list.cend())
- return { nullptr, -1 };
- else
- return { *it, int(std::distance(list.cbegin(), it)) };
-}
-main_window::dylib_ptr main_window::current_tracker()
-{
- auto [ptr, idx] = module_by_name(m.tracker_dll, modules.trackers());
- return ptr;
-}
-
-main_window::dylib_ptr main_window::current_protocol()
-{
- auto [ptr, idx] = module_by_name(m.protocol_dll, modules.protocols());
- return ptr;
-}
-
-main_window::dylib_ptr main_window::current_filter()
-{
- auto [ptr, idx] = module_by_name(m.filter_dll, modules.filters());
- return ptr;
-}
void main_window::update_button_state(bool running, bool inertialp)
{
diff --git a/variant/default/main-window.hpp b/variant/default/main-window.hpp
index 6333c131..e6b2ed2e 100644
--- a/variant/default/main-window.hpp
+++ b/variant/default/main-window.hpp
@@ -44,8 +44,6 @@ class main_window final : public QMainWindow, private State
Ui::main_window ui;
- module_settings m;
-
std::unique_ptr<QSystemTrayIcon> tray;
QMenu tray_menu { this };
@@ -77,13 +75,6 @@ class main_window final : public QMainWindow, private State
bool exiting_already { false };
- using dylib_ptr = Modules::dylib_ptr;
- using dylib_list = Modules::dylib_list;
-
- dylib_ptr current_tracker();
- dylib_ptr current_protocol();
- dylib_ptr current_filter();
-
qt_sig::nullary start_tracker { this, &main_window::start_tracker_, Qt::QueuedConnection };
qt_sig::nullary stop_tracker { this, &main_window::stop_tracker_, Qt::QueuedConnection };
qt_sig::nullary toggle_tracker { this, &main_window::toggle_tracker_, Qt::QueuedConnection };
@@ -143,7 +134,6 @@ class main_window final : public QMainWindow, private State
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);