summaryrefslogtreecommitdiffhomepage
path: root/ftnoir_tracker_libevdev/ftnoir_tracker_libevdev_dialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ftnoir_tracker_libevdev/ftnoir_tracker_libevdev_dialog.cpp')
-rw-r--r--ftnoir_tracker_libevdev/ftnoir_tracker_libevdev_dialog.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/ftnoir_tracker_libevdev/ftnoir_tracker_libevdev_dialog.cpp b/ftnoir_tracker_libevdev/ftnoir_tracker_libevdev_dialog.cpp
new file mode 100644
index 00000000..267101be
--- /dev/null
+++ b/ftnoir_tracker_libevdev/ftnoir_tracker_libevdev_dialog.cpp
@@ -0,0 +1,41 @@
+#include "ftnoir_tracker_libevdev.h"
+#include "facetracknoir/plugin-support.h"
+
+#include <QDir>
+
+TrackerControls::TrackerControls()
+{
+ ui.setupUi(this);
+
+ connect(ui.buttonBox, SIGNAL(accepted()), this, SLOT(doOK()));
+ connect(ui.buttonBox, SIGNAL(rejected()), this, SLOT(doCancel()));
+
+ ui.comboBox->clear();
+
+ QDir dir("/dev/input/by-id");
+ auto devices = dir.entryList(QStringList { "usb-?*-event-joystick"});
+ for (QString dev : devices)
+ {
+ dev.replace(QRegularExpression("^usb-"), "");
+ dev.replace(QRegularExpression("-event-.[^-]*"), "");
+ dev.replace("_", " ");
+ ui.comboBox->addItem(dev);
+ }
+
+ tie_setting(s.device_name, ui.comboBox);
+}
+
+void TrackerControls::doOK() {
+ s.b->save();
+ this->close();
+}
+
+void TrackerControls::doCancel() {
+ s.b->reload();
+ this->close();
+}
+
+extern "C" OPENTRACK_EXPORT ITrackerDialog* GetDialog()
+{
+ return new TrackerControls;
+}