summaryrefslogtreecommitdiffhomepage
path: root/opentrack-logic/work.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'opentrack-logic/work.cpp')
-rw-r--r--opentrack-logic/work.cpp73
1 files changed, 0 insertions, 73 deletions
diff --git a/opentrack-logic/work.cpp b/opentrack-logic/work.cpp
deleted file mode 100644
index 8d00270b..00000000
--- a/opentrack-logic/work.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-#include "work.hpp"
-
-#include <QMessageBox>
-
-
-std::shared_ptr<TrackLogger> Work::make_logger(const main_settings &s)
-{
- if (s.tracklogging_enabled)
- {
- if (static_cast<QString>(s.tracklogging_filename).isEmpty())
- {
- QMessageBox::warning(nullptr, "Logging Error",
- "No filename given for track logging. Proceeding without logging.",
- QMessageBox::Ok,
- QMessageBox::NoButton);
- }
- else
- {
- auto logger = std::make_shared<TrackLoggerCSV>(s.tracklogging_filename);
- if (!logger->is_open())
- {
- logger = nullptr;
- QMessageBox::warning(nullptr, "Logging Error",
- "Unable to open file: " + s.tracklogging_filename + ". Proceeding without logging.",
- QMessageBox::Ok,
- QMessageBox::NoButton);
- }
- else
- {
- /* As this function has the potential to fill up the hard drive
- of the unwary with junk data, a warning is in order. */
- QMessageBox::warning(nullptr, "Logging Active",
- "Just a heads up. You are recoding pose data to " + s.tracklogging_filename + "!",
- QMessageBox::Ok,
- QMessageBox::NoButton);
- return logger;
- }
- }
- }
- return std::make_shared<TrackLogger>();
-}
-
-
-Work::Work(Mappings& m, SelectedLibraries& libs, WId handle) :
- libs(libs),
- logger(make_logger(s)),
- tracker(std::make_shared<Tracker>(m, libs, *logger)),
- sc(std::make_shared<Shortcuts>()),
- handle(handle),
- keys {
- key_tuple(s.key_center, [&](bool) -> void { tracker->center(); }, true),
- key_tuple(s.key_toggle, [&](bool) -> void { tracker->toggle_enabled(); }, true),
- key_tuple(s.key_zero, [&](bool) -> void { tracker->zero(); }, true),
- key_tuple(s.key_toggle_press, [&](bool x) -> void { tracker->set_toggle(!x); }, false),
- key_tuple(s.key_zero_press, [&](bool x) -> void { tracker->set_zero(x); }, false),
- }
-{
- reload_shortcuts();
- tracker->start();
-}
-
-void Work::reload_shortcuts()
-{
- sc->reload(keys);
-}
-
-Work::~Work()
-{
- sc = nullptr;
- // order matters, otherwise use-after-free -sh
- tracker = nullptr;
- libs = SelectedLibraries();
-}