From 6f8b0b290c13be27c37583eaf95e7c576f9415d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=C3=A9sir=C3=A9=20Werner=20Menrath?= Date: Sun, 3 Aug 2025 23:20:50 +0200 Subject: [PATCH] commit 51 --- __pycache__/cfd_ui_setup.cpython-312.pyc | Bin 31008 -> 30988 bytes cfd_ui_setup.py | 68 +++++++++++------------ mainwindow.py | 2 +- 3 files changed, 33 insertions(+), 37 deletions(-) diff --git a/__pycache__/cfd_ui_setup.cpython-312.pyc b/__pycache__/cfd_ui_setup.cpython-312.pyc index 8824576dc50207c9474b5dde164289e1f1271570..887b632d2f357f146482e0bfcb099138f3ec4f3a 100644 GIT binary patch delta 2098 zcmb_dZA@EL7{2EgXv;@AP21sGpp<^Vt&2_x#l)zI=N7s#W$KUJAMbn4 zd(Qhj@B6&D_f9W^Gs{4ByR593z>j9(toPHNFJxb;#XXw|;uLWaHNBukzqD)q z61s@qL082P8s4r#OWT!}8v1=&Mqh}1Fk2wx6U1r4v3F%f5D^`%7^o)*hNQ)QK#RwX zYa%inp~g+JaANlT=!C9LWS~DrsmcoNXZczl``9P5qLtlv9SRt= z`0kW&7r9!MC6CYQ(T!FuFyu~TyBqY=u`BsJ%wo&qJ?iLW#DE+cL&0gH|2pC5-YzVt-A9>-N>Vp@u&RIc`Wq)m(NG%Gb?T8yKsDy)zK!ap7{ z^p~LXO)A7Tm60pJ;#_*nhvYkTICX3OpSqiB5>j&)JqDG~FnaN&OZuI(6E^rNs|Lap7eX{kacDC|N)j+hCA zgU5RP%%~9BjSY%+A5dnc)?*%@+v{Qc6v-rnv*YpZp1UNth0Kl~@J;-bqn~WZ7P$ld zKHt%-$QANuRYQRhf5<~SXwRt6?Fl;inBE}|b4SSLvB?&Nee_XJ2w(`w(up2bS-RQqH*Temg&JZn45+gzN@#oGos z+hDqKXrg0LZ@RJV$~JcMPS)hsGSt_rZ-mp+!mw^TzHgd2rp-Wm=*qDZG8K~r;o`ZTG)^o6aX5ZX!QaRto z!um9{W}t?LH5{y&-ZwLxP$U~zSd)hB8Cb=`S`OAu56{UHTasPuej5vG)9_#p&A`DZ z=Ak%9&GaTfQjg&d*;z>4hmNK7DtHRXzZQlMG0(a*Y3R^Ay~HJSBD^d5u!zu9=jS11 ztv23j=d5<#+Q(V@((0qncpiTrM>Ic=r?mcG`mWn|PTv0qX#U5<)V( zbUn%{UR@?YnJNpF4@B7ivFruJUN8cFTQ=u>kixHP$|7npS)4L5WqrBS;xrVe4hxF7`~?;w6up0(-zWNph#ON8kifC;7|*#pn!r}L@lGVTn6Q~sx z=Y7w4KcDxWGm!-TB*?s-ks%@QM}IQeJ8r#}xu6o=EhmUKiD_gkD+vFfn$nBCMPy#^ z%$xx2QOnT1E%HJQiO5WHD)`o%fQu!Fal*Fyk;dtL7tm})u{50&k&vtmI#ZFwsHN5j z-bQC?UjWnSX6<(VS#kztn99L9w8ivd`uYA6f;bJRA5l$N!5S@jI>?*jJ<54P=hdNW zRk?gYP>2e(3iO6auGGzeM^;>W@2c9D(cuz<$UzE7dGG=%uPa2FN`-)Y=XC;y8u&W$ zUBsByXIz})KTfXq>Tz;~P)5!K73kG%hG&WwdyBc^LIL?)(2ttc27WO)iz4b=WHifH zupC@Y zMe6IPP*a)wnU0>0TFw%O$BsI?M{Mpc$~7=x;8V9br@P_S1H-(u zdz}6?x_xLf(poLg8w8Y>J8^L^%)to^U5{@JRtX{v9df;_Qj@2c1LI7o5X6&H+#pSh%_NH0a~qRpb;_-5c@tBr$Kl-n-Cy-L>FiEp7CH zLu|W^?zBfcdzj81y4T5cI+xq~mM#7BuH~%*CkYC_A|jr?Z@Amp)!R)C8FG^nm$D(<*h%*c(c(f@>_Vs9N|hK+ zW{qb>#cD>Z_OA(S3|VgQXtA0Vo6uM8*Txb#%4z2rC#|WVtM{-udwumWD4T2=Z#vr* z(E6HKSe{s?yJDC%1nQU9Rrt&-EQrDEC@f%LK@@5ks14{t?i&?LJv7v^aR0rhjsBOJ ziUAf5CRBMBOJ_>`ZK0Qz1b3vjq|qH#W`~s>Q?>gVV=y-g)eKbo^??x@s##e1FpaMq}|7*s}KJ_Gapb)j4u=CiOWQKY|8JzE`;#Ej-eX+#<|w$?Jn)}Q&n4B9|!b9IOp z+87olAMZPQAM$~=4{)S4DP9@|YNAlbKwV(dyoiQ678+ydmm`g1xvIaL;*$YX-5?kH zBmL33gG}8)R(0qv`6ra>f5Lw3U()~Y?782qVbI`+xz)`h6#C0!w5&2ofDA=ETmFEL z|C*`EVzY=x3Ydl{B`NyH}2s", lambda e: e.widget.config(width=min(80, int(e.width/8)))) + if button_box_pos == 'left': + action_buttons_frame.grid_columnconfigure(0, weight=1) + self.filename_entry.grid(row=0, column=0, sticky="ew", padx=(10,5)) + save_button.grid(row=0, column=1, sticky="e", padx=(0,10)) + cancel_button.grid(row=1, column=0, sticky="w", padx=(10,5), pady=(5,0)) + self.filter_combobox.grid(row=1, column=1, sticky="w", padx=(0,10), pady=(5,0)) + else: # right + action_buttons_frame.grid_columnconfigure(1, weight=1) + save_button.grid(row=0, column=0, sticky="w", padx=(10,5)) + self.filename_entry.grid(row=0, column=1, sticky="ew", padx=(0,10)) + self.filter_combobox.grid(row=1, column=0, sticky="e", padx=(10,5), pady=(5,0)) + cancel_button.grid(row=1, column=1, sticky="e", padx=(0,10), pady=(5,0)) - save_button = ttk.Button(top_row, text="Speichern", command=self.dialog.on_save) - save_button.pack(side="left", padx=(0, 10)) - - # Create a container for the bottom row (cancel button and combobox) - bottom_row = ttk.Frame(action_buttons_frame, style="AccentBottom.TFrame") - bottom_row.pack(fill="x", expand=True, pady=(5,0)) - - cancel_button = ttk.Button(bottom_row, text="Abbrechen", command=self.dialog.on_cancel) - cancel_button.pack(side="left", padx=(10, 5)) - - self.filter_combobox = ttk.Combobox(bottom_row, values=[ - ft[0] for ft in self.dialog.filetypes], state="readonly") - self.filter_combobox.pack(side="left", padx=(0, 10)) self.filter_combobox.bind("<>", self.dialog.on_filter_change) self.filter_combobox.set(self.dialog.filetypes[0][0]) - else: # Open mode - top_row = ttk.Frame(action_buttons_frame, style="AccentBottom.TFrame") - top_row.pack(fill="x", expand=True) - - open_button = ttk.Button(top_row, text="Öffnen", command=self.dialog.on_open) - open_button.pack(side="left", padx=(10, 5)) + else: # Open mode + open_button = ttk.Button(action_buttons_frame, text="Öffnen", command=self.dialog.on_open) + cancel_button = ttk.Button(action_buttons_frame, text="Abbrechen", command=self.dialog.on_cancel) + self.filter_combobox = ttk.Combobox(action_buttons_frame, values=[ft[0] for ft in self.dialog.filetypes], state="readonly") - bottom_row = ttk.Frame(action_buttons_frame, style="AccentBottom.TFrame") - bottom_row.pack(fill="x", expand=True, pady=(5,0)) + if button_box_pos == 'left': + open_button.grid(row=0, column=0, sticky="w", padx=(10,5)) + cancel_button.grid(row=1, column=0, sticky="w", padx=(10,5), pady=(5,0)) + self.filter_combobox.grid(row=1, column=1, sticky="w", padx=(0,10), pady=(5,0)) + else: # right + open_button.grid(row=0, column=1, sticky="e", padx=(10,5)) + cancel_button.grid(row=1, column=1, sticky="e", padx=(0,10), pady=(5,0)) + self.filter_combobox.grid(row=1, column=0, sticky="e", padx=(10,5), pady=(5,0)) - cancel_button = ttk.Button(bottom_row, text="Abbrechen", command=self.dialog.on_cancel) - cancel_button.pack(side="left", padx=(10, 5)) - - self.filter_combobox = ttk.Combobox(bottom_row, values=[ - ft[0] for ft in self.dialog.filetypes], state="readonly") - self.filter_combobox.pack(side="left", padx=(0, 10)) self.filter_combobox.bind("<>", self.dialog.on_filter_change) self.filter_combobox.set(self.dialog.filetypes[0][0]) diff --git a/mainwindow.py b/mainwindow.py index 65766ee..3368df5 100755 --- a/mainwindow.py +++ b/mainwindow.py @@ -33,7 +33,7 @@ class GlotzMol(tk.Tk): dialog = CustomFileDialog(self, initial_dir=os.path.expanduser("~"), filetypes=[("All Files", "*.*") - ], dialog_mode="save") + ]) # This is the crucial part: wait for the dialog to be closed self.wait_window(dialog)