From f24995bef36dcb4a54e4cc9cf86e8478d5453926 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Sat, 18 Oct 2008 11:54:53 +0000 Subject: [PATCH] * renamed tab "root" to "My computer" * on win32 allow browsing drives in "My computer" tab * improved icons for home and "My computer" browser git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1767 0778d3d1-df1d-0410-868b-ea421aaaa00d --- ChangeLog | 9 +++++++++ data/themes/default/computer.png | Bin 0 -> 1432 bytes data/themes/default/home.png | Bin 733 -> 1132 bytes include/file_browser.h | 10 +++++++--- src/gui/file_browser.cpp | 12 ++++++++++-- src/gui/main_window.cpp | 20 ++++++++++++++++---- 6 files changed, 42 insertions(+), 9 deletions(-) create mode 100644 data/themes/default/computer.png diff --git a/ChangeLog b/ChangeLog index c7ce26356..84cbf3311 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,14 @@ 2008-10-18 Tobias Doerffel + * include/file_browser.h: + * src/gui/main_window.cpp: + * src/gui/file_browser.cpp: + * data/themes/default/computer.png: + * data/themes/default/home.png: + - renamed tab "root" to "My computer" + - on win32 allow browsing drives in "My computer" tab + - improved icons for home and "My computer" browser + * include/embed.h: * include/instrument_track.h: * include/plugin.h: diff --git a/data/themes/default/computer.png b/data/themes/default/computer.png new file mode 100644 index 0000000000000000000000000000000000000000..af7346a84522e6bc11104ec2527b5f3bf957c98d GIT binary patch literal 1432 zcmV;J1!ww+P)L`ocqRWRAa>qN3_ zZ}JDuDiMUNSX#2B_ycehz93SRd;lK+$;L=1N?;-^%K?YMJZ4~CJ=5LQ07kd47H#OOGC**X!Z<_!wJ%R?-L6ecZTl1MBPSNT<_` z7!hvc*KrbwQfI&8I?aQvOb+amof>CXVc3}Y{7WW4i=}_6RfGt9 zty|T%G=T(zUw`>q-@b!9*<8N=-ykVBHELDB+JpvMX*APUUEmkAhyaJdK}7@>(i0UZ>v)hBWxRLB7L1&s@yZ=ffv zh(HhoXf~THzcSSi6U3*$PPYrs_Yj)nTWC2FwgmzO3llDufG`5kRUfA0)?k86j1xH` zAOpCbOYm5Uq)8bNWJJIY_%7u=G+m;!FkMWfN+eYR-E zJENmfKq*-f-}hsLQt&)U&cJ~LJJq>h>BJN9KJ>kWFbR>02$+_MY&MHrE{Au^Wwq~7 z%_|TAA%a*{+7LbwGr%j-vNDN8Al=uMAtHi7TmiMZ}||ExGPTq(rDdybNKWP%J`5$rp;v*MbR%h=BDE&xSyOvpyau7FZ=`RI-6g zQ~@I*z}K$pqSb1{^E^&a>lFbToxR_1p6M5rRw16C{jroCQ{a`%1pO4`U;_gK_~Pze zOioSWqwCk%SV@u0K0Fo5H`CEk)q(Jp0S8AJ?$2k6Yt+?qGFw zmG{4PQis!OJ7MtU<>i%fd1Cg;m9m$~W~9?;8zK;vMeON*QwYJ^NPbK@a-EPGKD}20 zSJ0>svQ|5_Pn#_aXS1K&y7g(rzIX2)vs_wQs(!z`d};mhW3GzXk7sf7=FP)zzFzo% zrq%!`X@?gU7Ai38iF776SuB=PmC7b6Tfb8o=P`bzjApxwVyTFBw`cDDy;nFqc)>@n zRJMrx&=A_KPEA1kak%$<^7ie|jts?CJ1+nz5sHKi!6BRw>U7VkzK7r13KJ6(*4*4& ziMDEVZ*On3NLIdjb!2Mdy^+%BNP2&N|KvsWd7TcijE)es>a%CZlz<(rWS85W->DczTV$k znA@6@NF)o&Eq6aqFCC|uDNy&8!bwm}6Wk~PW@cuaA|D|beh_=>rv%_89;ZqAYW6HJ zZRq46x_`_s^dwq*1Su&g=~`rTR6-anHsV@L{M|>Yo3uRtzgT<}v0Qw082SavUidL4aA*FU=b;6tHEb1B%LF1#m!Q^}+G2 z!nhVu@^c-XrL7xPMz7ywF^KY0r4fY^!daY`jf}1DdmU*Oo8t&jJ zdgk?gONOCUgu8LX+d7(lkIo3t1rfR^M)}()UxF@6(3Kr@br=0-7k#^juI-`g``CsQ z+mvDNq}V$dwgr%5@8y_4fe8UhOmqw`R$^kHDtsHD#w99T0#t+VsPP>QzN^9a4)Fa0 zTzZI0AzXHd%YZ_J9Ksb^T&X2gIzp`{Gys@@41^Yd5ITf_j|dng496G|%!uMf3^(G0 zks!chF@{-vVFRw*i|*&`PcpGM<4pGO2@DDjk4ergC@Lu{D`V8uHZYsJ*aH(26LW9Z zH^jUDi#-kWUubnYy&g6g5EMHYqzsTqCV>=p*MN&QbFVx-18L_nMext5%Jh*-w&f>J zd05y|p#2L@Qsb%Hr|WLS@jE`Mme>zT=SRm%1ZT;IPLX_Qe9Y?nr_rX*LzI@(=B)my zxs@&@9CA9ty6_P=y?z%u{< literal 733 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H3?x5i&EW)6%*9TgAsieWw;%dHU|?X35AX?b z{r~?zP)5VeFQs!6kO2f`s~@CwZfw~2u5QB{hzO7@UHPhX>DL{buhy)71|%b=J?+}^GHTk>sA*54r#%KD ztJ(`O(;vsqcw$*|A$ro)*cp%Grd*Go`6PbEql8(HlV{#)-0-St<16FxGf|VS#Z11I zIOBHWtVc<+9~qaQ4xex(qW?<7gsTw~uS86|8aeT*Zt)4dk`oaVt|ZTXm^$ZS+T2GO z^B?IH9ft^}&3}_V|4rtC*ZIpo6)gW)zUE8$ny(dWzgDmRQoG?x{ibitn?JW~``WSd zd)MYC-Mhc_?0h+4&#MXheoox~ebWB#Gxoikarokl8leEat8yLTTxeE9VF>$mUUzyJ6N z1iygb_a89$3jzNiV789qZlH-bJY5_^BqX;U-08)fDAI88y{yKrJg+V00GBA#2$Sr%9@sf!o<4%&43;g35ORrewkyjEw=E0PIOIQ`@5 zy(bnGFW+!6?v(lz|8Vhd@AUZE+GqJsgKmg_JrzHhEBbJ-9QU@A5AWokG2S@S68ZT8 zL)QE_A74djO$EFAPZXl69$!1ul5b@wkZTfTw3*djENz;NO-aD^oTn)d6!IP#ep`@U z!sBxM;ngcbdtKBS?bh0qTxH6(%C1^8HT<+?{oU3HY=`z~yw=ZcaSf2p&fW@2dY-O+ JF6*2UngA+akNN-r diff --git a/include/file_browser.h b/include/file_browser.h index 02d628d6e..cb789f342 100644 --- a/include/file_browser.h +++ b/include/file_browser.h @@ -51,7 +51,7 @@ class fileBrowser : public sideBarWidget public: fileBrowser( const QString & _directories, const QString & _filter, const QString & _title, const QPixmap & _pm, - QWidget * _parent ); + QWidget * _parent, bool _dirs_as_items = false ); virtual ~fileBrowser(); @@ -69,6 +69,7 @@ private: QString m_directories; QString m_filter; + bool m_dirsAsItems; } ; @@ -130,8 +131,11 @@ public: { _path = m_directories[0]; } - return( QDir::cleanPath( _path + QDir::separator() + - text( 0 ) ) + + if( _path != QString::null ) + { + _path += QDir::separator(); + } + return( QDir::cleanPath( _path + text( 0 ) ) + QDir::separator() ); } diff --git a/src/gui/file_browser.cpp b/src/gui/file_browser.cpp index c0e0ec05d..95e2bda7d 100644 --- a/src/gui/file_browser.cpp +++ b/src/gui/file_browser.cpp @@ -56,10 +56,11 @@ enum TreeWidgetItemTypes fileBrowser::fileBrowser( const QString & _directories, const QString & _filter, const QString & _title, const QPixmap & _pm, - QWidget * _parent ) : + QWidget * _parent, bool _dirs_as_items ) : sideBarWidget( _title, _pm, _parent ), m_directories( _directories ), - m_filter( _filter ) + m_filter( _filter ), + m_dirsAsItems( _dirs_as_items ) { setWindowTitle( tr( "Browser" ) ); m_l = new listView( contentParent() ); @@ -99,6 +100,13 @@ void fileBrowser::reloadTree( void ) void fileBrowser::addItems( const QString & _path ) { + if( m_dirsAsItems ) + { + m_l->addTopLevelItem( new directory( _path, + QString::null, m_filter ) ); + return; + } + QDir cdir( _path ); QStringList files = cdir.entryList( QDir::Dirs, QDir::Name ); for( QStringList::const_iterator it = files.constBegin(); diff --git a/src/gui/main_window.cpp b/src/gui/main_window.cpp index b11a8cfc0..828308c76 100644 --- a/src/gui/main_window.cpp +++ b/src/gui/main_window.cpp @@ -118,10 +118,22 @@ mainWindow::mainWindow( void ) : tr( "My home" ), embed::getIconPixmap( "home" ), splitter ), ++id ); - side_bar->appendTab( new fileBrowser( QDir::rootPath(), "*", - tr( "Root directory" ), - embed::getIconPixmap( "root" ), - splitter ), ++id ); + QFileInfoList drives = QDir::drives(); + QStringList root_paths; + foreach( const QFileInfo & drive, drives ) + { + root_paths += drive.absolutePath(); + } + side_bar->appendTab( new fileBrowser( root_paths.join( "*" ), "*", + tr( "My computer" ), + embed::getIconPixmap( "computer" ), + splitter, +#ifdef LMMS_BUILD_WIN32 + true +#else + false +#endif + ), ++id ); m_workspace = new QMdiArea( splitter );