void MainWindow::mainTabStopAllProfiles() { if (debug) qDebug() << PDEBUG; if (!checkExternalApps(QString("netctl"))) { ErrorWindow::showWindow(1, QString(PDEBUG), debug); emit(needToBeConfigured()); return; } ui->tabWidget->setDisabled(true); bool status = false; if (useHelper) { QList<QVariant> responce = sendDBusRequest(DBUS_HELPER_SERVICE, DBUS_CTRL_PATH, DBUS_HELPER_INTERFACE, QString("StopAll"), QList<QVariant>(), true, debug); if (responce.isEmpty()) { if (debug) qDebug() << PDEBUG << ":" << "Could not interact with helper, disable it"; useHelper = false; return mainTabStopAllProfiles(); } status = responce[0].toBool(); } else status = netctlCommand->stopAllProfiles(); if (status) ui->statusBar->showMessage(QApplication::translate("MainWindow", "Done")); else ui->statusBar->showMessage(QApplication::translate("MainWindow", "Error")); updateMainTab(); }
void MainWidget::mainTabStopAllProfiles() { if (debug) qDebug() << PDEBUG; if (!checkExternalApps(QString("netctl"), configuration, debug)) { ErrorWindow::showWindow(1, externalApps(QString("netctl"), configuration).join(QChar('\n')), debug); return mainWindow->emitNeedToBeConfigured(); } mainWindow->setDisabled(true); InterfaceAnswer answer = stopAllProfilesSlot(mainWindow->netctlInterface, useHelper, debug); mainWindow->showMessage(answer == InterfaceAnswer::True); updateMainTab(); }
void MainWidget::mainTabSwitchToProfile() { if (debug) qDebug() << PDEBUG; if (!checkExternalApps(QString("netctl"), configuration, debug)) { ErrorWindow::showWindow(1, externalApps(QString("netctl"), configuration).join(QChar('\n')), debug); return mainWindow->emitNeedToBeConfigured(); } if (ui->tableWidget_main->currentItem() == nullptr) return; mainWindow->setDisabled(true); QString profile = ui->tableWidget_main->item(ui->tableWidget_main->currentItem()->row(), 0)->text(); InterfaceAnswer answer = switchToProfileSlot(profile, mainWindow->netctlInterface, useHelper, debug); mainWindow->showMessage(answer == InterfaceAnswer::True); updateMainTab(); }
void MainWindow::mainTabSwitchToProfile() { if (debug) qDebug() << PDEBUG; if (!checkExternalApps(QString("netctl"))) { ErrorWindow::showWindow(1, QString(PDEBUG), debug); emit(needToBeConfigured()); return; } if (ui->tableWidget_main->currentItem() == nullptr) return; ui->tabWidget->setDisabled(true); QString profile = ui->tableWidget_main->item(ui->tableWidget_main->currentItem()->row(), 0)->text(); if (switchToProfileSlot(profile)) ui->statusBar->showMessage(QApplication::translate("MainWindow", "Done")); else ui->statusBar->showMessage(QApplication::translate("MainWindow", "Error")); updateMainTab(); }
void MainWidget::updateMainTab() { if (debug) qDebug() << PDEBUG; if (!checkExternalApps(QString("netctl"), configuration, debug)) { ErrorWindow::showWindow(1, externalApps(QString("netctl"), configuration).join(QChar('\n')), debug); return mainWindow->emitNeedToBeConfigured(); } mainWindow->setDisabled(true); netctlInformation info = generalInformation(mainWindow->netctlInterface, useHelper, debug); ui->label_netctlAuto->setHidden(!info.netctlAuto); ui->tableWidget_main->setSortingEnabled(false); ui->tableWidget_main->selectRow(-1); ui->tableWidget_main->sortByColumn(0, Qt::AscendingOrder); ui->tableWidget_main->clear(); ui->tableWidget_main->setRowCount(info.netctlProfiles.count()); // create header QStringList headerList; headerList.append(QApplication::translate("MainWidget", "Name")); headerList.append(QApplication::translate("MainWidget", "Description")); headerList.append(QApplication::translate("MainWidget", "Active")); headerList.append(QApplication::translate("MainWidget", "Enabled")); ui->tableWidget_main->setHorizontalHeaderLabels(headerList); // create items for (int i=0; i<info.netctlProfiles.count(); i++) { // font QFont font; font.setBold(info.netctlProfiles[i].active); font.setItalic(info.netctlProfiles[i].enabled); // tooltip QString toolTip = QString(""); toolTip += QString("%1: %2@%3\n").arg(QApplication::translate("MainWidget", "Type")) .arg(info.netctlProfiles[i].type) .arg(info.netctlProfiles[i].interface); toolTip += QString("%1: %2\n").arg(QApplication::translate("MainWidget", "Active")) .arg(checkStatus(info.netctlProfiles[i].active)); toolTip += QString("%1: %2\n").arg(QApplication::translate("MainWidget", "Enabled")) .arg(checkStatus(info.netctlProfiles[i].enabled)); toolTip += QString("%1: %2").arg(QApplication::translate("MainWidget", "Is wireless")) .arg(checkStatus(!info.netctlProfiles[i].essid.isEmpty())); // name ui->tableWidget_main->setItem(i, 0, new QTableWidgetItem(info.netctlProfiles[i].name)); ui->tableWidget_main->item(i, 0)->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter); ui->tableWidget_main->item(i, 0)->setToolTip(toolTip); ui->tableWidget_main->item(i, 0)->setFont(font); // description ui->tableWidget_main->setItem(i, 1, new QTableWidgetItem(info.netctlProfiles[i].description)); ui->tableWidget_main->item(i, 1)->setTextAlignment(Qt::AlignJustify | Qt::AlignVCenter); ui->tableWidget_main->item(i, 1)->setToolTip(toolTip); // active ui->tableWidget_main->setItem(i, 2, new QTableWidgetItem(checkStatus(info.netctlProfiles[i].active, true))); ui->tableWidget_main->item(i, 2)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); // enabled ui->tableWidget_main->setItem(i, 3, new QTableWidgetItem(checkStatus(info.netctlProfiles[i].enabled, true))); ui->tableWidget_main->item(i, 3)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); } ui->tableWidget_main->setSortingEnabled(true); ui->tableWidget_main->resizeRowsToContents(); ui->tableWidget_main->resizeColumnsToContents(); ui->tableWidget_main->resizeRowsToContents(); #if QT_VERSION >= 0x050000 ui->tableWidget_main->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); #else ui->tableWidget_main->horizontalHeader()->setResizeMode(QHeaderView::ResizeToContents); #endif mainWindow->setDisabled(false); mainWindow->showMessage(true); }
void MainWindow::wifiTabStart() { if (debug) qDebug() << PDEBUG; if (!checkExternalApps(QString("wpasup"))) { ErrorWindow::showWindow(1, QString(PDEBUG), debug); emit(needToBeConfigured()); return; } if (ui->tableWidget_wifi->currentItem() == nullptr) return; ui->tabWidget->setDisabled(true); // name is hidden if (ui->tableWidget_wifi->item(ui->tableWidget_wifi->currentItem()->row(), 0)->text() == QString("<hidden>")) { hiddenNetwork = true; passwdWid = new PasswdWidget(this); passwdWid->setPassword(false); int widgetWidth = 2 * width() / 3; int widgetHeight = 110; int x = (width() - widgetWidth) / 2; int y = (height() - widgetHeight) / 2; passwdWid->setGeometry(x, y, widgetWidth, widgetHeight); passwdWid->show(); passwdWid->setFocusToLineEdit(); return; } // name isn't hidden hiddenNetwork = false; QString profile = ui->tableWidget_wifi->item(ui->tableWidget_wifi->currentItem()->row(), 0)->text(); QString profileName = QString(""); if (!ui->tableWidget_wifi->item(ui->tableWidget_wifi->currentItem()->row(), 4)->text().isEmpty()) { if (useHelper) { QList<QVariant> args; args.append(profile); QList<QVariant> responce = sendDBusRequest(DBUS_HELPER_SERVICE, DBUS_LIB_PATH, DBUS_HELPER_INTERFACE, QString("ProfileByEssid"), args, true, debug); if (responce.isEmpty()) { if (debug) qDebug() << PDEBUG << ":" << "Could not interact with helper, disable it"; useHelper = false; return wifiTabStart(); } profileName = responce[0].toString(); } else profileName = wpaCommand->existentProfile(profile); if (startProfileSlot(profileName)) ui->statusBar->showMessage(QApplication::translate("MainWindow", "Done")); else ui->statusBar->showMessage(QApplication::translate("MainWindow", "Error")); } else { QString security = ui->tableWidget_wifi->item(ui->tableWidget_wifi->currentItem()->row(), 1)->text(); if (security == QString("none")) return connectToUnknownEssid(QString("")); else { passwdWid = new PasswdWidget(this); passwdWid->setPassword(true); int widgetWidth = 2 * width() / 3; int widgetHeight = 110; int x = (width() - widgetWidth) / 2; int y = (height() - widgetHeight) / 2; passwdWid->setGeometry(x, y, widgetWidth, widgetHeight); passwdWid->show(); passwdWid->setFocusToLineEdit(); return; } } updateWifiTab(); }
void MainWindow::updateWifiTab() { if (debug) qDebug() << PDEBUG; wifiTabSetEnabled(checkExternalApps(QString("wpasup"))); if (!checkExternalApps(QString("wpasup"))) { ErrorWindow::showWindow(1, QString(PDEBUG), debug); emit(needToBeConfigured()); return; } ui->tabWidget->setDisabled(true); QList<netctlWifiInfo> scanResults; if (useHelper) scanResults = parseOutputWifi(sendDBusRequest(DBUS_HELPER_SERVICE, DBUS_CTRL_PATH, DBUS_HELPER_INTERFACE, QString("WiFi"), QList<QVariant>(), true, debug), debug); else scanResults = wpaCommand->scanWifi(); ui->tableWidget_wifi->setSortingEnabled(false); ui->tableWidget_wifi->selectRow(-1); ui->tableWidget_wifi->sortByColumn(0, Qt::AscendingOrder); ui->tableWidget_wifi->clear(); ui->tableWidget_wifi->setRowCount(scanResults.count()); // create header QStringList headerList; headerList.append(QApplication::translate("MainWindow", "Name")); headerList.append(QApplication::translate("MainWindow", "Signal")); headerList.append(QApplication::translate("MainWindow", "Security")); headerList.append(QApplication::translate("MainWindow", "Active")); headerList.append(QApplication::translate("MainWindow", "Exists")); ui->tableWidget_wifi->setHorizontalHeaderLabels(headerList); // create items for (int i=0; i<scanResults.count(); i++) { // font QFont font; font.setBold(scanResults[i].active); font.setItalic(scanResults[i].exists); // tooltip QString toolTip = QString(""); toolTip += QString("%1: %2\n").arg(QApplication::translate("MainWindow", "ESSID")).arg(scanResults[i].name); toolTip += QString("%1: %2\n").arg(QApplication::translate("MainWindow", "Active")).arg(checkStatus(scanResults[i].active)); toolTip += QString("%1: %2").arg(QApplication::translate("MainWindow", "Exists")).arg(checkStatus(scanResults[i].exists)); // name ui->tableWidget_wifi->setItem(i, 0, new QTableWidgetItem(scanResults[i].name)); ui->tableWidget_wifi->item(i, 0)->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter); ui->tableWidget_wifi->item(i, 0)->setToolTip(toolTip); ui->tableWidget_wifi->item(i, 0)->setFont(font); // signal ui->tableWidget_wifi->setItem(i, 1, new QTableWidgetItem(scanResults[i].signal)); ui->tableWidget_wifi->item(i, 1)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); ui->tableWidget_wifi->item(i, 1)->setToolTip(toolTip); // security ui->tableWidget_wifi->setItem(i, 2, new QTableWidgetItem(scanResults[i].security)); ui->tableWidget_wifi->item(i, 2)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); ui->tableWidget_wifi->item(i, 2)->setToolTip(toolTip); // active ui->tableWidget_wifi->setItem(i, 3, new QTableWidgetItem(checkStatus(scanResults[i].active, true))); ui->tableWidget_wifi->item(i, 3)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); // exists ui->tableWidget_wifi->setItem(i, 4, new QTableWidgetItem(checkStatus(scanResults[i].exists, true))); ui->tableWidget_wifi->item(i, 4)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); } ui->tableWidget_wifi->setSortingEnabled(true); ui->tableWidget_wifi->resizeRowsToContents(); ui->tableWidget_wifi->resizeColumnsToContents(); ui->tableWidget_wifi->resizeRowsToContents(); #if QT_VERSION >= 0x050000 ui->tableWidget_wifi->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); #else ui->tableWidget_wifi->horizontalHeader()->setResizeMode(QHeaderView::ResizeToContents); #endif ui->tabWidget->setEnabled(true); ui->statusBar->showMessage(QApplication::translate("MainWindow", "Updated")); update(); }
// tab update slots void MainWindow::updateMainTab() { if (debug) qDebug() << PDEBUG; if (!checkExternalApps(QString("netctl"))) { ErrorWindow::showWindow(1, QString(PDEBUG), debug); emit(needToBeConfigured()); return; } ui->tabWidget->setDisabled(true); QList<netctlProfileInfo> profiles; bool netctlAutoStatus = false; if (useHelper) { QList<QVariant> responce = sendDBusRequest(DBUS_HELPER_SERVICE, DBUS_LIB_PATH, DBUS_HELPER_INTERFACE, QString("isNetctlAutoActive"), QList<QVariant>(), true, debug); if (responce.isEmpty()) { if (debug) qDebug() << PDEBUG << ":" << "Could not interact with helper, disable it"; useHelper = false; return updateMainTab(); } netctlAutoStatus = responce[0].toBool(); profiles = parseOutputNetctl(sendDBusRequest(DBUS_HELPER_SERVICE, DBUS_LIB_PATH, DBUS_HELPER_INTERFACE, QString("ProfileList"), QList<QVariant>(), true, debug), debug); } else { netctlAutoStatus = netctlCommand->isNetctlAutoRunning(); profiles = netctlCommand->getProfileList(); } ui->widget_netctlAuto->setHidden(!netctlAutoStatus); ui->tableWidget_main->setSortingEnabled(false); ui->tableWidget_main->selectRow(-1); ui->tableWidget_main->sortByColumn(0, Qt::AscendingOrder); ui->tableWidget_main->clear(); ui->tableWidget_main->setRowCount(profiles.count()); // create header QStringList headerList; headerList.append(QApplication::translate("MainWindow", "Name")); headerList.append(QApplication::translate("MainWindow", "Description")); headerList.append(QApplication::translate("MainWindow", "Active")); headerList.append(QApplication::translate("MainWindow", "Enabled")); ui->tableWidget_main->setHorizontalHeaderLabels(headerList); // create items for (int i=0; i<profiles.count(); i++) { // font QFont font; font.setBold(profiles[i].active); font.setItalic(profiles[i].enabled); // tooltip QString toolTip = QString(""); toolTip += QString("%1: %2\n").arg(QApplication::translate("MainWindow", "Profile")).arg(profiles[i].name); toolTip += QString("%1: %2\n").arg(QApplication::translate("MainWindow", "Active")).arg(checkStatus(profiles[i].active)); toolTip += QString("%1: %2").arg(QApplication::translate("MainWindow", "Enabled")).arg(checkStatus(profiles[i].enabled)); // name ui->tableWidget_main->setItem(i, 0, new QTableWidgetItem(profiles[i].name)); ui->tableWidget_main->item(i, 0)->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter); ui->tableWidget_main->item(i, 0)->setToolTip(toolTip); ui->tableWidget_main->item(i, 0)->setFont(font); // description ui->tableWidget_main->setItem(i, 1, new QTableWidgetItem(profiles[i].description)); ui->tableWidget_main->item(i, 1)->setTextAlignment(Qt::AlignJustify | Qt::AlignVCenter); ui->tableWidget_main->item(i, 1)->setToolTip(toolTip); // active ui->tableWidget_main->setItem(i, 2, new QTableWidgetItem(checkStatus(profiles[i].active, true))); ui->tableWidget_main->item(i, 2)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); // enabled ui->tableWidget_main->setItem(i, 3, new QTableWidgetItem(checkStatus(profiles[i].enabled, true))); ui->tableWidget_main->item(i, 3)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); } ui->tableWidget_main->setSortingEnabled(true); ui->tableWidget_main->resizeRowsToContents(); ui->tableWidget_main->resizeColumnsToContents(); ui->tableWidget_main->resizeRowsToContents(); #if QT_VERSION >= 0x050000 ui->tableWidget_main->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); #else ui->tableWidget_main->horizontalHeader()->setResizeMode(QHeaderView::ResizeToContents); #endif ui->tabWidget->setEnabled(true); ui->statusBar->showMessage(QApplication::translate("MainWindow", "Updated")); update(); }