Automatic usernames
This commit is contained in:
@@ -29,10 +29,16 @@ class UserPage(Adw.Bin):
|
||||
|
||||
self.fullname_row = Adw.EntryRow()
|
||||
self.fullname_row.set_title("Full Name")
|
||||
self.fullname_row.set_text("Administrator")
|
||||
self.fullname_row.connect("notify::text", self.on_fullname_changed)
|
||||
group.add(self.fullname_row)
|
||||
|
||||
self.username_row = Adw.EntryRow()
|
||||
self.username_row.set_title("Username")
|
||||
self.username_row.set_text("admin")
|
||||
self.username_handler_id = self.username_row.connect(
|
||||
"notify::text", self.on_username_changed
|
||||
)
|
||||
group.add(self.username_row)
|
||||
|
||||
self.password_row = Adw.PasswordEntryRow()
|
||||
@@ -50,16 +56,66 @@ class UserPage(Adw.Bin):
|
||||
|
||||
self.hostname_row = Adw.EntryRow()
|
||||
self.hostname_row.set_title("Hostname")
|
||||
self.hostname_row.set_text("iridium-pc")
|
||||
self.hostname_row.set_text("iridium")
|
||||
host_group.add(self.hostname_row)
|
||||
|
||||
# Administrator
|
||||
admin_group = Adw.PreferencesGroup()
|
||||
admin_group.set_margin_top(12)
|
||||
box.append(admin_group)
|
||||
self.username_manually_set = False
|
||||
|
||||
admin_row = Adw.SwitchRow()
|
||||
admin_row.set_title("Make this user administrator")
|
||||
admin_row.set_subtitle("Add to sudoers group")
|
||||
admin_row.set_active(True)
|
||||
admin_group.add(admin_row)
|
||||
def on_fullname_changed(self, entry, _pspec):
|
||||
if self.username_manually_set:
|
||||
return
|
||||
|
||||
username = entry.get_text().lower()
|
||||
if username == "administrator":
|
||||
username = "admin"
|
||||
for sign in (
|
||||
" ",
|
||||
"-",
|
||||
"_",
|
||||
".",
|
||||
",",
|
||||
":",
|
||||
";",
|
||||
"!",
|
||||
"?",
|
||||
"/",
|
||||
"\\",
|
||||
"|",
|
||||
"@",
|
||||
"#",
|
||||
"$",
|
||||
"%",
|
||||
"^",
|
||||
"&",
|
||||
"*",
|
||||
"(",
|
||||
")",
|
||||
"[",
|
||||
"]",
|
||||
"{",
|
||||
"}",
|
||||
"'",
|
||||
'"',
|
||||
"`",
|
||||
"~",
|
||||
"<",
|
||||
">",
|
||||
"=",
|
||||
"+",
|
||||
):
|
||||
username = username.replace(sign, "_")
|
||||
|
||||
self.username_row.handler_block(self.username_handler_id)
|
||||
self.username_row.set_text(username)
|
||||
self.username_row.handler_unblock(self.username_handler_id)
|
||||
|
||||
def on_username_changed(self, entry, _pspec):
|
||||
self.username_manually_set = True
|
||||
|
||||
def get_user_info(self):
|
||||
return {
|
||||
"fullname": self.fullname_row.get_text(),
|
||||
"username": self.username_row.get_text(),
|
||||
"password": self.password_row.get_text(),
|
||||
"hostname": self.hostname_row.get_text(),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user