From 2bf78159c83fdf05101575893b2b519e36c94d0c Mon Sep 17 00:00:00 2001 From: Demetrio Cassarino Date: Tue, 3 Mar 2026 09:38:20 +0100 Subject: [PATCH] EgtWPFLib5 3.1c1: -cambio versione -aggiunto piccolo controllo su EgtManageDialog --- EgtManageFileDialog/EgtManageFileDialogV.xaml | 11 +++- EgtManageFileDialog/EgtManageFileDialogVM.vb | 47 ++++++++++++++++-- EgtWPFLib5.vbproj | 24 +++++++++ My Project/AssemblyInfo.vb | 2 +- Resources/EgtDialog/Content.png | Bin 0 -> 658 bytes Resources/EgtDialog/Desktop.png | Bin 0 -> 1166 bytes Resources/EgtDialog/Details.png | Bin 0 -> 576 bytes Resources/EgtDialog/Download.png | Bin 0 -> 662 bytes Resources/EgtDialog/HardDrive.png | Bin 0 -> 1705 bytes Resources/EgtDialog/List.png | Bin 0 -> 627 bytes Resources/EgtDialog/Tiles.png | Bin 0 -> 634 bytes Resources/EgtDialog/Windows.png | Bin 0 -> 2245 bytes Utility/IdNameStruct.vb | 16 ++++++ 13 files changed, 93 insertions(+), 7 deletions(-) create mode 100644 Resources/EgtDialog/Content.png create mode 100644 Resources/EgtDialog/Desktop.png create mode 100644 Resources/EgtDialog/Details.png create mode 100644 Resources/EgtDialog/Download.png create mode 100644 Resources/EgtDialog/HardDrive.png create mode 100644 Resources/EgtDialog/List.png create mode 100644 Resources/EgtDialog/Tiles.png create mode 100644 Resources/EgtDialog/Windows.png diff --git a/EgtManageFileDialog/EgtManageFileDialogV.xaml b/EgtManageFileDialog/EgtManageFileDialogV.xaml index ae1e860..f972bd1 100644 --- a/EgtManageFileDialog/EgtManageFileDialogV.xaml +++ b/EgtManageFileDialog/EgtManageFileDialogV.xaml @@ -47,7 +47,16 @@ Width="200" Height="25" Margin="2.5,5,2.5,5" - BorderThickness="1"/> + BorderThickness="1"> + + + + + + + + + diff --git a/EgtManageFileDialog/EgtManageFileDialogVM.vb b/EgtManageFileDialog/EgtManageFileDialogVM.vb index e4321bf..2a641eb 100644 --- a/EgtManageFileDialog/EgtManageFileDialogVM.vb +++ b/EgtManageFileDialog/EgtManageFileDialogVM.vb @@ -388,11 +388,44 @@ Public Class EgtManageFileDialogVM EgtFolder.SetEgtManageFileDialogVM(Me) - For i As Integer = 0 To drives.Count() - 1 - Dim directory As New EgtFolder(drives(i).RootDirectory, Nothing, "\Resources\EgtDialog\Root.png") - m_RootList.Add(directory) + ' Aggiungo cartella di sistema + Dim directoryFolder As EgtFolder = Nothing + For Each driver As DriveInfo In drives + Select Case driver.Name + Case "C:\" + directoryFolder = New EgtFolder(driver.RootDirectory, Nothing, "\Resources\EgtDialog\Windows.png") + Case "I:\" + directoryFolder = New EgtFolder(driver.RootDirectory, Nothing, "\Resources\EgtDialog\HardDrive.png") + Case "R:\" + directoryFolder = New EgtFolder(driver.RootDirectory, Nothing, "\Resources\EgtDialog\HardDrive.png") + Case "S:\" + directoryFolder = New EgtFolder(driver.RootDirectory, Nothing, "\Resources\EgtDialog\HardDrive.png") + Case Else + directoryFolder = New EgtFolder(driver.RootDirectory, Nothing, "\Resources\EgtDialog\Root.png") + End Select + m_RootList.Add(directoryFolder) Next + ' Aggiungo Desktop + Dim desktopPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + Dim desktopFolder As New EgtFolder(New DirectoryInfo(desktopPath), Nothing, "\Resources\EgtDialog\Desktop.png") + m_RootList.Add(desktopFolder) + + ' Aggiungo Download + Dim downloadsPath As String = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) & "\Downloads" + If Directory.Exists(downloadsPath) Then + Dim downloadsFolder As New EgtFolder(New DirectoryInfo(downloadsPath), Nothing, "\Resources\EgtDialog\Download.png") + m_RootList.Add(downloadsFolder) + End If + + ' Aggiungo ultima cartella + Dim lastPath As String = String.Empty + GetPrivateProfileString(S_GENERAL, "LastImpDir", "", lastPath, IniFile.m_sIniFile) + If Directory.Exists(lastPath) Then + Dim lastFolder As New EgtFolder(New DirectoryInfo(lastPath), Nothing, "\Resources\EgtDialog\Folder.png") + m_RootList.Add(lastFolder) + End If + m_SelFilter = New EgtExstension() SetVisualizzationList() @@ -418,17 +451,21 @@ Public Class EgtManageFileDialogVM m_ViewModeList = New ObservableCollection(Of IdNameStruct) Dim ItemVisualization As New IdNameStruct With { .Id = 0, - .Name = EgtMsg(15067) ' Elenco + .Name = EgtMsg(15067), ' Elenco + .Image = "\Resources\EgtDialog\List.png" } m_ViewModeList.Add(ItemVisualization) ItemVisualization.Id = 3 ItemVisualization.Name = EgtMsg(15068) ' Dettagli + ItemVisualization.Image = "\Resources\EgtDialog\Details.png" m_ViewModeList.Add(ItemVisualization) ItemVisualization.Id = 1 ItemVisualization.Name = EgtMsg(15069) ' Riquadri + ItemVisualization.Image = "\Resources\EgtDialog\Tiles.png" m_ViewModeList.Add(ItemVisualization) ItemVisualization.Id = 2 ItemVisualization.Name = EgtMsg(15070) ' Contenuto + ItemVisualization.Image = "\Resources\EgtDialog\Content.png" m_ViewModeList.Add(ItemVisualization) End Sub @@ -822,7 +859,7 @@ Public Class EgtFolder Private Function ItemFilter(Item As Object) As Boolean Dim CurrItem As EgtItem = TryCast(Item, EgtItem) If Not IsNothing(CurrItem) AndAlso Not IsNothing(m_refEgtManageFileDialogVM.m_SelFilter.m_sExstension) Then - If CurrItem.sTypeItem = m_refEgtManageFileDialogVM.m_SelFilter.m_sExstension.TrimStart("*"c) Then + If String.Equals(CurrItem.sTypeItem, m_refEgtManageFileDialogVM.m_SelFilter.m_sExstension.TrimStart("*"c), StringComparison.OrdinalIgnoreCase) Then Return True ElseIf m_refEgtManageFileDialogVM.m_SelFilter.m_sExstension.TrimStart("*"c) = ".*" Then Return True diff --git a/EgtWPFLib5.vbproj b/EgtWPFLib5.vbproj index d2db18e..89ba12b 100644 --- a/EgtWPFLib5.vbproj +++ b/EgtWPFLib5.vbproj @@ -624,6 +624,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\Dll32\EgtWPFLib5.dll diff --git a/My Project/AssemblyInfo.vb b/My Project/AssemblyInfo.vb index b17d911..14aa4f7 100644 --- a/My Project/AssemblyInfo.vb +++ b/My Project/AssemblyInfo.vb @@ -63,4 +63,4 @@ Imports System.Windows ' - + diff --git a/Resources/EgtDialog/Content.png b/Resources/EgtDialog/Content.png new file mode 100644 index 0000000000000000000000000000000000000000..09721268e120ecf52954a111c3b9677fc4e64390 GIT binary patch literal 658 zcmeAS@N?(olHy`uVBq!ia0vp^svyk41|*NpQ(y*CjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85nAJf-s}8AvaKrL9)a(q9iy!t)x7$D3u`~F*C13&(AeP!Bo#s z&(N@oL+l(-(T>yz&ooa@Ed~xChm}E!k(GfF$npYWX($`y91TWhus9QtZOF*PAPA(R zfH}!pxqfw{MUjv4Wou`XqNQC>_8~WaAfg;C0o;Kr=Y9JjZ1sdXRK+r~OsTEs+KBZ9^8<9W77)~#ol+fQGvc~*Gf zckAK3&+ptnF!SL#+u}B#Wt&B=T67x9Jl43l<%i^#(tro{aa=ly$~t-p)<6EJ#tr%5}XeT-*MDtB!sD5v^s1?_P22 zRR5Eedq>jef&Mq4Lbb^&XD>AQ5Go>ZOw6sY$u&lGS7ML)M!(<(g7ps+ET4TB{>YJc zdrI@J9QL?L4@}vdgHGq_t+^cMEz`#Gz+`1P`ws59yKl_O{I_PDxjp@44R>A0W1eTL z&poxdSTfhGZt>yTqBHS}^gGgTPieAxyJ$^T{1ekmEA~TsqF8WkOkFcXkY-6eiSG*!O%MR3(!O>PZ!6K2=}+s{X3?HN*t?y@7q-(%)+|0 zGvnc+u#1NTd^R=C=;G>H5TvtE?C(Msof9#h0xX7#7oFz(<5i7Jh-f|)kSG};kQ~rt zxkH0PX{MC!oSo+{KiYl&jQR69JBz2@K2`a!Xy0#}=e75q&-q^SyeLs~+9Rb7h8u?O zv{S<(W0aCPQzjgkSDSb8&%ax*EGBh*u}(U^Lw~d6g>`P; zkEA+hFZFwPf4zVwV>qUJD;}QoXPdoIO+HIednIJ&lL5# zecdK}rK9m0Gi4)1VZWl38Aqk&tln(7@&CjhmZrh(IltE>d#!n)H05o?W7Y_n)8dt3 zkNPh1e)P@iI5+cD`9jNS8}ed4Z)UhIb~-g|dD^QE@%_15^zTo#&r!R~^!(zgGZE?L z`qL|aUO0ARsuWYlTKBH>tV?O#XVis)KX)x(9e*Nad!Oh7UFcj}d5u%pXfcD3 z^yL&y@iRMGpM5ztcax>3nr{9d8f`YS3pqv!lS{)|~_`tzk`@q0`Kj+^yX%{+7XfAUA8G`_z4K4Avk?iW5X zY%?;8XP@b{?f5diI8=VYRkPD6ekb0%-;(D%EkNj{etFQN18Y|Lz5e!Ym+`-t|0~x| z-MQNDRNVbZ1@${@?Q?sLeS;?py$^_G{_Y(U=(DbO+6JeOmzs>$NG(rw%W`H|`_gRx zJGq|6{&FQZY^vl|Yxk?J;ZFbj^rQHr8#cl3?*{*U_NTNh)M&eo+NJVyd+wUBTv#Qq zaxI-xb>hFG{hn93ul0x>aF+kAHM@HAlNc3w?}+|6XYa+wbzOE17Rpvxr>FKkLg8@L z!!x^ADyI2{e!p^Mk&@~gCd=8i!nYq~WOe+KH#$%&U$yk8m!v4mvwhPye5o$iQ8{-~ l#%`=Us+m!$S literal 0 HcmV?d00001 diff --git a/Resources/EgtDialog/Details.png b/Resources/EgtDialog/Details.png new file mode 100644 index 0000000000000000000000000000000000000000..66930d7a2198e4667d9ec8031004f47cc7e059c4 GIT binary patch literal 576 zcmeAS@N?(olHy`uVBq!ia0vp^svyk41|*NpQ(y*CjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85nAJf-s}8AvaKrL9)a(q9iy!t)x7$D3u`~F*C13&(AeP!Bo#s z&(N@oL+l(-(T>yz&ooa@Ed~xChm}E!k(GfF$npYWX($`y91TWhus9QtZOF*PAPA(R zfH}!pxqfw{MUjs7Vc)B=-M7Y1bv61sofI!1T`=$jNnK1{B zG2U@Hc!@FQAg@lYtWyDly1)_17zb@`S66{6&p7)ZFKT_S+V%aQ=uYK=J>vIN8Iuor zr5p;b4*nm)6w|OeY=YJSmKRLrkvtlV=MHepIJxLb`PnC;(F$LsHGYbp3sh6GKB0SM z8-D`FmxkFoEFneQ25e!QGI|XCu327Xx%KWyuPUS8fkS5xOpiL?Cds}rNlW?y&lKt8 zV{#ckcr!NVzidm1dv@TQ|DQ9)sXafVBcETnzISo?lt2OFYYtcQ9i)v*XLjhYo~m=Y nz3bP0l+XkKNpz+{ literal 0 HcmV?d00001 diff --git a/Resources/EgtDialog/Download.png b/Resources/EgtDialog/Download.png new file mode 100644 index 0000000000000000000000000000000000000000..cc230a6c6556ba9822af73736e8d5abdc01ac511 GIT binary patch literal 662 zcmeAS@N?(olHy`uVBq!ia0vp^svyk41|*NpQ(y*CjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBufiR<}hF1enP_o1|q9iy!t)x7$D3u`~F*C13&(AeP!Bo#s z&(N@oL+l(-(T>yz&ooa@Ed~xChm}E!k(GfF$npYWX($`y91TWhus9QtZOF*PAPA(R zfHO3{GW!{zL*X2$)DfTp2 z>wkNGbGCNEv$s3G9kF_~#OhN0`eWx)=B=30c0*tXTbR*(!VrSlBLrrj{!Fy)(2 zg_q`&4M*yN`!9fC5sYMNLF2LevzhzP{hsH1?|aU9&+^Cjd?&;9Qji81 z0{{S!)Lw)*Z3)Z?IK#npfK|ssUmRZn&CI^ND0)XtSp_T;${S8NgqmKfB z(cN`}m}6;qU~n^+6vf?_&gN#ZGLwKX7AKACyq6SV?e2_s#^X=H(LwmyRjkzwGmRZ! z-F_-DFd~YgiejdklPuQQ??*Dfs{7$a0Mo$O$*GK4#So7gnqmKBV2RjkVl>t)Sgvoi z9j{RfdWcqZx1QkIL<9VnA~~@;zzlhoXj*H|bS8;aoMA71#itJ}7vJQ`-NvC)t9H4( zwSmFoABX3=S`F!mCVfA=vD7|(#B&QE?ibar$e}nvMc|OqMV{J=5&$^Uatpw^PU9f% zv+D5fx~5&0KbJ{j&T@BID$fkp-U?r#$Bfv@^Fs3Ah+-Q|Q^z-?;u8V^yj~I)QdK#T zxv1UrbZsSe`*!7b^Aa?Y;+#Buzj@b))@Err6QY+&JDWfJfVU$6@b$f|nZ6YI=EKwf zG|h7Cl?SThFKZ52ZlJo~-1-d$W0Z9vN433wfL7x;;6H^GTI`LR>}y8pKtg^C?b4ny zO+O#VBd@kBbb00asVX0CvumT}++0c{3ZbX^{zoW|P|$6CV=SHc>4>C-$5dc)5hkUh z$QPP|g5!=((FmKRj*IY*;<#%>nWH?+)0KULTso24b_uuTq`I*w`gHNE;$mfl z4a(S+K#*QynXc*ug^^eoB0l;Qai2!w{pk?r4n=cR13Bw=-4#bS+2R)??m z2M7z5Huk6>aebpf^sItCS3i!KTMkzFkK&JcV!UFaI9UC(8L#G z53E214w&BUA`_ZHzgT+d<)B@jsrO)t-j3BP{asz7CE3t6^e}I9^~66 z9sa7E&<|d+g%R03$&5FYar7#?plnIh?XzQ?_C#hEX~iKtHWJ?KXfSL*dQ!IN=jRpq zr@agEK=_LL7!S3yk3NIPQ&f$aFaMPkXxzS#l@2f$n{9P_9+SC~Gg~t{+Yi*@{eaRV z(0b1EHGzIx_N+nSosLBQa`&^Mcgk=1SssD3*`yueKW7q3u-0la8P;Bb>7Jgpwkd@R z;jg@1rWIGZR6o-$cXoQUZmYiiQr!^FzcXn#^lb5cVZ39!Pb4{2{lKyaGH}(pju@xj zGE?7w4&k}braAV7Vc(J|er;aeqnf;Vd+9fI1_m)}L>S7Z3hFtUl?nIeG)`|*!|-%m zyp@F8Z#Vf;GC(fgS5-pHU8we%rtEHe%l8PX**2+`Ch|@-Bt_%srbR5eaORf!!0sAU zf23nCvti=R+FWlq&SNSI!xB32W4=v4s5=(XT+F|%`9N{yKKiom?Ntgffem#-p1Trz zuWI3Yc;DbHPUVQCP;2#k!C%zE!MKGi!}B)>!F|XI@tij>M%p(paA2H}{QJVhjm;Gb zLP9RAcT<~8{T(sGCC={pyYljIm~xYCVLyz&ooa@Ed~xChm}E!k(GfF$npYWX($`y91TWhus9QtZOF*PAPA(R zfH}!pxqfw{MUjv4Wyr+v}NQC>_8T-AM9R=F=3$r8(tMszX zcbpy4bmaJi5~Ug80-vOAExUTjC~TjDz?sbwmsO6Xi9PE(YOp&xCc#ePSzg-Dy9K|$ z^T{mNnYzo4rLSRa*V{!**A93c-BjunSo^^D&$4^};L q^1`+8C#nk4{xb`By|nN%{Kw!ey;yy2yz&ooa@Ed~xChm}E!k(GfF$npYWX($`y91TWhus9QtZOF*PAPA(R zfH}!pxqfw{MUjv4Wnx~6nNQC>_Yx}ib6J?HnyuNcg$Lvle zr;{F%1_5HtXVo76Ri80s;(kYw{|!c)6;>Zq<6gaM(w|)s^P-PmmOa07(ev2(=RVi$ zpMUOWN!#<^6FgLeI{!PiX=TkgCi(4y=+9jSZC)YzlXyz+94h0ucqJ|6-Qm<1rXK<) zNmU$WvvFCNcVQ-XX!ozw*BgbLp00dsyL~_3v$DdOiLAe098?Y~l#vu~KDFd$^S4>8 zf;!1Bmg`USnBrz?Q*GGzykONoEy-tv4UGon*9zo*PTSCMenp&$s7<2yx<$$Vl#I@A zm0(SMwWR5xhD-epQ4`7YYi}P+5nVjvlqi4Ul-u_c&F+ZZi}Lxt=nBXC`=>7SmY#Va yVqI~vwTX|X?Q8fI?Jk{~?{;}W-?%(l|B09J`|KvYw!2lJ(DQWlb6Mw<&;$UB!_UM3 literal 0 HcmV?d00001 diff --git a/Resources/EgtDialog/Windows.png b/Resources/EgtDialog/Windows.png new file mode 100644 index 0000000000000000000000000000000000000000..a9da6c67e1d35dc4f3a3e198656dcef139b6963d GIT binary patch literal 2245 zcmZ8ic{mhm7oTCQS+m^95}72%HnLGeB}xd9$||B02(t7?RxWZwNRMlr3e5JzIEV03%lGV zZtzH?1vU~LdL=T(`>G$n-a8;9Qv0HXld^#}OdAGE6OX`_Zj=6y3-IBz)hWVGBv*1AspUQRQ zXFBO`+}+}B?CH^;toE!e)NeFhhQMs~1D;jilfA9)bqYKAz&49y0)IgOFGeky4$cgS zbBc-LH-VMMmj&GW`rU~uEkpaXr{nwe3EI1!C)6~){tWG3z!2i?pd2M&)Y_Abqd0>3 zL#c}At_2#-g^bscgl{4Qe^^hef9BW8Pk;T%H=4lgxB~P9L;J{`ey+ol5AM^CF)Hd{ zeuVUE8xrd^${6~?Y6mB~;s4&?<=;uqneDn`D^6(c!6L{&1|a=#dgDylPv<3T(bN2Vt0}XeQ?`L`$ox+F#q@uk(2` zXqXo|JUS#ndiI~8hElCwF^!pNbr*q_#tu9&Bz~6@5nA}7SbTP_SY=hM*}VowV4M!G z&NPZ6vaL8Bqb@W)W{SpDT$rq4QsH?bh3kDyLimnHFWzgTXzFATn42Sq9X0N? zj`dS(ry)W$QN{oK`By+!@#`rQ3iqd-= z))r@)-~o;M0%k7eVRy<@9@|30QB5OuHaZT$b0tkXo5jm@yn)O7g*50@=DLuaYyWz#v`O24Rsh_!Rc7P1cuB?Cu|IqaG@2WT|2t30w zoh5nu;eqzD*ClR2?mn86M5@Qt#X?l&QcP)u!o}Wi?W$WGZe^L_|z+XFAW;fW_#f z#G9H0$lbc&bVFNA^zOiCu)MsFuW#=B{4uT$pI^|e91?w(w5o#V=QmFLVFKbS43u^i zYR8c);fA5aYB+j(V#LnmqL0rDgU{$))#mpn>C>QoTPdJnj|2#aka(N4qwhJn5ygK4 z#fqh}kk$kFHz5O6FCgVZiGl2oA1q>~qivJ3vo)vd*5Ncq;aQed<%qtaVYa;D{Hv$+ zRRy9^AM2m)c6ek!)!n1ekF-`|KHgrs7EA46?TJ@Vm)sXS3gf6Z--l5BVjh3LyV&yq z(!PNLjNVwKR+l>MxJ{AsGR+#IMR8g^axN(gMx=hZ%L|q>hqL#}Dsi@14|>2<;y$Hw zn^nH%RJqGn-PD0kP!~*81gF9bD}V@4Ew)y)QaD&Bxba@0j0==B(U8#wTc}f0xuac+ zbzx~@2^%JSC*v7?6=)`=cX9P2L+i~7&7-|IC|K07?%n(m`@yUG4U+w;D`8&rDT4)= z!#hfjnL>HXV)u1K;?HuW@9*c!JI4AsMl!8I*dmW7zOdBPR4l<^J|NtuJ_MCqKVfD? zTjP9-`^t*ns9KZJw}jubE^B$v+A2#Q^{ez#IkRKXIPtTshP{xik$3@K(v#*CK!MaH z?{wK27BRwXzP-r~H6ETi@o7PhZNe~4N=&BhFSvAW^->1@==RUd5QKLtrlj+x9~V=e z$;*n!hJ`Cz(cTrhuvR~BgqjWDj}o(!6wFfAIGD9mo{;1>?{k4a|0>^(`q+ zKUXyRNUreGdzDhPd`%u_G#WkFSaBTjQqAs1jc%0?6X!;NW@Kbg$YZWj*tb;Y1U0*D zZ?gJGQiUtQu}b9fw%f?T*7Rxcv8Le5=SNpq!K9ab2@tW^fso7h3QRoivbg8 zmz%>(wcdEKuwAkv$gkaX%uS;yTn?toCR=g|f2OqJO#YOWvq!;OLTuJj@ literal 0 HcmV?d00001 diff --git a/Utility/IdNameStruct.vb b/Utility/IdNameStruct.vb index 4f94f46..463fc6a 100644 --- a/Utility/IdNameStruct.vb +++ b/Utility/IdNameStruct.vb @@ -22,11 +22,27 @@ Public Structure IdNameStruct End Set End Property + Private m_Image As String + Public Property Image As String + Get + Return m_Image + End Get + Set(value As String) + m_Image = value + End Set + End Property + Sub New(Id As Integer, Name As String) m_Id = Id m_Name = Name End Sub + Sub New(Id As Integer, Name As String, Image As String) + m_Id = Id + m_Name = Name + m_Image = Image + End Sub + Public Overrides Function ToString() As String Return Name End Function