Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions BlocksScreen/lib/network.py
Original file line number Diff line number Diff line change
Expand Up @@ -731,6 +731,9 @@ def get_saved_networks(
"mode": network_properties["802-11-wireless"][
"mode"
],
"priority": network_properties["connection"].get(
"autoconnect-priority", (None, None)
)[1],
}
if network_properties["connection"]["type"][1]
== "802-11-wireless"
Expand Down
60 changes: 51 additions & 9 deletions BlocksScreen/lib/panels/networkWindow.py
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ def __init__(self, parent: typing.Optional[QtWidgets.QWidget], /) -> None:
)
)
self.delete_network_signal.connect(self.delete_network)
self.panel.saved_connection_change_password_field.returnPressed.connect(
self.panel.snd_back.clicked.connect(
lambda: self.update_network(
ssid=self.panel.saved_connection_network_name.text(),
password=self.panel.saved_connection_change_password_field.text(),
Expand Down Expand Up @@ -316,8 +316,23 @@ def __init__(self, parent: typing.Optional[QtWidgets.QWidget], /) -> None:
QtGui.QPixmap(":/dialog/media/btn_icons/yes.svg")
)

self.panel.network_activate_btn.clicked.connect(self.saved_wifi_option_selected)
self.panel.network_delete_btn.clicked.connect(self.saved_wifi_option_selected)
self.panel.network_details_btn.setPixmap(
QtGui.QPixmap(":/ui/media/btn_icons/printer_settings.svg")
)

self.panel.snd_back.clicked.connect(
lambda: self.setCurrentIndex(self.indexOf(self.panel.saved_connection_page))
)
self.panel.network_details_btn.clicked.connect(
lambda: self.setCurrentIndex(self.indexOf(self.panel.saved_details_page))
)

self.panel.network_activate_btn.clicked.connect(
lambda: self.saved_wifi_option_selected()
)
self.panel.network_delete_btn.clicked.connect(
lambda: self.saved_wifi_option_selected()
)

self.network_list_worker.build()
self.request_network_scan.emit()
Expand Down Expand Up @@ -801,10 +816,16 @@ def update_network(
if not self.sdbus_network.is_known(ssid):
return

checked_btn = self.panel.prioritbtngroup.checkedButton()
if checked_btn == self.panel.hig_priorrity_btn:
priority = 90
elif checked_btn == self.panel.low_priorrity_btn:
priority = 20
else:
priority = 50

self.sdbus_network.update_connection_settings(
ssid=ssid,
password=password,
new_ssid=new_ssid,
ssid=ssid, password=password, new_ssid=new_ssid, priority=priority
)
QtCore.QTimer().singleShot(10000, lambda: self.network_list_worker.build())
self.setCurrentIndex(self.indexOf(self.panel.network_list_page))
Expand Down Expand Up @@ -838,14 +859,35 @@ def handle_network_list(self, data: typing.List[typing.Tuple]) -> None:

def handle_button_click(self, ssid: str):
"""Handles pressing a network"""
if ssid in self.sdbus_network.get_saved_ssid_names():
_saved_ssids = self.sdbus_network.get_saved_networks()
if any(item["ssid"] == ssid for item in _saved_ssids):
self.setCurrentIndex(self.indexOf(self.panel.saved_connection_page))
self.panel.saved_connection_network_name.setText(str(ssid))
self.panel.snd_name.setText(str(ssid))

# find the entry for this SSID
entry = next((item for item in _saved_ssids if item["ssid"] == ssid), None)

logger.debug(_saved_ssids)

if entry is not None:
priority = entry.get("priority")

if priority == 90:
self.panel.hig_priorrity_btn.setChecked(True)
elif priority == 20:
self.panel.low_priorrity_btn.setChecked(True)
else:
self.panel.med_priorrity_btn.setChecked(True)

_curr_ssid = self.sdbus_network.get_current_ssid()
if _curr_ssid != str(ssid):
self.panel.network_activate_btn.show()
self.panel.network_activate_btn.setDisabled(False)
self.panel.sn_info.setText("Saved Network")
else:
self.panel.network_activate_btn.hide()
self.panel.network_activate_btn.setDisabled(True)
self.panel.sn_info.setText("Active Network")

self.panel.frame.repaint()

else:
Expand Down
Loading
Loading