@@ -152,7 +152,7 @@ def add_network_callback(self, event):
152152 print (f"add_network_callback clicked" )
153153 intent = Intent (activity_class = EditNetwork )
154154 intent .putExtra ("selected_ssid" , None )
155- self .startActivityForResult (intent , self .password_page_result_cb )
155+ self .startActivityForResult (intent , self .edit_network_result_callback )
156156
157157 def scan_cb (self , event ):
158158 print ("scan_cb: Scan button clicked, refreshing list" )
@@ -163,23 +163,29 @@ def select_ssid_cb(self,ssid):
163163 intent = Intent (activity_class = EditNetwork )
164164 intent .putExtra ("selected_ssid" , ssid )
165165 intent .putExtra ("known_password" , self .findSavedPassword (ssid ))
166- self .startActivityForResult (intent , self .password_page_result_cb )
166+ self .startActivityForResult (intent , self .edit_network_result_callback )
167167
168- def password_page_result_cb (self , result ):
168+ def edit_network_result_callback (self , result ):
169169 print (f"EditNetwork finished, result: { result } " )
170170 if result .get ("result_code" ) is True :
171171 data = result .get ("data" )
172172 if data :
173173 ssid = data .get ("ssid" )
174- password = data .get ("password" )
175- hidden = data .get ("hidden" )
176- self .setPassword (ssid , password , hidden )
177174 global access_points
178- print (f"connect_cb: Updated access_points: { access_points } " )
179175 editor = mpos .config .SharedPreferences ("com.micropythonos.system.wifiservice" ).edit ()
180- editor .put_dict ("access_points" , access_points )
181- editor .commit ()
182- self .start_attempt_connecting (data .get ("ssid" ), data .get ("password" ))
176+ forget = data .get ("forget" )
177+ if forget :
178+ del access_points [ssid ]
179+ editor .put_dict ("access_points" , access_points )
180+ editor .commit ()
181+ self .refresh_list ()
182+ else : # save or update
183+ password = data .get ("password" )
184+ hidden = data .get ("hidden" )
185+ self .setPassword (ssid , password , hidden )
186+ editor .put_dict ("access_points" , access_points )
187+ editor .commit ()
188+ self .start_attempt_connecting (ssid , password )
183189
184190 def start_attempt_connecting (self , ssid , password ):
185191 print (f"start_attempt_connecting: Attempting to connect to SSID '{ ssid } ' with password '{ password } '" )
@@ -310,22 +316,28 @@ def onCreate(self):
310316 buttons .set_height (lv .SIZE_CONTENT )
311317 buttons .set_style_bg_opa (lv .OPA .TRANSP , 0 )
312318 buttons .set_style_border_width (0 , lv .PART .MAIN )
313- # Connect button
314- self .connect_button = lv . button ( buttons )
315- self .connect_button . set_size ( 100 , 40 )
316- self .connect_button .align (lv .ALIGN .LEFT_MID , 0 , 0 )
317- self .connect_button .add_event_cb (self .connect_cb , lv .EVENT .CLICKED ,None )
318- label = lv .label (self .connect_button )
319- label .set_text ("Connect " )
320- label .center ()
319+ # Delete button
320+ if self .selected_ssid :
321+ self .forget_button = lv . button ( buttons )
322+ self .forget_button .align (lv .ALIGN .LEFT_MID , 0 , 0 )
323+ self .forget_button .add_event_cb (self .forget_cb , lv .EVENT .CLICKED , None )
324+ label = lv .label (self .forget_button )
325+ label .set_text ("Forget " )
326+ label .center ()
321327 # Close button
322328 self .cancel_button = lv .button (buttons )
323- self .cancel_button .set_size (100 ,40 )
324- self .cancel_button .align (lv .ALIGN .RIGHT_MID , 0 , 0 )
329+ self .cancel_button .center ()
325330 self .cancel_button .add_event_cb (lambda * args : self .finish (), lv .EVENT .CLICKED , None )
326331 label = lv .label (self .cancel_button )
327332 label .set_text ("Close" )
328333 label .center ()
334+ # Connect button
335+ self .connect_button = lv .button (buttons )
336+ self .connect_button .align (lv .ALIGN .RIGHT_MID , 0 , 0 )
337+ self .connect_button .add_event_cb (self .connect_cb ,lv .EVENT .CLICKED ,None )
338+ label = lv .label (self .connect_button )
339+ label .set_text ("Connect" )
340+ label .center ()
329341
330342 self .setContentView (password_page )
331343
@@ -348,3 +360,7 @@ def connect_cb(self, event):
348360 hidden_checked = True if self .hidden_cb .get_state () & lv .STATE .CHECKED else False
349361 self .setResult (True , {"ssid" : self .selected_ssid , "password" : pwd , "hidden" : hidden_checked })
350362 self .finish ()
363+
364+ def forget_cb (self , event ):
365+ self .setResult (True , {"ssid" : self .selected_ssid , "forget" : True })
366+ self .finish ()
0 commit comments