summaryrefslogtreecommitdiff
path: root/noncore/graphics/opie-eye/gui/filesystem.cpp
Unidiff
Diffstat (limited to 'noncore/graphics/opie-eye/gui/filesystem.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/opie-eye/gui/filesystem.cpp52
1 files changed, 52 insertions, 0 deletions
diff --git a/noncore/graphics/opie-eye/gui/filesystem.cpp b/noncore/graphics/opie-eye/gui/filesystem.cpp
new file mode 100644
index 0000000..91bcf67
--- a/dev/null
+++ b/noncore/graphics/opie-eye/gui/filesystem.cpp
@@ -0,0 +1,52 @@
1/*
2 * GPLv2 zecke@handhelds.org
3 * No WArranty...
4 */
5
6#include <qpopupmenu.h>
7#include <qtoolbar.h>
8
9#include <qpe/resource.h>
10#include <qpe/storage.h>
11
12
13#include "filesystem.h"
14
15PFileSystem::PFileSystem( QToolBar* bar)
16 : QToolButton( bar )
17{
18 setIconSet( Resource::loadIconSet( "cardmon/pcmcia" ) );
19
20 m_pop = new QPopupMenu( this );
21 connect( m_pop, SIGNAL( activated( int ) ),
22 this, SLOT(slotSelectDir( int ) ) );
23
24 m_storage = new StorageInfo();
25 connect(m_storage, SIGNAL(disksChanged() ),
26 this, SLOT( changed() ) );
27 changed();
28
29 setPopup( m_pop );
30}
31
32PFileSystem::~PFileSystem() {
33 delete m_storage;
34}
35
36
37void PFileSystem::changed() {
38 m_pop->clear();
39 m_dev.clear();
40 const QList<FileSystem> &fs = m_storage->fileSystems();
41 QListIterator<FileSystem> it(fs );
42 for ( ; it.current(); ++it ) {
43 const QString disk = (*it)->name();
44 const QString path = (*it)->path();
45 m_dev.insert( disk, path );
46 m_pop->insertItem( disk );
47 }
48}
49
50void PFileSystem::slotSelectDir( int id ) {
51 emit changeDir( m_dev[m_pop->text(id )] );
52}