Skip to content

Commit 69cbf66

Browse files
committed
fix hiding/unhiding fields based on DSN and database type
1 parent d4c5398 commit 69cbf66

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

sql shell.exe

287 KB
Binary file not shown.

sql shell.py

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -75,9 +75,18 @@ def create(self):
7575
self.passwd = self.add(TitlePassword, name='- Password:', value=None, **widget_defaults)
7676

7777
def adjust_widgets(self):
78-
# hide host, port, database, user, and password field if DSN selected
7978
for field in self.host, self.port, self.db, self.user, self.passwd:
80-
field.hidden = self.dsn.value
79+
field.hidden = False
80+
81+
# hide host, port, database, user, and password field if DSN selected
82+
if self.dsn.value:
83+
for field in self.host, self.port, self.db, self.user, self.passwd:
84+
field.hidden = True
85+
86+
# disable editing host, port, user, and password field if SQLite selected
87+
elif self.dbtype.value == 5:
88+
for field in self.host, self.port, self.user, self.passwd:
89+
field.hidden = True
8190

8291
try: # try to set database type field to database type from DSN label
8392
# ['...', '1. MSSQL: name = arguments', '2. <...>'] -> '1. MSSQL: name' ->
@@ -93,10 +102,6 @@ def adjust_widgets(self):
93102
# field
94103
self.dbtype.editable = False
95104

96-
# disable editing host, port, user, and password field if SQLite selected
97-
for field in self.host, self.port, self.user, self.passwd:
98-
field.editable = self.dbtype.value != 5 # `5` is SQLite
99-
100105
self.display()
101106

102107
def on_cancel(self):
@@ -108,7 +113,7 @@ def on_ok(self): # NOSONAR
108113
notify_confirm('Database type is mandatory!', title='ERROR', editw=True)
109114
return
110115

111-
if not (self.user.value or self.dbtype.value == 5): # `5` is SQLite
116+
if not (self.user.value or self.dsn.value or self.dbtype.value == 5): # `5` is SQLite
112117
notify_confirm('User is mandatory!', title='ERROR', editw=True)
113118
return
114119

0 commit comments

Comments
 (0)