+ new Verbose* DBus calls

+ new force request to netctl (DBus)
+ PointType enum
+ notification on hidding,
+ new columns in WiFi menu
* improve user expierence
* fix language definition
* fix tests
* update 3rdparty components
* small refactoring
This commit is contained in:
arcan1s 2015-03-09 08:29:26 +03:00
parent d94aa4ebf7
commit 362a11f0bc
29 changed files with 363 additions and 176 deletions

@ -1 +1 @@
Subproject commit a119b60ed10ba1d2b805ee6607178a699a726180 Subproject commit 204943574a95d5825fd7190608bfe6d76abf6da3

@ -1 +1 @@
Subproject commit 230bdecd2c18ee2ec5350d94778a51158565c119 Subproject commit 36f7ac299633e96f246fec160939207257ae0097

View File

@ -129,7 +129,7 @@ QStringList Netctl::getCurrentProfile(const QString cmdNetctl, const QString cmd
else else
cmd = cmdNetctl; cmd = cmdNetctl;
if (debug) qDebug() << PDEBUG << ":" << "Cmd" << cmd; if (debug) qDebug() << PDEBUG << ":" << "Cmd" << cmd;
TaskResult process = runTask(cmd + QString(" list")); TaskResult process = runTask(QString("%1 list").arg(cmd));
if (debug) qDebug() << PDEBUG << ":" << "Cmd returns" << process.exitCode; if (debug) qDebug() << PDEBUG << ":" << "Cmd returns" << process.exitCode;
if (process.exitCode != 0) if (process.exitCode != 0)
if (debug) qDebug() << PDEBUG << ":" << "Error" << process.error; if (debug) qDebug() << PDEBUG << ":" << "Error" << process.error;
@ -217,7 +217,7 @@ QString Netctl::getNetctlAutoStatus(const QString cmdNetctlAuto)
{ {
if (debug) qDebug() << PDEBUG; if (debug) qDebug() << PDEBUG;
TaskResult process = runTask(cmdNetctlAuto + QString(" list")); TaskResult process = runTask(QString("%1 list").arg(cmdNetctlAuto));
if (debug) qDebug() << PDEBUG << ":" << "Cmd returns" << process.exitCode; if (debug) qDebug() << PDEBUG << ":" << "Cmd returns" << process.exitCode;
if (process.exitCode != 0) if (process.exitCode != 0)
if (debug) qDebug() << PDEBUG << ":" << "Error" << process.error; if (debug) qDebug() << PDEBUG << ":" << "Error" << process.error;
@ -246,7 +246,7 @@ QStringList Netctl::getProfileList(const QString cmdNetctl, const QString cmdNet
else else
cmd = cmdNetctl; cmd = cmdNetctl;
if (debug) qDebug() << PDEBUG << ":" << "Cmd" << cmd; if (debug) qDebug() << PDEBUG << ":" << "Cmd" << cmd;
TaskResult process = runTask(cmd + QString(" list")); TaskResult process = runTask(QString("%1 list").arg(cmd));
if (debug) qDebug() << PDEBUG << ":" << "Cmd returns" << process.exitCode; if (debug) qDebug() << PDEBUG << ":" << "Cmd returns" << process.exitCode;
if (process.exitCode != 0) if (process.exitCode != 0)
if (debug) qDebug() << PDEBUG << ":" << "Error" << process.error; if (debug) qDebug() << PDEBUG << ":" << "Error" << process.error;
@ -270,7 +270,7 @@ QStringList Netctl::getProfileStringStatus(const QString cmdNetctl, const QStrin
else { else {
QStringList profiles = getCurrentProfile(cmdNetctl, cmdNetctlAuto); QStringList profiles = getCurrentProfile(cmdNetctl, cmdNetctlAuto);
for (int i=0; i<profiles.count(); i++) { for (int i=0; i<profiles.count(); i++) {
TaskResult process = runTask(cmdNetctl + QString(" is-enabled ") + profiles[i]); TaskResult process = runTask(QString("%1 is-enabled %2").arg(cmdNetctl).arg(profiles[i]));
if (debug) qDebug() << PDEBUG << ":" << "Cmd returns" << process.exitCode; if (debug) qDebug() << PDEBUG << ":" << "Cmd returns" << process.exitCode;
if (process.exitCode != 0) if (process.exitCode != 0)
if (debug) qDebug() << PDEBUG << ":" << "Error" << process.error; if (debug) qDebug() << PDEBUG << ":" << "Error" << process.error;

View File

@ -196,9 +196,14 @@ small {
<td>yes</td> <td>yes</td>
</tr> </tr>
<!-- wpa_supplicant actions --> <!-- wpa_supplicant actions -->
<tr>
<td>QStringList VerboseWiFi()</td>
<td>returns available WiFi points in format <code>NAME|SECURITY|TYPE|FREQS|MACS|SIGNAL|ACTIVE|EXISTS</code></td>
<td>yes</td>
</tr>
<tr> <tr>
<td>QStringList WiFi()</td> <td>QStringList WiFi()</td>
<td>returns available WiFi points in format <code>NAME|SECURITY|FREQS|MACS|SIGNAL|ACTIVE|EXISTS</code></td> <td>returns available WiFi points in format <code>NAME|SECURITY|SIGNAL|ACTIVE|EXISTS</code></td>
<td>yes</td> <td>yes</td>
</tr> </tr>
<!-- /netctl path --> <!-- /netctl path -->
@ -221,8 +226,28 @@ small {
<td>returns general information in format <code>[ActiveProfile, ActiveProfileStatus]</code></td> <td>returns general information in format <code>[ActiveProfile, ActiveProfileStatus]</code></td>
<td>no</td> <td>no</td>
</tr> </tr>
<tr>
<td>QString netctlActiveProfile()</td>
<td>returns active profile from netctl even if netctl-auto is running</td>
<td>no</td>
</tr>
<tr>
<td>QStringList netctlProfileList()</td>
<td>returns available profiles in format <code>NAME|DESCRIPTION|ACTIVE|ENABLED</code> from netctl even if netctl-auto is running</td>
<td>no</td>
</tr>
<tr>
<td>QStringList netctlVerboseProfileList()</td>
<td>returns available profiles in format <code>NAME|DESCRIPTION|ESSID|ACTIVE|ENABLED</code> from netctl even if netctl-auto is running</td>
<td>no</td>
</tr>
<tr> <tr>
<td>QStringList ProfileList()</td> <td>QStringList ProfileList()</td>
<td>returns available profiles in format <code>NAME|DESCRIPTION|ACTIVE|ENABLED</code></td>
<td>no</td>
</tr>
<tr>
<td>QStringList VerboseProfileList()</td>
<td>returns available profiles in format <code>NAME|DESCRIPTION|ESSID|ACTIVE|ENABLED</code></td> <td>returns available profiles in format <code>NAME|DESCRIPTION|ESSID|ACTIVE|ENABLED</code></td>
<td>no</td> <td>no</td>
</tr> </tr>

View File

@ -54,15 +54,17 @@ QList<netctlWifiInfo> parseOutputWifi(const QList<QVariant> raw)
QStringList list = raw[0].toStringList(); QStringList list = raw[0].toStringList();
for (int i=0; i<list.count(); i++) { for (int i=0; i<list.count(); i++) {
QStringList info = list[i].split(QChar('|')); QStringList info = list[i].split(QChar('|'));
if (info.count() != 7) continue; if (info.count() != 8) continue;
netctlWifiInfo wifi; netctlWifiInfo wifi;
wifi.name = info[0]; wifi.name = info[0];
wifi.security = info[1]; wifi.security = info[1];
wifi.frequencies = info[2].split(QChar(',')); wifi.type = static_cast<PointType>(info[2].toInt());
wifi.macs = info[3].split(QChar(',')); for (int j=0; j<info[3].split(QChar(',')).count(); j++)
wifi.signal = info[4].toInt(); wifi.frequencies.append(info[3].split(QChar(','))[j].toInt());
wifi.active = info[5].toInt(); wifi.macs = info[4].split(QChar(','));
wifi.exists = info[6].toInt(); wifi.signal = info[5].toInt();
wifi.active = info[6].toInt();
wifi.exists = info[7].toInt();
wifiInfo.append(wifi); wifiInfo.append(wifi);
} }

View File

@ -182,7 +182,7 @@ void IpWidget::addIpRoutes()
(!IpRegExp::checkString(ui->lineEdit_ipRoutes2->text(), IpRegExp::ip4Regex()))) (!IpRegExp::checkString(ui->lineEdit_ipRoutes2->text(), IpRegExp::ip4Regex())))
return ErrorWindow::showWindow(20, QString("[IpWidget::addIpRoutes]")); return ErrorWindow::showWindow(20, QString("[IpWidget::addIpRoutes]"));
ui->listWidget_ipRoutes->addItem(ui->lineEdit_ipRoutes->text() + QString(" via ") + ui->lineEdit_ipRoutes2->text()); ui->listWidget_ipRoutes->addItem(QString("%1 via %2").arg(ui->lineEdit_ipRoutes->text()).arg(ui->lineEdit_ipRoutes2->text()));
ui->lineEdit_ipRoutes->clear(); ui->lineEdit_ipRoutes->clear();
ui->lineEdit_ipRoutes2->clear(); ui->lineEdit_ipRoutes2->clear();
} }
@ -204,7 +204,7 @@ void IpWidget::addIpRoutes6()
(!IpRegExp::checkString(ui->lineEdit_ipRoutes62->text(), IpRegExp::ip6Regex()))) (!IpRegExp::checkString(ui->lineEdit_ipRoutes62->text(), IpRegExp::ip6Regex())))
return ErrorWindow::showWindow(20, QString("[IpWidget::addIp6Routes]")); return ErrorWindow::showWindow(20, QString("[IpWidget::addIp6Routes]"));
ui->listWidget_ipRoutes6->addItem(ui->lineEdit_ipRoutes6->text() + QString(" via ") + ui->lineEdit_ipRoutes62->text()); ui->listWidget_ipRoutes6->addItem(QString("%1 via %2").arg(ui->lineEdit_ipRoutes6->text()).arg(ui->lineEdit_ipRoutes62->text()));
ui->lineEdit_ipRoutes6->clear(); ui->lineEdit_ipRoutes6->clear();
ui->lineEdit_ipRoutes62->clear(); ui->lineEdit_ipRoutes62->clear();
} }

View File

@ -152,10 +152,10 @@ int main(int argc, char *argv[])
QString language = Language::defineLanguage(args[QString("config")].toString(), QString language = Language::defineLanguage(args[QString("config")].toString(),
args[QString("options")].toString()); args[QString("options")].toString());
QTranslator qtTranslator; QTranslator qtTranslator;
qtTranslator.load(QString("qt_") + language, QLibraryInfo::location(QLibraryInfo::TranslationsPath)); qtTranslator.load(QString("qt_%1").arg(language), QLibraryInfo::location(QLibraryInfo::TranslationsPath));
a.installTranslator(&qtTranslator); a.installTranslator(&qtTranslator);
QTranslator translator; QTranslator translator;
translator.load(QString(":/translations/") + language); translator.load(QString(":/translations/%1").arg(language));
a.installTranslator(&translator); a.installTranslator(&translator);
// running // running

View File

@ -61,24 +61,9 @@ void MainWindow::setMenuActionsShown(const bool state)
if (debug) qDebug() << PDEBUG; if (debug) qDebug() << PDEBUG;
if (debug) qDebug() << PDEBUG << ":" << "State" << state; if (debug) qDebug() << PDEBUG << ":" << "State" << state;
// main QStringList keys = toolBarActions.keys();
toolBarActions[QString("netctlAuto")]->setVisible(state); for (int i=0; i<keys.count(); i++)
toolBarActions[QString("mainRefresh")]->setVisible(state); toolBarActions[keys[i]]->setVisible(state);
toolBarActions[QString("mainStart")]->setVisible(state);
toolBarActions[QString("mainSwitch")]->setVisible(state);
toolBarActions[QString("mainRestart")]->setVisible(state);
toolBarActions[QString("mainEnable")]->setVisible(state);
toolBarActions[QString("mainStopAll")]->setVisible(state);
toolBarActions[QString("mainEdit")]->setVisible(state);
toolBarActions[QString("mainRemove")]->setVisible(state);
// profile
toolBarActions[QString("profileClear")]->setVisible(state);
toolBarActions[QString("profileLoad")]->setVisible(state);
toolBarActions[QString("profileSave")]->setVisible(state);
toolBarActions[QString("profileRemove")]->setVisible(state);
// wifi
toolBarActions[QString("wifiRefresh")]->setVisible(state);
toolBarActions[QString("wifiStart")]->setVisible(state);
} }
@ -136,17 +121,12 @@ void MainWindow::updateMenuWifi()
toolBarActions[QString("wifiRefresh")]->setVisible(true); toolBarActions[QString("wifiRefresh")]->setVisible(true);
if (ui->tableWidget_wifi->currentItem() == nullptr) return; if (ui->tableWidget_wifi->currentItem() == nullptr) return;
if (!ui->tableWidget_wifi->item(ui->tableWidget_wifi->currentItem()->row(), 4)->text().isEmpty()) { if (ui->tableWidget_wifi->item(ui->tableWidget_wifi->currentItem()->row(), 5)->text().isEmpty()) {
if (!ui->tableWidget_wifi->item(ui->tableWidget_wifi->currentItem()->row(), 3)->text().isEmpty()) {
toolBarActions[QString("wifiStart")]->setText(QApplication::translate("MainWindow", "Stop"));
toolBarActions[QString("wifiStart")]->setIcon(QIcon::fromTheme("process-stop"));
} else {
toolBarActions[QString("wifiStart")]->setText(QApplication::translate("MainWindow", "Start"));
toolBarActions[QString("wifiStart")]->setIcon(QIcon::fromTheme("system-run"));
}
} else {
toolBarActions[QString("wifiStart")]->setText(QApplication::translate("MainWindow", "Start")); toolBarActions[QString("wifiStart")]->setText(QApplication::translate("MainWindow", "Start"));
toolBarActions[QString("wifiStart")]->setIcon(QIcon::fromTheme("system-run")); toolBarActions[QString("wifiStart")]->setIcon(QIcon::fromTheme("system-run"));
} else {
toolBarActions[QString("wifiStart")]->setText(QApplication::translate("MainWindow", "Stop"));
toolBarActions[QString("wifiStart")]->setIcon(QIcon::fromTheme("process-stop"));
} }
toolBarActions[QString("wifiStart")]->setVisible(true); toolBarActions[QString("wifiStart")]->setVisible(true);
} }
@ -173,7 +153,7 @@ void MainWindow::updateMainTab()
return updateMainTab(); return updateMainTab();
} }
netctlAutoStatus = responce[0].toBool(); netctlAutoStatus = responce[0].toBool();
profiles = parseOutputNetctl(sendRequestToLib(QString("ProfileList"), debug)); profiles = parseOutputNetctl(sendRequestToLib(QString("netctlVerboseProfileList"), debug));
} else { } else {
netctlAutoStatus = netctlCommand->isNetctlAutoRunning(); netctlAutoStatus = netctlCommand->isNetctlAutoRunning();
profiles = netctlCommand->getProfileList(); profiles = netctlCommand->getProfileList();
@ -255,7 +235,7 @@ void MainWindow::updateProfileTab()
void MainWindow::updateWifiTab() void MainWindow::updateWifiTab()
{ {
if (debug) qDebug() << PDEBUG; if (debug) qDebug() << PDEBUG;
wifiTabSetEnabled(checkExternalApps(QString("wpasup"))); wifiTabSetEnabled(checkExternalApps(QString("wpasup-only")));
if (!checkExternalApps(QString("wpasup"))) { if (!checkExternalApps(QString("wpasup"))) {
ErrorWindow::showWindow(1, QString(PDEBUG), debug); ErrorWindow::showWindow(1, QString(PDEBUG), debug);
emit(needToBeConfigured()); emit(needToBeConfigured());
@ -265,19 +245,21 @@ void MainWindow::updateWifiTab()
ui->tabWidget->setDisabled(true); ui->tabWidget->setDisabled(true);
QList<netctlWifiInfo> scanResults; QList<netctlWifiInfo> scanResults;
if (useHelper) if (useHelper)
scanResults = parseOutputWifi(sendRequestToCtrl(QString("WiFi"), debug)); scanResults = parseOutputWifi(sendRequestToCtrl(QString("VerboseWiFi"), debug));
else else
scanResults = wpaCommand->scanWifi(); scanResults = wpaCommand->scanWifi();
ui->tableWidget_wifi->setSortingEnabled(false); ui->tableWidget_wifi->setSortingEnabled(false);
ui->tableWidget_wifi->selectRow(-1); ui->tableWidget_wifi->selectRow(-1);
ui->tableWidget_wifi->sortByColumn(0, Qt::AscendingOrder); ui->tableWidget_wifi->sortByColumn(3, Qt::AscendingOrder);
ui->tableWidget_wifi->clear(); ui->tableWidget_wifi->clear();
ui->tableWidget_wifi->setRowCount(scanResults.count()); ui->tableWidget_wifi->setRowCount(scanResults.count());
// create header // create header
QStringList headerList; QStringList headerList;
headerList.append(QApplication::translate("MainWindow", "Name")); headerList.append(QApplication::translate("MainWindow", "Name"));
headerList.append(QApplication::translate("MainWindow", "Type"));
headerList.append(QApplication::translate("MainWindow", "# of points"));
headerList.append(QApplication::translate("MainWindow", "Signal")); headerList.append(QApplication::translate("MainWindow", "Signal"));
headerList.append(QApplication::translate("MainWindow", "Security")); headerList.append(QApplication::translate("MainWindow", "Security"));
headerList.append(QApplication::translate("MainWindow", "Active")); headerList.append(QApplication::translate("MainWindow", "Active"));
@ -289,10 +271,32 @@ void MainWindow::updateWifiTab()
QFont font; QFont font;
font.setBold(scanResults[i].active); font.setBold(scanResults[i].active);
font.setItalic(scanResults[i].exists); font.setItalic(scanResults[i].exists);
// type
QString type;
switch (scanResults[i].type) {
case PointType::TwoG:
type = QApplication::translate("MainWindow", "2G");
break;
case PointType::FiveG:
type = QApplication::translate("MainWindow", "5G");
break;
case PointType::TwoAndFiveG:
type = QApplication::translate("MainWindow", "2G and 5G");
break;
case PointType::None:
default:
type = QApplication::translate("MainWindow", "N\\A");
break;
}
// tooltip // tooltip
QString toolTip = QString(""); QString toolTip = QString("");
toolTip += QString("%1: %2\n").arg(QApplication::translate("MainWindow", "MAC")).arg(scanResults[i].macs.join(QString(", "))); for (int j=0; j<scanResults[i].macs.count(); j++)
toolTip += QString("%1: %2\n").arg(QApplication::translate("MainWindow", "Frequency")).arg(scanResults[i].frequencies.join(QString(", "))); toolTip += QString("%1 %2: %3 (%4 %5)\n").arg(QApplication::translate("MainWindow", "Point"))
.arg(j + 1)
.arg(scanResults[i].macs[j])
.arg(scanResults[i].frequencies[j])
.arg(QApplication::translate("MainWindow", "MHz"));
toolTip += QString("%1: %2\n").arg(QApplication::translate("MainWindow", "Type")).arg(type);
toolTip += QString("%1: %2\n").arg(QApplication::translate("MainWindow", "Active")).arg(checkStatus(scanResults[i].active)); 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)); toolTip += QString("%1: %2").arg(QApplication::translate("MainWindow", "Exists")).arg(checkStatus(scanResults[i].exists));
// name // name
@ -300,20 +304,28 @@ void MainWindow::updateWifiTab()
ui->tableWidget_wifi->item(i, 0)->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter); 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)->setToolTip(toolTip);
ui->tableWidget_wifi->item(i, 0)->setFont(font); ui->tableWidget_wifi->item(i, 0)->setFont(font);
// signal // type
ui->tableWidget_wifi->setItem(i, 1, new QTableWidgetItem(QString::number(scanResults[i].signal))); ui->tableWidget_wifi->setItem(i, 1, new QTableWidgetItem(type));
ui->tableWidget_wifi->item(i, 1)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); ui->tableWidget_wifi->item(i, 1)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
ui->tableWidget_wifi->item(i, 1)->setToolTip(toolTip); ui->tableWidget_wifi->item(i, 1)->setToolTip(toolTip);
// security // count
ui->tableWidget_wifi->setItem(i, 2, new QTableWidgetItem(scanResults[i].security)); ui->tableWidget_wifi->setItem(i, 2, new QTableWidgetItem(QString::number(scanResults[i].frequencies.count())));
ui->tableWidget_wifi->item(i, 2)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); ui->tableWidget_wifi->item(i, 2)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
ui->tableWidget_wifi->item(i, 2)->setToolTip(toolTip); ui->tableWidget_wifi->item(i, 2)->setToolTip(toolTip);
// active // signal
ui->tableWidget_wifi->setItem(i, 3, new QTableWidgetItem(checkStatus(scanResults[i].active, true))); ui->tableWidget_wifi->setItem(i, 3, new QTableWidgetItem(QString::number(scanResults[i].signal)));
ui->tableWidget_wifi->item(i, 3)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); ui->tableWidget_wifi->item(i, 3)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
// exists ui->tableWidget_wifi->item(i, 3)->setToolTip(toolTip);
ui->tableWidget_wifi->setItem(i, 4, new QTableWidgetItem(checkStatus(scanResults[i].exists, true))); // security
ui->tableWidget_wifi->setItem(i, 4, new QTableWidgetItem(scanResults[i].security));
ui->tableWidget_wifi->item(i, 4)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); ui->tableWidget_wifi->item(i, 4)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
ui->tableWidget_wifi->item(i, 4)->setToolTip(toolTip);
// active
ui->tableWidget_wifi->setItem(i, 5, new QTableWidgetItem(checkStatus(scanResults[i].active, true)));
ui->tableWidget_wifi->item(i, 5)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
// exists
ui->tableWidget_wifi->setItem(i, 6, new QTableWidgetItem(checkStatus(scanResults[i].exists, true)));
ui->tableWidget_wifi->item(i, 6)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
} }
ui->tableWidget_wifi->setSortingEnabled(true); ui->tableWidget_wifi->setSortingEnabled(true);
@ -596,7 +608,7 @@ void MainWindow::profileTabClear()
ui->comboBox_profile->clear(); ui->comboBox_profile->clear();
QList<netctlProfileInfo> profiles; QList<netctlProfileInfo> profiles;
if (useHelper) if (useHelper)
profiles = parseOutputNetctl(sendRequestToLib(QString("ProfileList"), debug)); profiles = parseOutputNetctl(sendRequestToLib(QString("netctlVerboseProfileList"), debug));
else else
profiles = netctlCommand->getProfileList(); profiles = netctlCommand->getProfileList();
for (int i=0; i<profiles.count(); i++) for (int i=0; i<profiles.count(); i++)
@ -907,17 +919,13 @@ void MainWindow::wifiTabContextualMenu(const QPoint &pos)
QAction *startWifi = menu.addAction(QApplication::translate("MainWindow", "Start WiFi")); QAction *startWifi = menu.addAction(QApplication::translate("MainWindow", "Start WiFi"));
// set text // set text
if (!ui->tableWidget_wifi->item(ui->tableWidget_wifi->currentItem()->row(), 4)->text().isEmpty()) { if (ui->tableWidget_wifi->item(ui->tableWidget_wifi->currentItem()->row(), 5)->text().isEmpty()) {
if (!ui->tableWidget_wifi->item(ui->tableWidget_wifi->currentItem()->row(), 3)->text().isEmpty()) {
startWifi->setText(QApplication::translate("MainWindow", "Stop WiFi"));
startWifi->setIcon(QIcon::fromTheme("process-stop"));
} else {
startWifi->setText(QApplication::translate("MainWindow", "Start WiFi"));
startWifi->setIcon(QIcon::fromTheme("system-run"));
}
} else {
startWifi->setText(QApplication::translate("MainWindow", "Start WiFi")); startWifi->setText(QApplication::translate("MainWindow", "Start WiFi"));
startWifi->setIcon(QIcon::fromTheme("system-run")); startWifi->setIcon(QIcon::fromTheme("system-run"));
} else {
startWifi->setText(QApplication::translate("MainWindow", "Stop WiFi"));
startWifi->setIcon(QIcon::fromTheme("process-stop"));
} }
// actions // actions
@ -972,7 +980,7 @@ void MainWindow::wifiTabStart()
hiddenNetwork = false; hiddenNetwork = false;
QString profile = ui->tableWidget_wifi->item(ui->tableWidget_wifi->currentItem()->row(), 0)->text(); QString profile = ui->tableWidget_wifi->item(ui->tableWidget_wifi->currentItem()->row(), 0)->text();
QString profileName = QString(""); QString profileName = QString("");
if (!ui->tableWidget_wifi->item(ui->tableWidget_wifi->currentItem()->row(), 4)->text().isEmpty()) { if (!ui->tableWidget_wifi->item(ui->tableWidget_wifi->currentItem()->row(), 6)->text().isEmpty()) {
if (useHelper) { if (useHelper) {
QList<QVariant> args; QList<QVariant> args;
args.append(profile); args.append(profile);

View File

@ -228,7 +228,7 @@ void MainWindow::showApi()
{ {
if (debug) qDebug() << PDEBUG; if (debug) qDebug() << PDEBUG;
if (QDesktopServices::openUrl(QUrl(QString(DOCS_PATH) + QString("netctl-gui-dbus-api.html")))) if (QDesktopServices::openUrl(QUrl(QString("%1netctl-gui-dbus-api.html").arg(QString(DOCS_PATH)))))
ui->statusBar->showMessage(QApplication::translate("MainWindow", "Done")); ui->statusBar->showMessage(QApplication::translate("MainWindow", "Done"));
else else
ui->statusBar->showMessage(QApplication::translate("MainWindow", "Error")); ui->statusBar->showMessage(QApplication::translate("MainWindow", "Error"));
@ -239,7 +239,7 @@ void MainWindow::showLibrary()
{ {
if (debug) qDebug() << PDEBUG; if (debug) qDebug() << PDEBUG;
if (QDesktopServices::openUrl(QUrl(QString(DOCS_PATH) + QString("html/index.html")))) if (QDesktopServices::openUrl(QUrl(QString("%1html/index.html").arg(QString(DOCS_PATH)))))
ui->statusBar->showMessage(QApplication::translate("MainWindow", "Done")); ui->statusBar->showMessage(QApplication::translate("MainWindow", "Done"));
else else
ui->statusBar->showMessage(QApplication::translate("MainWindow", "Error")); ui->statusBar->showMessage(QApplication::translate("MainWindow", "Error"));
@ -250,7 +250,7 @@ void MainWindow::showSecurityNotes()
{ {
if (debug) qDebug() << PDEBUG; if (debug) qDebug() << PDEBUG;
if (QDesktopServices::openUrl(QUrl(QString(DOCS_PATH) + QString("netctl-gui-security-notes.html")))) if (QDesktopServices::openUrl(QUrl(QString("%1netctl-gui-security-notes.html").arg(QString(DOCS_PATH)))))
ui->statusBar->showMessage(QApplication::translate("MainWindow", "Done")); ui->statusBar->showMessage(QApplication::translate("MainWindow", "Done"));
else else
ui->statusBar->showMessage(QApplication::translate("MainWindow", "Error")); ui->statusBar->showMessage(QApplication::translate("MainWindow", "Error"));
@ -303,7 +303,7 @@ void MainWindow::setTab(int tab)
if (debug) qDebug() << PDEBUG; if (debug) qDebug() << PDEBUG;
if (debug) qDebug() << PDEBUG << ":" << "Set tab" << tab; if (debug) qDebug() << PDEBUG << ":" << "Set tab" << tab;
if (tab > 2) tab = 0; if ((tab > 2) || (tab < 0)) tab = 0;
if (tab == ui->tabWidget->currentIndex()) if (tab == ui->tabWidget->currentIndex())
updateTabs(tab); updateTabs(tab);
else else
@ -336,6 +336,7 @@ void MainWindow::updateConfiguration(const QMap<QString, QVariant> args)
// update translation // update translation
qApp->removeTranslator(translator); qApp->removeTranslator(translator);
QString language = Language::defineLanguage(configPath, args[QString("options")].toString()); QString language = Language::defineLanguage(configPath, args[QString("options")].toString());
if (debug) qDebug() << PDEBUG << ":" << "Language is" << language;
qtTranslator->load(QString("qt_%1").arg(language), QLibraryInfo::location(QLibraryInfo::TranslationsPath)); qtTranslator->load(QString("qt_%1").arg(language), QLibraryInfo::location(QLibraryInfo::TranslationsPath));
qApp->installTranslator(qtTranslator); qApp->installTranslator(qtTranslator);
translator->load(QString(":/translations/%1").arg(language)); translator->load(QString(":/translations/%1").arg(language));
@ -348,10 +349,7 @@ void MainWindow::updateConfiguration(const QMap<QString, QVariant> args)
// tray // tray
trayIcon->setVisible(QSystemTrayIcon::isSystemTrayAvailable() && (configuration[QString("SYSTRAY")] == QString("true"))); trayIcon->setVisible(QSystemTrayIcon::isSystemTrayAvailable() && (configuration[QString("SYSTRAY")] == QString("true")));
if (trayIcon->isVisible()) { if (trayIcon->isVisible()) {
if (configuration[QString("STARTTOTRAY")] == QString("true")) setHidden(configuration[QString("STARTTOTRAY")] == QString("true"));
hide();
else
show();
if (args[QString("minimized")].toInt() == 1) if (args[QString("minimized")].toInt() == 1)
show(); show();
else if (args[QString("minimized")].toInt() == 2) else if (args[QString("minimized")].toInt() == 2)
@ -442,7 +440,7 @@ void MainWindow::connectToUnknownEssid(const QString passwd)
if (hiddenNetwork) if (hiddenNetwork)
settings[QString("Hidden")] = QString("yes"); settings[QString("Hidden")] = QString("yes");
QString profile = QString("netctl-gui-") + settings[QString("ESSID")]; QString profile = QString("netctl-gui-%1").arg(settings[QString("ESSID")]);
profile.remove(QChar('"')).remove(QChar('\'')); profile.remove(QChar('"')).remove(QChar('\''));
if (useHelper) { if (useHelper) {
QStringList settingsList; QStringList settingsList;

View File

@ -185,7 +185,7 @@ QStringList MainWindow::printTrayInformation()
return printTrayInformation(); return printTrayInformation();
} }
netctlAutoStatus = responce[0].toBool(); netctlAutoStatus = responce[0].toBool();
profiles = parseOutputNetctl(sendRequestToLib(QString("ProfileList"), debug)); profiles = parseOutputNetctl(sendRequestToLib(QString("VerboseProfileList"), debug));
if (netctlAutoStatus) { if (netctlAutoStatus) {
QList<QVariant> args; QList<QVariant> args;
args.append(current); args.append(current);
@ -263,6 +263,8 @@ void MainWindow::closeEvent(QCloseEvent *event)
if ((QSystemTrayIcon::isSystemTrayAvailable()) && (configuration[QString("SYSTRAY")] == QString("true"))) { if ((QSystemTrayIcon::isSystemTrayAvailable()) && (configuration[QString("SYSTRAY")] == QString("true"))) {
hide(); hide();
trayIcon->showMessage(QApplication::translate("MainWindow", "Information"),
QApplication::translate("MainWindow", "Application has been hidden to tray"));
event->ignore(); event->ignore();
} else } else
closeMainWindow(); closeMainWindow();
@ -287,15 +289,14 @@ bool MainWindow::checkExternalApps(const QString apps = QString("all"))
cmd.append(configuration[QString("NETCTLAUTO_PATH")]); cmd.append(configuration[QString("NETCTLAUTO_PATH")]);
cmd.append(configuration[QString("SUDO_PATH")]); cmd.append(configuration[QString("SUDO_PATH")]);
} }
if ((apps == QString("sudo")) || (apps == QString("all"))) { if ((apps == QString("sudo")) || (apps == QString("wpasup")) || (apps == QString("all"))) {
cmd.append(configuration[QString("SUDO_PATH")]); cmd.append(configuration[QString("SUDO_PATH")]);
} }
if ((apps == QString("systemctl")) || (apps == QString("all"))) { if ((apps == QString("systemctl")) || (apps == QString("all"))) {
cmd.append(configuration[QString("SYSTEMCTL_PATH")]); cmd.append(configuration[QString("SYSTEMCTL_PATH")]);
cmd.append(configuration[QString("SUDO_PATH")]); cmd.append(configuration[QString("SUDO_PATH")]);
} }
if ((apps == QString("wpasup")) || (apps == QString("all"))) { if ((apps == QString("wpasup")) || (apps == QString("wpasup-only")) || (apps == QString("all"))) {
cmd.append(configuration[QString("SUDO_PATH")]);
cmd.append(configuration[QString("WPACLI_PATH")]); cmd.append(configuration[QString("WPACLI_PATH")]);
cmd.append(configuration[QString("WPASUP_PATH")]); cmd.append(configuration[QString("WPASUP_PATH")]);
} }
@ -417,8 +418,8 @@ void MainWindow::createObjects()
ui->setupUi(this); ui->setupUi(this);
ui->tableWidget_main->setColumnHidden(2, true); ui->tableWidget_main->setColumnHidden(2, true);
ui->tableWidget_main->setColumnHidden(3, true); ui->tableWidget_main->setColumnHidden(3, true);
ui->tableWidget_wifi->setColumnHidden(3, true); ui->tableWidget_wifi->setColumnHidden(5, true);
ui->tableWidget_wifi->setColumnHidden(4, true); ui->tableWidget_wifi->setColumnHidden(6, true);
aboutWin = new AboutWindow(this, debug); aboutWin = new AboutWindow(this, debug);
netctlAutoWin = new NetctlAutoWindow(this, debug, configuration); netctlAutoWin = new NetctlAutoWindow(this, debug, configuration);
settingsWin = new SettingsWindow(this, debug, configPath); settingsWin = new SettingsWindow(this, debug, configPath);
@ -506,6 +507,8 @@ void MainWindow::createToolBars()
toolBarActions[QString("profileRemove")] = actionToolBar->addAction(QIcon::fromTheme(QString("edit-delete")), toolBarActions[QString("profileRemove")] = actionToolBar->addAction(QIcon::fromTheme(QString("edit-delete")),
QApplication::translate("MainWindow", "Remove"), QApplication::translate("MainWindow", "Remove"),
this, SLOT(profileTabRemoveProfile())); this, SLOT(profileTabRemoveProfile()));
setMenuActionsShown(false);
ui->centralLayout->insertWidget(0, actionToolBar); ui->centralLayout->insertWidget(0, actionToolBar);
} }
@ -559,7 +562,7 @@ QMap<QString, QString> MainWindow::parseOptions(const QString options)
options.split(QChar(','))[i].split(QChar('='))[1]; options.split(QChar(','))[i].split(QChar('='))[1];
} }
for (int i=0; i<settings.keys().count(); i++) for (int i=0; i<settings.keys().count(); i++)
if (debug) qDebug() << PDEBUG << ":" << settings.keys()[i] + QString("=") + settings[settings.keys()[i]]; if (debug) qDebug() << PDEBUG << ":" << QString("%1=%2").arg(settings.keys()[i]).arg(settings[settings.keys()[i]]);
return settings; return settings;
} }

View File

@ -218,7 +218,7 @@
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="columnCount"> <property name="columnCount">
<number>5</number> <number>7</number>
</property> </property>
<attribute name="horizontalHeaderStretchLastSection"> <attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool> <bool>true</bool>
@ -234,6 +234,22 @@
<set>AlignHCenter|AlignVCenter|AlignCenter</set> <set>AlignHCenter|AlignVCenter|AlignCenter</set>
</property> </property>
</column> </column>
<column>
<property name="text">
<string>Type</string>
</property>
<property name="textAlignment">
<set>AlignHCenter|AlignVCenter|AlignCenter</set>
</property>
</column>
<column>
<property name="text">
<string># of points</string>
</property>
<property name="textAlignment">
<set>AlignHCenter|AlignVCenter|AlignCenter</set>
</property>
</column>
<column> <column>
<property name="text"> <property name="text">
<string>Signal</string> <string>Signal</string>
@ -289,7 +305,9 @@
</widget> </widget>
<action name="actionSecurity"> <action name="actionSecurity">
<property name="icon"> <property name="icon">
<iconset theme="security-medium"/> <iconset theme="security-medium">
<normaloff/>
</iconset>
</property> </property>
<property name="text"> <property name="text">
<string>Security</string> <string>Security</string>
@ -307,7 +325,9 @@
</action> </action>
<action name="actionReport_a_bug"> <action name="actionReport_a_bug">
<property name="icon"> <property name="icon">
<iconset theme="tools-report-bug"/> <iconset theme="tools-report-bug">
<normaloff/>
</iconset>
</property> </property>
<property name="text"> <property name="text">
<string>Report a bug</string> <string>Report a bug</string>
@ -315,7 +335,9 @@
</action> </action>
<action name="actionAbout"> <action name="actionAbout">
<property name="icon"> <property name="icon">
<iconset theme="help-about"/> <iconset theme="help-about">
<normaloff/>
</iconset>
</property> </property>
<property name="text"> <property name="text">
<string>About</string> <string>About</string>
@ -323,7 +345,9 @@
</action> </action>
<action name="actionQuit"> <action name="actionQuit">
<property name="icon"> <property name="icon">
<iconset theme="application-exit"/> <iconset theme="application-exit">
<normaloff/>
</iconset>
</property> </property>
<property name="text"> <property name="text">
<string>Quit</string> <string>Quit</string>
@ -334,7 +358,9 @@
</action> </action>
<action name="actionSettings"> <action name="actionSettings">
<property name="icon"> <property name="icon">
<iconset theme="configure"/> <iconset theme="configure">
<normaloff/>
</iconset>
</property> </property>
<property name="text"> <property name="text">
<string>Settings</string> <string>Settings</string>

View File

@ -226,7 +226,7 @@ void NetctlAutoWindow::netctlAutoUpdateTable()
} }
QList<netctlProfileInfo> profiles; QList<netctlProfileInfo> profiles;
if (useHelper) if (useHelper)
profiles = parseOutputNetctl(sendRequestToLib(QString("ProfileList"), debug)); profiles = parseOutputNetctl(sendRequestToLib(QString("VerboseProfileList"), debug));
else else
profiles = netctlCommand->getProfileListFromNetctlAuto(); profiles = netctlCommand->getProfileListFromNetctlAuto();

View File

@ -397,11 +397,12 @@ QMap<QString, QString> SettingsWindow::getDefault()
QMap<QString, QString> SettingsWindow::getSettings(QString fileName) QMap<QString, QString> SettingsWindow::getSettings(QString fileName)
{ {
if (debug) qDebug() << PDEBUG; if (debug) qDebug() << PDEBUG;
if (fileName == QString("")) fileName = file; if (fileName.isEmpty()) fileName = file;
QMap<QString, QString> config; QMap<QString, QString> config;
QSettings settings(fileName, QSettings::IniFormat); QSettings settings(fileName, QSettings::IniFormat);
config[QString("LANGUAGE")] = Language::defineLanguage(fileName, QString());
settings.beginGroup(QString("Common")); settings.beginGroup(QString("Common"));
config[QString("LANGUAGE")] = settings.value(QString("LANGUAGE"), QString("en")).toString(); config[QString("LANGUAGE")] = settings.value(QString("LANGUAGE"), QString("en")).toString();
config[QString("SYSTRAY")] = settings.value(QString("SYSTRAY"), QString("true")).toString(); config[QString("SYSTRAY")] = settings.value(QString("SYSTRAY"), QString("true")).toString();

View File

@ -112,7 +112,7 @@ void TrayIcon::updateMenu()
} }
QStringList profiles; QStringList profiles;
for (int i=0; i<currentProfiles.count(); i++) for (int i=0; i<currentProfiles.count(); i++)
profiles.append(currentProfiles[i] + QString(" (") + status[i] + QString(")")); profiles.append(QString("%1 (%2)").arg(currentProfiles[i]).arg(status[i]));
contextMenu[QString("title")]->setText(profiles.join(QString(" | "))); contextMenu[QString("title")]->setText(profiles.join(QString(" | ")));
} }

View File

@ -53,7 +53,7 @@ bool ControlAdaptor::Active()
QString ControlAdaptor::ApiDocs() QString ControlAdaptor::ApiDocs()
{ {
return (QString(DOCS_PATH) + QString("netctl-gui-dbus-api.html")); return (QString("%1netctl-gui-dbus-api.html").arg(QString(DOCS_PATH)));
} }
@ -82,8 +82,7 @@ QStringList ControlAdaptor::FindSettings()
QStringList settingsList; QStringList settingsList;
for (int i=0; i<configuration.keys().count(); i++) for (int i=0; i<configuration.keys().count(); i++)
settingsList.append(configuration.keys()[i] + QString("==") + settingsList.append(QString("%1==%2").arg(configuration.keys()[i]).arg(configuration[configuration.keys()[i]]));
configuration[configuration.keys()[i]]);
return settingsList; return settingsList;
} }
@ -91,7 +90,7 @@ QStringList ControlAdaptor::FindSettings()
QString ControlAdaptor::LibraryDocs() QString ControlAdaptor::LibraryDocs()
{ {
return (QString(DOCS_PATH) + QString("html/index.html")); return (QString("html/index.html").arg(QString(DOCS_PATH)));
} }
@ -99,8 +98,7 @@ QString ControlAdaptor::Pony()
{ {
QString pony; QString pony;
QFile ponyFile(QString(":pinkiepie")); QFile ponyFile(QString(":pinkiepie"));
if (!ponyFile.open(QIODevice::ReadOnly)) if (!ponyFile.open(QIODevice::ReadOnly)) return pony;
return pony;
pony = QTextCodec::codecForMib(106)->toUnicode(ponyFile.readAll()); pony = QTextCodec::codecForMib(106)->toUnicode(ponyFile.readAll());
ponyFile.close(); ponyFile.close();
@ -110,7 +108,7 @@ QString ControlAdaptor::Pony()
QString ControlAdaptor::SecurityDocs() QString ControlAdaptor::SecurityDocs()
{ {
return (QString(DOCS_PATH) + QString("netctl-gui-security-notes.html")); return (QString("%1netctl-gui-security-notes.html").arg(QString(DOCS_PATH)));
} }
@ -251,7 +249,7 @@ bool ControlAdaptor::Remove(const QString profile)
// wpaCommand // wpaCommand
QStringList ControlAdaptor::WiFi() QStringList ControlAdaptor::VerboseWiFi()
{ {
QList<netctlWifiInfo> wifiPoints = wpaCommand->scanWifi(); QList<netctlWifiInfo> wifiPoints = wpaCommand->scanWifi();
QStringList info; QStringList info;
@ -259,7 +257,11 @@ QStringList ControlAdaptor::WiFi()
QStringList point; QStringList point;
point.append(wifiPoints[i].name); point.append(wifiPoints[i].name);
point.append(wifiPoints[i].security); point.append(wifiPoints[i].security);
point.append(wifiPoints[i].frequencies.join(QChar(','))); point.append(QString::number(wifiPoints[i].type));
QStringList freqList;
for (int j=0; j<wifiPoints[i].frequencies.count(); j++)
freqList.append(QString::number(wifiPoints[i].frequencies[j]));
point.append(freqList.join(QChar(',')));
point.append(wifiPoints[i].macs.join(QChar(','))); point.append(wifiPoints[i].macs.join(QChar(',')));
point.append(QString::number(wifiPoints[i].signal)); point.append(QString::number(wifiPoints[i].signal));
point.append(QString::number(wifiPoints[i].active)); point.append(QString::number(wifiPoints[i].active));
@ -269,3 +271,21 @@ QStringList ControlAdaptor::WiFi()
return info; return info;
} }
QStringList ControlAdaptor::WiFi()
{
QList<netctlWifiInfo> wifiPoints = wpaCommand->scanWifi();
QStringList info;
for (int i=0; i<wifiPoints.count(); i++) {
QStringList point;
point.append(wifiPoints[i].name);
point.append(wifiPoints[i].security);
point.append(QString::number(wifiPoints[i].signal));
point.append(QString::number(wifiPoints[i].active));
point.append(QString::number(wifiPoints[i].exists));
info.append(point.join(QChar('|')));
}
return info;
}

View File

@ -68,6 +68,7 @@ public slots:
bool Create(const QString profile, const QStringList settingsList); bool Create(const QString profile, const QStringList settingsList);
bool Remove(const QString profile); bool Remove(const QString profile);
// wpaCommand // wpaCommand
QStringList VerboseWiFi();
QStringList WiFi(); QStringList WiFi();
private: private:

View File

@ -110,10 +110,10 @@ int main(int argc, char *argv[])
QString language = Language::defineLanguage(args[QString("config")].toString(), QString language = Language::defineLanguage(args[QString("config")].toString(),
args[QString("options")].toString()); args[QString("options")].toString());
QTranslator qtTranslator; QTranslator qtTranslator;
qtTranslator.load(QString("qt_") + language, QLibraryInfo::location(QLibraryInfo::TranslationsPath)); qtTranslator.load(QString("qt_%1").arg(language), QLibraryInfo::location(QLibraryInfo::TranslationsPath));
a.installTranslator(&qtTranslator); a.installTranslator(&qtTranslator);
QTranslator translator; QTranslator translator;
translator.load(QString(":/translations-helper/") + language); translator.load(QString(":/translations-helper/%1").arg(language));
a.installTranslator(&translator); a.installTranslator(&translator);
// running // running

View File

@ -32,7 +32,7 @@ QString errorMessage()
QMap<QString, QVariant> getArgs() QMap<QString, QVariant> getArgs()
{ {
QMap<QString, QVariant> args; QMap<QString, QVariant> args;
args[QString("config")] = QString(QDir::homePath() + QString("/.config/netctl-gui.conf")); args[QString("config")] = QString("%1/.config/netctl-gui.conf").arg(QDir::homePath());
args[QString("debug")] = false; args[QString("debug")] = false;
args[QString("nodaemon")] = false; args[QString("nodaemon")] = false;
args[QString("session")] = false; args[QString("session")] = false;

View File

@ -106,7 +106,69 @@ bool NetctlAdaptor::isProfileEnabled(const QString profile)
} }
QString NetctlAdaptor::netctlActiveProfile()
{
return netctlCommand->getActiveProfile().join(QChar('|'));
}
QStringList NetctlAdaptor::netctlProfileList()
{
QList<netctlProfileInfo> profilesInfo = netctlCommand->getProfileList();
QStringList info;
for (int i=0; i<profilesInfo.count(); i++) {
QStringList profileInfo;
profileInfo.append(profilesInfo[i].name);
profileInfo.append(profilesInfo[i].description);
profileInfo.append(QString::number(profilesInfo[i].active));
profileInfo.append(QString::number(profilesInfo[i].enabled));
info.append(profileInfo.join(QChar('|')));
}
return info;
}
QStringList NetctlAdaptor::netctlVerboseProfileList()
{
QList<netctlProfileInfo> profilesInfo = netctlCommand->getProfileList();
QStringList info;
for (int i=0; i<profilesInfo.count(); i++) {
QStringList profileInfo;
profileInfo.append(profilesInfo[i].name);
profileInfo.append(profilesInfo[i].description);
profileInfo.append(profilesInfo[i].essid);
profileInfo.append(QString::number(profilesInfo[i].active));
profileInfo.append(QString::number(profilesInfo[i].enabled));
info.append(profileInfo.join(QChar('|')));
}
return info;
}
QStringList NetctlAdaptor::ProfileList() QStringList NetctlAdaptor::ProfileList()
{
QList<netctlProfileInfo> profilesInfo;
if (isNetctlAutoActive())
profilesInfo = netctlCommand->getProfileListFromNetctlAuto();
else
profilesInfo = netctlCommand->getProfileList();
QStringList info;
for (int i=0; i<profilesInfo.count(); i++) {
QStringList profileInfo;
profileInfo.append(profilesInfo[i].name);
profileInfo.append(profilesInfo[i].description);
profileInfo.append(QString::number(profilesInfo[i].active));
profileInfo.append(QString::number(profilesInfo[i].enabled));
info.append(profileInfo.join(QChar('|')));
}
return info;
}
QStringList NetctlAdaptor::VerboseProfileList()
{ {
QList<netctlProfileInfo> profilesInfo; QList<netctlProfileInfo> profilesInfo;
if (isNetctlAutoActive()) if (isNetctlAutoActive())
@ -134,8 +196,7 @@ QStringList NetctlAdaptor::Profile(const QString profile)
QMap<QString, QString> settings = netctlProfile->getSettingsFromProfile(profile); QMap<QString, QString> settings = netctlProfile->getSettingsFromProfile(profile);
QStringList settingsList; QStringList settingsList;
for (int i=0; i<settings.keys().count(); i++) for (int i=0; i<settings.keys().count(); i++)
settingsList.append(settings.keys()[i] + QString("==") + settingsList.append(QString("%1==%2").arg(settings.keys()[i]).arg(settings[settings.keys()[i]]));
settings[settings.keys()[i]]);
return settingsList; return settingsList;
} }

View File

@ -46,7 +46,11 @@ public slots:
bool isNetctlAutoEnabled(); bool isNetctlAutoEnabled();
bool isProfileActive(const QString profile); bool isProfileActive(const QString profile);
bool isProfileEnabled(const QString profile); bool isProfileEnabled(const QString profile);
QString netctlActiveProfile();
QStringList netctlProfileList();
QStringList netctlVerboseProfileList();
QStringList ProfileList(); QStringList ProfileList();
QStringList VerboseProfileList();
// netctlProfile // netctlProfile
QStringList Profile(const QString profile); QStringList Profile(const QString profile);
QString ProfileValue(const QString profile, const QString key); QString ProfileValue(const QString profile, const QString key);

View File

@ -40,8 +40,7 @@ NetctlHelper::NetctlHelper(QObject *parent, QMap<QString, QVariant> args)
system(args[QString("system")].toBool()) system(args[QString("system")].toBool())
{ {
updateConfiguration(); updateConfiguration();
if (!args[QString("nodaemon")].toBool()) if (!args[QString("nodaemon")].toBool()) daemon(0, 0);
daemon(0, 0);
} }
@ -59,8 +58,7 @@ QStringList NetctlHelper::printSettings()
QStringList settingsList; QStringList settingsList;
for (int i=0; i<configuration.keys().count(); i++) for (int i=0; i<configuration.keys().count(); i++)
settingsList.append(configuration.keys()[i] + QString("==") + settingsList.append(QString("%1==%2").arg(configuration.keys()[i]).arg(configuration[configuration.keys()[i]]));
configuration[configuration.keys()[i]]);
return settingsList; return settingsList;
} }
@ -179,8 +177,7 @@ QMap<QString, QString> NetctlHelper::getSettings(const QString file)
settings.endGroup(); settings.endGroup();
for (int i=0; i<config.keys().count(); i++) for (int i=0; i<config.keys().count(); i++)
if (debug) qDebug() << PDEBUG << ":" << config.keys()[i] + QString("=") + if (debug) qDebug() << PDEBUG << ":" << QString("%1=%2").arg(config.keys()[i]).arg(config[config.keys()[i]]);
config[config.keys()[i]];
return config; return config;
} }

