11from PyQt6 import uic
22from PyQt6 .QtCore import Qt
3- from PyQt6 .QtWidgets import QCheckBox , QLabel , QListWidget , QListWidgetItem
3+ from PyQt6 .QtWidgets import QCheckBox , QLabel , QListWidget , QListWidgetItem , QPushButton
44
55from vorta .store .models import WifiSettingModel
66from vorta .utils import get_asset , get_sorted_wifis
@@ -18,10 +18,14 @@ def __init__(self, parent=None, profile_provider=None):
1818 self .wifiListLabel : QLabel = self .findChild (QLabel , 'wifiListLabel' )
1919 self .meteredNetworksCheckBox : QCheckBox = self .findChild (QCheckBox , 'meteredNetworksCheckBox' )
2020 self .wifiListWidget : QListWidget = self .findChild (QListWidget , 'wifiListWidget' )
21+ self .selectAllButton : QPushButton = self .findChild (QPushButton , 'selectAllButton' )
22+ self .selectNoneButton : QPushButton = self .findChild (QPushButton , 'selectNoneButton' )
2123
2224 # Connect signals
2325 self .meteredNetworksCheckBox .stateChanged .connect (self .on_metered_networks_state_changed )
2426 self .wifiListWidget .itemChanged .connect (self .save_wifi_item )
27+ self .selectAllButton .clicked .connect (self .select_all_wifi )
28+ self .selectNoneButton .clicked .connect (self .select_none_wifi )
2529 self .track_profile_change (self .populate_wifi , call_now = True )
2630
2731 def on_metered_networks_state_changed (self , state ):
@@ -45,6 +49,16 @@ def populate_wifi(self):
4549 item .setCheckState (Qt .CheckState .Unchecked )
4650 self .wifiListWidget .addItem (item )
4751
52+ def select_all_wifi (self ):
53+ self ._set_all_wifi_check_state (Qt .CheckState .Checked )
54+
55+ def select_none_wifi (self ):
56+ self ._set_all_wifi_check_state (Qt .CheckState .Unchecked )
57+
58+ def _set_all_wifi_check_state (self , state ):
59+ for i in range (self .wifiListWidget .count ()):
60+ self .wifiListWidget .item (i ).setCheckState (state )
61+
4862 def save_wifi_item (self , item ):
4963 profile = self .profile ()
5064 if profile :
0 commit comments