Skip to content

Commit 1efe533

Browse files
committed
Refactoring GUI (trying to eliminate intermittent flicker when hiding Options)
1 parent 7b9aac6 commit 1efe533

File tree

1 file changed

+38
-44
lines changed

1 file changed

+38
-44
lines changed

slr.py

Lines changed: 38 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
)
2828
window_title = "Sequential Links Rustler"
2929

30-
# create fixed gui elements
30+
# create Fixed gui elements
3131
button_rustle = sg.Button(
3232
"Rustle\nUp\nSome\nLinks",
3333
size=(11, 6),
@@ -64,7 +64,7 @@
6464
label_filepath = sg.Text("Path:")
6565
input_filepath = sg.Input(key="-FilePath-", size=(31, 1), default_text=home_dir)
6666
label_filename = sg.Text("Name:")
67-
input_filename = sg.Input(key="-FileName-", size=(13, 1), default_text="rustled.html")
67+
input_filename = sg.Input(key="-FileName-", size=(15, 1), default_text="rustled.html")
6868
input_delete = sg.Checkbox(
6969
" Delete HTML file on Exit", default=True, key="-DeleteFile-"
7070
)
@@ -83,19 +83,23 @@
8383
# create layout
8484
fixed_column_1 = sg.Column(
8585
[
86-
[sg.Text(" ", font=("Any", 4))],
86+
[sg.Text(" ")],
8787
[rustler_logo],
88-
[sg.Text(" ", font=("Any", 14))],
88+
[sg.Text(" ")],
8989
[button_clear],
9090
],
9191
element_justification="right",
9292
)
9393

9494
fixed_column_2 = sg.Column(
9595
[
96-
[sg.Text(" ", font=("Any", 4))],
97-
[button_rustle, sg.vbottom(button_options), sg.vbottom(button_exit)],
98-
[sg.Text(" ", font=("Any", 4))],
96+
[sg.Text(" ")],
97+
[
98+
button_rustle,
99+
sg.vbottom(button_options),
100+
sg.vbottom(button_exit)
101+
],
102+
[sg.Text(" ")],
99103
[label_URLmask],
100104
[input_URLmask],
101105
],
@@ -108,14 +112,8 @@
108112
sg.Frame(
109113
"Image Options",
110114
[
111-
[
112-
sg.Column(
113-
[
114-
[label_imagesize, spin_thumbsize, label_percent_width],
115-
[input_hideborked],
116-
]
117-
)
118-
]
115+
[label_imagesize, spin_thumbsize, label_percent_width],
116+
[input_hideborked],
119117
],
120118
title_color="black",
121119
)
@@ -125,27 +123,21 @@
125123
"HTML File Options",
126124
[
127125
[
128-
sg.Column(
129-
[
130-
[
131-
label_filepath,
132-
input_filepath,
133-
label_filename,
134-
input_filename,
135-
],
136-
[sg.Text("", size=(4, 1)), button_reset],
137-
[input_delete],
138-
],
139-
)
140-
]
126+
label_filepath,
127+
input_filepath,
128+
label_filename,
129+
input_filename,
130+
],
131+
[sg.Text("", size=(4, 1)), button_reset],
132+
[input_delete],
141133
],
142134
title_color="black",
143135
)
144136
],
145137
[
146138
sg.Frame(
147139
"Choose Browser",
148-
[[sg.Column([[input_browser],])]],
140+
[[input_browser]],
149141
title_color="black",
150142
)
151143
],
@@ -154,33 +146,35 @@
154146
)
155147

156148
column_a = sg.Column([[fixed_column_1]])
157-
column_b = sg.Column([[sg.vbottom(fixed_column_2)], [options_column]])
158-
159-
layout = [[sg.vtop(column_a), sg.vtop(column_b)]]
149+
column_b = sg.Column(
150+
[
151+
[fixed_column_2],
152+
[sg.pin(options_column, shrink=True, expand_x=True, expand_y=True)]
153+
]
154+
)
155+
layout = [[sg.vtop(column_a), column_b]]
160156

161157
# Create the window
162-
window = sg.Window(window_title, layout, icon=icon_file, finalize=True)
158+
window = sg.Window(window_title, layout, font=("Any", 10), icon=icon_file, finalize=True)
163159

164160

165161
def toggle_option_elements():
166-
if window["options"].visible:
167-
window["options"].hide_row()
168-
window["options"].update(visible=False)
169-
else:
170-
window["options"].unhide_row()
171-
window["options"].update(visible=True)
162+
window["options"].update(visible = not window["options"].visible)
172163

173164

174165
toggle_option_elements()
175166

176167
while True:
177168
event, values = window.read()
178169
if event == sg.WINDOW_CLOSED or event == "Exit":
179-
if values["-DeleteFile-"]:
180-
try:
181-
remove(values["-FilePath-"] + "/" + values["-FileName-"])
182-
except Exception:
183-
pass
170+
try:
171+
if values["-DeleteFile-"]:
172+
try:
173+
remove(values["-FilePath-"] + "/" + values["-FileName-"])
174+
except Exception:
175+
pass
176+
except:
177+
pass
184178
break
185179
elif event == "-Options-":
186180
toggle_option_elements()

0 commit comments

Comments
 (0)