Diffstat (limited to 'noncore/graphics/opie-eye/gui/mainwindow.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/graphics/opie-eye/gui/mainwindow.cpp | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/noncore/graphics/opie-eye/gui/mainwindow.cpp b/noncore/graphics/opie-eye/gui/mainwindow.cpp new file mode 100644 index 0000000..0a2fcab --- a/dev/null +++ b/noncore/graphics/opie-eye/gui/mainwindow.cpp | |||
@@ -0,0 +1,114 @@ | |||
1 | /* | ||
2 | * GPLv2 zecke@handhelds.org | ||
3 | * No WArranty... | ||
4 | */ | ||
5 | |||
6 | #include <qtoolbar.h> | ||
7 | #include <qtoolbutton.h> | ||
8 | #include <qlayout.h> | ||
9 | #include <qdialog.h> | ||
10 | #include <qmap.h> | ||
11 | |||
12 | #include <qpe/resource.h> | ||
13 | #include <qpe/config.h> | ||
14 | #include <qpe/ir.h> | ||
15 | |||
16 | #include <opie/oapplicationfactory.h> | ||
17 | #include <opie/otabwidget.h> | ||
18 | |||
19 | #include <iface/ifaceinfo.h> | ||
20 | #include <iface/dirview.h> | ||
21 | |||
22 | #include "iconview.h" | ||
23 | #include "filesystem.h" | ||
24 | |||
25 | #include "mainwindow.h" | ||
26 | |||
27 | OPIE_EXPORT_APP( OApplicationFactory<PMainWindow> ) | ||
28 | |||
29 | PMainWindow::PMainWindow(QWidget* wid, const char* name, WFlags style) | ||
30 | : QMainWindow( wid, name, style ), m_cfg("phunkview") | ||
31 | { | ||
32 | setCaption( QObject::tr("Opie Eye Caramba" ) ); | ||
33 | m_cfg.setGroup("Zecke_view" ); | ||
34 | /* | ||
35 | * Initialize ToolBar and IconView | ||
36 | * And Connect Them | ||
37 | */ | ||
38 | QToolBar *bar = new QToolBar( this ); | ||
39 | bar->setHorizontalStretchable( true ); | ||
40 | setToolBarsMovable( false ); | ||
41 | |||
42 | m_view = new PIconView( this, &m_cfg ); | ||
43 | setCentralWidget( m_view ); | ||
44 | |||
45 | QToolButton *btn = new QToolButton( bar ); | ||
46 | btn->setIconSet( Resource::loadIconSet( "up" ) ); | ||
47 | connect( btn, SIGNAL(clicked()), | ||
48 | m_view, SLOT(slotDirUp()) ); | ||
49 | |||
50 | btn = new PFileSystem( bar ); | ||
51 | connect( btn, SIGNAL( changeDir( const QString& ) ), | ||
52 | m_view, SLOT(slotChangeDir( const QString& ) ) ); | ||
53 | |||
54 | btn = new QToolButton( bar ); | ||
55 | btn->setIconSet( Resource::loadIconSet( "edit" ) ); | ||
56 | connect( btn, SIGNAL(clicked()), | ||
57 | m_view, SLOT(slotRename()) ); | ||
58 | |||
59 | if ( Ir::supported() ) { | ||
60 | btn = new QToolButton( bar ); | ||
61 | btn->setIconSet( Resource::loadIconSet( "beam" ) ); | ||
62 | connect( btn, SIGNAL(clicked()), | ||
63 | m_view, SLOT(slotBeam()) ); | ||
64 | } | ||
65 | |||
66 | btn = new QToolButton( bar ); | ||
67 | btn->setIconSet( Resource::loadIconSet( "trash" ) ); | ||
68 | connect( btn, SIGNAL(clicked() ), | ||
69 | m_view, SLOT(slotTrash() ) ); | ||
70 | |||
71 | btn = new QToolButton( bar ); | ||
72 | btn->setIconSet( Resource::loadIconSet( "SettingsIcon" ) ); | ||
73 | connect( btn, SIGNAL(clicked() ), | ||
74 | this, SLOT(slotConfig() ) ); | ||
75 | |||
76 | } | ||
77 | |||
78 | PMainWindow::~PMainWindow() { | ||
79 | } | ||
80 | |||
81 | |||
82 | void PMainWindow::slotConfig() { | ||
83 | QDialog dlg(this, 0, true); | ||
84 | dlg.setCaption( tr("Phunk View - Config" ) ); | ||
85 | |||
86 | QHBoxLayout *lay = new QHBoxLayout(&dlg); | ||
87 | OTabWidget *wid = new OTabWidget(&dlg ); | ||
88 | lay->addWidget( wid ); | ||
89 | ViewMap *vM = viewMap(); | ||
90 | ViewMap::Iterator _it = vM->begin(); | ||
91 | QMap<PDirView*, QWidget*> lst; | ||
92 | |||
93 | for( ; _it != vM->end(); ++_it ) { | ||
94 | PDirView *view = (_it.data())(m_cfg); | ||
95 | PInterfaceInfo *inf = view->interfaceInfo(); | ||
96 | QWidget *_wid = inf->configWidget( m_cfg ); | ||
97 | _wid->reparent(wid, QPoint() ); | ||
98 | lst.insert( view, _wid ); | ||
99 | wid->addTab( _wid, QString::null, inf->name() ); | ||
100 | } | ||
101 | |||
102 | dlg.showMaximized(); | ||
103 | bool act = ( dlg.exec() == QDialog::Accepted ); | ||
104 | |||
105 | QMap<PDirView*, QWidget*>::Iterator it; | ||
106 | for ( it = lst.begin(); it != lst.end(); ++it ) { | ||
107 | if ( act ) | ||
108 | it.key()->interfaceInfo()->writeConfig(it.data(), m_cfg); | ||
109 | delete it.key(); | ||
110 | } | ||
111 | |||
112 | if ( act ) | ||
113 | m_view->resetView(); | ||
114 | } | ||