Skip to content

Commit 7bcf47b

Browse files
Work wifi implematation (#61)
* ADD: added loadwidget ADD: added active status to wifi list ADD: added load when info_box is updating * Add: added clicked signal * UPD: updated from 710x410 to 810x480 * UPD: updated .ui of the keyboard * ADD: implemented keyboard into network * bugfix: keyboard back didnt work --------- Co-authored-by: Hugo Costa <hugo.santos.costa@gmail.com>
1 parent be6cb24 commit 7bcf47b

8 files changed

Lines changed: 704 additions & 107 deletions

File tree

BlocksScreen/lib/panels/networkWindow.py

Lines changed: 82 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
from lib.panels.widgets.popupDialogWidget import Popup
88
from lib.ui.wifiConnectivityWindow_ui import Ui_wifi_stacked_page
99
from lib.utils.list_button import ListCustomButton
10+
from lib.panels.widgets.keyboardPage import CustomQwertyKeyboard
1011
from PyQt6 import QtCore, QtGui, QtWidgets
1112

1213
logger = logging.getLogger("logs/BlocksScreen.log")
@@ -100,7 +101,10 @@ def run(self) -> None:
100101
if ssid != "UNKNOWN"
101102
else 0
102103
)
103-
self.network_items_list.append((ssid, signal, "Saved"))
104+
if ssid == self.nm.get_current_ssid():
105+
self.network_items_list.append((ssid, signal, "Active"))
106+
else:
107+
self.network_items_list.append((ssid, signal, "Saved"))
104108
if saved_networks and unsaved_networks: # Separator
105109
self.network_items_list.append("separator")
106110
if unsaved_networks:
@@ -247,8 +251,10 @@ def __init__(self, parent: typing.Optional[QtWidgets.QWidget], /) -> None:
247251
)
248252
)
249253

250-
self.panel.hotspot_change_confirm.clicked.connect( # Also goes back to the main page
251-
lambda: self.setCurrentIndex(self.indexOf(self.panel.main_network_page))
254+
self.panel.hotspot_change_confirm.clicked.connect(
255+
lambda: self.setCurrentIndex(
256+
self.indexOf(self.panel.main_network_page)
257+
)
252258
)
253259

254260
self.panel.hotspot_password_input_field.setHidden(True)
@@ -270,32 +276,32 @@ def __init__(self, parent: typing.Optional[QtWidgets.QWidget], /) -> None:
270276
)
271277
self.panel.saved_connection_change_password_view.pressed.connect(
272278
lambda: self.panel.saved_connection_change_password_view.setPixmap(
273-
QtGui.QPixmap(":/ui/media/btn_icons/unsee.svg")
279+
QtGui.QPixmap(":/ui/media/btn_icons/see.svg")
274280
)
275281
)
276282
self.panel.saved_connection_change_password_view.released.connect(
277283
lambda: self.panel.saved_connection_change_password_view.setPixmap(
278-
QtGui.QPixmap(":/ui/media/btn_icons/see.svg")
284+
QtGui.QPixmap(":/ui/media/btn_icons/unsee.svg")
279285
)
280286
)
281287
self.panel.add_network_password_view.released.connect(
282288
lambda: self.panel.add_network_password_view.setPixmap(
283-
QtGui.QPixmap(":/ui/media/btn_icons/see.svg")
289+
QtGui.QPixmap(":/ui/media/btn_icons/unsee.svg")
284290
)
285291
)
286292
self.panel.add_network_password_view.pressed.connect(
287293
lambda: self.panel.add_network_password_view.setPixmap(
288-
QtGui.QPixmap(":/ui/media/btn_icons/unsee.svg")
294+
QtGui.QPixmap(":/ui/media/btn_icons/see.svg")
289295
)
290296
)
291297
self.panel.hotspot_password_view_button.released.connect(
292298
lambda: self.panel.hotspot_password_view_button.setPixmap(
293-
QtGui.QPixmap(":/ui/media/btn_icons/see.svg")
299+
QtGui.QPixmap(":/ui/media/btn_icons/unsee.svg")
294300
)
295301
)
296302
self.panel.hotspot_password_view_button.pressed.connect(
297303
lambda: self.panel.hotspot_password_view_button.setPixmap(
298-
QtGui.QPixmap(":/ui/media/btn_icons/unsee.svg")
304+
QtGui.QPixmap(":/ui/media/btn_icons/see.svg")
299305
)
300306
)
301307

