Skip to content

Commit 350518f

Browse files
Added error message when something is wrong with wpa supplicant
1 parent fa9e8aa commit 350518f

File tree

9 files changed

+83
-33
lines changed

9 files changed

+83
-33
lines changed

translations/fr/trikGui_fr.ts

Lines changed: 25 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -50,25 +50,25 @@
5050
<context>
5151
<name>trikGui::Controller</name>
5252
<message>
53-
<location filename="../../trikGui/controller.cpp" line="155"/>
53+
<location filename="../../trikGui/controller.cpp" line="165"/>
5454
<source>direct command</source>
5555
<translation type="unfinished"></translation>
5656
</message>
5757
</context>
5858
<context>
5959
<name>trikGui::FileManagerWidget</name>
6060
<message>
61-
<location filename="../../trikGui/fileManagerWidget.cpp" line="94"/>
61+
<location filename="../../trikGui/fileManagerWidget.cpp" line="101"/>
6262
<source>File Manager</source>
6363
<translation type="unfinished"></translation>
6464
</message>
6565
<message>
66-
<location filename="../../trikGui/fileManagerWidget.cpp" line="118"/>
66+
<location filename="../../trikGui/fileManagerWidget.cpp" line="125"/>
6767
<source>Confirm deletion</source>
6868
<translation type="unfinished"></translation>
6969
</message>
7070
<message>
71-
<location filename="../../trikGui/fileManagerWidget.cpp" line="119"/>
71+
<location filename="../../trikGui/fileManagerWidget.cpp" line="126"/>
7272
<source>Are you sure you want to delete file?</source>
7373
<translation type="unfinished"></translation>
7474
</message>
@@ -216,12 +216,12 @@
216216
<context>
217217
<name>trikGui::StartWidget</name>
218218
<message>
219-
<location filename="../../trikGui/startWidget.cpp" line="50"/>
219+
<location filename="../../trikGui/startWidget.cpp" line="49"/>
220220
<source>TRIK</source>
221221
<translation type="unfinished"></translation>
222222
</message>
223223
<message>
224-
<location filename="../../trikGui/startWidget.cpp" line="55"/>
224+
<location filename="../../trikGui/startWidget.cpp" line="54"/>
225225
<source>Settings</source>
226226
<translation type="unfinished"></translation>
227227
</message>
@@ -318,52 +318,57 @@
318318
<context>
319319
<name>trikGui::WiFiClientWidget</name>
320320
<message>
321-
<location filename="../../trikGui/wiFiClientWidget.cpp" line="61"/>
321+
<location filename="../../trikGui/wiFiClientWidget.cpp" line="56"/>
322322
<source>IP:</source>
323323
<translation type="unfinished"></translation>
324324
</message>
325325
<message>
326-
<location filename="../../trikGui/wiFiClientWidget.cpp" line="64"/>
326+
<location filename="../../trikGui/wiFiClientWidget.cpp" line="59"/>
327327
<source>Name:</source>
328328
<translation type="unfinished"></translation>
329329
</message>
330330
<message>
331-
<location filename="../../trikGui/wiFiClientWidget.cpp" line="69"/>
331+
<location filename="../../trikGui/wiFiClientWidget.cpp" line="64"/>
332332
<source>Available networks:</source>
333333
<translation type="unfinished"></translation>
334334
</message>
335335
<message>
336-
<location filename="../../trikGui/wiFiClientWidget.cpp" line="154"/>
336+
<location filename="../../trikGui/wiFiClientWidget.cpp" line="169"/>
337337
<source>connecting...</source>
338338
<translation type="unfinished"></translation>
339339
</message>
340340
<message>
341-
<location filename="../../trikGui/wiFiClientWidget.cpp" line="159"/>
341+
<location filename="../../trikGui/wiFiClientWidget.cpp" line="174"/>
342342
<source>no connection</source>
343343
<translation type="unfinished"></translation>
344344
</message>
345+
<message>
346+
<location filename="../../trikGui/wiFiClientWidget.cpp" line="179"/>
347+
<source>error</source>
348+
<translation type="unfinished"></translation>
349+
</message>
345350
</context>
346351
<context>
347352
<name>trikGui::WiFiInitWidget</name>
348353
<message>
349-
<location filename="../../trikGui/wiFiInitWidget.cpp" line="31"/>
354+
<location filename="../../trikGui/wiFiInitWidget.cpp" line="30"/>
350355
<source>Network initialization
351356
in process</source>
352357
<translation type="unfinished"></translation>
353358
</message>
354359
<message>
355-
<location filename="../../trikGui/wiFiInitWidget.cpp" line="33"/>
360+
<location filename="../../trikGui/wiFiInitWidget.cpp" line="32"/>
356361
<source>Please wait</source>
357362
<translation type="unfinished"></translation>
358363
</message>
359364
<message>
360-
<location filename="../../trikGui/wiFiInitWidget.cpp" line="34"/>
365+
<location filename="../../trikGui/wiFiInitWidget.cpp" line="33"/>
361366
<source>Press Escape
362367
for break</source>
363368
<translation type="unfinished"></translation>
364369
</message>
365370
<message>
366-
<location filename="../../trikGui/wiFiInitWidget.cpp" line="115"/>
371+
<location filename="../../trikGui/wiFiInitWidget.cpp" line="114"/>
367372
<source>Network initialization
368373
failed</source>
369374
<translation type="unfinished"></translation>
@@ -372,23 +377,23 @@ failed</source>
372377
<context>
373378
<name>trikGui::WiFiModeWidget</name>
374379
<message>
375-
<location filename="../../trikGui/wiFiModeWidget.cpp" line="35"/>
380+
<location filename="../../trikGui/wiFiModeWidget.cpp" line="32"/>
376381
<source>Choose mode:</source>
377382
<translation type="unfinished"></translation>
378383
</message>
379384
<message>
380-
<location filename="../../trikGui/wiFiModeWidget.cpp" line="37"/>
381-
<location filename="../../trikGui/wiFiModeWidget.cpp" line="64"/>
385+
<location filename="../../trikGui/wiFiModeWidget.cpp" line="34"/>
386+
<location filename="../../trikGui/wiFiModeWidget.cpp" line="61"/>
382387
<source>Wi-Fi client</source>
383388
<translation type="unfinished"></translation>
384389
</message>
385390
<message>
386-
<location filename="../../trikGui/wiFiModeWidget.cpp" line="38"/>
391+
<location filename="../../trikGui/wiFiModeWidget.cpp" line="35"/>
387392
<source>Wi-Fi access point</source>
388393
<translation type="unfinished"></translation>
389394
</message>
390395
<message>
391-
<location filename="../../trikGui/wiFiModeWidget.cpp" line="52"/>
396+
<location filename="../../trikGui/wiFiModeWidget.cpp" line="49"/>
392397
<source>Network Config</source>
393398
<translation type="unfinished"></translation>
394399
</message>

