From b8726c3d25e7a0f351df0596686909ed7ceb2d9e Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Mon, 8 Oct 2018 00:14:03 +0100 Subject: [PATCH] Add Oxygen icons in main form. --- .../.idea/contentModel.xml | 17 ++ .../Assets/Icons/oxygen/32x32/computer.png | Bin 0 -> 1609 bytes .../Icons/oxygen/32x32/drive-harddisk.png | Bin 0 -> 1450 bytes .../Icons/oxygen/32x32/drive-optical.png | Bin 0 -> 1506 bytes .../32x32/drive-removable-media-usb.png | Bin 0 -> 1556 bytes .../oxygen/32x32/drive-removable-media.png | Bin 0 -> 1037 bytes .../Icons/oxygen/32x32/inode-directory.png | Bin 0 -> 1387 bytes .../Assets/Icons/oxygen/32x32/media-eject.png | Bin 0 -> 1197 bytes .../Icons/oxygen/32x32/media-flash-sd-mmc.png | Bin 0 -> 1709 bytes .../Assets/Icons/oxygen/32x32/media-tape.png | Bin 0 -> 707 bytes DiscImageChef.Gui/Assets/Icons/oxygen/COPYING | 216 ++++++++++++++++++ DiscImageChef.Gui/DiscImageChef.Gui.csproj | 9 + DiscImageChef.Gui/Forms/frmMain.xeto.cs | 97 +++++++- 13 files changed, 335 insertions(+), 4 deletions(-) create mode 100644 DiscImageChef.Gui/Assets/Icons/oxygen/32x32/computer.png create mode 100644 DiscImageChef.Gui/Assets/Icons/oxygen/32x32/drive-harddisk.png create mode 100644 DiscImageChef.Gui/Assets/Icons/oxygen/32x32/drive-optical.png create mode 100644 DiscImageChef.Gui/Assets/Icons/oxygen/32x32/drive-removable-media-usb.png create mode 100644 DiscImageChef.Gui/Assets/Icons/oxygen/32x32/drive-removable-media.png create mode 100644 DiscImageChef.Gui/Assets/Icons/oxygen/32x32/inode-directory.png create mode 100644 DiscImageChef.Gui/Assets/Icons/oxygen/32x32/media-eject.png create mode 100644 DiscImageChef.Gui/Assets/Icons/oxygen/32x32/media-flash-sd-mmc.png create mode 100644 DiscImageChef.Gui/Assets/Icons/oxygen/32x32/media-tape.png create mode 100644 DiscImageChef.Gui/Assets/Icons/oxygen/COPYING diff --git a/.idea/.idea.DiscImageChef/.idea/contentModel.xml b/.idea/.idea.DiscImageChef/.idea/contentModel.xml index 316dd605a..1a286f122 100644 --- a/.idea/.idea.DiscImageChef/.idea/contentModel.xml +++ b/.idea/.idea.DiscImageChef/.idea/contentModel.xml @@ -1311,6 +1311,23 @@ + + + + + + + + + + + + + + + + + diff --git a/DiscImageChef.Gui/Assets/Icons/oxygen/32x32/computer.png b/DiscImageChef.Gui/Assets/Icons/oxygen/32x32/computer.png new file mode 100644 index 0000000000000000000000000000000000000000..a5ee195612c8131e0217c89b8c9f77616cb7d6f0 GIT binary patch literal 1609 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 WV|3!1cnt#s1B0ilpUXO@geCy0Y{sMj literal 0 HcmV?d00001 diff --git a/DiscImageChef.Gui/Assets/Icons/oxygen/32x32/drive-removable-media-usb.png b/DiscImageChef.Gui/Assets/Icons/oxygen/32x32/drive-removable-media-usb.png new file mode 100644 index 0000000000000000000000000000000000000000..5a2927fb56801228ee8494d8236e577954c44362 GIT binary patch literal 1556 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4rT@h2A3sW#~2tGn2Vh}LpV4%Za?&Yz`(%3 zS>O>_%)r202EvTBSDVf-Ffd4#xJHx&=ckpFCl;kLl$V$5W#(lUCnpx9>g5-u&wghk z#lXO{Ccr1e_5c6>3>aY6tXUXhAOUV}ZV&~-K0ZF-;o*IKeK|QfRaI5Z&CM+>ExEb5 z2?+_w$;tD;z|zt(BqSs{I@-p@#@gC??b@|lw{G3Oef!RxI}aW__~glx!-o$)e0cxi z!v_x^K791(;p4{-A3uKdhy zy?guq{X6ZA+O_j*=ggn8V8MbVOO~uyv0~-QmFw26+qiM#rcIlUUD$a1`0*1bPMkb- z^2y1aPcEN;nEdqV(`TnQKf8S3*|Vq5o;`d1{Mm~Kw_m(?{&MHsSI5`CI=kW3-K(!2 z-gy1+*6Y_V-yB%-_U-F;@7}y$-SYnZ+Yc-2KWymu@ZiFS5AQyF`0(-YijPNEeth}h zBFZ_A3rb1|Gc>9^UCVa8=5{JnD_bg zn$Mp+pTB?q`u+R2@87@wSX2CC zYx9rKAAWrO^yAx?AK$kMBQz{P?-K^5?d?pF7)rUf=rj^ShrvzyJLC##Pna+cKrJE>esKIzkdDty`%2;uEyUdr~iI<;`gIdzh7MY{p#-T-@ktU z{{81@|DUVt{ye+*=hu%vzkmJt^ZU=AKY#bs{oPal_teb4zrOzc`{(c9zyFT){X0G5 z-}wdq{{8*;@8AFZ4gU``{y)_A|7g$u|Nmc^T-?RLz~ERCZ3i(^Q|t=4{j@6bSzqu1@8&#Qhn|NHst%=1$xa3!(1rF5vK`o0prqL3l-MYU>JytV*y?>W{AfH#g(6yt^)ACXFmRV9iDvPb>SzK}0{Is&}L4Z6*w%xSn51FQK zh}gSzBb!f5t^I3d8>SXsjokqol-9=aD$H_J6Wj=2b4Joul0-k~TeE zvEO<}mc2oRrvD&7W?`}Ny<9egCg2mfo$GmtL zCw=~5aq3vl^}okN%^z&_y!lp2?r+cQNn8nB2C)TCqf0Ndyt{n=YGPUhOE9a#l&JY^ zw>!MvGKbGPuYdjZu@Z^vVN*AmdCb;-zV@umT6z5qRw07Mhd+GaU(CtZ;&Py^k#BRw zvm1d+Sj5>FmuzUT?O8KlTFtVu|@9A>+uu z2h)|(6)NN>_Wj$pIXUx> ju5>7y5V-M$iQ!{;n@1{B7HND;0hO?xu6{1-oD!M<8kBOh literal 0 HcmV?d00001 diff --git a/DiscImageChef.Gui/Assets/Icons/oxygen/32x32/drive-removable-media.png b/DiscImageChef.Gui/Assets/Icons/oxygen/32x32/drive-removable-media.png new file mode 100644 index 0000000000000000000000000000000000000000..1400e98a2e13a2b3eb575f3030e6dbd742bcd3fd GIT binary patch literal 1037 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 GGywoLA1>Sg literal 0 HcmV?d00001 diff --git a/DiscImageChef.Gui/Assets/Icons/oxygen/32x32/media-flash-sd-mmc.png b/DiscImageChef.Gui/Assets/Icons/oxygen/32x32/media-flash-sd-mmc.png new file mode 100644 index 0000000000000000000000000000000000000000..031240d7a06d3ffa087a0d93d52277b242c90e78 GIT binary patch literal 1709 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>U|>t~ zc6VX;4}uH!E}zW6z`$AH5n0T@U>*y?jFJs*u?!3h>?NMQuIx8Cc*PAhF4pBeV_;y@ z^>lFzskpT^EVpAys7T$r>gUP(kL9iv3E2`LY--5;E67}9u{>*=P}8sF@~uiPkKDc} zt2C`xV4}@)sAF^Q(2sR%btX*LS<-&6_j73#;!L7Z=Yc_^!I^ z@WVUR_rA~jJm>kH;`@$oE7Gq^{<;6S{qkRl+!a-aZ|^=Yec%9#2m|BR_r-BrS=DOR zIQeoq6sPLFFF3jL_|Gq%x)C})4#Q~n03FOd4F%>&pDCj_xzUKwq`f~*TXB# zGu#gbUhz6<^UT6%d8bs(F;kf=)kRyIBXqWCIOI&Q<-BEcKAgR;?B2DH|2~#T)VzIm zIGNdC(h|m&tO<yulxz|F*b0b>7{LYd;^kmM*@q z?#L@%Gllv^#XpTsJuTY$P4RBh`e`quW;7_7-M^r+RMD6(N@{XJ&4S&pztk`!GcOPp z^j-D;l=z3Mr@a~7AMfW`3(@B%UG-X-eST|O{VMLC z=JD>I4ytDCtd)ztH2G8JsTn*5J6^tjZ!Ugr-m8;O-Fqha1_^NnMK7un5VDtZFS{EY zz|4GNUCkn)0~g(nOP_3VT4FrGZ~4W0_xxV@XA`em>v5Fqt>&`?RV2j255b<{zAOGOL84Fs-oUe_Wgr@3Mdss~6~1r)8JEoio!) zRKR(r*ICXBnVz@GY}_?N=ABH*;qJP!NpQozxSc6sdv<6qPv)%oaECd|gkjq>bq!^;4^{~xr<7HB#7}2< zs7+ilL2+V@oqqOdrls3-L}y=8l+Jqa$<;yim|e^3?Q$D0C*J?O<0k*gDPpJ7HfxA= zOFUqF?C82Mz#%_>{f5A5kL<1QLvM2MG;rkZ$b9Rxrt5aR7%}ZYYAtTnHV(P)ut~XElE(zSUa%shu1xgD914w&ODqgGp<( zBe%)%95ZEjZhYY8ebX(>(T6e^))WU=2b9IhM{GHKpmkEekDWuYP)2URi(iv(erNKm z%F7J$tOCTTl3G5W`gv?6pvn@lVxF=Vct1)=lUL)z@i}+T`z= zc3_&~oF8g2CvMdV>!qFAG|%LmW8RSmug@h`Fv@1SztG#|R&&I((NrywrTB!H(mclX zML(vrI?r;Cxm30F$Qco}?U_q{+tl1MZrT@IZHnH)}tK;FOq&w)T!GU(sr1m{M??I3zB~1{FnT5 zqn5S%neU;6=ejFWe;e*xwcO9+;CI`Pohx`azPqfJP++M~_DVi~Qb*6Q!f2i5BhPneA!7cc8QzUiCfjjw+z>kd4+QT|6rZukGNpV{Ao%k57qSzZdiBE-RP!c^)yo4ouk zui5%vv{R!+BX)fVJ2U5!*4FGy^idr>nu6nFRTl3Vaxh8jZb1u z{GnrR7IU-(FU(ZlmDKFvrOheyPv*k1#-NQHz73!5cHC5;*bu zQT&t`2cZo&Jx`kIDu^mEEzq3T5$L^a($y`U#xGvX&yGAbN&bzj()lfwS~GL9dsSyY z%xHfv{ZfH1(Z?%)$(Cg1ip8fB4(FIM9*FUL_G_`j%hi^*gf-0{{8C;Z6Tj`FdCkX5 eF<1KbGlpm!yQRyj8O*@Iz~JfX=d#Wzp$Pyw-z^3J literal 0 HcmV?d00001 diff --git a/DiscImageChef.Gui/Assets/Icons/oxygen/32x32/media-tape.png b/DiscImageChef.Gui/Assets/Icons/oxygen/32x32/media-tape.png new file mode 100644 index 0000000000000000000000000000000000000000..0dc1034d4c47eb80708ca62f563ae119779c136d GIT binary patch literal 707 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4i*LmhMUEk>KPaqn2Mb|LpV4>-?)JUISV`@ ziy0W0%Rrd1_G;4^1_lPn64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq!<{O zoIG6|Ln>~)oobsQ;wW;wez)Jd(*FF71t2vi0NQjoSn^Zn$xNB}7A#n_Na04OSY1O`hvKs@AI{C0zIV2yeEqaoKITJ5-3sJBSNwkVw?02FZF=#< zwYE>M&$?!Ac#{5mp^Hlg&U70F1({;%VmHvqnn7H`%Xw4p`NxJ-K^&Wc{o%TI8AR^e1J#( zrt4hhJIueXT>Zb{X_iYFv-*y#q{~kk<{B=kn0zm>_4k>NlRT>&mTlT+8=H15Om_W@ z%MaC>o@_T**nRlO_8liY*9AZBO%H_UA&~CM6FUyNm<$&x^17Fhz6T=UY!4FRaKjomO#7C)*~ed6me$ zWekoBMPJLvG2eS4$ig{c|IGK5%TH-J?(ROieZeNLkBkdF%s#1JbKk^Q)Zi61F=p8c zfnQ9kIaGAooAq9AnG*6|>CyK)9VJbS4}`Y2b3N`|uX4^%_U54(WhSf+w=w?kO!aYayYD*x%ZrIUj2!}t56e9Jcej37{9m2G3KPbpQU(SF N22WQ%mvv4FO#rL2KTH4s literal 0 HcmV?d00001 diff --git a/DiscImageChef.Gui/Assets/Icons/oxygen/COPYING b/DiscImageChef.Gui/Assets/Icons/oxygen/COPYING new file mode 100644 index 000000000..045b62e8b --- /dev/null +++ b/DiscImageChef.Gui/Assets/Icons/oxygen/COPYING @@ -0,0 +1,216 @@ +The Oxygen Icon Theme + Copyright (C) 2007 Nuno Pinheiro + Copyright (C) 2007 David Vignoni + Copyright (C) 2007 David Miller + Copyright (C) 2007 Johann Ollivier Lapeyre + Copyright (C) 2007 Kenneth Wimer + Copyright (C) 2007 Riccardo Iaconelli + + +and others + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 3 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library. If not, see . + +Clarification: + + The GNU Lesser General Public License or LGPL is written for + software libraries in the first place. We expressly want the LGPL to + be valid for this artwork library too. + + KDE Oxygen theme icons is a special kind of software library, it is an + artwork library, it's elements can be used in a Graphical User Interface, or + GUI. + + Source code, for this library means: + - where they exist, SVG; + - otherwise, if applicable, the multi-layered formats xcf or psd, or + otherwise png. + + The LGPL in some sections obliges you to make the files carry + notices. With images this is in some cases impossible or hardly useful. + + With this library a notice is placed at a prominent place in the directory + containing the elements. You may follow this practice. + + The exception in section 5 of the GNU Lesser General Public License covers + the use of elements of this art library in a GUI. + + kde-artists [at] kde.org + +----- + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. diff --git a/DiscImageChef.Gui/DiscImageChef.Gui.csproj b/DiscImageChef.Gui/DiscImageChef.Gui.csproj index 132ad9b84..02887a424 100644 --- a/DiscImageChef.Gui/DiscImageChef.Gui.csproj +++ b/DiscImageChef.Gui/DiscImageChef.Gui.csproj @@ -293,5 +293,14 @@ + + + + + + + + + \ No newline at end of file diff --git a/DiscImageChef.Gui/Forms/frmMain.xeto.cs b/DiscImageChef.Gui/Forms/frmMain.xeto.cs index 7156369d9..d6a06b5ce 100644 --- a/DiscImageChef.Gui/Forms/frmMain.xeto.cs +++ b/DiscImageChef.Gui/Forms/frmMain.xeto.cs @@ -39,6 +39,7 @@ using DiscImageChef.CommonTypes.Interfaces; using DiscImageChef.Console; using DiscImageChef.Core; using DiscImageChef.Core.Media.Info; +using DiscImageChef.Decoders.SCSI; using DiscImageChef.Devices; using DiscImageChef.Gui.Dialogs; using DiscImageChef.Gui.Panels; @@ -52,15 +53,24 @@ namespace DiscImageChef.Gui.Forms public class frmMain : Form { bool closing; + Bitmap devicesIcon; + Bitmap ejectIcon; GridView grdFiles; + Bitmap hardDiskIcon; + Bitmap imagesIcon; Label lblError; ///

