Skip to content
This repository was archived by the owner on Apr 17, 2025. It is now read-only.

Commit 92a8e8c

Browse files
authored
Merge pull request #448 from fewtarius/3.7
Allow users to configure the username when installing in desktop mode.
2 parents b638720 + 2c381d6 commit 92a8e8c

2 files changed

Lines changed: 36 additions & 12 deletions

File tree

PKGBUILD/steamfork-installer/PKGBUILD

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
pkgname=steamfork-installer
44
pkgver=2025.04.11
5-
pkgrel=1
5+
pkgrel=2
66
pkgdesc='Installation utility for SteamFork.'
77
arch=('any')
88
url='http://www.steamfork.org'

PKGBUILD/steamfork-installer/src/usr/bin/steamfork-installer-gui

Lines changed: 35 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)