translations/ru/trikGui_ru.qm

71 Bytes
Binary file not shown.

translations/ru/trikGui_ru.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<!DOCTYPE TS>
3-
<TS version="2.0" language="ru_RU">
3+
<TS version="2.1" language="ru_RU">
44
<context>
55
<name>QObject</name>
66
<message>
@@ -329,6 +329,10 @@
329329
<source>Name:</source>
330330
<translation>Имя:</translation>
331331
</message>
332+
<message>
333+
<source>error</source>
334+
<translation>ошибка</translation>
335+
</message>
332336
</context>
333337
<context>
334338
<name>trikGui::WiFiInitWidget</name>

trikGui/wiFiClientWidget.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,10 @@ void WiFiClientWidget::listNetworksReadySlot()
136136
void WiFiClientWidget::errorSlot(const QString &message)
137137
{
138138
QLOG_ERROR() << message;
139+
if (message == "statusRequest") {
140+
mConnectionState = errored;
141+
setConnectionStatus(trikWiFi::Status());
142+
}
139143
}
140144

141145
void WiFiClientWidget::keyPressEvent(QKeyEvent *event)
@@ -171,6 +175,11 @@ void WiFiClientWidget::setConnectionStatus(const trikWiFi::Status &status)
171175
mIpValueLabel.setText(tr("no connection"));
172176
mCurrentSsid = "";
173177
break;
178+
case errored:
179+
pixmap.load("://resources/notConnected.png");
180+
mIpValueLabel.setText(tr("error"));
181+
mCurrentSsid = "";
182+
break;
174183
}
175184

176185
mConnectionIconLabel.setPixmap(pixmap);

trikGui/wiFiClientWidget.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ private slots:
7777
notConnected
7878
, connecting
7979
, connected
80+
, errored
8081
};
8182

8283
QLabel mConnectionIconLabel;

trikRuntime.pro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,5 +40,5 @@ trikRun.depends = trikScriptRunner trikKernel qslog
4040
trikScriptRunner.depends = trikControl trikKernel trikNetwork qslog
4141
trikServer.depends = trikCommunicator qslog
4242
trikTelemetry.depends = trikControl trikNetwork trikKernel qslog
43-
trikWiFi.depends = qslog
43+
trikWiFi.depends = qslog trikKernel
4444
trikHal.depends = qslog

trikWiFi/include/trikWiFi/trikWiFi.h

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,19 +50,25 @@ class TRIKWIFI_EXPORT TrikWiFi : public QObject
5050
/// Disconnect from network if we are currently connected to one.
5151
void disconnect();
5252

53-
/// Asynchronously scans for available WiFi networks. When done, sends scanFinished signal, then scan results
54-
/// can be obtained via scanResults method.
53+
/// Asynchronously gets conection status and connection information such as SSID and IP. Emits statusReady when
54+
/// done, then status can be obtained by statusResult() call.
5555
void statusRequest();
5656

5757
/// Returns last known connection status. To refresh, use statusRequest() method.
5858
Status statusResult() const;
5959

