author | alwin <alwin> | 2004-04-16 21:53:37 (UTC) |
---|---|---|
committer | alwin <alwin> | 2004-04-16 21:53:37 (UTC) |
commit | a33ef3772b9603ef60de8c9cfd029436e6cf0399 (patch) (unidiff) | |
tree | bc90f3b3b552be411c18acf3e571316fe2623e0b | |
parent | 217d387def6d97f912352899fd83908b28d75dfc (diff) | |
download | opie-a33ef3772b9603ef60de8c9cfd029436e6cf0399.zip opie-a33ef3772b9603ef60de8c9cfd029436e6cf0399.tar.gz opie-a33ef3772b9603ef60de8c9cfd029436e6cf0399.tar.bz2 |
after hard-testing on real device I hade made some beauty to
the fullscreen mode, now it seems working real fine.
Zecke: I think, on real frontend side most work is finish, now we should
resolve the problems with iconview and co. And find a faster rotate-algorithm ;)
-rw-r--r-- | noncore/graphics/opie-eye/gui/imageview.cpp | 1 | ||||
-rw-r--r-- | noncore/graphics/opie-eye/gui/imageview.h | 1 | ||||
-rw-r--r-- | noncore/graphics/opie-eye/gui/mainwindow.cpp | 17 | ||||
-rw-r--r-- | noncore/graphics/opie-eye/gui/mainwindow.h | 2 |
4 files changed, 19 insertions, 2 deletions
diff --git a/noncore/graphics/opie-eye/gui/imageview.cpp b/noncore/graphics/opie-eye/gui/imageview.cpp index 8e7f982..ee4b0a1 100644 --- a/noncore/graphics/opie-eye/gui/imageview.cpp +++ b/noncore/graphics/opie-eye/gui/imageview.cpp | |||
@@ -1,84 +1,85 @@ | |||
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_N,0)); |
48 | lst.append( Opie::Core::OKeyPair(Qt::Key_P,0)); | 48 | lst.append( Opie::Core::OKeyPair(Qt::Key_P,0)); |
49 | lst.append( Opie::Core::OKeyPair(Qt::Key_F,0)); | 49 | lst.append( Opie::Core::OKeyPair(Qt::Key_F,0)); |
50 | 50 | ||
51 | m_viewManager = new Opie::Core::OKeyConfigManager(m_cfg, "image_view_keys", | 51 | m_viewManager = new Opie::Core::OKeyConfigManager(m_cfg, "image_view_keys", |
52 | lst, false,this, "image_view_keys" ); | 52 | lst, false,this, "image_view_keys" ); |
53 | m_viewManager->addKeyConfig( Opie::Core::OKeyConfigItem(tr("View Image Info"), "imageviewinfo", | 53 | m_viewManager->addKeyConfig( Opie::Core::OKeyConfigItem(tr("View Image Info"), "imageviewinfo", |
54 | Resource::loadPixmap("1to1"), ViewInfo, | 54 | Resource::loadPixmap("1to1"), ViewInfo, |
55 | Opie::Core::OKeyPair(Qt::Key_I,0), | 55 | Opie::Core::OKeyPair(Qt::Key_I,0), |
56 | this, SLOT(slotShowImageInfo()))); | 56 | this, SLOT(slotShowImageInfo()))); |
57 | m_viewManager->handleWidget( this ); | 57 | m_viewManager->handleWidget( this ); |
58 | m_viewManager->load(); | 58 | m_viewManager->load(); |
59 | } | 59 | } |
60 | 60 | ||
61 | void ImageView::keyReleaseEvent(QKeyEvent * e) | 61 | void ImageView::keyReleaseEvent(QKeyEvent * e) |
62 | { | 62 | { |
63 | if (!e || e->state()!=0) { | 63 | if (!e || e->state()!=0) { |
64 | return; | 64 | return; |
65 | } | 65 | } |
66 | if (e->key()==Qt::Key_N) slotDispNext(); | 66 | if (e->key()==Qt::Key_N) slotDispNext(); |
67 | if (e->key()==Qt::Key_P) slotDispPrev(); | 67 | if (e->key()==Qt::Key_P) slotDispPrev(); |
68 | if (e->key()==Qt::Key_F) emit toggleFullScreen(); | 68 | if (e->key()==Qt::Key_F) emit toggleFullScreen(); |
69 | if (e->key()==Qt::Key_Escape && fullScreen()) emit hideMe(); | ||
69 | } | 70 | } |
70 | 71 | ||
71 | void ImageView::slotDispNext() | 72 | void ImageView::slotDispNext() |
72 | { | 73 | { |
73 | emit dispNext(); | 74 | emit dispNext(); |
74 | } | 75 | } |
75 | 76 | ||
76 | void ImageView::slotDispPrev() | 77 | void ImageView::slotDispPrev() |
77 | { | 78 | { |
78 | emit dispPrev(); | 79 | emit dispPrev(); |
79 | } | 80 | } |
80 | 81 | ||
81 | void ImageView::slotShowImageInfo() | 82 | void ImageView::slotShowImageInfo() |
82 | { | 83 | { |
83 | emit dispImageInfo(m_lastName); | 84 | emit dispImageInfo(m_lastName); |
84 | } | 85 | } |
diff --git a/noncore/graphics/opie-eye/gui/imageview.h b/noncore/graphics/opie-eye/gui/imageview.h index 32f7e11..75f798c 100644 --- a/noncore/graphics/opie-eye/gui/imageview.h +++ b/noncore/graphics/opie-eye/gui/imageview.h | |||
@@ -1,47 +1,48 @@ | |||
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 | }; | 20 | }; |
21 | 21 | ||
22 | public: | 22 | public: |
23 | ImageView(Opie::Core::OConfig *cfg, QWidget* parent, const char* name = 0, WFlags fl = 0 ); | 23 | ImageView(Opie::Core::OConfig *cfg, QWidget* parent, const char* name = 0, WFlags fl = 0 ); |
24 | virtual ~ImageView(); | 24 | virtual ~ImageView(); |
25 | Opie::Core::OKeyConfigManager* manager(); | 25 | Opie::Core::OKeyConfigManager* manager(); |
26 | void setFullScreen(bool how){m_isFullScreen = how;} | 26 | void setFullScreen(bool how){m_isFullScreen = how;} |
27 | bool fullScreen(){return m_isFullScreen;} | 27 | bool fullScreen(){return m_isFullScreen;} |
28 | 28 | ||
29 | signals: | 29 | signals: |
30 | void dispImageInfo(const QString&); | 30 | void dispImageInfo(const QString&); |
31 | void dispNext(); | 31 | void dispNext(); |
32 | void dispPrev(); | 32 | void dispPrev(); |
33 | void toggleFullScreen(); | 33 | void toggleFullScreen(); |
34 | void hideMe(); | ||
34 | 35 | ||
35 | protected: | 36 | protected: |
36 | Opie::Core::OConfig * m_cfg; | 37 | Opie::Core::OConfig * m_cfg; |
37 | Opie::Core::OKeyConfigManager*m_viewManager; | 38 | Opie::Core::OKeyConfigManager*m_viewManager; |
38 | void initKeys(); | 39 | void initKeys(); |
39 | bool m_isFullScreen:1; | 40 | bool m_isFullScreen:1; |
40 | 41 | ||
41 | protected slots: | 42 | protected slots: |
42 | virtual void slotShowImageInfo(); | 43 | virtual void slotShowImageInfo(); |
43 | virtual void slotDispNext(); | 44 | virtual void slotDispNext(); |
44 | virtual void slotDispPrev(); | 45 | virtual void slotDispPrev(); |
45 | virtual void keyReleaseEvent(QKeyEvent * e); | 46 | virtual void keyReleaseEvent(QKeyEvent * e); |
46 | }; | 47 | }; |
47 | #endif | 48 | #endif |
diff --git a/noncore/graphics/opie-eye/gui/mainwindow.cpp b/noncore/graphics/opie-eye/gui/mainwindow.cpp index 9b929a1..ef6e6df 100644 --- a/noncore/graphics/opie-eye/gui/mainwindow.cpp +++ b/noncore/graphics/opie-eye/gui/mainwindow.cpp | |||
@@ -95,296 +95,311 @@ PMainWindow::PMainWindow(QWidget* wid, const char* name, WFlags style) | |||
95 | connect( viewModeButton, SIGNAL(changeMode(int)), | 95 | connect( viewModeButton, SIGNAL(changeMode(int)), |
96 | m_view, SLOT(slotChangeMode(int))); | 96 | m_view, SLOT(slotChangeMode(int))); |
97 | 97 | ||
98 | btn = new QToolButton( bar ); | 98 | btn = new QToolButton( bar ); |
99 | btn->setIconSet( Resource::loadIconSet( "SettingsIcon" ) ); | 99 | btn->setIconSet( Resource::loadIconSet( "SettingsIcon" ) ); |
100 | connect( btn, SIGNAL(clicked() ), | 100 | connect( btn, SIGNAL(clicked() ), |
101 | this, SLOT(slotConfig() ) ); | 101 | this, SLOT(slotConfig() ) ); |
102 | 102 | ||
103 | 103 | ||
104 | 104 | ||
105 | prevButton = new QToolButton(bar); | 105 | prevButton = new QToolButton(bar); |
106 | prevButton->setIconSet( Resource::loadIconSet( "back" ) ); | 106 | prevButton->setIconSet( Resource::loadIconSet( "back" ) ); |
107 | connect(prevButton,SIGNAL(clicked()),m_view,SLOT(slotShowPrev())); | 107 | connect(prevButton,SIGNAL(clicked()),m_view,SLOT(slotShowPrev())); |
108 | 108 | ||
109 | nextButton = new QToolButton(bar); | 109 | nextButton = new QToolButton(bar); |
110 | nextButton->setIconSet( Resource::loadIconSet( "forward" ) ); | 110 | nextButton->setIconSet( Resource::loadIconSet( "forward" ) ); |
111 | connect(nextButton,SIGNAL(clicked()),m_view,SLOT(slotShowNext())); | 111 | connect(nextButton,SIGNAL(clicked()),m_view,SLOT(slotShowNext())); |
112 | 112 | ||
113 | rotateButton = new QToolButton(bar); | 113 | rotateButton = new QToolButton(bar); |
114 | rotateButton->setIconSet( Resource::loadIconSet( "rotate" ) ); | 114 | rotateButton->setIconSet( Resource::loadIconSet( "rotate" ) ); |
115 | rotateButton->setToggleButton(true); | 115 | rotateButton->setToggleButton(true); |
116 | 116 | ||
117 | if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) { | 117 | if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) { |
118 | rotateButton->setOn(true); | 118 | rotateButton->setOn(true); |
119 | autoRotate = true; | 119 | autoRotate = true; |
120 | prevButton->hide(); | 120 | prevButton->hide(); |
121 | nextButton->hide(); | 121 | nextButton->hide(); |
122 | } else { | 122 | } else { |
123 | rotateButton->setOn(false); | 123 | rotateButton->setOn(false); |
124 | autoRotate = false; | 124 | autoRotate = false; |
125 | } | 125 | } |
126 | 126 | ||
127 | connect(rotateButton,SIGNAL(toggled(bool)),this,SLOT(slotRotateToggled(bool))); | 127 | connect(rotateButton,SIGNAL(toggled(bool)),this,SLOT(slotRotateToggled(bool))); |
128 | 128 | ||
129 | btn = new QToolButton(bar); | 129 | btn = new QToolButton(bar); |
130 | btn->setIconSet( Resource::loadIconSet( "1to1" ) ); | 130 | btn->setIconSet( Resource::loadIconSet( "1to1" ) ); |
131 | btn->setToggleButton(true); | 131 | btn->setToggleButton(true); |
132 | btn->setOn(false); | 132 | btn->setOn(false); |
133 | connect(btn,SIGNAL(toggled(bool)),this,SLOT(slotScaleToggled(bool))); | 133 | connect(btn,SIGNAL(toggled(bool)),this,SLOT(slotScaleToggled(bool))); |
134 | autoScale = true; | 134 | autoScale = true; |
135 | 135 | ||
136 | btn = new QToolButton(bar); | 136 | btn = new QToolButton(bar); |
137 | btn->setIconSet( Resource::loadIconSet( "mag" ) ); | 137 | btn->setIconSet( Resource::loadIconSet( "mag" ) ); |
138 | btn->setToggleButton(true); | 138 | btn->setToggleButton(true); |
139 | btn->setOn(true); | 139 | btn->setOn(true); |
140 | connect(btn,SIGNAL(toggled(bool)),this,SLOT(slotZoomerToggled(bool))); | 140 | connect(btn,SIGNAL(toggled(bool)),this,SLOT(slotZoomerToggled(bool))); |
141 | zoomerOn = true; | 141 | zoomerOn = true; |
142 | } | 142 | } |
143 | 143 | ||
144 | PMainWindow::~PMainWindow() { | 144 | PMainWindow::~PMainWindow() { |
145 | odebug << "Shutting down" << oendl; | 145 | odebug << "Shutting down" << oendl; |
146 | } | 146 | } |
147 | 147 | ||
148 | void PMainWindow::slotZoomerToggled(bool how) | 148 | void PMainWindow::slotZoomerToggled(bool how) |
149 | { | 149 | { |
150 | zoomerOn = how; | 150 | zoomerOn = how; |
151 | if (m_disp) { | 151 | if (m_disp) { |
152 | m_disp->setShowZoomer(zoomerOn); | 152 | m_disp->setShowZoomer(zoomerOn); |
153 | } | 153 | } |
154 | } | 154 | } |
155 | 155 | ||
156 | void PMainWindow::slotRotateToggled(bool how) | 156 | void PMainWindow::slotRotateToggled(bool how) |
157 | { | 157 | { |
158 | autoRotate = how; | 158 | autoRotate = how; |
159 | if (m_disp) { | 159 | if (m_disp) { |
160 | m_disp->setAutoRotate(how); | 160 | m_disp->setAutoRotate(how); |
161 | } | 161 | } |
162 | } | 162 | } |
163 | 163 | ||
164 | void PMainWindow::slotScaleToggled(bool how) | 164 | void PMainWindow::slotScaleToggled(bool how) |
165 | { | 165 | { |
166 | autoScale = !how; | 166 | autoScale = !how; |
167 | if (!how) { | 167 | if (!how) { |
168 | autoRotate = how; | 168 | autoRotate = how; |
169 | } | 169 | } |
170 | if (m_disp) { | 170 | if (m_disp) { |
171 | m_disp->setAutoScaleRotate(autoScale,autoRotate); | 171 | m_disp->setAutoScaleRotate(autoScale,autoRotate); |
172 | } | 172 | } |
173 | if (!autoScale) { | 173 | if (!autoScale) { |
174 | rotateButton->setOn(false); | 174 | rotateButton->setOn(false); |
175 | } | 175 | } |
176 | rotateButton->setEnabled(!how); | 176 | rotateButton->setEnabled(!how); |
177 | } | 177 | } |
178 | 178 | ||
179 | void PMainWindow::slotConfig() { | 179 | void PMainWindow::slotConfig() { |
180 | /* | 180 | /* |
181 | * have a tab with the possible views | 181 | * have a tab with the possible views |
182 | * a tab for globals image cache size.. scaled loading | 182 | * a tab for globals image cache size.. scaled loading |
183 | * and one tab for the KeyConfigs | 183 | * and one tab for the KeyConfigs |
184 | */ | 184 | */ |
185 | QDialog dlg(this, 0, true); | 185 | QDialog dlg(this, 0, true); |
186 | dlg.setCaption( tr("Phunk View - Config" ) ); | 186 | dlg.setCaption( tr("Phunk View - Config" ) ); |
187 | 187 | ||
188 | QHBoxLayout *lay = new QHBoxLayout(&dlg); | 188 | QHBoxLayout *lay = new QHBoxLayout(&dlg); |
189 | Opie::Ui::OTabWidget *wid = new Opie::Ui::OTabWidget(&dlg ); | 189 | Opie::Ui::OTabWidget *wid = new Opie::Ui::OTabWidget(&dlg ); |
190 | lay->addWidget( wid ); | 190 | lay->addWidget( wid ); |
191 | ViewMap *vM = viewMap(); | 191 | ViewMap *vM = viewMap(); |
192 | ViewMap::Iterator _it = vM->begin(); | 192 | ViewMap::Iterator _it = vM->begin(); |
193 | QMap<PDirView*, QWidget*> lst; | 193 | QMap<PDirView*, QWidget*> lst; |
194 | 194 | ||
195 | for( ; _it != vM->end(); ++_it ) { | 195 | for( ; _it != vM->end(); ++_it ) { |
196 | PDirView *view = (_it.data())(*m_cfg); | 196 | PDirView *view = (_it.data())(*m_cfg); |
197 | PInterfaceInfo *inf = view->interfaceInfo(); | 197 | PInterfaceInfo *inf = view->interfaceInfo(); |
198 | QWidget *_wid = inf->configWidget( *m_cfg ); | 198 | QWidget *_wid = inf->configWidget( *m_cfg ); |
199 | _wid->reparent(wid, QPoint() ); | 199 | _wid->reparent(wid, QPoint() ); |
200 | lst.insert( view, _wid ); | 200 | lst.insert( view, _wid ); |
201 | wid->addTab( _wid, "fileopen", inf->name() ); | 201 | wid->addTab( _wid, "fileopen", inf->name() ); |
202 | } | 202 | } |
203 | 203 | ||
204 | /* | 204 | /* |
205 | * Add the KeyConfigWidget | 205 | * Add the KeyConfigWidget |
206 | */ | 206 | */ |
207 | Opie::Ui::OKeyConfigWidget* keyWid = new Opie::Ui::OKeyConfigWidget( wid, "key config" ); | 207 | Opie::Ui::OKeyConfigWidget* keyWid = new Opie::Ui::OKeyConfigWidget( wid, "key config" ); |
208 | keyWid->setChangeMode( Opie::Ui::OKeyConfigWidget::Queue ); | 208 | keyWid->setChangeMode( Opie::Ui::OKeyConfigWidget::Queue ); |
209 | keyWid->insert( tr("Browser Keyboard Actions"), m_view->manager() ); | 209 | keyWid->insert( tr("Browser Keyboard Actions"), m_view->manager() ); |
210 | 210 | ||
211 | if ( !m_info ) { | 211 | if ( !m_info ) { |
212 | initInfo(); | 212 | initInfo(); |
213 | } | 213 | } |
214 | keyWid->insert( tr("Imageinfo Keyboard Actions"), m_info->manager() ); | 214 | keyWid->insert( tr("Imageinfo Keyboard Actions"), m_info->manager() ); |
215 | 215 | ||
216 | if ( !m_disp ) { | 216 | if ( !m_disp ) { |
217 | initDisp(); | 217 | initDisp(); |
218 | } | 218 | } |
219 | keyWid->insert( tr("Imageview Keyboard Actions"), m_disp->manager() ); | 219 | keyWid->insert( tr("Imageview Keyboard Actions"), m_disp->manager() ); |
220 | 220 | ||
221 | keyWid->load(); | 221 | keyWid->load(); |
222 | wid->addTab( keyWid, QString::fromLatin1("AppsIcon" ), tr("Keyboard Configuration") ); | 222 | wid->addTab( keyWid, QString::fromLatin1("AppsIcon" ), tr("Keyboard Configuration") ); |
223 | 223 | ||
224 | 224 | ||
225 | bool act = ( QPEApplication::execDialog( &dlg ) == QDialog::Accepted ); | 225 | bool act = ( QPEApplication::execDialog( &dlg ) == QDialog::Accepted ); |
226 | 226 | ||
227 | /* | 227 | /* |
228 | * clean up | 228 | * clean up |
229 | *apply changes | 229 | *apply changes |
230 | */ | 230 | */ |
231 | 231 | ||
232 | QMap<PDirView*, QWidget*>::Iterator it; | 232 | QMap<PDirView*, QWidget*>::Iterator it; |
233 | for ( it = lst.begin(); it != lst.end(); ++it ) { | 233 | for ( it = lst.begin(); it != lst.end(); ++it ) { |
234 | if ( act ) | 234 | if ( act ) |
235 | it.key()->interfaceInfo()->writeConfig(it.data(), *m_cfg); | 235 | it.key()->interfaceInfo()->writeConfig(it.data(), *m_cfg); |
236 | delete it.key(); | 236 | delete it.key(); |
237 | } | 237 | } |
238 | 238 | ||
239 | 239 | ||
240 | if ( act ) { | 240 | if ( act ) { |
241 | m_view->resetView(); | 241 | m_view->resetView(); |
242 | keyWid->save(); | 242 | keyWid->save(); |
243 | m_disp->manager()->save(); | 243 | m_disp->manager()->save(); |
244 | m_info->manager()->save(); | 244 | m_info->manager()->save(); |
245 | m_view->manager()->save(); | 245 | m_view->manager()->save(); |
246 | } | 246 | } |
247 | delete keyWid; | 247 | delete keyWid; |
248 | } | 248 | } |
249 | 249 | ||
250 | /* | 250 | /* |
251 | * create a new image info component | 251 | * create a new image info component |
252 | * and detach the current one | 252 | * and detach the current one |
253 | * we will make the other delete on exit | 253 | * we will make the other delete on exit |
254 | */ | 254 | */ |
255 | template<class T> | 255 | template<class T> |
256 | void PMainWindow::initT( const char* name, T** ptr, int id) { | 256 | void PMainWindow::initT( const char* name, T** ptr, int id) { |
257 | if ( *ptr ) { | 257 | if ( *ptr ) { |
258 | (*ptr)->disconnect(this, SLOT(slotReturn())); | 258 | (*ptr)->disconnect(this, SLOT(slotReturn())); |
259 | (*ptr)->setDestructiveClose(); | 259 | (*ptr)->setDestructiveClose(); |
260 | m_stack->removeWidget( *ptr ); | 260 | m_stack->removeWidget( *ptr ); |
261 | } | 261 | } |
262 | *ptr = new T(m_cfg, m_stack, name ); | 262 | *ptr = new T(m_cfg, m_stack, name ); |
263 | m_stack->addWidget( *ptr, id ); | 263 | m_stack->addWidget( *ptr, id ); |
264 | 264 | ||
265 | connect(*ptr, SIGNAL(sig_return()), | 265 | connect(*ptr, SIGNAL(sig_return()), |
266 | this,SLOT(slotReturn())); | 266 | this,SLOT(slotReturn())); |
267 | 267 | ||
268 | } | 268 | } |
269 | void PMainWindow::initInfo() { | 269 | void PMainWindow::initInfo() { |
270 | initT<imageinfo>( "Image Info", &m_info, ImageInfo ); | 270 | initT<imageinfo>( "Image Info", &m_info, ImageInfo ); |
271 | connect(m_info,SIGNAL(dispImage(const QString&)),this,SLOT(slotDisplay(const QString&))); | 271 | connect(m_info,SIGNAL(dispImage(const QString&)),this,SLOT(slotDisplay(const QString&))); |
272 | } | 272 | } |
273 | void PMainWindow::initDisp() { | 273 | void PMainWindow::initDisp() { |
274 | initT<ImageView>( "Image ScrollView", &m_disp, ImageDisplay ); | 274 | initT<ImageView>( "Image ScrollView", &m_disp, ImageDisplay ); |
275 | if (m_disp) { | 275 | if (m_disp) { |
276 | if (m_stack->mode() != Opie::Ui::OWidgetStack::SmallScreen) { | 276 | if (m_stack->mode() != Opie::Ui::OWidgetStack::SmallScreen) { |
277 | m_disp->setMinimumSize(QApplication::desktop()->size()/2); | 277 | m_disp->setMinimumSize(QApplication::desktop()->size()/2); |
278 | } | 278 | } |
279 | m_disp->setAutoScale(autoScale); | 279 | m_disp->setAutoScale(autoScale); |
280 | m_disp->setAutoRotate(autoRotate); | 280 | m_disp->setAutoRotate(autoRotate); |
281 | m_disp->setShowZoomer(zoomerOn); | 281 | m_disp->setShowZoomer(zoomerOn); |
282 | m_disp->setBackgroundColor(white); | 282 | m_disp->setBackgroundColor(white); |
283 | connect(m_disp,SIGNAL(dispImageInfo(const QString&)),this,SLOT(slotShowInfo(const QString&))); | 283 | connect(m_disp,SIGNAL(dispImageInfo(const QString&)),this,SLOT(slotShowInfo(const QString&))); |
284 | connect(m_disp,SIGNAL(dispNext()),m_view,SLOT(slotShowNext())); | 284 | connect(m_disp,SIGNAL(dispNext()),m_view,SLOT(slotShowNext())); |
285 | connect(m_disp,SIGNAL(dispPrev()),m_view,SLOT(slotShowPrev())); | 285 | connect(m_disp,SIGNAL(dispPrev()),m_view,SLOT(slotShowPrev())); |
286 | connect(m_disp,SIGNAL(toggleFullScreen()),this,SLOT(slotToggleFullScreen())); | 286 | connect(m_disp,SIGNAL(toggleFullScreen()),this,SLOT(slotToggleFullScreen())); |
287 | connect(m_disp,SIGNAL(hideMe()),this,SLOT(raiseIconView())); | ||
287 | } | 288 | } |
288 | } | 289 | } |
289 | 290 | ||
290 | void PMainWindow::slotToggleFullScreen() | 291 | void PMainWindow::slotToggleFullScreen() |
291 | { | 292 | { |
292 | odebug << "Toggle full " << oendl; | 293 | odebug << "Toggle full " << oendl; |
293 | if (!m_disp) return; | 294 | if (!m_disp) return; |
294 | bool current = !m_disp->fullScreen(); | 295 | bool current = !m_disp->fullScreen(); |
295 | m_disp->setFullScreen(current); | 296 | m_disp->setFullScreen(current); |
296 | odebug << "Current = " << current << oendl; | 297 | odebug << "Current = " << current << oendl; |
297 | if (current) { | 298 | if (current) { |
298 | odebug << "full" << oendl; | 299 | odebug << "full" << oendl; |
299 | m_disp->setBackgroundColor(black); | 300 | m_disp->setBackgroundColor(black); |
300 | m_disp->reparent(0,QPoint(0,0)); | 301 | m_disp->reparent(0,QPoint(0,0)); |
302 | m_disp->setVScrollBarMode(QScrollView::AlwaysOff); | ||
303 | m_disp->setHScrollBarMode(QScrollView::AlwaysOff); | ||
301 | m_disp->resize(qApp->desktop()->width(), qApp->desktop()->height()); | 304 | m_disp->resize(qApp->desktop()->width(), qApp->desktop()->height()); |
302 | m_disp->showFullScreen(); | 305 | m_disp->showFullScreen(); |
303 | } else { | 306 | } else { |
304 | odebug << "window" << oendl; | 307 | odebug << "window" << oendl; |
305 | m_disp->setBackgroundColor(white); | 308 | m_disp->setBackgroundColor(white); |
306 | m_stack->addWidget(m_disp,ImageDisplay); | 309 | m_stack->addWidget(m_disp,ImageDisplay); |
310 | m_disp->setVScrollBarMode(QScrollView::Auto); | ||
311 | m_disp->setHScrollBarMode(QScrollView::Auto); | ||
307 | m_stack->raiseWidget(m_disp); | 312 | m_stack->raiseWidget(m_disp); |
308 | if (m_stack->mode() != Opie::Ui::OWidgetStack::SmallScreen) { | 313 | if (m_stack->mode() != Opie::Ui::OWidgetStack::SmallScreen) { |
309 | m_disp->resize(m_disp->minimumSize()); | 314 | m_disp->resize(m_disp->minimumSize()); |
310 | } | 315 | } |
311 | } | 316 | } |
312 | } | 317 | } |
313 | 318 | ||
314 | /** | 319 | /** |
315 | * With big Screen the plan could be to 'detach' the image | 320 | * With big Screen the plan could be to 'detach' the image |
316 | * window if visible and to create a ne wone | 321 | * window if visible and to create a ne wone |
317 | * init* already supports it but I make no use of it for | 322 | * init* already supports it but I make no use of it for |
318 | * now. We set filename and raise | 323 | * now. We set filename and raise |
319 | * | 324 | * |
320 | * ### FIXME and talk to alwin | 325 | * ### FIXME and talk to alwin |
321 | */ | 326 | */ |
322 | void PMainWindow::slotShowInfo( const QString& inf ) { | 327 | void PMainWindow::slotShowInfo( const QString& inf ) { |
323 | if ( !m_info ) { | 328 | if ( !m_info ) { |
324 | initInfo(); | 329 | initInfo(); |
325 | } | 330 | } |
326 | m_info->setPath( inf ); | 331 | m_info->setPath( inf ); |
327 | if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) { | 332 | if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) { |
328 | prevButton->hide(); | 333 | prevButton->hide(); |
329 | nextButton->hide(); | 334 | nextButton->hide(); |
330 | upButton->hide(); | 335 | upButton->hide(); |
331 | fsButton->hide(); | 336 | fsButton->hide(); |
332 | viewModeButton->hide(); | 337 | viewModeButton->hide(); |
333 | } | 338 | } |
339 | if (m_disp && m_disp->fullScreen() && m_disp->isVisible()) { | ||
340 | m_disp->hide(); | ||
341 | } | ||
334 | m_stack->raiseWidget( ImageInfo ); | 342 | m_stack->raiseWidget( ImageInfo ); |
335 | } | 343 | } |
336 | 344 | ||
337 | void PMainWindow::slotDisplay( const QString& inf ) { | 345 | void PMainWindow::slotDisplay( const QString& inf ) { |
338 | if ( !m_disp ) { | 346 | if ( !m_disp ) { |
339 | initDisp(); | 347 | initDisp(); |
340 | } | 348 | } |
341 | m_disp->setImage( inf ); | 349 | m_disp->setImage( inf ); |
342 | if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) { | 350 | if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) { |
343 | prevButton->show(); | 351 | prevButton->show(); |
344 | nextButton->show(); | 352 | nextButton->show(); |
345 | upButton->hide(); | 353 | upButton->hide(); |
346 | fsButton->hide(); | 354 | fsButton->hide(); |
347 | viewModeButton->hide(); | 355 | viewModeButton->hide(); |
348 | } | 356 | } |
349 | m_stack->raiseWidget( ImageDisplay ); | 357 | if (m_disp->fullScreen()) { |
358 | m_disp->show(); | ||
359 | } else { | ||
360 | m_stack->raiseWidget( ImageDisplay ); | ||
361 | } | ||
350 | } | 362 | } |
351 | 363 | ||
352 | void PMainWindow::slotReturn() { | 364 | void PMainWindow::slotReturn() { |
353 | raiseIconView(); | 365 | raiseIconView(); |
354 | } | 366 | } |
355 | 367 | ||
356 | 368 | ||
357 | void PMainWindow::closeEvent( QCloseEvent* ev ) { | 369 | void PMainWindow::closeEvent( QCloseEvent* ev ) { |
358 | /* | 370 | /* |
359 | * return from view | 371 | * return from view |
360 | * or properly quit | 372 | * or properly quit |
361 | */ | 373 | */ |
362 | if ( m_stack->visibleWidget() == m_info || | 374 | if ( m_stack->visibleWidget() == m_info || |
363 | m_stack->visibleWidget() == m_disp ) { | 375 | m_stack->visibleWidget() == m_disp ) { |
364 | raiseIconView(); | 376 | raiseIconView(); |
365 | ev->ignore(); | 377 | ev->ignore(); |
366 | return; | 378 | return; |
367 | } | 379 | } |
368 | ev->accept(); | 380 | ev->accept(); |
369 | QTimer::singleShot(0, qApp, SLOT(closeAllWindows())); | 381 | QTimer::singleShot(0, qApp, SLOT(closeAllWindows())); |
370 | } | 382 | } |
371 | 383 | ||
372 | void PMainWindow::raiseIconView() { | 384 | void PMainWindow::raiseIconView() { |
373 | if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) { | 385 | if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) { |
374 | prevButton->hide(); | 386 | prevButton->hide(); |
375 | nextButton->hide(); | 387 | nextButton->hide(); |
376 | upButton->show(); | 388 | upButton->show(); |
377 | fsButton->show(); | 389 | fsButton->show(); |
378 | viewModeButton->show(); | 390 | viewModeButton->show(); |
379 | } | 391 | } |
392 | if (m_disp && m_disp->fullScreen() && m_disp->isVisible()) { | ||
393 | m_disp->hide(); | ||
394 | } | ||
380 | m_stack->raiseWidget( IconView ); | 395 | m_stack->raiseWidget( IconView ); |
381 | } | 396 | } |
382 | 397 | ||
383 | void PMainWindow::setDocument( const QString& showImg ) { | 398 | void PMainWindow::setDocument( const QString& showImg ) { |
384 | QString file = showImg; | 399 | QString file = showImg; |
385 | DocLnk lnk(showImg); | 400 | DocLnk lnk(showImg); |
386 | if (lnk.isValid() ) | 401 | if (lnk.isValid() ) |
387 | file = lnk.file(); | 402 | file = lnk.file(); |
388 | 403 | ||
389 | slotDisplay( file ); | 404 | slotDisplay( file ); |
390 | } | 405 | } |
diff --git a/noncore/graphics/opie-eye/gui/mainwindow.h b/noncore/graphics/opie-eye/gui/mainwindow.h index 4cfc39c..d238763 100644 --- a/noncore/graphics/opie-eye/gui/mainwindow.h +++ b/noncore/graphics/opie-eye/gui/mainwindow.h | |||
@@ -1,74 +1,74 @@ | |||
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 setDocument( const QString& ); | 46 | void setDocument( const QString& ); |
47 | virtual void slotToggleFullScreen(); | 47 | virtual void slotToggleFullScreen(); |
48 | 48 | ||
49 | protected: | 49 | protected slots: |
50 | void raiseIconView(); | 50 | void raiseIconView(); |
51 | void closeEvent( QCloseEvent* ); | 51 | void closeEvent( QCloseEvent* ); |
52 | 52 | ||
53 | private: | 53 | private: |
54 | template<class T> void initT( const char* name, T**, int ); | 54 | template<class T> void initT( const char* name, T**, int ); |
55 | void initInfo(); | 55 | void initInfo(); |
56 | void initDisp(); | 56 | void initDisp(); |
57 | 57 | ||
58 | private: | 58 | private: |
59 | Opie::Core::OConfig *m_cfg; | 59 | Opie::Core::OConfig *m_cfg; |
60 | Opie::Ui::OWidgetStack *m_stack; | 60 | Opie::Ui::OWidgetStack *m_stack; |
61 | PIconView* m_view; | 61 | PIconView* m_view; |
62 | imageinfo *m_info; | 62 | imageinfo *m_info; |
63 | ImageView *m_disp; | 63 | ImageView *m_disp; |
64 | bool autoRotate; | 64 | bool autoRotate; |
65 | bool autoScale; | 65 | bool autoScale; |
66 | bool zoomerOn; | 66 | bool zoomerOn; |
67 | QToolButton*rotateButton,*upButton,*fsButton,*viewModeButton; | 67 | QToolButton*rotateButton,*upButton,*fsButton,*viewModeButton; |
68 | QToolButton*nextButton,*prevButton; | 68 | QToolButton*nextButton,*prevButton; |
69 | 69 | ||
70 | private slots: | 70 | private slots: |
71 | void slotConfig(); | 71 | void slotConfig(); |
72 | }; | 72 | }; |
73 | 73 | ||
74 | #endif | 74 | #endif |