View File

@ -34,19 +34,40 @@
class Netctl; class Netctl;
class NetctlProfile; class NetctlProfile;
/**
* @enum PointType
* @brief WiFi point type
* @var PointType::None
* type is not defined
* @var PointType::TwoG
* point is only 2 GHz
* @var PointType::FiveG
* point is only 5 GHz
* @var PointType::TwoAndFiveG
* point has 2 and 5 GHz
*/
enum PointType {
None = 0,
TwoG,
FiveG,
TwoAndFiveG
};
/** /**
* @struct netctlWifiInfo * @struct netctlWifiInfo
* @brief WiFi information structure * @brief WiFi information structure
* @var netctlWifiInfo::frequencies
* point frequencies
* @var netctlWifiInfo::macs
* point MAC addresses
* @var netctlWifiInfo::name * @var netctlWifiInfo::name
* ESSID * ESSID
* @var netctlWifiInfo::security * @var netctlWifiInfo::security
* may be "WPA2", "WEP", "WEP", "none" * may be "WPA2", "WEP", "WEP", "none"
* @var netctlWifiInfo::signal * @var netctlWifiInfo::signal
* Wifi point signal * Wifi point signal
* @var netctlWifiInfo::macs * @var netctlWifiInfo::type
* point MAC addresses * WiFi point type
* @var netctlWifiInfo::frequencies
* point frequencies
* @var netctlWifiInfo::active * @var netctlWifiInfo::active
* whether associated profile is active * whether associated profile is active
* @var netctlWifiInfo::exists * @var netctlWifiInfo::exists
@ -54,11 +75,12 @@ class NetctlProfile;
*/ */
typedef struct typedef struct
{ {
QStringList frequencies; QList<int> frequencies;
QStringList macs; QStringList macs;
QString name; QString name;
QString security; QString security;
int signal; int signal;
PointType type = PointType::None;
bool active; bool active;
bool exists; bool exists;
} netctlWifiInfo; } netctlWifiInfo;

