From aa066bdd4622d4f6824fee864f6be6806813f04d Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Fri, 30 Oct 2015 07:37:41 +0100 Subject: move to subdirectory-based build system Closes #224 --- protocol-ft/ftnoir_protocol_ft_dialog.cpp | 60 +++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 protocol-ft/ftnoir_protocol_ft_dialog.cpp (limited to 'protocol-ft/ftnoir_protocol_ft_dialog.cpp') diff --git a/protocol-ft/ftnoir_protocol_ft_dialog.cpp b/protocol-ft/ftnoir_protocol_ft_dialog.cpp new file mode 100644 index 00000000..25f3a4cb --- /dev/null +++ b/protocol-ft/ftnoir_protocol_ft_dialog.cpp @@ -0,0 +1,60 @@ +/* Homepage http://facetracknoir.sourceforge.net/home/default.htm * + * * + * ISC License (ISC) * + * * + * Copyright (c) 2015, Wim Vriend * + * * + * Permission to use, copy, modify, and/or distribute this software for any * + * purpose with or without fee is hereby granted, provided that the above * + * copyright notice and this permission notice appear in all copies. * + */ +#include "ftnoir_protocol_ft.h" +#include +#include + +FTControls::FTControls() +{ + ui.setupUi( this ); + + connect(ui.buttonBox, SIGNAL(accepted()), this, SLOT(doOK())); + connect(ui.buttonBox, SIGNAL(rejected()), this, SLOT(doCancel())); + connect(ui.bntLocateNPClient, SIGNAL(clicked()), this, SLOT(selectDLL())); + + tie_setting(s.useTIRViews, ui.chkTIRViews); + + ui.cbxSelectInterface->addItem("Enable both"); + ui.cbxSelectInterface->addItem("Use FreeTrack, hide TrackIR"); + ui.cbxSelectInterface->addItem("Use TrackIR, hide FreeTrack"); + + tie_setting(s.intUsedInterface, ui.cbxSelectInterface); + + QFile memhacks_pathname(QCoreApplication::applicationDirPath() + "/TIRViews.dll"); + if (!memhacks_pathname.exists()) { + ui.chkTIRViews->setChecked( false ); + ui.chkTIRViews->setEnabled ( false ); + } + else { + ui.chkTIRViews->setEnabled ( true ); + } +} + +void FTControls::doOK() { + s.b->save(); + this->close(); +} + +void FTControls::doCancel() { + s.b->reload(); + this->close(); +} + +void FTControls::selectDLL() { + QString filename = QFileDialog::getOpenFileName( this, tr("Select the desired NPClient DLL"), QCoreApplication::applicationDirPath() + "/NPClient.dll", tr("Dll file (*.dll);;All Files (*)")); + + if (! filename.isEmpty() ) { + QSettings node("NaturalPoint", "NATURALPOINT\\NPClient Location"); + QFileInfo dllname(filename); + node.setValue( "Path" , dllname.dir().path() ); + } +} + -- cgit v1.2.3