From 4757df1710459b7b5d76ea14f6dea0e1259d0b81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=C3=A9sir=C3=A9=20Werner=20Menrath?= Date: Tue, 29 Jul 2025 10:28:13 +0200 Subject: [PATCH] commit 17 --- .../custom_file_dialog.cpython-312.pyc | Bin 48822 -> 49423 bytes custom_file_dialog.py | 47 ++++++++++-------- mainwindow.py | 2 +- 3 files changed, 28 insertions(+), 21 deletions(-) diff --git a/__pycache__/custom_file_dialog.cpython-312.pyc b/__pycache__/custom_file_dialog.cpython-312.pyc index 8c5f805056bc02754c83e15a75afca029d30a0c5..09e7e8b18520851e43ef5a528d54b33e4fd17a47 100644 GIT binary patch delta 4819 zcma)932@U@8qfRZXxb*dlBNf}DW&0VxhpMKE%bmES}p<8kpI7JAeS#G&{|q>7X@1m z{RR=45gbs9t!yE?P!JSH*Ku)nENiiBL>FdubQniO1VvnRzwe)xa>&l6Grzv~-S55c z{a$kH7h%U!%7~Bj`Y;84j<#&6o3rUi#QCx6gBpcmH!PT&2HUDaA$nXbD}jb_9xxs> zMKmcadNQYvs{+18Wd!IBrX=015TkLX3mPdDP3-xDMx_|j1nJ(`h)zR?5Y#Z#fajo5 zCB}$G_*2dh{XHslQi-vm3BJu46(z=X#&@Xi_lrfpnYj=8DaC}}OD30*_)yJ|Cb(R1 ze}U-3L^yIF?!LlN4*wdjhU+Uf|S7{1XJTDxk5tY;|tVi%C{OFc0Cjex}VPxqM@)in!G&HQt$)SyxGp z+lHWamfPoZJNs?!75d+u6v;Hblp`8GoxE?Tv4%^M*JHIwmQ_~Unp*CzcZmVrDmjG3 z=61L__@>kebCvMLlqaKmb?FzfNA+droy*SKQg~iB3|36di%m0cDeToH-=*nA&913- zeUH_3O{oZtzoB5E9?<437<)mh-x0YrvL}9YcV=H+>AAepEs?$2vWJP`i9D0vlh@4H zOa5;k*%z+bs#u)|IpYlp3kTX^tHP3k3z9#mod(a%H^4@{AxWGs8agWn_ut0`%vKk` zCcOcEo@0ce#c5=$MdKyn(#~bi&orww;$z}+SUY!L-11Igz#r435BS5zViR~u5@308 zrg{Y?EriEIlVE>wdgRJMj|~w`5s-7p2-jw7RAO4^<8ZY&9n|@W@MDP)c_yOFlu@YI z5or@@6*ggIh(fU;vMEvwO~5qI32mV&lx~QG!qOaY+l~5AF;t8Y4dSX!TZbBUmX248 zn7K^O{9(0JYcUPGSDrUq+hF~m>sKaQ6&bkf_Y%ek2 zQ+ZTV6jd&WA#kx|2&Cp4l~LkKSWz}iZAX{YP@QiMi5Ayj0SoCgl#UK1ELfGO5}loK zFs>{X%BLIAz=Z}?cN=7jPF#R-U{jf*0T;>Sg|1VW-Shc*to0D%x4<(m&miB1yY7X6 z^3(ImbhpqbpmInxK7JWu=MQ5#cx3+1Oaqh4CxvVAn0Y9{Em&WEoJGR8ib;sI6{8c3 zC^id&VR20N3N7EPIMQ#K052>kV3*+?FAfwNIlTfr7%&BnFZ=_$09}iW zP+qBL8L+bQ8_h6s$byQhHT}^_;rpu5byQP8YjZn2biewmqgan2U=hFJzkteP6&uVd zuBI3of)D~dLSs}Bm+TTxtMo{ATb;!7&}jq(AcE)*fR@m_C@wb*9ReDM&ybrw( zDTB)+s^WCqX3b!vKo}BJz0-xf^0IV!GHrqRpfqU5rB{~{HNdc0za_g<)}aY?R$ z{i8++sJXos)-Bcx=8@34xShqoge6-AegjS}sQ}Z`+^9IR3iJA`zIrbbC5N)5w~~b# zUmzYm>wFfkT|@${N8WXLEj7f=U|qH}66emeF{o1!KmsH^HMYRHSKA-piA$b@J_*rf=@@3bS-SpZMSwz{Ktrro`oxV#2R!+ ztCN!@$;pz=X_NZ2>F2cR`>kE9d+3>2A1>(8ruS;g;iu|Zm5Isw%zMljv0dmI-&0VD z?n4%#ds`%W6MOe*DZ>8f_MGnM3z^yNyjviePbQk5c0;4c9RB*$SEgcs9&-UYXU<@- zr#fkP!=8ocMy{a{tk$xq(Tb6!%!^;$6rVGlO&bQk zg`51JSpUwL7GAMs&q%=&F>84X8gM!tZXl>4a1uC3F`OWtrg!deTJR26La1nFoBZR& z3?VZCEv|fsw&pOt0>^>yb#_;c+p^9s`s(-w3SxkUnq(FayKA!9N;p%K#ajJe)f`|9 z{H=8v!tf+?Ge_}_luHf~5e#9gvpYmCxp*~2iGkkL`OE+@YYH(I@(VcEM6f;nrZwNG zSi9flS*e{xw>L--;WYXM{i?8&bu=NG;0hYeCRmPB?BhWdU19zo&^M&WZ#>V3oQ7uo z4V6VWHMhp7@il5AFX`-kb2$~U)hGmMOZzyKgf4#2A z+cA}F3@E?N#_#~?mBCB@7aYs?HOMuyNOd;{5Sj7$WJI^Ji0`K1`vhMo6q9K+GJVT8 zUf`EWL8Nsh0wJKG?>-Xe7fC#mA`yM^Utw(1+GL`3K8YX)gTG}1PruANhUz%Dq zK|9#KA*p{GuECcZCTi%=_&1Q=oW>r7S>$ zHo9d34l$$L3i9EQ&ODOS4)aIJPTsp^G%cd(9D;x2G@$a~x643C9ljNIS8ec3J4#wV zLO{KKtzBBj<@S`X@LW=jAxERzWpUWOK8xsvrfowK?>mf{luN$)@)2n02>5a6-BzjD zNy8m5dV5^SSsI>12!z*Jyf*H3IFP#eF>*ddy3+*mi>)Qudo;aB_Ii9Y?KO5uwD{~! z3E%VW+sCk{@tjiO;`UJXga6CzKdQ~2p_4fbmuK}_eLl{=B3E7T-b?GT`u^AODbVan z9km&?_?S|2ayi}mWUiJ8!b?9x((n@`r!J(1Og72Cc2~K;`rw1z|H2oGSqdFwRS`x%i*W*4JWTI8J5rYw<=hD;_EfVnf8tBYY~oFl&@&jU zLEgB{G_5D7Cb)qnUTVI9at?!I?+8}u-@P|ai2DY$WSo?R5D(Y)<+ExSw?B)m z_Al8Vt!C|De|2%VT(p%uoN)HltWnR>un}GGSChv>olKM;h^hC8R-a^XS=SCc&3rQ? zy_Uv|kpJ2Q#t-nCgF9bJt5SK%Md_WRfSHwnT`245VD*Q`RD#&~#QuTkyBZ9fXR z$KKc2NSH`Mh&rxe-4J*Db#}`C&he3q&491Fhp_J<S2|hllV`t&w$^!JWt!b&GLRS)OB#@6&W{YQN`ZPfo z!Dj?=gC3?)fS{T{?tVIEK96AV+-P~6mc!$yJ&w~z-pms?3g|5so5SjbtEaNf`*8nm z{ZVmKh*yuiJ|Rn8%)YN+G3pW5vu82&40e64P$j5~*mVaKoNi-b@X_f4)(T;7Phvx1 a=G%|Q6@{@9wv+FE^0_B(D&z^L_wK(0z!0eb delta 4436 zcmb7H2~d<*5}x_;|1H ze%-I%&z|k-SAP`3|ESl8sPLz=Zb$W$wwJ>{oFrV(Lj7Z@5IotZtZQKBi7UZzbK=m3@N%N^L8UNsjTB+ z_smTYHtV4bwO?maO#O@xb!^sVR6qgFcw9#Ij~J12`?;;(wlEdscLc|Vqtnv zv9zkEq+5W!dFfi6v|1_$bHM>^d5?g!ql>LjS~wcs%h!W(Nvw8FyQ(G+K7J+=<}Jx! z3^p#wWNV>gNfOlO$3t3CjQJrcTw2$&{$@QeuH-vBE`*%IOsLP*!}Y~xW4Oe~OMu@R z(GmeK=f}dOqImdVNfe8K%Y`w?3srjz4xvir5Y`2$RIP>@jIyPW zv^Y{-*{z1Xa}!tS7Fl9 z*EC_cgx5=_u}~OOHerkrw`hp$DVA|vL~F9ik3i?LX85FR>TRuPC|Z`wF2b&5Psc@) z)f^P`;6k;P)3D>W?8k#^`6DUkk!IBdf>t6Y7>>AuYKEv4Uxy}>trP+gEcz(0tSr0j zbP*g`Ibl6z;ujt6x_WnmOB%_ET&^K&0>6%b{F-{Z)I<)+l$t<85Q5Nb$mgAotb>=(Igm)x$}CJsZZB1Q#Kyssb^T`NK}K)*UJ z1b52$T~xu=)iEZjs9(#SRn=a9@cfDjE@MWnK$sbDY;_m5`>OJG_^iArG{obzdmB8q z3Ok1>Yo=+UP#3&wet`P5@oJ&c3+-!H2YrqnJ>LZR{;{@3o7&mhpItOyD&Cn&Sm|gc|f$nqxOlqe$g}_PKVd+2SU3h^tBCGN{})H)fE|S@umaT zeb%9{q%Psav_AJ$HA^UAJ2bl@E{S1#BHAMc#l*8>VyCfd%8BLuV&Z_9^=V4l;n@dg zlZqL|Q?vR-%O%k=D2_cVj_pc1F~85zFOD4$^FB2vA86UvG8C5DC!KPgbe*42)F*UR zoG^CFA519fUt#O7a;BmM%SLoKASR;6fVV+0>8zO46?tN6znC;2&V-8 z>nb6g91P}?n0QNcmLi%BuQ>`0395<3%%j7j`ddO+#q)8iHD4q!UC#|IsK`3bslsYxcEQCJU)CC^7s8WLiUbIj;SojZRmk z+t%omyw$vwv<&ciwudB!D)}Tmp5*+M|f=Nz2d(@ZXJjB>8-^Vq{f<6wJRs(Ov zKfD|ab#d4Z8Fe|#0M&I1(ZJEVRQ4O+2X)_S*g@YJzD`tHKX9i+Qu;T#TW(eJVA{~l z;{PF-N87cy!gjpPq8q?}2vBcba=+kevJI$9^+OXa5`Vvg&Mk7< z6Cvpy1qM^mF!Q&5aGEu608o?AKdgx=ua(A|$ z!-}>iQf|wokg_67UxSu=q=zAQ>kJ*W5dRXIwpv&o?BAN43Pe~-p!DKOveAHBzq-!8 zInc8PxU|*8cEV3vW7&fcvu!1N5$d)TSZSL2)ed(pSLU>cs(zi*W0RcRAL8`Nb+$_S zBH<};XpsaRq);J zQoS`1`6oP*LQQ?e=T;mt_N=Vx%~S1)g>=fA^M13fs4~+JPNZ=jF z;?EEy!m%gQBF4~?Az(*(xC%abGBru*jyXhA%lMYasE0+P$AHfz@!!I@Jrg!g!6k;F zkd@*R&zi}pLOhS;ltV73?E=~^B=|dS{TeTqWq(jLj&`T3D)15=BkpkozjpH`r`*Vu zeplwigK&D!r1*O(G@tA$vqY(jZYSycVEj|d+IG`&7Xn^#>H~iW`5URi?}_;;f1ZTb1OeXgfsmdVKPnl}=f*d7V^Fq6JqvYh|0asb1!9q6Lou z0e*TaM)wGEmAb}<)H*$08>MvFm%I0St@W=cV-3Od?H;?=%lRi{C@e6}emF6riX?f-d)Rx!SiS^L$?BNgy#?(-(Td5JDA9#*O9pLjL;R}O$5zT|%LnR*{4y8~D6asZ0k0-bcwl`9vY0}?YdmlXWMmp;|bovd3 z|69HDW(m6h#g_bvi#nPLCw^|5WitbjemJGSiI M@-LOL;q)~A7y6;1=Kufz diff --git a/custom_file_dialog.py b/custom_file_dialog.py index 1981a9c..bdf5dbe 100644 --- a/custom_file_dialog.py +++ b/custom_file_dialog.py @@ -178,6 +178,7 @@ class CustomFileDialog(tk.Toplevel): self.hover_extrastyle2 = "#494949" self.sidebar_color = "#333333" self.color_foreground = "#ffffff" + self.freespace_background = self.sidebar_color else: self.selection_color = "#cce5ff" # Light blue for selection @@ -188,7 +189,9 @@ class CustomFileDialog(tk.Toplevel): # Hover Color for Buttons in header and Sidebar self.hover_extrastyle = "#f5f5f5" self.hover_extrastyle2 = "#494949" # Hover Color for Buttons in Sidebar - self.sidebar_color = "#d9d9d9" + self.sidebar_color = "#e7e7e7" + self.bottom_color = "#d9d9d9" + self.freespace_background = self.sidebar_color self.color_foreground = "#000000" style.configure("Header.TButton.Borderless.Round", @@ -198,14 +201,15 @@ class CustomFileDialog(tk.Toplevel): ('active', self.hover_extrastyle)]) style.configure("Dark.TButton.Borderless", anchor="w", - background=self.sidebar_color, foreground=self.color_foreground) + background=self.sidebar_color, foreground=self.color_foreground, padding=(20, 5, 0, 5)) style.map("Dark.TButton.Borderless", background=[ ('active', self.hover_extrastyle2)]) style.configure("Accent.TFrame", background=self.header) style.configure("Accent.TLabel", background=self.header) - + style.configure("AccentBottom.TFrame", background=self.bottom_color) + style.configure("AccentBottom.TLabel", background=self.bottom_color) style.configure("Sidebar.TFrame", background=self.sidebar_color) style.configure("Content.TFrame", background=self.icon_bg_color) @@ -329,11 +333,12 @@ class CustomFileDialog(tk.Toplevel): storage_frame = ttk.Frame(sidebar_frame, style="Sidebar.TFrame") storage_frame.grid(row=1, column=0, sticky="ew", padx=10) - self.storage_label = ttk.Label(storage_frame, text="Freier Speicher:") - self.storage_label.pack(fill="x") + self.storage_label = ttk.Label( + storage_frame, text="Freier Speicher:", background=self.freespace_background) + self.storage_label.pack(fill="x", padx=10) self.storage_bar = ttk.Progressbar( storage_frame, orient="horizontal", length=100, mode="determinate") - self.storage_bar.pack(fill="x", pady=(2, 5)) + self.storage_bar.pack(fill="x", pady=(2, 5), padx=15) # Content area content_frame = ttk.Frame(paned_window, padding=( @@ -347,28 +352,30 @@ class CustomFileDialog(tk.Toplevel): self.bind("", self.on_window_resize) # Bottom controls - bottom_controls_frame = ttk.Frame(content_frame, style="Accent.TFrame") + bottom_controls_frame = ttk.Frame( + content_frame, style="AccentBottom.TFrame") bottom_controls_frame.grid(row=1, column=0, sticky="ew", pady=(5, 0)) - bottom_controls_frame.grid_columnconfigure(0, weight=1) - - self.status_bar = ttk.Label( - bottom_controls_frame, text="", anchor="w", style="Accent.TLabel") - self.status_bar.grid(row=0, column=0, sticky="ew") - - right_side_buttons_frame = ttk.Frame( - bottom_controls_frame, style="Accent.TFrame") - right_side_buttons_frame.grid(row=0, column=1, sticky="e") + bottom_controls_frame.grid_columnconfigure(1, weight=1) self.filter_combobox = ttk.Combobox( - right_side_buttons_frame, values=[ft[0] for ft in self.filetypes], state="readonly", width=20) - self.filter_combobox.pack(anchor="e", pady=10) + bottom_controls_frame, values=[ft[0] for ft in self.filetypes], state="readonly", width=20) + self.filter_combobox.grid(row=0, column=0, sticky="w", padx=10, pady=5) self.filter_combobox.bind( "<>", self.on_filter_change) self.filter_combobox.set(self.filetypes[0][0]) + self.status_bar = ttk.Label( + bottom_controls_frame, text="", anchor="w", style="AccentBottom.TLabel") + self.status_bar.grid(row=1, column=0, columnspan=2, + sticky="ew", padx=10, pady=10) + + right_side_buttons_frame = ttk.Frame( + bottom_controls_frame, style="AccentBottom.TFrame") + right_side_buttons_frame.grid(row=1, column=1, sticky="e") + action_buttons_frame = ttk.Frame( - right_side_buttons_frame, style="Accent.TFrame") - action_buttons_frame.pack(anchor="e", pady=(0, 10)) + right_side_buttons_frame, style="AccentBottom.TFrame") + action_buttons_frame.pack(anchor="e", pady=(0, 10), padx=10) ttk.Button(action_buttons_frame, text="Öffnen", command=self.on_open).pack(side="right") diff --git a/mainwindow.py b/mainwindow.py index 1bd756d..0610908 100644 --- a/mainwindow.py +++ b/mainwindow.py @@ -58,7 +58,7 @@ if __name__ == "__main__": style = ttk.Style(root) root.tk.call('source', f"{theme_path}/water.tcl") try: - root.tk.call('set_theme', 'dark') + root.tk.call('set_theme', 'light') except tk.TclError: pass root.mainloop()