diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2014-10-18 13:46:33 +0200 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2014-10-18 14:09:23 +0200 |
commit | cee42a364e1450d0fb867104cff660871e1d02a4 (patch) | |
tree | 07fc00fa453be804b1c47fccb7e3582ffcabc385 /ftnoir_tracker_libevdev/ftnoir_tracker_libevdev_dialog.cpp | |
parent | 3236f0b2259c9553615da9810877fee46b10a33e (diff) |
add libevdev tracker to build
Issue: #75
Diffstat (limited to 'ftnoir_tracker_libevdev/ftnoir_tracker_libevdev_dialog.cpp')
-rw-r--r-- | ftnoir_tracker_libevdev/ftnoir_tracker_libevdev_dialog.cpp | 41 |
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; +} |