@@ -91,23 +91,23 @@ def create_buttons(self):
91
91
92
92
self ._button_cancel = bbox .button (QDialogButtonBox .Cancel )
93
93
94
- self ._button_save_connection = QPushButton (_ ("Save connection " ))
94
+ self ._button_save_connection = QPushButton (_ ("Save" ))
95
95
self ._button_save_connection .clicked .connect (
96
96
self ._save_connection_info
97
97
)
98
98
bbox .addButton (
99
99
self ._button_save_connection , QDialogButtonBox .ResetRole
100
100
)
101
101
102
- self ._button_remove_connection = QPushButton (_ ("Remove connection " ))
102
+ self ._button_remove_connection = QPushButton (_ ("Remove" ))
103
103
self ._button_remove_connection .clicked .connect (
104
104
self ._remove_connection_info
105
105
)
106
106
bbox .addButton (
107
107
self ._button_remove_connection , QDialogButtonBox .ResetRole
108
108
)
109
109
110
- self ._button_clear_settings = QPushButton (_ ("Clear settings " ))
110
+ self ._button_clear_settings = QPushButton (_ ("Clear" ))
111
111
self ._button_clear_settings .clicked .connect (self ._clear_settings )
112
112
bbox .addButton (
113
113
self ._button_clear_settings , QDialogButtonBox .ActionRole
@@ -150,13 +150,18 @@ def current_page_changed(self, index):
150
150
self ._button_connect .setHidden (True )
151
151
self ._button_next .setHidden (False )
152
152
self ._button_back .setHidden (True )
153
+ self ._button_save_connection .setEnabled (False )
153
154
else :
154
- self ._button_back .setHidden (False )
155
155
self ._set_buttons_for_env_creation_method ()
156
156
else :
157
157
self ._button_connect .setHidden (False )
158
158
self ._button_next .setHidden (True )
159
159
self ._button_back .setHidden (True )
160
+ self ._button_save_connection .setEnabled (True )
161
+ else :
162
+ self ._button_connect .setHidden (False )
163
+ self ._button_next .setHidden (True )
164
+ self ._button_back .setHidden (True )
160
165
else :
161
166
if page .is_modified :
162
167
self ._button_save_connection .setEnabled (True )
@@ -172,20 +177,20 @@ def current_page_changed(self, index):
172
177
self ._button_next .setHidden (True )
173
178
self ._button_back .setHidden (True )
174
179
175
- if page .status in [
176
- ConnectionStatus .Inactive ,
177
- ConnectionStatus .Error ,
178
- ]:
179
- self ._button_connect .setEnabled ( True )
180
- else :
181
- self ._button_connect .setEnabled ( False )
180
+ if page .status in [
181
+ ConnectionStatus .Inactive ,
182
+ ConnectionStatus .Error ,
183
+ ]:
184
+ self ._button_connect .setHidden ( False )
185
+ else :
186
+ self ._button_connect .setHidden ( True )
182
187
183
188
# TODO: Check if it's possible to stop a connection while it's
184
189
# connecting
185
190
if page .status == ConnectionStatus .Active :
186
- self ._button_stop .setEnabled ( True )
191
+ self ._button_stop .setHidden ( False )
187
192
else :
188
- self ._button_stop .setEnabled ( False )
193
+ self ._button_stop .setHidden ( True )
189
194
190
195
# ---- Private API
191
196
# -------------------------------------------------------------------------
@@ -322,7 +327,7 @@ def _stop_server(self):
322
327
323
328
# The stop button is not visible in the new connection page
324
329
if not page .NEW_CONNECTION :
325
- self ._button_stop .setEnabled ( False )
330
+ self ._button_stop .setHidden ( True )
326
331
self .sig_stop_server_requested .emit (page .host_id )
327
332
328
333
def _add_connection_page (self , host_id : str , new : bool ):
@@ -367,37 +372,46 @@ def _update_buttons_state_on_info_change(self, state: bool):
367
372
self ._button_cancel .setText ("Cancel" )
368
373
369
374
def _update_connection_buttons_state (self , info : ConnectionInfo ):
370
- """Update the state of the ' Connect' button ."""
375
+ """Update the state of the Connect/Stop buttons ."""
371
376
page = self .get_page ()
372
377
if page .host_id == info ["id" ]:
373
378
if info ["status" ] in [
374
379
ConnectionStatus .Inactive ,
375
380
ConnectionStatus .Error ,
376
381
]:
377
- self ._button_connect .setEnabled ( True )
382
+ self ._button_connect .setHidden ( False )
378
383
else :
379
- self ._button_connect .setEnabled ( False )
384
+ self ._button_connect .setHidden ( True )
380
385
381
386
# TODO: Check if it's possible to stop a connection while it's
382
387
# connecting
383
388
if info ["status" ] == ConnectionStatus .Active :
384
- self ._button_stop .setEnabled ( True )
389
+ self ._button_stop .setHidden ( False )
385
390
else :
386
- self ._button_stop .setEnabled ( False )
391
+ self ._button_stop .setHidden ( True )
387
392
388
393
def _set_buttons_for_env_creation_method (
389
394
self , id_ : CreateEnvMethods | None = None
390
395
):
391
396
if id_ is None :
392
397
id_ = self ._new_connection_page .selected_env_creation_method ()
393
398
399
+ # When creating a new env, users need to provide a list of packages for
400
+ # it, so the connection can't be established yet
394
401
if id_ == CreateEnvMethods .NewEnv :
395
402
self ._button_connect .setHidden (True )
396
403
self ._button_next .setHidden (False )
397
404
else :
398
405
self ._button_connect .setHidden (False )
399
406
self ._button_next .setHidden (True )
400
407
408
+ # Connection info can be saved if users decide to create no env
409
+ if id_ == CreateEnvMethods .NoEnv :
410
+ self ._button_save_connection .setEnabled (True )
411
+ else :
412
+ self ._button_save_connection .setEnabled (False )
413
+
414
+ # The back button will always be visible in this case.
401
415
self ._button_back .setHidden (False )
402
416
403
417
def _on_button_next_clicked (self ):
@@ -408,11 +422,14 @@ def _on_button_next_clicked(self):
408
422
return
409
423
410
424
page .show_env_creation_widget ()
411
- self ._button_back . setHidden ( False )
425
+ self ._set_buttons_for_env_creation_method ( )
412
426
413
427
def _on_back_button_clicked (self ):
414
428
self ._new_connection_page .show_ssh_info_widget ()
415
429
self ._button_back .setHidden (True )
430
+ self ._button_connect .setHidden (True )
431
+ self ._button_next .setHidden (False )
432
+ self ._button_save_connection .setEnabled (False )
416
433
417
434
def _on_new_connection_page_tab_changed (self , index ):
418
435
page = self ._new_connection_page
@@ -421,12 +438,14 @@ def _on_new_connection_page_tab_changed(self, index):
421
438
self ._button_connect .setHidden (True )
422
439
self ._button_next .setHidden (False )
423
440
self ._button_back .setHidden (True )
441
+ self ._button_save_connection .setEnabled (False )
424
442
else :
425
443
self ._set_buttons_for_env_creation_method ()
426
444
else :
427
445
self ._button_connect .setHidden (False )
428
446
self ._button_next .setHidden (True )
429
447
self ._button_back .setHidden (True )
448
+ self ._button_save_connection .setEnabled (True )
430
449
431
450
432
451
def test ():
0 commit comments