+ add CurrentWiFi method

+ add support of pid files with interface name to provide compability
with netctl module
* change default wpa_sup ctrl paths
* optimization of wifi calls
This commit is contained in:
arcan1s
2015-03-10 00:52:45 +03:00
parent 362a11f0bc
commit 19976819a1
16 changed files with 183 additions and 76 deletions

View File

@ -196,6 +196,11 @@ small {
<td>yes</td>
</tr>
<!-- wpa_supplicant actions -->
<tr>
<td>QStringList CurrentWiFi()</td>
<td>returns current WiFi point in format <code>NAME|SECURITY|TYPE|FREQS|MACS|SIGNAL|ACTIVE|EXISTS</code></td>
<td>yes</td>
</tr>
<tr>
<td>QStringList VerboseWiFi()</td>
<td>returns available WiFi points in format <code>NAME|SECURITY|TYPE|FREQS|MACS|SIGNAL|ACTIVE|EXISTS</code></td>
@ -238,7 +243,7 @@ small {
</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>returns available profiles in format <code>NAME|DESCRIPTION|TYPE|INTERFACE|ESSID|ACTIVE|ENABLED</code> from netctl even if netctl-auto is running</td>
<td>no</td>
</tr>
<tr>
@ -248,7 +253,7 @@ small {
</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|TYPE|INTERFACE|ESSID|ACTIVE|ENABLED</code></td>
<td>no</td>
</tr>
<tr>

View File

@ -33,13 +33,15 @@ QList<netctlProfileInfo> parseOutputNetctl(const QList<QVariant> raw)
QStringList list = raw[0].toStringList();
for (int i=0; i<list.count(); i++) {
QStringList info = list[i].split(QChar('|'));
if (info.count() != 5) continue;
if (info.count() != 7) continue;
netctlProfileInfo profile;
profile.name = info[0];
profile.description = info[1];
profile.essid = info[2];
profile.active = info[3].toInt();
profile.enabled = info[4].toInt();
profile.type = info[2];
profile.interface = info[3];
profile.essid = info[4];
profile.active = info[5].toInt();
profile.enabled = info[6].toInt();
profileInfo.append(profile);
}

View File

@ -181,9 +181,14 @@ void MainWindow::updateMainTab()
font.setItalic(profiles[i].enabled);
// tooltip
QString toolTip = QString("");
toolTip += QString("%1: %2\n").arg(QApplication::translate("MainWindow", "Active")).arg(checkStatus(profiles[i].active));
toolTip += QString("%1: %2\n").arg(QApplication::translate("MainWindow", "Enabled")).arg(checkStatus(profiles[i].enabled));
toolTip += QString("%1: %2").arg(QApplication::translate("MainWindow", "Is wireless")).arg(checkStatus(!profiles[i].essid.isEmpty()));
toolTip += QString("%1: %2@%3\n").arg(QApplication::translate("MainWindow", "Type"))
.arg(profiles[i].type).arg(profiles[i].interface);
toolTip += QString("%1: %2\n").arg(QApplication::translate("MainWindow", "Active"))
.arg(checkStatus(profiles[i].active));
toolTip += QString("%1: %2\n").arg(QApplication::translate("MainWindow", "Enabled"))
.arg(checkStatus(profiles[i].enabled));
toolTip += QString("%1: %2").arg(QApplication::translate("MainWindow", "Is wireless"))
.arg(checkStatus(!profiles[i].essid.isEmpty()));
// name
ui->tableWidget_main->setItem(i, 0, new QTableWidgetItem(profiles[i].name));
ui->tableWidget_main->item(i, 0)->setTextAlignment(Qt::AlignRight | Qt::AlignVCenter);
@ -296,9 +301,12 @@ void MainWindow::updateWifiTab()
.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").arg(QApplication::translate("MainWindow", "Exists")).arg(checkStatus(scanResults[i].exists));
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").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);

View File

@ -435,9 +435,9 @@ QMap<QString, QString> SettingsWindow::getSettings(QString fileName)
settings.beginGroup(QString("wpa_supplicant"));
config[QString("WPASUP_PATH")] = settings.value(QString("WPASUP_PATH"), QString("/usr/bin/wpa_supplicant")).toString();
config[QString("WPACLI_PATH")] = settings.value(QString("WPACLI_PATH"), QString("/usr/bin/wpa_cli")).toString();
config[QString("PID_FILE")] = settings.value(QString("PID_FILE"), QString("/run/wpa_supplicant_netctl-gui.pid")).toString();
config[QString("PID_FILE")] = settings.value(QString("PID_FILE"), QString("/run/wpa_supplicant_$i.pid")).toString();
config[QString("WPA_DRIVERS")] = settings.value(QString("WPA_DRIVERS"), QString("nl80211,wext")).toString();
config[QString("CTRL_DIR")] = settings.value(QString("CTRL_DIR"), QString("/run/wpa_supplicant_netctl-gui")).toString();
config[QString("CTRL_DIR")] = settings.value(QString("CTRL_DIR"), QString("/run/wpa_supplicant")).toString();
config[QString("CTRL_GROUP")] = settings.value(QString("CTRL_GROUP"), QString("users")).toString();
settings.endGroup();