-rw-r--r-- | noncore/graphics/opie-eye/gui/imageview.cpp | 34 | ||||
-rw-r--r-- | noncore/graphics/opie-eye/gui/imageview.h | 8 | ||||
-rw-r--r-- | noncore/graphics/opie-eye/gui/mainwindow.cpp | 18 | ||||
-rw-r--r-- | noncore/graphics/opie-eye/gui/mainwindow.h | 3 |
4 files changed, 38 insertions, 25 deletions
diff --git a/noncore/graphics/opie-eye/gui/imageview.cpp b/noncore/graphics/opie-eye/gui/imageview.cpp index ee4b0a1..88a8bc6 100644 --- a/noncore/graphics/opie-eye/gui/imageview.cpp +++ b/noncore/graphics/opie-eye/gui/imageview.cpp | |||
@@ -1,85 +1,87 @@ | |||
1 | #include "imageview.h" | 1 | #include "imageview.h" |
2 | 2 | ||
3 | #include <opie2/odebug.h> | 3 | #include <opie2/odebug.h> |
4 | #include <opie2/oconfig.h> | 4 | #include <opie2/oconfig.h> |
5 | #include <opie2/okeyconfigwidget.h> | 5 | #include <opie2/okeyconfigwidget.h> |
6 | 6 | ||
7 | #include <qpe/resource.h> | 7 | #include <qpe/resource.h> |
8 | 8 | ||
9 | using namespace Opie::Core; | 9 | using namespace Opie::Core; |
10 | 10 | ||
11 | ImageView::ImageView(Opie::Core::OConfig *cfg, QWidget* parent, const char* name, WFlags fl ) | 11 | ImageView::ImageView(Opie::Core::OConfig *cfg, QWidget* parent, const char* name, WFlags fl ) |
12 | : Opie::MM::OImageScrollView(parent,name,fl) | 12 | : Opie::MM::OImageScrollView(parent,name,fl) |
13 | { | 13 | { |
14 | m_viewManager = 0; | 14 | m_viewManager = 0; |
15 | m_cfg = cfg; | 15 | m_cfg = cfg; |
16 | m_isFullScreen = false; | 16 | m_isFullScreen = false; |
17 | initKeys(); | 17 | initKeys(); |
18 | } | 18 | } |
19 | 19 | ||
20 | ImageView::~ImageView() | 20 | ImageView::~ImageView() |
21 | { | 21 | { |
22 | if (m_viewManager) { | 22 | if (m_viewManager) { |
23 | delete m_viewManager; | 23 | delete m_viewManager; |
24 | } | 24 | } |
25 | } | 25 | } |
26 | 26 | ||
27 | Opie::Core::OKeyConfigManager* ImageView::manager() | 27 | Opie::Core::OKeyConfigManager* ImageView::manager() |
28 | { | 28 | { |
29 | if (!m_viewManager) { | 29 | if (!m_viewManager) { |
30 | initKeys(); | 30 | initKeys(); |
31 | } | 31 | } |
32 | return m_viewManager; | 32 | return m_viewManager; |
33 | } | 33 | } |
34 | 34 | ||
35 | void ImageView::initKeys() | 35 | void ImageView::initKeys() |
36 | { | 36 | { |
37 | odebug << "init imageview keys" << oendl; | 37 | odebug << "init imageview keys" << oendl; |
38 | if (!m_cfg) { | 38 | if (!m_cfg) { |
39 | m_cfg = new Opie::Core::OConfig("phunkview"); | 39 | m_cfg = new Opie::Core::OConfig("phunkview"); |
40 | m_cfg->setGroup("image_view_keys" ); | 40 | m_cfg->setGroup("image_view_keys" ); |
41 | } | 41 | } |
42 | Opie::Core::OKeyPair::List lst; | 42 | Opie::Core::OKeyPair::List lst; |
43 | lst.append( Opie::Core::OKeyPair::upArrowKey() ); | 43 | lst.append( Opie::Core::OKeyPair::upArrowKey() ); |
44 | lst.append( Opie::Core::OKeyPair::downArrowKey() ); | 44 | lst.append( Opie::Core::OKeyPair::downArrowKey() ); |
45 | lst.append( Opie::Core::OKeyPair::leftArrowKey() ); | 45 | lst.append( Opie::Core::OKeyPair::leftArrowKey() ); |
46 | lst.append( Opie::Core::OKeyPair::rightArrowKey() ); | 46 | lst.append( Opie::Core::OKeyPair::rightArrowKey() ); |
47 | lst.append( Opie::Core::OKeyPair(Qt::Key_N,0)); | 47 | lst.append( Opie::Core::OKeyPair(Qt::Key_Escape,0)); |
48 | lst.append( Opie::Core::OKeyPair(Qt::Key_P,0)); | ||
49 | lst.append( Opie::Core::OKeyPair(Qt::Key_F,0)); | ||
50 | 48 | ||
51 | m_viewManager = new Opie::Core::OKeyConfigManager(m_cfg, "image_view_keys", | 49 | m_viewManager = new Opie::Core::OKeyConfigManager(m_cfg, "image_view_keys", |
52 | lst, false,this, "image_view_keys" ); | 50 | lst, false,this, "image_view_keys" ); |
53 | m_viewManager->addKeyConfig( Opie::Core::OKeyConfigItem(tr("View Image Info"), "imageviewinfo", | 51 | m_viewManager->addKeyConfig( Opie::Core::OKeyConfigItem(tr("View Image Info"), "imageviewinfo", |
54 | Resource::loadPixmap("1to1"), ViewInfo, | 52 | Resource::loadPixmap("1to1"), ViewInfo, |
55 | Opie::Core::OKeyPair(Qt::Key_I,0), | 53 | Opie::Core::OKeyPair(Qt::Key_I,0), |
56 | this, SLOT(slotShowImageInfo()))); | 54 | this, SLOT(slotShowImageInfo()))); |
55 | |||
56 | m_viewManager->addKeyConfig( Opie::Core::OKeyConfigItem(tr("Switch to next image"), "imageshownext", | ||
57 | Resource::loadPixmap("forward"), ShowNext, | ||
58 | Opie::Core::OKeyPair(Qt::Key_N,0), | ||
59 | this, SIGNAL(dispNext()))); | ||
60 | m_viewManager->addKeyConfig( Opie::Core::OKeyConfigItem(tr("Switch to previous image"), "imageshowprev", | ||
61 | Resource::loadPixmap("back"), ShowPrevious, | ||
62 | Opie::Core::OKeyPair(Qt::Key_P,0), | ||
63 | this, SIGNAL(dispPrev()))); | ||
64 | m_viewManager->addKeyConfig( Opie::Core::OKeyConfigItem(tr("Toggle fullscreen"), "imagefullscreen", | ||
65 | Resource::loadPixmap("fullscreen"), FullScreen, | ||
66 | Opie::Core::OKeyPair(Qt::Key_F,0), | ||
67 | this, SIGNAL(toggleFullScreen()))); | ||
68 | m_viewManager->addKeyConfig( Opie::Core::OKeyConfigItem(tr("Toggle thumbnail"), "imagezoomer", | ||
69 | Resource::loadPixmap("mag"), Zoomer, | ||
70 | Opie::Core::OKeyPair(Qt::Key_T,0), | ||
71 | this, SIGNAL(toggleZoomer()))); | ||
57 | m_viewManager->handleWidget( this ); | 72 | m_viewManager->handleWidget( this ); |
58 | m_viewManager->load(); | 73 | m_viewManager->load(); |
59 | } | 74 | } |
60 | 75 | ||
61 | void ImageView::keyReleaseEvent(QKeyEvent * e) | 76 | void ImageView::keyReleaseEvent(QKeyEvent * e) |
62 | { | 77 | { |
63 | if (!e || e->state()!=0) { | 78 | if (!e || e->state()!=0) { |
64 | return; | 79 | return; |
65 | } | 80 | } |
66 | if (e->key()==Qt::Key_N) slotDispNext(); | ||
67 | if (e->key()==Qt::Key_P) slotDispPrev(); | ||
68 | if (e->key()==Qt::Key_F) emit toggleFullScreen(); | ||
69 | if (e->key()==Qt::Key_Escape && fullScreen()) emit hideMe(); | 81 | if (e->key()==Qt::Key_Escape && fullScreen()) emit hideMe(); |
70 | } | 82 | } |
71 | 83 | ||
72 | void ImageView::slotDispNext() | ||
73 | { | ||
74 | emit dispNext(); | ||
75 | } | ||
76 | |||
77 | void ImageView::slotDispPrev() | ||
78 | { | ||
79 | emit dispPrev(); | ||
80 | } | ||
81 | |||
82 | void ImageView::slotShowImageInfo() | 84 | void ImageView::slotShowImageInfo() |
83 | { | 85 | { |
84 | emit dispImageInfo(m_lastName); | 86 | emit dispImageInfo(m_lastName); |
85 | } | 87 | } |
diff --git a/noncore/graphics/opie-eye/gui/imageview.h b/noncore/graphics/opie-eye/gui/imageview.h index 75f798c..6bf930f 100644 --- a/noncore/graphics/opie-eye/gui/imageview.h +++ b/noncore/graphics/opie-eye/gui/imageview.h | |||
@@ -1,48 +1,50 @@ | |||
1 | #ifndef _IMAGE_VIEW_H | 1 | #ifndef _IMAGE_VIEW_H |
2 | #define _IMAGE_VIEW_H | 2 | #define _IMAGE_VIEW_H |
3 | 3 | ||
4 | #include <opie2/oimagescrollview.h> | 4 | #include <opie2/oimagescrollview.h> |
5 | 5 | ||
6 | namespace Opie { | 6 | namespace Opie { |
7 | namespace Core { | 7 | namespace Core { |
8 | class OConfig; | 8 | class OConfig; |
9 | class OKeyConfigManager; | 9 | class OKeyConfigManager; |
10 | } | 10 | } |
11 | } | 11 | } |
12 | 12 | ||
13 | class ImageView:public Opie::MM::OImageScrollView | 13 | class ImageView:public Opie::MM::OImageScrollView |
14 | { | 14 | { |
15 | Q_OBJECT | 15 | Q_OBJECT |
16 | 16 | ||
17 | enum ActionIds { | 17 | enum ActionIds { |
18 | ViewInfo, | 18 | ViewInfo, |
19 | FullScreen | 19 | FullScreen, |
20 | ShowNext, | ||
21 | ShowPrevious, | ||
22 | Zoomer, | ||
20 | }; | 23 | }; |
21 | 24 | ||
22 | public: | 25 | public: |
23 | ImageView(Opie::Core::OConfig *cfg, QWidget* parent, const char* name = 0, WFlags fl = 0 ); | 26 | ImageView(Opie::Core::OConfig *cfg, QWidget* parent, const char* name = 0, WFlags fl = 0 ); |
24 | virtual ~ImageView(); | 27 | virtual ~ImageView(); |
25 | Opie::Core::OKeyConfigManager* manager(); | 28 | Opie::Core::OKeyConfigManager* manager(); |
26 | void setFullScreen(bool how){m_isFullScreen = how;} | 29 | void setFullScreen(bool how){m_isFullScreen = how;} |
27 | bool fullScreen(){return m_isFullScreen;} | 30 | bool fullScreen(){return m_isFullScreen;} |
28 | 31 | ||
29 | signals: | 32 | signals: |
30 | void dispImageInfo(const QString&); | 33 | void dispImageInfo(const QString&); |
31 | void dispNext(); | 34 | void dispNext(); |
32 | void dispPrev(); | 35 | void dispPrev(); |
33 | void toggleFullScreen(); | 36 | void toggleFullScreen(); |
34 | void hideMe(); | 37 | void hideMe(); |
38 | void toggleZoomer(); | ||
35 | 39 | ||
36 | protected: | 40 | protected: |
37 | Opie::Core::OConfig * m_cfg; | 41 | Opie::Core::OConfig * m_cfg; |
38 | Opie::Core::OKeyConfigManager*m_viewManager; | 42 | Opie::Core::OKeyConfigManager*m_viewManager; |
39 | void initKeys(); | 43 | void initKeys(); |
40 | bool m_isFullScreen:1; | 44 | bool m_isFullScreen:1; |
41 | 45 | ||
42 | protected slots: | 46 | protected slots: |
43 | virtual void slotShowImageInfo(); | 47 | virtual void slotShowImageInfo(); |
44 | virtual void slotDispNext(); | ||
45 | virtual void slotDispPrev(); | ||
46 | virtual void keyReleaseEvent(QKeyEvent * e); | 48 | virtual void keyReleaseEvent(QKeyEvent * e); |
47 | }; | 49 | }; |
48 | #endif | 50 | #endif |
diff --git a/noncore/graphics/opie-eye/gui/mainwindow.cpp b/noncore/graphics/opie-eye/gui/mainwindow.cpp index a90231b..0484f73 100644 --- a/noncore/graphics/opie-eye/gui/mainwindow.cpp +++ b/noncore/graphics/opie-eye/gui/mainwindow.cpp | |||
@@ -74,140 +74,147 @@ PMainWindow::PMainWindow(QWidget* wid, const char* name, WFlags style) | |||
74 | m_view, SLOT(slotChangeDir( const QString& ) ) ); | 74 | m_view, SLOT(slotChangeDir( const QString& ) ) ); |
75 | 75 | ||
76 | QToolButton*btn = new QToolButton( bar ); | 76 | QToolButton*btn = new QToolButton( bar ); |
77 | btn->setIconSet( Resource::loadIconSet( "edit" ) ); | 77 | btn->setIconSet( Resource::loadIconSet( "edit" ) ); |
78 | connect( btn, SIGNAL(clicked()), | 78 | connect( btn, SIGNAL(clicked()), |
79 | m_view, SLOT(slotRename()) ); | 79 | m_view, SLOT(slotRename()) ); |
80 | 80 | ||
81 | if ( Ir::supported() ) { | 81 | if ( Ir::supported() ) { |
82 | btn = new QToolButton( bar ); | 82 | btn = new QToolButton( bar ); |
83 | btn->setIconSet( Resource::loadIconSet( "beam" ) ); | 83 | btn->setIconSet( Resource::loadIconSet( "beam" ) ); |
84 | connect( btn, SIGNAL(clicked()), | 84 | connect( btn, SIGNAL(clicked()), |
85 | m_view, SLOT(slotBeam()) ); | 85 | m_view, SLOT(slotBeam()) ); |
86 | } | 86 | } |
87 | 87 | ||
88 | btn = new QToolButton( bar ); | 88 | btn = new QToolButton( bar ); |
89 | btn->setIconSet( Resource::loadIconSet( "trash" ) ); | 89 | btn->setIconSet( Resource::loadIconSet( "trash" ) ); |
90 | connect( btn, SIGNAL(clicked() ), | 90 | connect( btn, SIGNAL(clicked() ), |
91 | m_view, SLOT(slotTrash() ) ); | 91 | m_view, SLOT(slotTrash() ) ); |
92 | 92 | ||
93 | 93 | ||
94 | int mode = m_cfg->readNumEntry("ListViewMode", 1); | 94 | int mode = m_cfg->readNumEntry("ListViewMode", 1); |
95 | if (mode < 1 || mode>3) mode = 1; | 95 | if (mode < 1 || mode>3) mode = 1; |
96 | viewModeButton = new ViewModeButton( bar,mode ); | 96 | viewModeButton = new ViewModeButton( bar,mode ); |
97 | connect( viewModeButton, SIGNAL(changeMode(int)), | 97 | connect( viewModeButton, SIGNAL(changeMode(int)), |
98 | m_view, SLOT(slotChangeMode(int))); | 98 | m_view, SLOT(slotChangeMode(int))); |
99 | 99 | ||
100 | btn = new QToolButton( bar ); | 100 | btn = new QToolButton( bar ); |
101 | btn->setIconSet( Resource::loadIconSet( "SettingsIcon" ) ); | 101 | btn->setIconSet( Resource::loadIconSet( "SettingsIcon" ) ); |
102 | connect( btn, SIGNAL(clicked() ), | 102 | connect( btn, SIGNAL(clicked() ), |
103 | this, SLOT(slotConfig() ) ); | 103 | this, SLOT(slotConfig() ) ); |
104 | 104 | ||
105 | 105 | ||
106 | 106 | ||
107 | prevButton = new QToolButton(bar); | 107 | prevButton = new QToolButton(bar); |
108 | prevButton->setIconSet( Resource::loadIconSet( "back" ) ); | 108 | prevButton->setIconSet( Resource::loadIconSet( "back" ) ); |
109 | connect(prevButton,SIGNAL(clicked()),m_view,SLOT(slotShowPrev())); | 109 | connect(prevButton,SIGNAL(clicked()),m_view,SLOT(slotShowPrev())); |
110 | 110 | ||
111 | nextButton = new QToolButton(bar); | 111 | nextButton = new QToolButton(bar); |
112 | nextButton->setIconSet( Resource::loadIconSet( "forward" ) ); | 112 | nextButton->setIconSet( Resource::loadIconSet( "forward" ) ); |
113 | connect(nextButton,SIGNAL(clicked()),m_view,SLOT(slotShowNext())); | 113 | connect(nextButton,SIGNAL(clicked()),m_view,SLOT(slotShowNext())); |
114 | 114 | ||
115 | rotateButton = new QToolButton(bar); | 115 | rotateButton = new QToolButton(bar); |
116 | rotateButton->setIconSet( Resource::loadIconSet( "rotate" ) ); | 116 | rotateButton->setIconSet( Resource::loadIconSet( "rotate" ) ); |
117 | rotateButton->setToggleButton(true); | 117 | rotateButton->setToggleButton(true); |
118 | 118 | ||
119 | if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) { | 119 | if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) { |
120 | rotateButton->setOn(true); | 120 | rotateButton->setOn(true); |
121 | autoRotate = true; | 121 | autoRotate = true; |
122 | prevButton->hide(); | 122 | prevButton->hide(); |
123 | nextButton->hide(); | 123 | nextButton->hide(); |
124 | } else { | 124 | } else { |
125 | rotateButton->setOn(false); | 125 | rotateButton->setOn(false); |
126 | autoRotate = false; | 126 | autoRotate = false; |
127 | } | 127 | } |
128 | 128 | ||
129 | connect(rotateButton,SIGNAL(toggled(bool)),this,SLOT(slotRotateToggled(bool))); | 129 | connect(rotateButton,SIGNAL(toggled(bool)),this,SLOT(slotRotateToggled(bool))); |
130 | 130 | ||
131 | btn = new QToolButton(bar); | 131 | btn = new QToolButton(bar); |
132 | btn->setIconSet( Resource::loadIconSet( "1to1" ) ); | 132 | btn->setIconSet( Resource::loadIconSet( "1to1" ) ); |
133 | btn->setToggleButton(true); | 133 | btn->setToggleButton(true); |
134 | btn->setOn(false); | 134 | btn->setOn(false); |
135 | connect(btn,SIGNAL(toggled(bool)),this,SLOT(slotScaleToggled(bool))); | 135 | connect(btn,SIGNAL(toggled(bool)),this,SLOT(slotScaleToggled(bool))); |
136 | autoScale = true; | 136 | autoScale = true; |
137 | 137 | ||
138 | btn = new QToolButton(bar); | 138 | zoomButton = new QToolButton(bar); |
139 | btn->setIconSet( Resource::loadIconSet( "mag" ) ); | 139 | zoomButton->setIconSet( Resource::loadIconSet( "mag" ) ); |
140 | btn->setToggleButton(true); | 140 | zoomButton->setToggleButton(true); |
141 | btn->setOn(true); | 141 | zoomButton->setOn(true); |
142 | connect(btn,SIGNAL(toggled(bool)),this,SLOT(slotZoomerToggled(bool))); | 142 | connect(zoomButton,SIGNAL(toggled(bool)),this,SLOT(slotZoomerToggled(bool))); |
143 | zoomerOn = true; | 143 | zoomerOn = true; |
144 | } | 144 | } |
145 | 145 | ||
146 | PMainWindow::~PMainWindow() { | 146 | PMainWindow::~PMainWindow() { |
147 | odebug << "Shutting down" << oendl; | 147 | odebug << "Shutting down" << oendl; |
148 | } | 148 | } |
149 | 149 | ||
150 | void PMainWindow::slotToggleZoomer() | ||
151 | { | ||
152 | if (!m_disp) return; | ||
153 | bool cur = zoomButton->isOn(); | ||
154 | zoomButton->setOn(!cur); | ||
155 | } | ||
156 | |||
150 | void PMainWindow::slotZoomerToggled(bool how) | 157 | void PMainWindow::slotZoomerToggled(bool how) |
151 | { | 158 | { |
152 | zoomerOn = how; | 159 | zoomerOn = how; |
153 | if (m_disp) { | 160 | if (m_disp) { |
154 | m_disp->setShowZoomer(zoomerOn); | 161 | m_disp->setShowZoomer(zoomerOn); |
155 | } | 162 | } |
156 | } | 163 | } |
157 | 164 | ||
158 | void PMainWindow::slotRotateToggled(bool how) | 165 | void PMainWindow::slotRotateToggled(bool how) |
159 | { | 166 | { |
160 | autoRotate = how; | 167 | autoRotate = how; |
161 | if (m_disp) { | 168 | if (m_disp) { |
162 | m_disp->setAutoRotate(how); | 169 | m_disp->setAutoRotate(how); |
163 | } | 170 | } |
164 | } | 171 | } |
165 | 172 | ||
166 | void PMainWindow::slotScaleToggled(bool how) | 173 | void PMainWindow::slotScaleToggled(bool how) |
167 | { | 174 | { |
168 | autoScale = !how; | 175 | autoScale = !how; |
169 | if (!how) { | 176 | if (!how) { |
170 | autoRotate = how; | 177 | autoRotate = how; |
171 | } | 178 | } |
172 | if (m_disp) { | 179 | if (m_disp) { |
173 | m_disp->setAutoScaleRotate(autoScale,autoRotate); | 180 | m_disp->setAutoScaleRotate(autoScale,autoRotate); |
174 | } | 181 | } |
175 | if (!autoScale) { | 182 | if (!autoScale) { |
176 | rotateButton->setOn(false); | 183 | rotateButton->setOn(false); |
177 | } | 184 | } |
178 | rotateButton->setEnabled(!how); | 185 | rotateButton->setEnabled(!how); |
179 | } | 186 | } |
180 | 187 | ||
181 | void PMainWindow::slotConfig() { | 188 | void PMainWindow::slotConfig() { |
182 | /* | 189 | /* |
183 | * have a tab with the possible views | 190 | * have a tab with the possible views |
184 | * a tab for globals image cache size.. scaled loading | 191 | * a tab for globals image cache size.. scaled loading |
185 | * and one tab for the KeyConfigs | 192 | * and one tab for the KeyConfigs |
186 | */ | 193 | */ |
187 | QDialog dlg(this, 0, true); | 194 | QDialog dlg(this, 0, true); |
188 | dlg.setCaption( tr("Phunk View - Config" ) ); | 195 | dlg.setCaption( tr("Phunk View - Config" ) ); |
189 | 196 | ||
190 | QHBoxLayout *lay = new QHBoxLayout(&dlg); | 197 | QHBoxLayout *lay = new QHBoxLayout(&dlg); |
191 | Opie::Ui::OTabWidget *wid = new Opie::Ui::OTabWidget(&dlg ); | 198 | Opie::Ui::OTabWidget *wid = new Opie::Ui::OTabWidget(&dlg ); |
192 | lay->addWidget( wid ); | 199 | lay->addWidget( wid ); |
193 | ViewMap *vM = viewMap(); | 200 | ViewMap *vM = viewMap(); |
194 | ViewMap::Iterator _it = vM->begin(); | 201 | ViewMap::Iterator _it = vM->begin(); |
195 | QMap<PDirView*, QWidget*> lst; | 202 | QMap<PDirView*, QWidget*> lst; |
196 | 203 | ||
197 | for( ; _it != vM->end(); ++_it ) { | 204 | for( ; _it != vM->end(); ++_it ) { |
198 | PDirView *view = (_it.data())(*m_cfg); | 205 | PDirView *view = (_it.data())(*m_cfg); |
199 | PInterfaceInfo *inf = view->interfaceInfo(); | 206 | PInterfaceInfo *inf = view->interfaceInfo(); |
200 | QWidget *_wid = inf->configWidget( *m_cfg ); | 207 | QWidget *_wid = inf->configWidget( *m_cfg ); |
201 | _wid->reparent(wid, QPoint() ); | 208 | _wid->reparent(wid, QPoint() ); |
202 | lst.insert( view, _wid ); | 209 | lst.insert( view, _wid ); |
203 | wid->addTab( _wid, "fileopen", inf->name() ); | 210 | wid->addTab( _wid, "fileopen", inf->name() ); |
204 | } | 211 | } |
205 | 212 | ||
206 | /* | 213 | /* |
207 | * Add the KeyConfigWidget | 214 | * Add the KeyConfigWidget |
208 | */ | 215 | */ |
209 | Opie::Ui::OKeyConfigWidget* keyWid = new Opie::Ui::OKeyConfigWidget( wid, "key config" ); | 216 | Opie::Ui::OKeyConfigWidget* keyWid = new Opie::Ui::OKeyConfigWidget( wid, "key config" ); |
210 | keyWid->setChangeMode( Opie::Ui::OKeyConfigWidget::Queue ); | 217 | keyWid->setChangeMode( Opie::Ui::OKeyConfigWidget::Queue ); |
211 | keyWid->insert( tr("Browser Keyboard Actions"), m_view->manager() ); | 218 | keyWid->insert( tr("Browser Keyboard Actions"), m_view->manager() ); |
212 | 219 | ||
213 | if ( !m_info ) { | 220 | if ( !m_info ) { |
@@ -226,128 +233,129 @@ void PMainWindow::slotConfig() { | |||
226 | 233 | ||
227 | bool act = ( QPEApplication::execDialog( &dlg ) == QDialog::Accepted ); | 234 | bool act = ( QPEApplication::execDialog( &dlg ) == QDialog::Accepted ); |
228 | 235 | ||
229 | /* | 236 | /* |
230 | * clean up | 237 | * clean up |
231 | *apply changes | 238 | *apply changes |
232 | */ | 239 | */ |
233 | 240 | ||
234 | QMap<PDirView*, QWidget*>::Iterator it; | 241 | QMap<PDirView*, QWidget*>::Iterator it; |
235 | for ( it = lst.begin(); it != lst.end(); ++it ) { | 242 | for ( it = lst.begin(); it != lst.end(); ++it ) { |
236 | if ( act ) | 243 | if ( act ) |
237 | it.key()->interfaceInfo()->writeConfig(it.data(), *m_cfg); | 244 | it.key()->interfaceInfo()->writeConfig(it.data(), *m_cfg); |
238 | delete it.key(); | 245 | delete it.key(); |
239 | } | 246 | } |
240 | 247 | ||
241 | 248 | ||
242 | if ( act ) { | 249 | if ( act ) { |
243 | m_view->resetView(); | 250 | m_view->resetView(); |
244 | keyWid->save(); | 251 | keyWid->save(); |
245 | m_disp->manager()->save(); | 252 | m_disp->manager()->save(); |
246 | m_info->manager()->save(); | 253 | m_info->manager()->save(); |
247 | m_view->manager()->save(); | 254 | m_view->manager()->save(); |
248 | } | 255 | } |
249 | delete keyWid; | 256 | delete keyWid; |
250 | } | 257 | } |
251 | 258 | ||
252 | /* | 259 | /* |
253 | * create a new image info component | 260 | * create a new image info component |
254 | * and detach the current one | 261 | * and detach the current one |
255 | * we will make the other delete on exit | 262 | * we will make the other delete on exit |
256 | */ | 263 | */ |
257 | template<class T> | 264 | template<class T> |
258 | void PMainWindow::initT( const char* name, T** ptr, int id) { | 265 | void PMainWindow::initT( const char* name, T** ptr, int id) { |
259 | if ( *ptr ) { | 266 | if ( *ptr ) { |
260 | (*ptr)->disconnect(this, SLOT(slotReturn())); | 267 | (*ptr)->disconnect(this, SLOT(slotReturn())); |
261 | (*ptr)->setDestructiveClose(); | 268 | (*ptr)->setDestructiveClose(); |
262 | m_stack->removeWidget( *ptr ); | 269 | m_stack->removeWidget( *ptr ); |
263 | } | 270 | } |
264 | *ptr = new T(m_cfg, m_stack, name ); | 271 | *ptr = new T(m_cfg, m_stack, name ); |
265 | m_stack->addWidget( *ptr, id ); | 272 | m_stack->addWidget( *ptr, id ); |
266 | 273 | ||
267 | connect(*ptr, SIGNAL(sig_return()), | 274 | connect(*ptr, SIGNAL(sig_return()), |
268 | this,SLOT(slotReturn())); | 275 | this,SLOT(slotReturn())); |
269 | 276 | ||
270 | } | 277 | } |
271 | void PMainWindow::initInfo() { | 278 | void PMainWindow::initInfo() { |
272 | initT<imageinfo>( "Image Info", &m_info, ImageInfo ); | 279 | initT<imageinfo>( "Image Info", &m_info, ImageInfo ); |
273 | connect(m_info,SIGNAL(dispImage(const QString&)),this,SLOT(slotDisplay(const QString&))); | 280 | connect(m_info,SIGNAL(dispImage(const QString&)),this,SLOT(slotDisplay(const QString&))); |
274 | } | 281 | } |
275 | void PMainWindow::initDisp() { | 282 | void PMainWindow::initDisp() { |
276 | initT<ImageView>( "Image ScrollView", &m_disp, ImageDisplay ); | 283 | initT<ImageView>( "Image ScrollView", &m_disp, ImageDisplay ); |
277 | if (m_disp) { | 284 | if (m_disp) { |
278 | if (m_stack->mode() != Opie::Ui::OWidgetStack::SmallScreen) { | 285 | if (m_stack->mode() != Opie::Ui::OWidgetStack::SmallScreen) { |
279 | m_disp->setMinimumSize(QApplication::desktop()->size()/2); | 286 | m_disp->setMinimumSize(QApplication::desktop()->size()/2); |
280 | } | 287 | } |
281 | m_disp->setAutoScale(autoScale); | 288 | m_disp->setAutoScale(autoScale); |
282 | m_disp->setAutoRotate(autoRotate); | 289 | m_disp->setAutoRotate(autoRotate); |
283 | m_disp->setShowZoomer(zoomerOn); | 290 | m_disp->setShowZoomer(zoomerOn); |
284 | m_disp->setBackgroundColor(white); | 291 | m_disp->setBackgroundColor(white); |
285 | connect(m_disp,SIGNAL(dispImageInfo(const QString&)),this,SLOT(slotShowInfo(const QString&))); | 292 | connect(m_disp,SIGNAL(dispImageInfo(const QString&)),this,SLOT(slotShowInfo(const QString&))); |
286 | connect(m_disp,SIGNAL(dispNext()),m_view,SLOT(slotShowNext())); | 293 | connect(m_disp,SIGNAL(dispNext()),m_view,SLOT(slotShowNext())); |
287 | connect(m_disp,SIGNAL(dispPrev()),m_view,SLOT(slotShowPrev())); | 294 | connect(m_disp,SIGNAL(dispPrev()),m_view,SLOT(slotShowPrev())); |
288 | connect(m_disp,SIGNAL(toggleFullScreen()),this,SLOT(slotToggleFullScreen())); | 295 | connect(m_disp,SIGNAL(toggleFullScreen()),this,SLOT(slotToggleFullScreen())); |
289 | connect(m_disp,SIGNAL(hideMe()),this,SLOT(raiseIconView())); | 296 | connect(m_disp,SIGNAL(hideMe()),this,SLOT(raiseIconView())); |
297 | connect(m_disp,SIGNAL(toggleZoomer()),this,SLOT(slotToggleZoomer())); | ||
290 | } | 298 | } |
291 | } | 299 | } |
292 | 300 | ||
293 | void PMainWindow::slotToggleFullScreen() | 301 | void PMainWindow::slotToggleFullScreen() |
294 | { | 302 | { |
295 | odebug << "Toggle full " << oendl; | 303 | odebug << "Toggle full " << oendl; |
296 | if (!m_disp) return; | 304 | if (!m_disp) return; |
297 | bool current = !m_disp->fullScreen(); | 305 | bool current = !m_disp->fullScreen(); |
298 | m_disp->setFullScreen(current); | 306 | m_disp->setFullScreen(current); |
299 | odebug << "Current = " << current << oendl; | 307 | odebug << "Current = " << current << oendl; |
300 | if (current) { | 308 | if (current) { |
301 | odebug << "full" << oendl; | 309 | odebug << "full" << oendl; |
302 | m_disp->setBackgroundColor(black); | 310 | m_disp->setBackgroundColor(black); |
303 | m_disp->reparent(0,QPoint(0,0)); | 311 | m_disp->reparent(0,QPoint(0,0)); |
304 | m_disp->setVScrollBarMode(QScrollView::AlwaysOff); | 312 | m_disp->setVScrollBarMode(QScrollView::AlwaysOff); |
305 | m_disp->setHScrollBarMode(QScrollView::AlwaysOff); | 313 | m_disp->setHScrollBarMode(QScrollView::AlwaysOff); |
306 | m_disp->resize(qApp->desktop()->width(), qApp->desktop()->height()); | 314 | m_disp->resize(qApp->desktop()->width(), qApp->desktop()->height()); |
307 | m_disp->showFullScreen(); | 315 | m_disp->showFullScreen(); |
308 | } else { | 316 | } else { |
309 | odebug << "window" << oendl; | 317 | odebug << "window" << oendl; |
310 | m_disp->setBackgroundColor(white); | 318 | m_disp->setBackgroundColor(white); |
311 | m_stack->addWidget(m_disp,ImageDisplay); | 319 | m_stack->addWidget(m_disp,ImageDisplay); |
312 | m_disp->setVScrollBarMode(QScrollView::Auto); | 320 | m_disp->setVScrollBarMode(QScrollView::Auto); |
313 | m_disp->setHScrollBarMode(QScrollView::Auto); | 321 | m_disp->setHScrollBarMode(QScrollView::Auto); |
314 | m_stack->raiseWidget(m_disp); | 322 | m_stack->raiseWidget(m_disp); |
315 | if (m_stack->mode() != Opie::Ui::OWidgetStack::SmallScreen) { | 323 | if (m_stack->mode() != Opie::Ui::OWidgetStack::SmallScreen) { |
316 | m_disp->resize(m_disp->minimumSize()); | 324 | m_disp->resize(m_disp->minimumSize()); |
317 | } | 325 | } |
318 | } | 326 | } |
319 | } | 327 | } |
320 | 328 | ||
321 | /** | 329 | /** |
322 | * With big Screen the plan could be to 'detach' the image | 330 | * With big Screen the plan could be to 'detach' the image |
323 | * window if visible and to create a ne wone | 331 | * window if visible and to create a ne wone |
324 | * init* already supports it but I make no use of it for | 332 | * init* already supports it but I make no use of it for |
325 | * now. We set filename and raise | 333 | * now. We set filename and raise |
326 | * | 334 | * |
327 | * ### FIXME and talk to alwin | 335 | * ### FIXME and talk to alwin |
328 | */ | 336 | */ |
329 | void PMainWindow::slotShowInfo( const QString& inf ) { | 337 | void PMainWindow::slotShowInfo( const QString& inf ) { |
330 | if ( !m_info ) { | 338 | if ( !m_info ) { |
331 | initInfo(); | 339 | initInfo(); |
332 | } | 340 | } |
333 | m_info->setPath( inf ); | 341 | m_info->setPath( inf ); |
334 | if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) { | 342 | if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) { |
335 | prevButton->hide(); | 343 | prevButton->hide(); |
336 | nextButton->hide(); | 344 | nextButton->hide(); |
337 | upButton->hide(); | 345 | upButton->hide(); |
338 | fsButton->hide(); | 346 | fsButton->hide(); |
339 | viewModeButton->hide(); | 347 | viewModeButton->hide(); |
340 | } | 348 | } |
341 | if (m_disp && m_disp->fullScreen() && m_disp->isVisible()) { | 349 | if (m_disp && m_disp->fullScreen() && m_disp->isVisible()) { |
342 | m_disp->hide(); | 350 | m_disp->hide(); |
343 | } | 351 | } |
344 | m_stack->raiseWidget( ImageInfo ); | 352 | m_stack->raiseWidget( ImageInfo ); |
345 | } | 353 | } |
346 | 354 | ||
347 | void PMainWindow::slotDisplay( const QString& inf ) { | 355 | void PMainWindow::slotDisplay( const QString& inf ) { |
348 | if ( !m_disp ) { | 356 | if ( !m_disp ) { |
349 | initDisp(); | 357 | initDisp(); |
350 | } | 358 | } |
351 | m_disp->setImage( inf ); | 359 | m_disp->setImage( inf ); |
352 | if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) { | 360 | if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) { |
353 | prevButton->show(); | 361 | prevButton->show(); |
diff --git a/noncore/graphics/opie-eye/gui/mainwindow.h b/noncore/graphics/opie-eye/gui/mainwindow.h index d238763..e51a3ff 100644 --- a/noncore/graphics/opie-eye/gui/mainwindow.h +++ b/noncore/graphics/opie-eye/gui/mainwindow.h | |||
@@ -1,74 +1,75 @@ | |||
1 | /* | 1 | /* |
2 | * GPLv2 zecke@handhelds.org | 2 | * GPLv2 zecke@handhelds.org |
3 | * No WArranty... | 3 | * No WArranty... |
4 | */ | 4 | */ |
5 | 5 | ||
6 | #ifndef PHUNK_MAIN_WINDOW_H | 6 | #ifndef PHUNK_MAIN_WINDOW_H |
7 | #define PHUNK_MAIN_WINDOW_H | 7 | #define PHUNK_MAIN_WINDOW_H |
8 | 8 | ||
9 | #include <opie2/oconfig.h> | 9 | #include <opie2/oconfig.h> |
10 | 10 | ||
11 | #include <qmainwindow.h> | 11 | #include <qmainwindow.h> |
12 | 12 | ||
13 | 13 | ||
14 | 14 | ||
15 | namespace Opie { | 15 | namespace Opie { |
16 | namespace Ui{ | 16 | namespace Ui{ |
17 | class OWidgetStack; | 17 | class OWidgetStack; |
18 | } | 18 | } |
19 | namespace Core{ | 19 | namespace Core{ |
20 | class OKeyConfigManager; | 20 | class OKeyConfigManager; |
21 | } | 21 | } |
22 | } | 22 | } |
23 | 23 | ||
24 | class ImageView; | 24 | class ImageView; |
25 | class PIconView; | 25 | class PIconView; |
26 | class imageinfo; | 26 | class imageinfo; |
27 | 27 | ||
28 | class PMainWindow : public QMainWindow { | 28 | class PMainWindow : public QMainWindow { |
29 | Q_OBJECT | 29 | Q_OBJECT |
30 | enum Views { IconView, ImageInfo, ImageDisplay }; | 30 | enum Views { IconView, ImageInfo, ImageDisplay }; |
31 | public: | 31 | public: |
32 | static QString appName() { return QString::fromLatin1("opie-eye" ); } | 32 | static QString appName() { return QString::fromLatin1("opie-eye" ); } |
33 | PMainWindow(QWidget*, const char*, WFlags ); | 33 | PMainWindow(QWidget*, const char*, WFlags ); |
34 | ~PMainWindow(); | 34 | ~PMainWindow(); |
35 | 35 | ||
36 | signals: | 36 | signals: |
37 | void configChanged(); | 37 | void configChanged(); |
38 | 38 | ||
39 | public slots: | 39 | public slots: |
40 | void slotShowInfo( const QString& inf ); | 40 | void slotShowInfo( const QString& inf ); |
41 | void slotDisplay( const QString& inf ); | 41 | void slotDisplay( const QString& inf ); |
42 | void slotReturn(); | 42 | void slotReturn(); |
43 | void slotRotateToggled(bool); | 43 | void slotRotateToggled(bool); |
44 | void slotScaleToggled(bool); | 44 | void slotScaleToggled(bool); |
45 | void slotZoomerToggled(bool); | 45 | void slotZoomerToggled(bool); |
46 | void slotToggleZoomer(); | ||
46 | void setDocument( const QString& ); | 47 | void setDocument( const QString& ); |
47 | virtual void slotToggleFullScreen(); | 48 | virtual void slotToggleFullScreen(); |
48 | 49 | ||
49 | protected slots: | 50 | protected slots: |
50 | void raiseIconView(); | 51 | void raiseIconView(); |
51 | void closeEvent( QCloseEvent* ); | 52 | void closeEvent( QCloseEvent* ); |
52 | 53 | ||
53 | private: | 54 | private: |
54 | template<class T> void initT( const char* name, T**, int ); | 55 | template<class T> void initT( const char* name, T**, int ); |
55 | void initInfo(); | 56 | void initInfo(); |
56 | void initDisp(); | 57 | void initDisp(); |
57 | 58 | ||
58 | private: | 59 | private: |
59 | Opie::Core::OConfig *m_cfg; | 60 | Opie::Core::OConfig *m_cfg; |
60 | Opie::Ui::OWidgetStack *m_stack; | 61 | Opie::Ui::OWidgetStack *m_stack; |
61 | PIconView* m_view; | 62 | PIconView* m_view; |
62 | imageinfo *m_info; | 63 | imageinfo *m_info; |
63 | ImageView *m_disp; | 64 | ImageView *m_disp; |
64 | bool autoRotate; | 65 | bool autoRotate; |
65 | bool autoScale; | 66 | bool autoScale; |
66 | bool zoomerOn; | 67 | bool zoomerOn; |
67 | QToolButton*rotateButton,*upButton,*fsButton,*viewModeButton; | 68 | QToolButton*rotateButton,*upButton,*fsButton,*viewModeButton; |
68 | QToolButton*nextButton,*prevButton; | 69 | QToolButton*nextButton,*prevButton,*zoomButton; |
69 | 70 | ||
70 | private slots: | 71 | private slots: |
71 | void slotConfig(); | 72 | void slotConfig(); |
72 | }; | 73 | }; |
73 | 74 | ||
74 | #endif | 75 | #endif |