@@ -67,6 +67,7 @@ class PreparationPage(QWidget):
6767 # Desktop mode selection
6868 self .mode_var = QComboBox (self )
6969 self .mode_var .addItems (["Game Mode" , "Desktop Mode" ])
70+ self .mode_var .currentIndexChanged .connect (self .update_username_field )
7071 install_drive_layout .addRow ("Mode:" , self .mode_var )
7172
7273 self .drive_var = QComboBox (self )
@@ -82,28 +83,40 @@ class PreparationPage(QWidget):
8283 install_drive_group .setLayout (install_drive_layout )
8384 preparation_layout .addWidget (install_drive_group )
8485
85- # Password configuration group
86- password_group = QGroupBox ("Password Configuration" )
87- password_layout = QFormLayout ()
86+ # User configuration group
87+ self .username_group = QGroupBox ("User Configuration" )
88+ username_layout = QFormLayout ()
89+
90+ self .username_var = QLineEdit (self )
91+ self .username_var .setPlaceholderText ("Enter username" )
92+ self .username_var .setText ("deck" )
93+ username_layout .addRow ("Username:" , self .username_var )
8894
8995 self .password_var = QLineEdit (self )
9096 self .password_var .setEchoMode (QLineEdit .EchoMode .Password )
91- password_layout .addRow ("Password for user account (deck) :" , self .password_var )
97+ username_layout .addRow ("User Password :" , self .password_var )
9298
9399 self .password_confirm_var = QLineEdit (self )
94100 self .password_confirm_var .setEchoMode (QLineEdit .EchoMode .Password )
95- password_layout .addRow ("Confirm password for user account (deck):" , self .password_confirm_var )
101+ username_layout .addRow ("Confirm Password:" , self .password_confirm_var )
102+
103+ self .username_group .setLayout (username_layout )
104+ preparation_layout .addWidget (self .username_group )
105+
106+ # System administrator configuration group
107+ admin_group = QGroupBox ("System Administrator Configuration" )
108+ admin_layout = QFormLayout ()
96109
97110 self .root_password_var = QLineEdit (self )
98111 self .root_password_var .setEchoMode (QLineEdit .EchoMode .Password )
99- password_layout .addRow ("Password for system administrator (root) :" , self .root_password_var )
112+ admin_layout .addRow ("Root Password :" , self .root_password_var )
100113
101114 self .root_password_confirm_var = QLineEdit (self )
102115 self .root_password_confirm_var .setEchoMode (QLineEdit .EchoMode .Password )
103- password_layout .addRow ("Confirm password for system administrator (root) :" , self .root_password_confirm_var )
116+ admin_layout .addRow ("Confirm Password :" , self .root_password_confirm_var )
104117
105- password_group .setLayout (password_layout )
106- preparation_layout .addWidget (password_group )
118+ admin_group .setLayout (admin_layout )
119+ preparation_layout .addWidget (admin_group )
107120
108121 # Buttons
109122 btn_layout = QHBoxLayout ()
@@ -125,6 +138,9 @@ class PreparationPage(QWidget):
125138 # Set the layout for the page
126139 self .setLayout (preparation_layout )
127140
141+ # Initialize the username field visibility
142+ self .update_username_field ()
143+
128144 def get_physical_drives (self ):
129145 try :
130146 result = subprocess .run (
@@ -164,13 +180,21 @@ class PreparationPage(QWidget):
164180 debug_print (f"Error retrieving drive information: { e } " )
165181 self .drive_info_label .setText ("Drive Information: N/A" )
166182
183+ def update_username_field (self ):
184+ """Enable or disable the username field based on the selected mode."""
185+ if self .mode_var .currentText () == "Game Mode" :
186+ self .username_var .setText ("deck" )
187+ self .username_var .setEnabled (False )
188+ else :
189+ self .username_var .setEnabled (True )
190+
167191 def on_prev (self ):
168192 debug_print ("PreparationPage: on_prev called" )
169193 self .prev_callback ()
170194
171195 def on_next (self ):
172196 debug_print ("PreparationPage: on_next called" )
173- username = "deck" # Fixed username
197+ username = self . username_var . text (). strip () or "deck"
174198 password = self .password_var .text ()
175199 password_confirm = self .password_confirm_var .text ()
176200 root_password = self .root_password_var .text ()
@@ -181,7 +205,7 @@ class PreparationPage(QWidget):
181205
182206 # Validate passwords
183207 if password != password_confirm :
184- QMessageBox .warning (self , 'Warning' , 'The passwords for the user account (deck) do not match.' )
208+ QMessageBox .warning (self , 'Warning' , 'The passwords for the user account do not match.' )
185209 return
186210
187211 if root_password != root_password_confirm :
0 commit comments