/** * @brief connect all buttons of the ui * @return * void */ void DLDConfigureOB::connectSignals () { // connect menu actions connect(mainWindow.actionQuit, SIGNAL(triggered ()), this, SLOT(close ())); connect(mainWindow.actionRefresh, SIGNAL(triggered ()), this, SLOT(refreshDevices ())); connect(mainWindow.actionPreferences, SIGNAL(triggered ()), this, SLOT(showPreferences ())); connect(mainWindow.actionOpenBeaconConfiguratorHelp, SIGNAL(triggered ()), this, SLOT(showHelp())); connect(mainWindow.actionAboutQt, SIGNAL(triggered ()), qApp, SLOT(aboutQt ())); connect(mainWindow.actionAboutOpenBeacon,SIGNAL(triggered ()), this, SLOT(aboutOpenBeacon ())); // connect main Window buttons with methods connect(mainWindow.selectFileButton, SIGNAL(clicked ()), this, SLOT(selectFlashImage ())); connect(mainWindow.flashButton, SIGNAL(clicked ()), this, SLOT(flashDevice ())); connect(mainWindow.refreshButton, SIGNAL(clicked ()), this, SLOT(refreshDevices ())); connect(mainWindow.executeButton, SIGNAL(clicked ()), this, SLOT(executeCommand ())); connect(mainWindow.clearButton, SIGNAL(clicked ()), this, SLOT(clearConsole ())); // connect box signals connect(mainWindow.commandCombo, SIGNAL(highlighted (int)), this, SLOT(commandHighlighted (int))); connect(mainWindow.commandCombo, SIGNAL(currentIndexChanged (int)), this, SLOT(updateCommandBoxStatusTip (int))); connect(mainWindow.deviceCombo, SIGNAL(currentIndexChanged (int)), this, SLOT(updateGroupBoxVisibility (int))); connect(mainWindow.deviceCombo, SIGNAL(activated (int)), this, SLOT(openNewDevice (int))); // connect device connect(device, SIGNAL(newData (QString)), this, SLOT(receivedNewData (QString))); connect(device, SIGNAL(writeFailed ()), this, SLOT(writeFailed ())); // connect internal signals connect(this, SIGNAL(deviceSelected (bool, bool)), this, SLOT(endisableGroupBox (bool, bool))); connect(this, SIGNAL(commandListChanged ()), this, SLOT(refillCommandList ())); connect(this, SIGNAL(devicepathsChanged ()), this, SLOT(refreshDevices ())); connect(refreshTimer, SIGNAL(timeout()), this, SLOT(refreshDevices ())); connect(this, SIGNAL(logFileChanged (QString)), this, SLOT(changeLogFile (QString))); connect(batchProcess, SIGNAL(readyReadStandardOutput ()), this, SLOT(addCharToConsole ())); connect(batchProcess, SIGNAL(error (QProcess::ProcessError)), this, SLOT(printProcessError (QProcess::ProcessError))); connect(batchProcess, SIGNAL(finished (int, QProcess::ExitStatus)),this, SLOT(processFinished (int, QProcess::ExitStatus))); }
void ProcessDataModel::setLogFile(LogFile *logFile) { qWarning("setLogFile"); m_logFile = logFile; connect(m_logFile, SIGNAL(updated()), this, SLOT(logFileChanged())); }
/** * @brief slot: show preference dialog * @return * void */ void DLDConfigureOB::showPreferences () { QDialog * preferenceDialog = new QDialog; preferences.setupUi (preferenceDialog); // fill with defaults: (from settings) QString logFile = settings->value("logFile", "").toString (); preferences.flashBasepathEdit->setText (settings->value("FlashBasepath", "ttyUSB").toString ()); preferences.openBeaconBasepathEdit->setText (settings->value("OpenBeaconBasepath", "ttyACM").toString ()); preferences.refreshSpin->setValue (settings->value("DeviceRefreshRate", 5).toInt ()); preferences.logFileEdit->setText (logFile); preferences.sam7PathEdit->setText (settings->value("sam7Path", "/usr/local/bin/sam7").toString ()); preferences.showTagPacketsCheck->setChecked (showRX); // fill command table QStringList tableHeader; tableHeader << tr ("Command") << tr ("Command description"); preferences.commandTable->setColumnCount(2); preferences.commandTable->setHorizontalHeaderLabels (tableHeader); preferences.commandTable->horizontalHeader()->setResizeMode(QHeaderView::ResizeToContents); preferences.commandTable->setShowGrid(true); QMap<QString, QString> cmdMap = getCommandMap (); QMapIterator<QString, QString> i (cmdMap); while (i.hasNext()) { i.next(); QTableWidgetItem * cmdNameItem = new QTableWidgetItem(i.key()); QTableWidgetItem * cmdDescItem = new QTableWidgetItem(i.value()); preferences.commandTable->insertRow(0); preferences.commandTable->setItem(0, 0, cmdNameItem); preferences.commandTable->setItem(0, 1, cmdDescItem); } // connect buttons: connect(preferences.addButton, SIGNAL(clicked ()), this, SLOT(insertCommandTableRow ())); connect(preferences.deleteButton, SIGNAL(clicked ()), this, SLOT(deleteCommandTableRow ())); connect(preferences.logFileButton, SIGNAL(clicked ()), this, SLOT(selectLogFile ())); connect(preferences.sam7PathButton, SIGNAL(clicked ()), this, SLOT(selectSam7File ())); connect(preferences.defaultCommandsButton,SIGNAL(clicked ()), this, SLOT(fillDefaultCommands ())); // connect entry checks connect(preferences.flashBasepathEdit, SIGNAL(editingFinished ()), this, SLOT(checkFilled ())); connect(preferences.openBeaconBasepathEdit,SIGNAL(editingFinished ()), this, SLOT(checkFilled ())); if (preferenceDialog->exec () == QDialog::Accepted) { int refreshRate = preferences.refreshSpin->value (); settings->setValue("FlashBasepath", preferences.flashBasepathEdit->text ()); settings->setValue("OpenBeaconBasepath", preferences.openBeaconBasepathEdit->text ()); settings->setValue("DeviceRefreshRate", refreshRate); settings->setValue("showRX", showRX); showRX = preferences.showTagPacketsCheck->isChecked(); settings->setValue("sam7Path", preferences.sam7PathEdit->text ()); QString newLogFile = preferences.logFileEdit->text(); if (logFile != newLogFile) { emit logFileChanged (newLogFile); settings->setValue("logFile", newLogFile); log->infoLog (QString("Logpath changed to: %1").arg(newLogFile)); } QMap<QString, QString> newCmdMap; log->debugLog ("Current command list:"); for (int row = 0; row < preferences.commandTable->rowCount(); row++) { QTableWidgetItem *cmdNameItem = preferences.commandTable->item(row, 0); QTableWidgetItem *cmdDescItem = preferences.commandTable->item(row, 1); if (cmdNameItem && cmdDescItem) { newCmdMap.insert (cmdNameItem->text(), cmdDescItem->text()); log->debugLog (QString ("Name: %1\tDesc: %2").arg(cmdNameItem->text()).arg(cmdDescItem->text())); } } writeCommandMap (newCmdMap); refreshDevices (); refreshTimer->setInterval (refreshRate * 1000); } }