60+
/// Asynchronously scans for available WiFi networks. When done, sends scanFinished() signal, then scan results
61+
/// can be obtained via scanResult() method.
6062
void scanRequest();
6163

64+
/// Returns a list of currently known available WiFi networks. Use scanRequest() method to refresh.
6265
QList<ScanResult> scanResult() const;
6366

67+
/// Asynchronously gets registered networks from wpa_supplicant. When ready, listNetworksReady() signal and results
68+
/// can be received by listNetworksResult() method. wpa_supplicant can connect only to registered networks.
6469
void listNetworksRequest();
6570

71+
/// Returns a current list of registered networks. Use listNetworksRequest() method to refresh.
6672
QList<NetworkConfiguration> listNetworksResult() const;
6773

6874
/// Disposes an old connection to wpa_supplicant and creates a new one.
@@ -73,7 +79,7 @@ class TRIKWIFI_EXPORT TrikWiFi : public QObject
7379

7480
signals:
7581
/// Emitted when scanning for available networks initiated by scan() is finished and results are available
76-
/// and ready to be obtained by scanResults method.
82+
/// and ready to be obtained by scanResults() method.
7783
void scanFinished();
7884

7985
/// Emitted when wpa_supplicant connects to WiFi network. SSID of this network can be retrieved by status() method.
@@ -82,14 +88,22 @@ class TRIKWIFI_EXPORT TrikWiFi : public QObject
8288
/// Emitted when wpa_supplicant disconnects from current network.
8389
void disconnected();
8490

91+
/// Emitted when connection status requested by statusRequest() is ready and results can be obtained by
92+
/// statusResult() method.
8593
void statusReady();
8694

95+
/// Emitted when list of known networks requested by listNetworksRequest() is ready and its results can be obtained
96+
/// by listNetworksResult() method.
8797
void listNetworksReady();
8898

99+
/// Emitted when something goes wrong.
89100
void error(const QString &message);
90101

91102
private:
103+
/// Worker in separate thread that communicates with wpa_supplicant.
92104
QScopedPointer<TrikWiFiWorker> mWorker;
105+
106+
/// Thread for worker.
93107
QThread mWorkerThread;
94108
};
95109

trikWiFi/src/trikWiFiWorker.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,10 @@ void TrikWiFiWorker::reinit()
5858
QLOG_ERROR() << "Can not get monitor file descriptor";
5959
}
6060

61+
statusRequest();
62+
listNetworksRequest();
63+
scanRequest();
64+
6165
QLOG_INFO() << "WiFi initialized";
6266
}
6367

trikWiFi/src/trikWiFiWorker.h

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -55,19 +55,27 @@ class TrikWiFiWorker : public QObject
5555
/// Closes the connection to wpa_supplicant.
5656
Q_INVOKABLE void dispose();
5757

58-
Q_INVOKABLE void listNetworksRequest();
59-
58+
/// Gets conection status and connection information such as SSID and IP. Emits statusReady when
59+
/// done, then status can be obtained by statusResult() call.
6060
Q_INVOKABLE void statusRequest();
6161

62-
Q_INVOKABLE void scanRequest();
63-
64-
QList<NetworkConfiguration> listNetworksResult();
65-
6662
/// Returns last known connection status. To refresh, use statusRequest() method.
6763
Status statusResult();
6864

65+
/// Scans for available WiFi networks. When done, sends scanFinished() signal, then scan results
66+
/// can be obtained via scanResult() method.
67+
Q_INVOKABLE void scanRequest();
68+
69+
/// Returns a list of currently known available WiFi networks. Use scanRequest() method to refresh.
6970
QList<ScanResult> scanResult();
7071

72+
/// Gets registered networks from wpa_supplicant. When ready, listNetworksReady() signal and results
73+
/// can be received by listNetworksResult() method. wpa_supplicant can connect only to registered networks.
74+
Q_INVOKABLE void listNetworksRequest();
75+
76+
/// Returns a current list of registered networks. Use listNetworksRequest() method to refresh.
77+
QList<NetworkConfiguration> listNetworksResult();
78+
7179
signals:
7280
/// Emitted when scanning for available networks initiated by scan() is finished and results are available
7381
/// and ready to be obtained by scanResults method.
@@ -76,15 +84,20 @@ class TrikWiFiWorker : public QObject
7684
/// Emitted when wpa_supplicant connects to WiFi network. SSID of this network can be retrieved by status() method.
7785
void connected();
7886

79-
void error(const QString &message);
80-
8187
/// Emitted when wpa_supplicant disconnects from current network.
8288
void disconnected();
8389

90+
/// Emitted when connection status requested by statusRequest() is ready and results can be obtained by
91+
/// statusResult() method.
8492
void statusReady();
8593

94+
/// Emitted when list of known networks requested by listNetworksRequest() is ready and its results can be obtained
95+
/// by listNetworksResult() method.
8696
void listNetworksReady();
8797

98+
/// Emitted when something goes wrong.
99+
void error(const QString &message);
100+
88101
private slots:
89102
void receiveMessages();
90103

0 commit comments

Comments
 (0)