summaryrefslogtreecommitdiffhomepage
path: root/facetracknoir/ui.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'facetracknoir/ui.cpp')
-rw-r--r--facetracknoir/ui.cpp73
1 files changed, 6 insertions, 67 deletions
diff --git a/facetracknoir/ui.cpp b/facetracknoir/ui.cpp
index 284367ce..7e0a78cc 100644
--- a/facetracknoir/ui.cpp
+++ b/facetracknoir/ui.cpp
@@ -24,6 +24,8 @@
#include "ui.h"
#include "opentrack/tracker.h"
#include "opentrack/options.hpp"
+#include "ftnoir_tracker_pt/ftnoir_tracker_pt.h"
+#include "ftnoir_filter_accela/ftnoir_filter_accela.h"
#include <QFileDialog>
#include <QFileInfo>
@@ -51,26 +53,16 @@ MainWindow::MainWindow() :
connect(ui.btnEditCurves, SIGNAL(clicked()), this, SLOT(showCurveConfiguration()));
connect(ui.btnShortcuts, SIGNAL(clicked()), this, SLOT(showKeyboardShortcuts()));
- connect(ui.btnShowEngineControls, SIGNAL(clicked()), this, SLOT(showTrackerSettings()));
connect(ui.btnShowServerControls, SIGNAL(clicked()), this, SLOT(showProtocolSettings()));
- connect(ui.btnShowFilterControls, SIGNAL(clicked()), this, SLOT(showFilterSettings()));
modules.filters().push_front(std::make_shared<dylib>("", dylib::Filter));
- for (auto x : modules.trackers())
- ui.iconcomboTrackerSource->addItem(x->icon, x->name);
-
for (auto x : modules.protocols())
ui.iconcomboProtocol->addItem(x->icon, x->name);
- for (auto x : modules.filters())
- ui.iconcomboFilter->addItem(x->icon, x->name);
-
fill_profile_combobox();
- tie_setting(s.tracker_dll, ui.iconcomboTrackerSource);
tie_setting(s.protocol_dll, ui.iconcomboProtocol);
- tie_setting(s.filter_dll, ui.iconcomboFilter);
connect(ui.btnStartTracker, SIGNAL(clicked()), this, SLOT(startTracker()));
connect(ui.btnStopTracker, SIGNAL(clicked()), this, SLOT(stopTracker()));
@@ -184,7 +176,7 @@ void MainWindow::fill_profile_combobox()
{
QStringList ini_list = group::ini_list();
QString current = QFileInfo(group::ini_pathname()).fileName();
- setWindowTitle(QString( const_cast<const char*>(opentrack_version) + QStringLiteral(" :: ")) + current);
+ setWindowTitle(QStringLiteral("TrackHat") + QString( const_cast<const char*>(opentrack_version) + QStringLiteral(" :: ")) + current);
ui.iconcomboProfile->clear();
for (auto x : ini_list)
ui.iconcomboProfile->addItem(QIcon(":/images/settings16.png"), x);
@@ -198,8 +190,6 @@ void MainWindow::updateButtonState(bool running, bool inertialp)
ui.btnStartTracker->setEnabled ( not_running );
ui.btnStopTracker->setEnabled ( running );
ui.iconcomboProtocol->setEnabled ( not_running );
- ui.iconcomboFilter->setEnabled ( not_running );
- ui.iconcomboTrackerSource->setEnabled(not_running);
ui.video_frame_label->setVisible(not_running || inertialp);
ui.btnSaveAs->setEnabled(not_running);
ui.btnLoad->setEnabled(not_running);
@@ -220,7 +210,8 @@ void MainWindow::startTracker() {
// tracker dtor needs run first
work = nullptr;
- libs = SelectedLibraries(ui.video_frame, current_tracker(), current_protocol(), current_filter());
+ libs = SelectedLibraries(ui.video_frame, std::make_shared<Tracker_PT>(), current_protocol(), std::make_shared<FTNoIR_Filter>());
+
work = std::make_shared<Work>(s, pose, libs, this, winId());
{
@@ -237,12 +228,6 @@ void MainWindow::startTracker() {
return;
}
- if (pTrackerDialog)
- pTrackerDialog->register_tracker(libs.pTracker.get());
-
- if (pFilterDialog)
- pFilterDialog->register_filter(libs.pFilter.get());
-
if (pProtocolDialog)
pProtocolDialog->register_protocol(libs.pProtocol.get());
@@ -260,24 +245,12 @@ void MainWindow::stopTracker( ) {
pose_update_timer.stop();
ui.pose_display->rotateBy(0, 0, 0, 0, 0, 0);
- if (pTrackerDialog)
- {
- pTrackerDialog->unregister_tracker();
- pTrackerDialog = nullptr;
- }
-
if (pProtocolDialog)
{
pProtocolDialog->unregister_protocol();
pProtocolDialog = nullptr;
}
- if (pFilterDialog)
- {
- pFilterDialog->unregister_filter();
- pFilterDialog = nullptr;
- }
-
work = nullptr;
libs = SelectedLibraries();
@@ -350,24 +323,6 @@ mem<t> mk_dialog(mem<dylib> lib)
return nullptr;
}
-void MainWindow::showTrackerSettings()
-{
- if (pTrackerDialog && pTrackerDialog->isVisible())
- {
- pTrackerDialog->show();
- pTrackerDialog->raise();
- }
- else
- {
- auto dialog = mk_dialog<ITrackerDialog>(current_tracker());
- pTrackerDialog = dialog;
- if (libs.pTracker != nullptr)
- dialog->register_tracker(libs.pTracker.get());
- dialog->show();
- dialog->raise();
- }
-}
-
void MainWindow::showProtocolSettings() {
if (pProtocolDialog && pProtocolDialog->isVisible())
{
@@ -384,22 +339,6 @@ void MainWindow::showProtocolSettings() {
}
}
-void MainWindow::showFilterSettings() {
- if (pFilterDialog && pFilterDialog->isVisible())
- {
- pFilterDialog->show();
- pFilterDialog->raise();
- } else
- {
- auto dialog = mk_dialog<IFilterDialog>(current_filter());
- pFilterDialog = dialog;
- if (libs.pFilter != nullptr)
- dialog->register_filter(libs.pFilter.get());
- dialog->show();
- dialog->raise();
- }
-}
-
void MainWindow::showKeyboardShortcuts() {
if (shortcuts_widget && shortcuts_widget->isVisible())
{
@@ -408,7 +347,7 @@ void MainWindow::showKeyboardShortcuts() {
}
else
{
- shortcuts_widget = std::make_shared<OptionsDialog>();
+ shortcuts_widget = std::make_shared<OptionsDialog>(static_cast<State&>(*this));
shortcuts_widget->setWindowFlags(Qt::Dialog);
connect(shortcuts_widget.get(), SIGNAL(reload()), this, SLOT(bindKeyboardShortcuts()));
shortcuts_widget->show();