View File

@ -280,10 +280,23 @@ QList<netctlWifiInfo> WpaSup::scanWifi()
// append mac and frequency if exists // append mac and frequency if exists
int index = names.indexOf(name); int index = names.indexOf(name);
if ((name != QString("<hidden>")) && (index > -1)) { if ((name != QString("<hidden>")) && (index > -1)) {
scanResults[index].frequencies.append(line[1]); scanResults[index].frequencies.append(line[1].toInt());
scanResults[index].macs.append(line[0]); scanResults[index].macs.append(line[0]);
if (scanResults[index].signal < line[2].toInt()) if (scanResults[index].signal < line[2].toInt())
scanResults[index].signal = line[2].toInt(); scanResults[index].signal = line[2].toInt();
// check type
if ((line[1].toInt() >= 5000) && (line[1].toInt() < 6000)) {
if (scanResults[index].type == PointType::None)
scanResults[index].type = PointType::FiveG;
else if (scanResults[index].type == PointType::TwoG)
scanResults[index].type = PointType::TwoAndFiveG;
} else if ((line[1].toInt() < 5000) && (line[1].toInt() > 2000)) {
if (scanResults[index].type == PointType::None)
scanResults[index].type = PointType::TwoG;
else if (scanResults[index].type == PointType::FiveG)
scanResults[index].type = PointType::TwoAndFiveG;
}
continue; continue;
} }
@ -304,7 +317,14 @@ QList<netctlWifiInfo> WpaSup::scanWifi()
// mac // mac
wifiPoint.macs.append(line[0]); wifiPoint.macs.append(line[0]);
// frequencies // frequencies
wifiPoint.frequencies.append(line[1]); wifiPoint.frequencies.append(line[1].toInt());
// type
// check type
if ((line[1].toInt() >= 5000) && (line[1].toInt() < 6000)) {
wifiPoint.type = PointType::FiveG;
} else if ((line[1].toInt() < 5000) && (line[1].toInt() > 2000)) {
wifiPoint.type = PointType::TwoG;
}
// point signal // point signal
wifiPoint.signal = line[2].toInt(); wifiPoint.signal = line[2].toInt();
// point security // point security
@ -422,8 +442,8 @@ QString WpaSup::getWpaCliOutput(const QString commandLine)
} }
QString interface = interfaces[0]; QString interface = interfaces[0];
QString cmd = wpaCliPath + QString(" -i ") + interface + QString(" -p ") + ctrlDir + QString cmd = QString("%1 -i %2 -p %3 -P %4 %5").arg(wpaCliPath).arg(interface)
QString(" -P ") + pidFile + QString(" ") + commandLine; .arg(ctrlDir).arg(pidFile).arg(commandLine);
if (debug) qDebug() << PDEBUG << ":" << "Run cmd" << cmd; if (debug) qDebug() << PDEBUG << ":" << "Run cmd" << cmd;
TaskResult process = runTask(cmd); TaskResult process = runTask(cmd);
if (debug) qDebug() << PDEBUG << ":" << "Cmd returns" << process.exitCode; if (debug) qDebug() << PDEBUG << ":" << "Cmd returns" << process.exitCode;
@ -479,8 +499,8 @@ bool WpaSup::wpaCliCall(const QString commandLine)
} }
QString interface = interfaces[0]; QString interface = interfaces[0];
QString cmd = wpaCliPath + QString(" -i ") + interface + QString(" -p ") + ctrlDir + QString cmd = QString("%1 -i %2 -p %3 -P %4 %5").arg(wpaCliPath).arg(interface)
QString(" -P ") + pidFile + QString(" ") + commandLine; .arg(ctrlDir).arg(pidFile).arg(commandLine);
if (debug) qDebug() << PDEBUG << ":" << "Run cmd" << cmd; if (debug) qDebug() << PDEBUG << ":" << "Run cmd" << cmd;
TaskResult process = runTask(cmd); TaskResult process = runTask(cmd);
waitForProcess(1); waitForProcess(1);

