void TestNetctl::test_isProfileEnabled() { Netctl *netctl = createNetctlObj(); QList<QVariant> args; args.append(QString("netctlgui-test-dummy")); QVERIFY(!netctl->isProfileEnabled(QString("netctlgui-test-dummy"))); if (helper) QVERIFY(!sendDBusRequest(QString("/netctl"), QString("isProfileEnabled"), args)[0].toBool()); netctl->enableProfile(QString("netctlgui-test-dummy")); QVERIFY(netctl->isProfileEnabled(QString("netctlgui-test-dummy"))); if (helper) QVERIFY(sendDBusRequest(QString("/netctl"), QString("isProfileEnabled"), args)[0].toBool()); netctl->enableProfile(QString("netctlgui-test-dummy")); delete netctl; }
void MainWindow::profileTabRemoveProfile() { if (debug) qDebug() << PDEBUG; ui->tabWidget->setDisabled(true); QString profile = QFileInfo(ui->comboBox_profile->currentText()).fileName(); if (profile.isEmpty()) return ErrorWindow::showWindow(17, QString(PDEBUG), debug); bool status = false; if (useHelper) { QList<QVariant> args; args.append(profile); QList<QVariant> responce = sendDBusRequest(DBUS_HELPER_SERVICE, DBUS_CTRL_PATH, DBUS_HELPER_INTERFACE, QString("Remove"), args, true, debug); if (responce.isEmpty()) { if (debug) qDebug() << PDEBUG << ":" << "Could not interact with helper, disable it"; useHelper = false; return profileTabLoadProfile(); } status = responce[0].toBool(); } else status = netctlProfile->removeProfile(profile); if (status) ui->statusBar->showMessage(QApplication::translate("MainWindow", "Done")); else ui->statusBar->showMessage(QApplication::translate("MainWindow", "Error")); updateProfileTab(); }
void MainWindow::profileTabClear() { if (debug) qDebug() << PDEBUG; ui->comboBox_profile->clear(); QList<netctlProfileInfo> profiles; if (useHelper) profiles = parseOutputNetctl(sendDBusRequest(DBUS_HELPER_SERVICE, DBUS_LIB_PATH, DBUS_HELPER_INTERFACE, QString("ProfileList"), QList<QVariant>(), true, debug), debug); else profiles = netctlCommand->getProfileList(); for (int i=0; i<profiles.count(); i++) ui->comboBox_profile->addItem(profiles[i].name); ui->comboBox_profile->setCurrentIndex(-1); generalWid->clear(); ipWid->clear(); bridgeWid->clear(); ethernetWid->clear(); macvlanWid->clear(); mobileWid->clear(); pppoeWid->clear(); tunnelWid->clear(); tuntapWid->clear(); vlanWid->clear(); wirelessWid->clear(); profileTabChangeState(generalWid->connectionType->currentText()); }
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 MainWindow::mainTabRemoveProfile() { if (debug) qDebug() << PDEBUG; if (ui->tableWidget_main->currentItem() == nullptr) return; ui->tabWidget->setDisabled(true); QString profile = ui->tableWidget_main->item(ui->tableWidget_main->currentItem()->row(), 0)->text(); bool status = false; if (useHelper) { QList<QVariant> args; args.append(profile); QList<QVariant> responce = sendDBusRequest(DBUS_HELPER_SERVICE, DBUS_CTRL_PATH, DBUS_HELPER_INTERFACE, QString("Remove"), args, true, debug); if (responce.isEmpty()) { if (debug) qDebug() << PDEBUG << ":" << "Could not interact with helper, disable it"; useHelper = false; return mainTabRemoveProfile(); } status = responce[0].toBool(); } else status = netctlProfile->removeProfile(profile); if (status) ui->statusBar->showMessage(QApplication::translate("MainWindow", "Done")); else ui->statusBar->showMessage(QApplication::translate("MainWindow", "Error")); updateMainTab(); }
void TestNetctl::test_restartProfile() { Netctl *netctl = createNetctlObj(); QList<QVariant> args; args.append(QString("netctlgui-test-dummy")); QVERIFY(!netctl->isProfileActive(QString("netctlgui-test-dummy"))); if (helper) QVERIFY(!sendDBusRequest(QString("/netctl"), QString("isProfileActive"), args)[0].toBool()); netctl->startProfile(QString("netctlgui-test-dummy")); QVERIFY(netctl->isProfileActive(QString("netctlgui-test-dummy"))); QVERIFY(netctl->restartProfile(QString("netctlgui-test-dummy"))); QVERIFY(netctl->isProfileActive(QString("netctlgui-test-dummy"))); if (helper) { QVERIFY(sendDBusRequest(QString("/netctl"), QString("isProfileActive"), args)[0].toBool()); QVERIFY(sendDBusRequest(QString("/ctrl"), QString("Restart"), args)[0].toBool()); QVERIFY(sendDBusRequest(QString("/netctl"), QString("isProfileActive"), args)[0].toBool()); } netctl->startProfile(QString("netctlgui-test-dummy")); delete netctl; }
void TestWpaSup::initTestCase() { qDebug() << "netctlgui library tests"; qDebug() << "WpaSup class tests"; qDebug() << "TODO: unfortunately, some functions which is required to work"; qDebug() << "with the working profile isn't tested here (including netctl-auto)"; QWARN("Some functions requires root privileges"); if (sendDBusRequest(QString("/ctrl"), QString("Active")).isEmpty()) { helper = false; QWARN("Helper isn't active. DBus tests will be ignored"); } else helper = true; }
void TestNetctl::test_getActiveProfile() { Netctl *netctl = createNetctlObj(); netctl->startProfile(QString("netctlgui-test-dummy")); QStringList result = netctl->getActiveProfile(); QStringList dbus; if (helper) dbus = sendDBusRequest(QString("/netctl"), QString("netctlActiveProfile"))[0].toStringList(); netctl->startProfile(QString("netctlgui-test-dummy")); delete netctl; QVERIFY(result.contains(QString("netctlgui-test-dummy"))); if (helper) QCOMPARE(dbus, result); }
void TestNetctl::test_getProfileDescription() { Netctl *netctl = createNetctlObj(); QString original = QString("Simple test profile"); QString result = netctl->getProfileDescription(QString("netctlgui-test-dummy")); QString dbus; if (helper) { QList<QVariant> args; args.append(QString("netctlgui-test-dummy")); args.append(QString("Description")); dbus = sendDBusRequest(QString("/netctl"), QString("ProfileValue"), args) [0].toString(); } delete netctl; QCOMPARE(result, original); if (helper) QCOMPARE(dbus, result); }
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::profileTabLoadProfile() { if (debug) qDebug() << PDEBUG; QString profile = QFileInfo(ui->comboBox_profile->currentText()).fileName(); if (profile.isEmpty()) return; QMap<QString, QString> settings; if (useHelper) { QList<QVariant> args; args.append(profile); QList<QVariant> responce = sendDBusRequest(DBUS_HELPER_SERVICE, DBUS_CTRL_PATH, DBUS_HELPER_INTERFACE, QString("Profile"), args, true, debug); if (responce.isEmpty()) { if (debug) qDebug() << PDEBUG << ":" << "Could not interact with helper, disable it"; useHelper = false; return profileTabLoadProfile(); } QStringList settingsList = responce[0].toStringList(); for (int i=0; i<settingsList.count(); i++) { if (!settingsList[i].contains(QString("=="))) continue; QString key = settingsList[i].split(QString("=="))[0]; QString value = settingsList[i].split(QString("=="))[1]; settings[key] = value; } } else settings = netctlProfile->getSettingsFromProfile(profile); if (settings.isEmpty()) return ErrorWindow::showWindow(17, QString(PDEBUG), debug); generalWid->setSettings(settings); if (generalWid->connectionType->currentText() == QString("ethernet")) { ipWid->setSettings(settings); ethernetWid->setSettings(settings); } else if (generalWid->connectionType->currentText() == QString("wireless")) { ipWid->setSettings(settings); wirelessWid->setSettings(settings); } else if ((generalWid->connectionType->currentText() == QString("bond")) || (generalWid->connectionType->currentText() == QString("dummy")) || (generalWid->connectionType->currentText() == QString("openvswitch"))) { ipWid->setSettings(settings); } else if (generalWid->connectionType->currentText() == QString("bridge")) { ipWid->setSettings(settings); bridgeWid->setSettings(settings); } else if (generalWid->connectionType->currentText() == QString("pppoe")) { pppoeWid->setSettings(settings); } else if (generalWid->connectionType->currentText() == QString("mobile_ppp")) { mobileWid->setSettings(settings); } else if (generalWid->connectionType->currentText() == QString("tunnel")) { ipWid->setSettings(settings); tunnelWid->setSettings(settings); } else if (generalWid->connectionType->currentText() == QString("tuntap")) { ipWid->setSettings(settings); tuntapWid->setSettings(settings); } else if (generalWid->connectionType->currentText() == QString("vlan")) { ipWid->setSettings(settings); ethernetWid->setSettings(settings); vlanWid->setSettings(settings); } else if (generalWid->connectionType->currentText() == QString("macvlan")) { ipWid->setSettings(settings); ethernetWid->setSettings(settings); macvlanWid->setSettings(settings); } }
void MainWindow::profileTabCreateProfile() { if (debug) qDebug() << PDEBUG; // error checking if (ui->comboBox_profile->currentText().isEmpty()) return ErrorWindow::showWindow(3, QString(PDEBUG), debug); if (generalWid->isOk() == 1) return ErrorWindow::showWindow(4, QString(PDEBUG), debug); else if (generalWid->isOk() == 2) return ErrorWindow::showWindow(5, QString(PDEBUG), debug); if ((generalWid->connectionType->currentText() == QString("ethernet")) || (generalWid->connectionType->currentText() == QString("wireless")) || (generalWid->connectionType->currentText() == QString("bond")) || (generalWid->connectionType->currentText() == QString("dummy")) || (generalWid->connectionType->currentText() == QString("bridge")) || (generalWid->connectionType->currentText() == QString("tunnel")) || (generalWid->connectionType->currentText() == QString("tuntap")) || (generalWid->connectionType->currentText() == QString("vlan")) || (generalWid->connectionType->currentText() == QString("macvlan")) || (generalWid->connectionType->currentText() == QString("openvswitch"))) { if (ipWid->isOk() == 1) return ErrorWindow::showWindow(6, QString(PDEBUG), debug); else if (ipWid->isOk() == 2) return ErrorWindow::showWindow(6, QString(PDEBUG), debug); } if (generalWid->connectionType->currentText() == QString("ethernet")) { if (ethernetWid->isOk() == 1) return ErrorWindow::showWindow(7, QString(PDEBUG), debug); } else if (generalWid->connectionType->currentText() == QString("wireless")) { if (wirelessWid->isOk() == 1) return ErrorWindow::showWindow(8, QString(PDEBUG), debug); else if (wirelessWid->isOk() == 2) return ErrorWindow::showWindow(9, QString(PDEBUG), debug); else if (wirelessWid->isOk() == 3) return ErrorWindow::showWindow(10, QString(PDEBUG), debug); else if (wirelessWid->isOk() == 4) return ErrorWindow::showWindow(7, QString(PDEBUG), debug); else if (wirelessWid->isOk() == 5) return ErrorWindow::showWindow(11, QString(PDEBUG), debug); } else if (generalWid->connectionType->currentText() == QString("bridge")) { } else if (generalWid->connectionType->currentText() == QString("pppoe")) { if (pppoeWid->isOk() == 1) return ErrorWindow::showWindow(7, QString(PDEBUG), debug); else if (pppoeWid->isOk() == 2) return ErrorWindow::showWindow(12, QString(PDEBUG), debug); else if (pppoeWid->isOk() == 3) return ErrorWindow::showWindow(13, QString(PDEBUG), debug); else if (pppoeWid->isOk() == 4) return ErrorWindow::showWindow(12, QString(PDEBUG), debug); } else if (generalWid->connectionType->currentText() == QString("mobile_ppp")) { if (mobileWid->isOk() == 1) return ErrorWindow::showWindow(15, QString(PDEBUG), debug); if (mobileWid->isOk() == 2) return ErrorWindow::showWindow(7, QString(PDEBUG), debug); } else if (generalWid->connectionType->currentText() == QString("tunnel")) { if (tunnelWid->isOk() == 1) return ErrorWindow::showWindow(20, QString(PDEBUG), debug); } else if (generalWid->connectionType->currentText() == QString("tuntap")) { if (tuntapWid->isOk() == 1) return ErrorWindow::showWindow(15, QString(PDEBUG), debug); if (tuntapWid->isOk() == 2) return ErrorWindow::showWindow(15, QString(PDEBUG), debug); } else if (generalWid->connectionType->currentText() == QString("vlan")) { if (ethernetWid->isOk() == 1) return ErrorWindow::showWindow(7, QString(PDEBUG), debug); } else if (generalWid->connectionType->currentText() == QString("macvlan")) { if (ethernetWid->isOk() == 1) return ErrorWindow::showWindow(7, QString(PDEBUG), debug); } ui->tabWidget->setDisabled(true); // read settings QString profile = QFileInfo(ui->comboBox_profile->currentText()).fileName(); QMap<QString, QString> settings; settings = generalWid->getSettings(); if (generalWid->connectionType->currentText() == QString("ethernet")) { QMap<QString, QString> addSettings = ipWid->getSettings(); for (int i=0; i<addSettings.keys().count(); i++) settings.insert(addSettings.keys()[i], addSettings[addSettings.keys()[i]]); addSettings = ethernetWid->getSettings(); for (int i=0; i<addSettings.keys().count(); i++) settings.insert(addSettings.keys()[i], addSettings[addSettings.keys()[i]]); } else if (generalWid->connectionType->currentText() == QString("wireless")) { QMap<QString, QString> addSettings = ipWid->getSettings(); for (int i=0; i<addSettings.keys().count(); i++) settings.insert(addSettings.keys()[i], addSettings[addSettings.keys()[i]]); addSettings = wirelessWid->getSettings(); for (int i=0; i<addSettings.keys().count(); i++) settings.insert(addSettings.keys()[i], addSettings[addSettings.keys()[i]]); } else if ((generalWid->connectionType->currentText() == QString("bond")) || (generalWid->connectionType->currentText() == QString("dummy")) || (generalWid->connectionType->currentText() == QString("openvswitch"))) { QMap<QString, QString> addSettings = ipWid->getSettings(); for (int i=0; i<addSettings.keys().count(); i++) settings.insert(addSettings.keys()[i], addSettings[addSettings.keys()[i]]); } else if (generalWid->connectionType->currentText() == QString("bridge")) { QMap<QString, QString> addSettings = ipWid->getSettings(); for (int i=0; i<addSettings.keys().count(); i++) settings.insert(addSettings.keys()[i], addSettings[addSettings.keys()[i]]); addSettings = bridgeWid->getSettings(); for (int i=0; i<addSettings.keys().count(); i++) settings.insert(addSettings.keys()[i], addSettings[addSettings.keys()[i]]); } else if (generalWid->connectionType->currentText() == QString("pppoe")) { QMap<QString, QString> addSettings = pppoeWid->getSettings(); for (int i=0; i<addSettings.keys().count(); i++) settings.insert(addSettings.keys()[i], addSettings[addSettings.keys()[i]]); } else if (generalWid->connectionType->currentText() == QString("mobile_ppp")) { QMap<QString, QString> addSettings = mobileWid->getSettings(); for (int i=0; i<addSettings.keys().count(); i++) settings.insert(addSettings.keys()[i], addSettings[addSettings.keys()[i]]); } else if (generalWid->connectionType->currentText() == QString("tunnel")) { QMap<QString, QString> addSettings = ipWid->getSettings(); for (int i=0; i<addSettings.keys().count(); i++) settings.insert(addSettings.keys()[i], addSettings[addSettings.keys()[i]]); addSettings = tunnelWid->getSettings(); for (int i=0; i<addSettings.keys().count(); i++) settings.insert(addSettings.keys()[i], addSettings[addSettings.keys()[i]]); } else if (generalWid->connectionType->currentText() == QString("tuntap")) { QMap<QString, QString> addSettings = ipWid->getSettings(); for (int i=0; i<addSettings.keys().count(); i++) settings.insert(addSettings.keys()[i], addSettings[addSettings.keys()[i]]); addSettings = tuntapWid->getSettings(); for (int i=0; i<addSettings.keys().count(); i++) settings.insert(addSettings.keys()[i], addSettings[addSettings.keys()[i]]); } else if (generalWid->connectionType->currentText() == QString("vlan")) { QMap<QString, QString> addSettings = ipWid->getSettings(); for (int i=0; i<addSettings.keys().count(); i++) settings.insert(addSettings.keys()[i], addSettings[addSettings.keys()[i]]); addSettings = ethernetWid->getSettings(); for (int i=0; i<addSettings.keys().count(); i++) settings.insert(addSettings.keys()[i], addSettings[addSettings.keys()[i]]); addSettings = vlanWid->getSettings(); for (int i=0; i<addSettings.keys().count(); i++) settings.insert(addSettings.keys()[i], addSettings[addSettings.keys()[i]]); } else if (generalWid->connectionType->currentText() == QString("macvlan")) { QMap<QString, QString> addSettings = ipWid->getSettings(); for (int i=0; i<addSettings.keys().count(); i++) settings.insert(addSettings.keys()[i], addSettings[addSettings.keys()[i]]); addSettings = ethernetWid->getSettings(); for (int i=0; i<addSettings.keys().count(); i++) settings.insert(addSettings.keys()[i], addSettings[addSettings.keys()[i]]); addSettings = macvlanWid->getSettings(); for (int i=0; i<addSettings.keys().count(); i++) settings.insert(addSettings.keys()[i], addSettings[addSettings.keys()[i]]); } // call netctlprofile bool status = false; if (useHelper) { QStringList settingsList; for (int i=0; i<settings.keys().count(); i++) settingsList.append(QString("%1==%2").arg(settings.keys()[i]).arg(settings[settings.keys()[i]])); QList<QVariant> args; args.append(profile); args.append(settingsList); QList<QVariant> responce = sendDBusRequest(DBUS_HELPER_SERVICE, DBUS_CTRL_PATH, DBUS_HELPER_INTERFACE, QString("Create"), args, true, debug); if (responce.isEmpty()) { if (debug) qDebug() << PDEBUG << ":" << "Could not interact with helper, disable it"; useHelper = false; return profileTabCreateProfile(); } status = responce[0].toBool(); } else { QString profileTempName = netctlProfile->createProfile(profile, settings); status = netctlProfile->copyProfile(profileTempName); } if (status) ui->statusBar->showMessage(QApplication::translate("MainWindow", "Done")); else ui->statusBar->showMessage(QApplication::translate("MainWindow", "Error")); updateProfileTab(); }
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(); }