diff options
-rw-r--r-- | logic/main-settings.hpp | 47 |
1 files changed, 25 insertions, 22 deletions
diff --git a/logic/main-settings.hpp b/logic/main-settings.hpp index d96a833b..0922ed37 100644 --- a/logic/main-settings.hpp +++ b/logic/main-settings.hpp @@ -16,21 +16,24 @@ using namespace options; #include "export.hpp" -struct axis_opts +struct axis_opts final { - pbundle b; + // note, these two bundles can be the same value with no issues + bundle b_settings_window, b_mapping_window; value<double> zero; - value<bool> invert, altp; value<int> src; - axis_opts(pbundle b, QString pfx, int idx) : - b(b), - zero(b, n(pfx, "zero-pos"), 0), - invert(b, n(pfx, "invert-sign"), false), - altp(b, n(pfx, "alt-axis-sign"), false), - src(b, n(pfx, "source-index"), idx) + value<bool> invert, altp; + axis_opts(bundle b_settings_window, bundle b_mapping_window, QString pfx, int idx) : + b_settings_window(b_settings_window), + b_mapping_window(b_mapping_window), + zero(b_settings_window, n(pfx, "zero-pos"), 0), + src(b_settings_window, n(pfx, "source-index"), idx), + invert(b_settings_window, n(pfx, "invert-sign"), false), + altp(b_mapping_window, n(pfx, "alt-axis-sign"), false) {} private: - static inline QString n(QString pfx, QString name) { + static inline QString n(QString pfx, QString name) + { return QString("%1-%2").arg(pfx, name); } }; @@ -40,7 +43,7 @@ struct key_opts value<QString> keycode, guid; value<int> button; - key_opts(pbundle b, const QString& name) : + key_opts(bundle b, const QString& name) : keycode(b, QString("keycode-%1").arg(name), ""), guid(b, QString("guid-%1").arg(name), ""), button(b, QString("button-%1").arg(name), -1) @@ -49,10 +52,10 @@ struct key_opts struct module_settings { - pbundle b; + bundle b; value<QString> tracker_dll, filter_dll, protocol_dll; module_settings() : - b(bundle("modules")), + b(make_bundle("modules")), tracker_dll(b, "tracker-dll", ""), filter_dll(b, "filter-dll", "Accela"), protocol_dll(b, "protocol-dll", "freetrack 2.0 Enhanced") @@ -62,7 +65,7 @@ struct module_settings struct main_settings { - pbundle b, b_map; + bundle b, b_map; axis_opts a_x, a_y, a_z, a_yaw, a_pitch, a_roll; value<bool> tcomp_p, tcomp_tz; value<bool> tray_enabled; @@ -76,14 +79,14 @@ struct main_settings value<bool> tracklogging_enabled; value<QString> tracklogging_filename; main_settings() : - b(bundle("opentrack-ui")), - b_map(bundle("opentrack-mappings")), - a_x(b_map, "x", TX), - a_y(b_map, "y", TY), - a_z(b_map, "z", TZ), - a_yaw(b_map, "yaw", Yaw), - a_pitch(b_map, "pitch", Pitch), - a_roll(b_map, "roll", Roll), + b(make_bundle("opentrack-ui")), + b_map(make_bundle("opentrack-mappings")), + a_x(b, b_map, "x", TX), + a_y(b, b_map, "y", TY), + a_z(b, b_map, "z", TZ), + a_yaw(b, b_map, "yaw", Yaw), + a_pitch(b, b_map, "pitch", Pitch), + a_roll(b, b_map, "roll", Roll), tcomp_p(b, "compensate-translation", true), tcomp_tz(b, "compensate-translation-disable-z-axis", false), tray_enabled(b, "use-system-tray", false), |