View File

@ -243,8 +243,7 @@ void Netctl::enableProfileSlot()
} else { } else {
QProcess command; QProcess command;
QString commandLine = QString(""); QString commandLine = QString("");
if (useSudo) if (useSudo) commandLine = QString("%1 ").arg(paths[QString("sudo")]);
commandLine = paths[QString("sudo")] + QString(" ");
commandLine += paths[QString("netctl")] + enableStatus + info[QString("current")]; commandLine += paths[QString("netctl")] + enableStatus + info[QString("current")];
command.startDetached(commandLine); command.startDetached(commandLine);
} }
@ -263,9 +262,8 @@ void Netctl::restartProfileSlot()
} else { } else {
QProcess command; QProcess command;
QString commandLine = QString(""); QString commandLine = QString("");
if (useSudo) if (useSudo) commandLine = QString("%1 ").arg(paths[QString("sudo")]);
commandLine = paths[QString("sudo")] + QString(" "); commandLine += QString("%1 restart %2").arg(paths[QString("netctl")]).arg(info[QString("current")]);
commandLine += paths[QString("netctl")] + QString(" restart ") + info[QString("current")];
command.startDetached(commandLine); command.startDetached(commandLine);
} }
} }
@ -287,12 +285,11 @@ void Netctl::startProfileSlot(QAction *profile)
} else { } else {
QProcess command; QProcess command;
QString commandLine = QString(""); QString commandLine = QString("");
if (useSudo) if (useSudo) commandLine = QString("%1 ").arg(paths[QString("sudo")]);
commandLine = paths[QString("sudo")] + QString(" ");
if (status) if (status)
commandLine += paths[QString("netctl")] + QString(" switch-to ") + profile->text().remove(QChar('&')); commandLine += QString("%1 switch-to %2").arg(paths[QString("netctl")]).arg(profile->text().remove(QChar('&')));
else else
commandLine += paths[QString("netctl")] + QString(" start ") + profile->text().remove(QChar('&')); commandLine += QString("%1 start %2").arg(paths[QString("netctl")]).arg(profile->text().remove(QChar('&')));
command.startDetached(commandLine); command.startDetached(commandLine);
} }
} }
@ -310,9 +307,8 @@ void Netctl::stopProfileSlot()
} else { } else {
QProcess command; QProcess command;
QString commandLine = QString(""); QString commandLine = QString("");
if (useSudo) if (useSudo) commandLine = QString("%1 ").arg(paths[QString("sudo")]);
commandLine = paths[QString("sudo")] + QString(" "); commandLine += QString("%1 stop %2").arg(paths[QString("netctl")]).arg(info[QString("current")]);
commandLine += paths[QString("netctl")] + QString(" stop ") + info[QString("current")];
command.startDetached(commandLine); command.startDetached(commandLine);
} }
} }
@ -328,9 +324,8 @@ void Netctl::stopAllProfilesSlot()
else { else {
QProcess command; QProcess command;
QString commandLine = QString(""); QString commandLine = QString("");
if (useSudo) if (useSudo) commandLine = QString("%1 ").arg(paths[QString("sudo")]);
commandLine = paths[QString("sudo")] + QString(" "); commandLine += QString("%1 stop-all").arg(paths[QString("netctl")]);
commandLine += paths[QString("netctl")] + QString(" stop-all ");
command.startDetached(commandLine); command.startDetached(commandLine);
} }
} }
@ -349,8 +344,7 @@ void Netctl::switchToProfileSlot(QAction *profile)
sendDBusRequest(QString("autoStart"), args); sendDBusRequest(QString("autoStart"), args);
} else { } else {
QProcess command; QProcess command;
QString commandLine = paths[QString("netctlAuto")] + QString(" switch-to ") + QString commandLine = QString("%1 switch-to %2").arg(paths[QString("netctlAuto")]).arg(profile->text().remove(QChar('&')));
profile->text().remove(QChar('&'));
command.startDetached(commandLine); command.startDetached(commandLine);
} }
} }
@ -384,7 +378,7 @@ QList<QAction*> Netctl::contextualActions()
contextMenu[QString("title")]->setIcon(QIcon(paths[QString("active")])); contextMenu[QString("title")]->setIcon(QIcon(paths[QString("active")]));
else else
contextMenu[QString("title")]->setIcon(QIcon(paths[QString("inactive")])); contextMenu[QString("title")]->setIcon(QIcon(paths[QString("inactive")]));
contextMenu[QString("title")]->setText(info[QString("current")] + QString(" ") + info[QString("status")]); contextMenu[QString("title")]->setText(info[QString("info")]);
if (info[QString("status")] == QString("(netctl-auto)")) { if (info[QString("status")] == QString("(netctl-auto)")) {
contextMenu[QString("start")]->setVisible(false); contextMenu[QString("start")]->setVisible(false);
@ -760,13 +754,20 @@ void Netctl::createConfigurationInterface(KConfigDialog *parent)
uiAboutConfig.label_version->setText(i18n("Version %1\n(build date %2)", QString(VERSION), QString(BUILD_DATE))); uiAboutConfig.label_version->setText(i18n("Version %1\n(build date %2)", QString(VERSION), QString(BUILD_DATE)));
uiAboutConfig.label_description->setText(i18n("KDE widget which interacts with netctl.")); uiAboutConfig.label_description->setText(i18n("KDE widget which interacts with netctl."));
uiAboutConfig.label_links->setText(i18n("Links:") + QString("<br>") + uiAboutConfig.label_links->setText(i18n("Links:") + QString("<br>") +
QString("<a href=\"%1\">%2</a><br>").arg(QString(HOMEPAGE)).arg(i18n("Homepage")) + QString("<a href=\"%1\">%2</a><br>").arg(QString(HOMEPAGE))
QString("<a href=\"%1\">%2</a><br>").arg(QString(REPOSITORY)).arg(i18n("Repository")) + .arg(QApplication::translate("AboutWindow", "Homepage")) +
QString("<a href=\"%1\">%2</a><br>").arg(QString(BUGTRACKER)).arg(i18n("Bugtracker")) + QString("<a href=\"%1\">%2</a><br>").arg(QString(REPOSITORY))
QString("<a href=\"%1\">%2</a><br>").arg(QString(TRANSLATION)).arg(i18n("Translation issue")) + .arg(QApplication::translate("AboutWindow", "Repository")) +
QString("<a href=\"%1\">%2</a>").arg(QString(AUR_PACKAGES)).arg(i18n("AUR packages"))); QString("<a href=\"%1\">%2</a><br>").arg(QString(BUGTRACKER))
uiAboutConfig.label_license->setText(QString("<small>&copy; %1 <a href=\"mailto:%2\">%3</a><br>").arg(QString(DATE)).arg(QString(EMAIL)).arg(QString(AUTHOR)) + .arg(QApplication::translate("AboutWindow", "Bugtracker")) +
i18n("This software is licensed under %1", QString(LICENSE)) + QString("</small>")); QString("<a href=\"%1\">%2</a><br>").arg(QString(TRANSLATION))
.arg(QApplication::translate("AboutWindow", "Translation issue")) +\
QString("<a href=\"%1\">%2</a>").arg(QString(AUR_PACKAGES))
.arg(QApplication::translate("AboutWindow", "AUR packages")));
uiAboutConfig.label_license->setText(QString("<small>&copy; %1 <a href=\"mailto:%2\">%3</a><br>")
.arg(QString(DATE)).arg(QString(EMAIL)).arg(QString(AUTHOR)) +
i18n("This software is licensed under %1", QString(LICENSE)) +
QString("</small>"));
// 2nd tab // 2nd tab
QStringList trdPartyList = QString(TRDPARTY_LICENSE).split(QChar(';'), QString::SkipEmptyParts); QStringList trdPartyList = QString(TRDPARTY_LICENSE).split(QChar(';'), QString::SkipEmptyParts);
for (int i=0; i<trdPartyList.count(); i++) for (int i=0; i<trdPartyList.count(); i++)

View File

@ -94,8 +94,10 @@ QString NetctlAdds::getAboutText(const QString type)
QString("<a href=\"%1\">%2</a><br>").arg(QString(TRANSLATION)).arg(i18n("Translation issue")) + QString("<a href=\"%1\">%2</a><br>").arg(QString(TRANSLATION)).arg(i18n("Translation issue")) +
QString("<a href=\"%1\">%2</a>").arg(QString(AUR_PACKAGES)).arg(i18n("AUR packages")); QString("<a href=\"%1\">%2</a>").arg(QString(AUR_PACKAGES)).arg(i18n("AUR packages"));
else if (type == QString("copy")) else if (type == QString("copy"))
text = QString("<small>&copy; %1 <a href=\"mailto:%2\">%3</a><br>").arg(QString(DATE)).arg(QString(EMAIL)).arg(QString(AUTHOR)) + text = QString("<small>&copy; %1 <a href=\"mailto:%2\">%3</a><br>")
i18n("This software is licensed under %1", QString(LICENSE)) + QString("</small>"); .arg(QString(DATE)).arg(QString(EMAIL)).arg(QString(AUTHOR)) +
i18n("This software is licensed under %1", QString(LICENSE)) +
QString("</small>");
else if (type == QString("translators")) else if (type == QString("translators"))
text = i18n("Translators: %1", QString(TRANSLATORS)); text = i18n("Translators: %1", QString(TRANSLATORS));
else if (type == QString("3rdparty")) { else if (type == QString("3rdparty")) {
@ -126,7 +128,7 @@ QString NetctlAdds::parsePattern(const QString pattern)
QString parsed = pattern; QString parsed = pattern;
for (int i=0; i<values.keys().count(); i++) for (int i=0; i<values.keys().count(); i++)
parsed.replace(QString("$") + values.keys()[i], valueByKey(values.keys()[i])); parsed.replace(QString("$%1").arg(values.keys()[i]), valueByKey(values.keys()[i]));
// fix newline // fix newline
parsed.replace(QString("\n"), QString("<br>")); parsed.replace(QString("\n"), QString("<br>"));
@ -167,7 +169,7 @@ void NetctlAdds::setDataBySource(const QString sourceName, const QMap<QString, Q
void NetctlAdds::sendNotification(const QString eventId, const QString message) void NetctlAdds::sendNotification(const QString eventId, const QString message)
{ {
KNotification *notification = KNotification::event(eventId, QString("Netctl ::: ") + eventId, message); KNotification *notification = KNotification::event(eventId, QString("Netctl ::: %1").arg(eventId), message);
notification->setComponentName(QString("plasma-applet-org.kde.plasma.netctl")); notification->setComponentName(QString("plasma-applet-org.kde.plasma.netctl"));
} }
@ -200,7 +202,7 @@ void NetctlAdds::enableProfileSlot(const bool useHelper, const QString cmd, cons
sendDBusRequest(QString("Enable"), args); sendDBusRequest(QString("Enable"), args);
} else { } else {
QProcess command; QProcess command;
QString commandLine = sudoCmd + QString(" ") + cmd + enableStatus + values[QString("current")]; QString commandLine = QString("%1 %2%3%4").arg(sudoCmd).arg(cmd).arg(enableStatus).arg(values[QString("current")]);
command.startDetached(commandLine); command.startDetached(commandLine);
} }
} }
@ -217,7 +219,7 @@ void NetctlAdds::restartProfileSlot(const bool useHelper, const QString cmd, con
sendDBusRequest(QString("Restart"), args); sendDBusRequest(QString("Restart"), args);
} else { } else {
QProcess command; QProcess command;
QString commandLine = sudoCmd + QString(" ") + cmd + QString(" restart ") + values[QString("current")]; QString commandLine = QString("%1 %2 restart %3").arg(sudoCmd).arg(cmd).arg(values[QString("current")]);
command.startDetached(commandLine); command.startDetached(commandLine);
} }
} }
@ -243,11 +245,11 @@ void NetctlAdds::startProfileSlot(const bool useHelper, const QString cmd, const
sendDBusRequest(QString("Start"), args); sendDBusRequest(QString("Start"), args);
} else { } else {
QProcess command; QProcess command;
QString commandLine = sudoCmd + QString(" ") + cmd; QString commandLine = QString("%1 %2").arg(sudoCmd).arg(cmd);
if (values[QString("active")] == QString("true")) if (values[QString("active")] == QString("true"))
commandLine += QString(" switch-to ") + profile; commandLine += QString(" switch-to %1").arg(profile);
else else
commandLine += QString(" start ") + profile; commandLine += QString(" start %1").arg(profile);
command.startDetached(commandLine); command.startDetached(commandLine);
} }
} }
@ -264,7 +266,7 @@ void NetctlAdds::stopProfileSlot(const bool useHelper, const QString cmd, const
sendDBusRequest(QString("Start"), args); sendDBusRequest(QString("Start"), args);
} else { } else {
QProcess command; QProcess command;
QString commandLine = sudoCmd + QString(" ") + cmd + QString(" stop ") + values[QString("current")]; QString commandLine = QString("%1 %2 stop %3").arg(sudoCmd).arg(cmd).arg(values[QString("current")]);
command.startDetached(commandLine); command.startDetached(commandLine);
} }
} }
@ -279,7 +281,7 @@ void NetctlAdds::stopAllProfilesSlot(const bool useHelper, const QString cmd, co
sendDBusRequest(QString("StopAll"), QList<QVariant>()); sendDBusRequest(QString("StopAll"), QList<QVariant>());
else { else {
QProcess command; QProcess command;
QString commandLine = sudoCmd + QString(" ") + cmd + QString(" stop-all"); QString commandLine = QString("%1 %2 stop-all").arg(sudoCmd).arg(cmd);
command.startDetached(commandLine); command.startDetached(commandLine);
} }
} }
@ -302,7 +304,7 @@ void NetctlAdds::switchToProfileSlot(const bool useHelper, const QString cmd)
sendDBusRequest(QString("autoStart"), args); sendDBusRequest(QString("autoStart"), args);
} else { } else {
QProcess command; QProcess command;
QString commandLine = cmd + QString(" switch-to ") + profile; QString commandLine = QString("%1 switch-to %2").arg(cmd).arg(profile);
command.startDetached(commandLine); command.startDetached(commandLine);
} }
} }
@ -338,7 +340,7 @@ void NetctlAdds::writeDataEngineConfiguration(const QMap<QString, QVariant> conf
{ {
if (debug) qDebug() << PDEBUG; if (debug) qDebug() << PDEBUG;
QString fileName = QStandardPaths::writableLocation(QStandardPaths::ConfigLocation) + QString("/plasma-dataengine-netctl.conf"); QString fileName = QString("%1/plasma-dataengine-netctl.conf").arg(QStandardPaths::writableLocation(QStandardPaths::ConfigLocation));
QSettings settings(fileName, QSettings::IniFormat); QSettings settings(fileName, QSettings::IniFormat);
if (debug) qDebug() << PDEBUG << ":" << "Configuration file" << settings.fileName(); if (debug) qDebug() << PDEBUG << ":" << "Configuration file" << settings.fileName();

View File

@ -121,7 +121,7 @@ void TestNetctl::test_getRecommendedConfiguration()
QMap<QString, QString> resultMap = Netctl::getRecommendedConfiguration(); QMap<QString, QString> resultMap = Netctl::getRecommendedConfiguration();
QStringList result; QStringList result;
for (int i=0; i<resultMap.keys().count(); i++) for (int i=0; i<resultMap.keys().count(); i++)
result.append(resultMap.keys()[i] + QString("==") + resultMap[resultMap.keys()[i]]); result.append(QString("%1==%2").arg(resultMap.keys()[i]).arg(resultMap[resultMap.keys()[i]]));
QWARN("This test may fail on other configuration"); QWARN("This test may fail on other configuration");
QCOMPARE(result, original); QCOMPARE(result, original);
@ -135,8 +135,7 @@ void TestNetctl::test_getActiveProfile()
QStringList result = netctl->getActiveProfile(); QStringList result = netctl->getActiveProfile();
QStringList dbus; QStringList dbus;
if (helper) if (helper)
dbus = sendDBusRequest(QString("/netctl"), QString("ActiveProfile")) dbus = sendDBusRequest(QString("/netctl"), QString("netctlActiveProfile"))[0].toString().split(QChar('|'));
[0].toString().split(QChar('|'));
netctl->startProfile(QString("netctlgui-test-dummy")); netctl->startProfile(QString("netctlgui-test-dummy"));
delete netctl; delete netctl;

View File

@ -82,8 +82,7 @@ QList<QVariant> TestNetctlAuto::sendDBusRequest(const QString path, const QStrin
QDBusConnection bus = QDBusConnection::systemBus(); QDBusConnection bus = QDBusConnection::systemBus();
QDBusMessage request = QDBusMessage::createMethodCall(DBUS_HELPER_SERVICE, path, QDBusMessage request = QDBusMessage::createMethodCall(DBUS_HELPER_SERVICE, path,
DBUS_HELPER_INTERFACE, cmd); DBUS_HELPER_INTERFACE, cmd);
if (!args.isEmpty()) if (!args.isEmpty()) request.setArguments(args);
request.setArguments(args);
QDBusMessage response = bus.call(request); QDBusMessage response = bus.call(request);
QList<QVariant> arguments = response.arguments(); QList<QVariant> arguments = response.arguments();

View File

@ -68,8 +68,7 @@ QList<QVariant> TestNetctlProfile::sendDBusRequest(const QString path, const QSt
QDBusConnection bus = QDBusConnection::systemBus(); QDBusConnection bus = QDBusConnection::systemBus();
QDBusMessage request = QDBusMessage::createMethodCall(DBUS_HELPER_SERVICE, path, QDBusMessage request = QDBusMessage::createMethodCall(DBUS_HELPER_SERVICE, path,
DBUS_HELPER_INTERFACE, cmd); DBUS_HELPER_INTERFACE, cmd);
if (!args.isEmpty()) if (!args.isEmpty()) request.setArguments(args);
request.setArguments(args);
QDBusMessage response = bus.call(request); QDBusMessage response = bus.call(request);
QList<QVariant> arguments = response.arguments(); QList<QVariant> arguments = response.arguments();
@ -110,7 +109,7 @@ void TestNetctlProfile::test_getRecommendedConfiguration()
QMap<QString, QString> resultMap = NetctlProfile::getRecommendedConfiguration(); QMap<QString, QString> resultMap = NetctlProfile::getRecommendedConfiguration();
QStringList result; QStringList result;
for (int i=0; i<resultMap.keys().count(); i++) for (int i=0; i<resultMap.keys().count(); i++)
result.append(resultMap.keys()[i] + QString("==") + resultMap[resultMap.keys()[i]]); result.append(QString("%1==%2").arg(resultMap.keys()[i]).arg(resultMap[resultMap.keys()[i]]));
QWARN("This test may fail on other configuration"); QWARN("This test may fail on other configuration");
QCOMPARE(result, original); QCOMPARE(result, original);
@ -237,7 +236,7 @@ void TestNetctlProfile::test_createProfile()
args.append(QString("netctlgui-test-full")); args.append(QString("netctlgui-test-full"));
QStringList profileSettingsList; QStringList profileSettingsList;
for (int i=0; i<profileSettings.keys().count(); i++) for (int i=0; i<profileSettings.keys().count(); i++)
profileSettingsList.append(profileSettings.keys()[i] + QString("==") + profileSettings[profileSettings.keys()[i]]); profileSettingsList.append(QString("%1==%2").arg(profileSettings.keys()[i]).arg(profileSettings[profileSettings.keys()[i]]));
args.append(profileSettingsList); args.append(profileSettingsList);
QVERIFY(sendDBusRequest(QString("/ctrl"), QString("Create"), args)[0].toBool()); QVERIFY(sendDBusRequest(QString("/ctrl"), QString("Create"), args)[0].toBool());
} }
@ -300,7 +299,7 @@ phase2=\"auth=PAP\"\
} }
QMap<QString, QString> resultMap = netctl->getSettingsFromProfile(QString("netctlgui-test-full")); QMap<QString, QString> resultMap = netctl->getSettingsFromProfile(QString("netctlgui-test-full"));
for (int i=0; i<resultMap.keys().count(); i++) for (int i=0; i<resultMap.keys().count(); i++)
result.append(resultMap.keys()[i] + QString("==") + resultMap[resultMap.keys()[i]]); result.append(QString("%1==%2").arg(resultMap.keys()[i]).arg(resultMap[resultMap.keys()[i]]));
netctl->removeProfile(QString("netctlgui-test-full")); netctl->removeProfile(QString("netctlgui-test-full"));
delete netctl; delete netctl;

View File

@ -43,8 +43,7 @@ QList<QVariant> TestWpaSup::sendDBusRequest(const QString path, const QString cm
QDBusConnection bus = QDBusConnection::systemBus(); QDBusConnection bus = QDBusConnection::systemBus();
QDBusMessage request = QDBusMessage::createMethodCall(DBUS_HELPER_SERVICE, path, QDBusMessage request = QDBusMessage::createMethodCall(DBUS_HELPER_SERVICE, path,
DBUS_HELPER_INTERFACE, cmd); DBUS_HELPER_INTERFACE, cmd);
if (!args.isEmpty()) if (!args.isEmpty()) request.setArguments(args);
request.setArguments(args);
QDBusMessage response = bus.call(request); QDBusMessage response = bus.call(request);
QList<QVariant> arguments = response.arguments(); QList<QVariant> arguments = response.arguments();
@ -86,7 +85,7 @@ void TestWpaSup::test_getRecommendedConfiguration()
QMap<QString, QString> resultMap = WpaSup::getRecommendedConfiguration(); QMap<QString, QString> resultMap = WpaSup::getRecommendedConfiguration();
QStringList result; QStringList result;
for (int i=0; i<resultMap.keys().count(); i++) for (int i=0; i<resultMap.keys().count(); i++)
result.append(resultMap.keys()[i] + QString("==") + resultMap[resultMap.keys()[i]]); result.append(QString("%1==%2").arg(resultMap.keys()[i]).arg(resultMap[resultMap.keys()[i]]));
QWARN("This test may fail on other configuration"); QWARN("This test may fail on other configuration");
QCOMPARE(result, original); QCOMPARE(result, original);