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.cpp | 52 |
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 | |||
15 | PFileSystem::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 | |||
32 | PFileSystem::~PFileSystem() { | ||
33 | delete m_storage; | ||
34 | } | ||
35 | |||
36 | |||
37 | void 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 | |||
50 | void PFileSystem::slotSelectDir( int id ) { | ||
51 | emit changeDir( m_dev[m_pop->text(id )] ); | ||
52 | } | ||