/// This is to remember that column is an image to be set in future /// Image nullImage; + Bitmap opticalIcon; TreeGridItem placeholderItem; + Bitmap removableIcon; + Bitmap sdIcon; + Bitmap tapeIcon; TreeGridView treeImages; TreeGridItemCollection treeImagesItems; + Bitmap usbIcon; public frmMain(bool debug, bool verbose) { @@ -82,8 +92,37 @@ namespace DiscImageChef.Gui.Forms treeImages.ShowHeader = false; treeImages.DataStore = treeImagesItems; - imagesRoot = new TreeGridItem {Values = new object[] {nullImage, "Images"}}; - devicesRoot = new TreeGridItem {Values = new object[] {nullImage, "Devices"}}; + // TODO: SVG + imagesIcon = + new Bitmap(ResourceHandler + .GetResourceStream("DiscImageChef.Gui.Assets.Icons.oxygen._32x32.inode-directory.png")); + devicesIcon = + new Bitmap(ResourceHandler + .GetResourceStream("DiscImageChef.Gui.Assets.Icons.oxygen._32x32.computer.png")); + hardDiskIcon = + new Bitmap(ResourceHandler + .GetResourceStream("DiscImageChef.Gui.Assets.Icons.oxygen._32x32.drive-harddisk.png")); + opticalIcon = + new Bitmap(ResourceHandler + .GetResourceStream("DiscImageChef.Gui.Assets.Icons.oxygen._32x32.drive-optical.png")); + usbIcon = + new Bitmap(ResourceHandler + .GetResourceStream("DiscImageChef.Gui.Assets.Icons.oxygen._32x32.drive-removable-media-usb.png")); + removableIcon = + new Bitmap(ResourceHandler + .GetResourceStream("DiscImageChef.Gui.Assets.Icons.oxygen._32x32.drive-removable-media.png")); + sdIcon = + new Bitmap(ResourceHandler + .GetResourceStream("DiscImageChef.Gui.Assets.Icons.oxygen._32x32.media-flash-sd-mmc.png")); + tapeIcon = + new Bitmap(ResourceHandler + .GetResourceStream("DiscImageChef.Gui.Assets.Icons.oxygen._32x32.media-tape.png")); + ejectIcon = + new Bitmap(ResourceHandler + .GetResourceStream("DiscImageChef.Gui.Assets.Icons.oxygen._32x32.media-eject.png")); + + imagesRoot = new TreeGridItem {Values = new object[] {imagesIcon, "Images"}}; + devicesRoot = new TreeGridItem {Values = new object[] {devicesIcon, "Devices"}}; treeImagesItems.Add(imagesRoot); treeImagesItems.Add(devicesRoot); @@ -240,9 +279,59 @@ namespace DiscImageChef.Gui.Forms { Values = new object[] { - nullImage, $"{device.Vendor} {device.Model} ({device.Bus})", device.Path, null + hardDiskIcon, $"{device.Vendor} {device.Model} ({device.Bus})", device.Path, null } }; + + try + { + Device dev = new Device(device.Path); + + switch(dev.Type) + { + case DeviceType.ATAPI: + case DeviceType.SCSI: + switch(dev.ScsiType) + { + case PeripheralDeviceTypes.DirectAccess: + case PeripheralDeviceTypes.SCSIZonedBlockDevice: + case PeripheralDeviceTypes.SimplifiedDevice: + devItem.Values[0] = dev.IsRemovable + ? dev.IsUsb + ? usbIcon + : removableIcon + : hardDiskIcon; + break; + case PeripheralDeviceTypes.SequentialAccess: + devItem.Values[0] = tapeIcon; + break; + case PeripheralDeviceTypes.OpticalDevice: + case PeripheralDeviceTypes.WriteOnceDevice: + case PeripheralDeviceTypes.OCRWDevice: + devItem.Values[0] = removableIcon; + break; + case PeripheralDeviceTypes.MultiMediaDevice: + devItem.Values[0] = opticalIcon; + break; + } + + break; + case DeviceType.SecureDigital: + case DeviceType.MMC: + devItem.Values[0] = sdIcon; + break; + case DeviceType.NVMe: + devItem.Values[0] = nullImage; + break; + } + + dev.Close(); + } + catch + { + // ignored + } + devItem.Children.Add(placeholderItem); devicesRoot.Children.Add(devItem); } @@ -368,7 +457,7 @@ namespace DiscImageChef.Gui.Forms if(!scsiInfo.MediaInserted) deviceItem.Children.Add(new TreeGridItem { - Values = new object[] {nullImage, "No media inserted"} + Values = new object[] {ejectIcon, "No media inserted"} }); else {