1 #include "pirpowersearchform.h"
2 #include "ui_pirpowersearchform.h"
4 #include "mainwindow.h"
5 #include "pirkeysetmanager.h"
10 // Debugging includes:
13 // Check if a command is running:
14 extern bool commandInFlight;
15 extern QMutex commandIFMutex;
18 PIRPowerSearchForm::PIRPowerSearchForm(QWidget *parent) :
20 ui(new Ui::PIRPowerSearchForm)
27 PIRPowerSearchForm::PIRPowerSearchForm(
30 ui(new Ui::PIRPowerSearchForm),
38 PIRPowerSearchForm::~PIRPowerSearchForm()
41 if (advanceTimer) delete advanceTimer;
44 void PIRPowerSearchForm::setKeysetName(
47 ui->keysetNameLabel->setText(name);
50 void PIRPowerSearchForm::on_stepBackwardButton_pressed()
52 if (mainWindow->selectPrevKeyset())
54 mainWindow->startRepeating(Power_Key);
58 void PIRPowerSearchForm::on_stepBackwardButton_released()
60 mainWindow->stopRepeating();
63 void PIRPowerSearchForm::on_stepForwardKey_pressed()
65 if (mainWindow->selectNextKeyset())
67 mainWindow->startRepeating(Power_Key);
71 void PIRPowerSearchForm::on_stepForwardKey_released()
73 mainWindow->stopRepeating();
76 void PIRPowerSearchForm::on_fastBackwardButton_pressed()
78 if (!mainWindow->selectPrevKeyset())
83 mainWindow->startRepeating(Power_Key);
85 advanceTimer = new QTimer();
86 connect(advanceTimer, SIGNAL(timeout()), this, SLOT(gotoPrevKeyset()));
87 advanceTimer->start(100);
90 void PIRPowerSearchForm::on_fastBackwardButton_released()
94 mainWindow->stopRepeating();
97 void PIRPowerSearchForm::on_fastForwardButton_pressed()
99 if (!mainWindow->selectNextKeyset())
104 mainWindow->startRepeating(Power_Key);
106 advanceTimer = new QTimer();
107 connect(advanceTimer, SIGNAL(timeout()), this, SLOT(gotoNextKeyset()));
108 advanceTimer->start(50);
112 void PIRPowerSearchForm::on_fastForwardButton_released()
116 mainWindow->stopRepeating();
120 void PIRPowerSearchForm::gotoPrevKeyset()
124 mainWindow->stopRepeating();
128 if (mainWindow->selectPrevKeyset())
130 mainWindow->startRepeating(Power_Key);
141 void PIRPowerSearchForm::gotoNextKeyset()
145 mainWindow->stopRepeating();
149 if (mainWindow->selectNextKeyset())
151 mainWindow->startRepeating(Power_Key);
162 bool PIRPowerSearchForm::checkMutex()
164 QMutexLocker locker(&commandIFMutex);
165 return commandInFlight;