diff options
Diffstat (limited to 'facetracknoir/ui.cpp')
-rw-r--r-- | facetracknoir/ui.cpp | 73 |
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(); |