@@ -329,6 +335,69 @@ def __init__(self, parent: typing.Optional[QtWidgets.QWidget], /) -> None:
329335
self.request_network_scan.emit()
330336
self.evaluate_network_state()
331337
self.hide()
338+
self.info_box_load()
339+
340+
self.qwerty = CustomQwertyKeyboard(self)
341+
self.addWidget(self.qwerty)
342+
self.qwerty.value_selected.connect(self.on_qwerty_value_selected)
343+
self.qwerty.request_back.connect(self.on_qwerty_go_back)
344+
345+
self.panel.add_network_password_field.clicked.connect(lambda: self.on_show_keyboard(self.panel.add_network_page, self.panel.add_network_password_field))
346+
self.panel.hotspot_password_input_field.clicked.connect(lambda: self.on_show_keyboard(self.panel.hotspot_page, self.panel.hotspot_password_input_field))
347+
self.panel.hotspot_name_input_field.clicked.connect(lambda: self.on_show_keyboard(self.panel.hotspot_page, self.panel.hotspot_name_input_field))
348+
self.panel.saved_connection_change_password_field.clicked.connect(lambda: self.on_show_keyboard(self.panel.saved_connection_page, self.panel.saved_connection_change_password_field))
349+
350+
351+
def on_show_keyboard(self, panel: QtWidgets.QWidget, field: QtWidgets.QLineEdit):
352+
self.previousPanel = panel
353+
print(self.previousPanel.objectName())
354+
self.currentField = field
355+
self.qwerty.set_value(field.text())
356+
self.setCurrentIndex(self.indexOf(self.qwerty))
357+
358+
def on_qwerty_go_back(self):
359+
QtWidgets.QApplication.instance().focusWidget().clearFocus()
360+
self.setCurrentIndex(self.indexOf(self.previousPanel))
361+
362+
def on_qwerty_value_selected(self, value: str):
363+
QtWidgets.QApplication.instance().focusWidget().clearFocus()
364+
self.setCurrentIndex(self.indexOf(self.previousPanel))
365+
if hasattr(self, "currentField") and self.currentField:
366+
self.currentField.setText(value)
367+
368+
def info_box_load(self, toggle: bool = False) -> None:
369+
if toggle:
370+
self.panel.netlist_ssuid.hide()
371+
self.panel.mn_info_seperator.hide()
372+
self.panel.netlist_ip.hide()
373+
374+
self.panel.netlist_strength_label.hide()
375+
self.panel.line_2.hide()
376+
self.panel.netlist_strength.hide()
377+
378+
self.panel.netlist_security_label.hide()
379+
self.panel.line_3.hide()
380+
self.panel.netlist_security.hide()
381+
382+
self.panel.mn_info_box.hide()
383+
384+
self.panel.loadingwidget.show()
385+
else:
386+
self.panel.netlist_ssuid.show()
387+
self.panel.mn_info_seperator.show()
388+
self.panel.netlist_ip.show()
389+
390+
self.panel.netlist_strength_label.show()
391+
self.panel.line_2.show()
392+
self.panel.netlist_strength.show()
393+
394+
self.panel.netlist_security_label.show()
395+
self.panel.line_3.show()
396+
self.panel.netlist_security.show()
397+
398+
self.panel.mn_info_box.show()
399+
400+
self.panel.loadingwidget.hide()
332401

333402
@QtCore.pyqtSlot(enum.Enum, name="stateChange")
334403
def on_toggle_state(self, state) -> None:
@@ -387,6 +456,7 @@ def evaluate_network_state(self, nm_state: str = "") -> None:
387456
_nm_state = self.sdbus_network.check_nm_state()
388457
if not _nm_state:
389458
return
459+
self.info_box_load(True)
390460
if _nm_state in ("CONNECTED_LOCAL", "CONNECTED_SITE", "GLOBAL"):
391461
if not self.sdbus_network.check_wifi_interface():
392462
self._expand_infobox(True)
@@ -402,6 +472,7 @@ def evaluate_network_state(self, nm_state: str = "") -> None:
402472
self.panel.wifi_button.toggle_button.state = (
403473
self.panel.wifi_button.toggle_button.State.OFF
404474
)
475+
self.info_box_load(False)
405476
return
406477

407478
logger.debug("Network Interface recognized, Connection available")
@@ -446,7 +517,9 @@ def evaluate_network_state(self, nm_state: str = "") -> None:
446517
if signal_strength == -1:
447518
signal_strength = "--"
448519
self.panel.netlist_strength.setText(str(signal_strength))
520+
self.info_box_load(False)
449521
else:
522+
self.info_box_load(False)
450523
self._expand_infobox(True)
451524
self.panel.mn_info_box.setText(
452525
"No Network connection\n Hotspot not enabled\nConnect to a network."

0 commit comments

Comments
 (0)