summaryrefslogtreecommitdiff
authoralwin <alwin>2004-04-16 20:35:35 (UTC)
committer alwin <alwin>2004-04-16 20:35:35 (UTC)
commit217d387def6d97f912352899fd83908b28d75dfc (patch) (unidiff)
tree14135801a52bbbfca4395a4cbf4b7fdffdeb45ad
parentcc56768485c3785439883dd1c456493f7ece2d84 (diff)
downloadopie-217d387def6d97f912352899fd83908b28d75dfc.zip
opie-217d387def6d97f912352899fd83908b28d75dfc.tar.gz
opie-217d387def6d97f912352899fd83908b28d75dfc.tar.bz2
Implemented fullscreen mode (f-key)
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/opie-eye/gui/imageview.cpp11
-rw-r--r--noncore/graphics/opie-eye/gui/imageview.h8
-rw-r--r--noncore/graphics/opie-eye/gui/mainwindow.cpp26
-rw-r--r--noncore/graphics/opie-eye/gui/mainwindow.h1
4 files changed, 38 insertions, 8 deletions
diff --git a/noncore/graphics/opie-eye/gui/imageview.cpp b/noncore/graphics/opie-eye/gui/imageview.cpp
index fbc4494..8e7f982 100644
--- a/noncore/graphics/opie-eye/gui/imageview.cpp
+++ b/noncore/graphics/opie-eye/gui/imageview.cpp
@@ -4,24 +4,25 @@
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
9using namespace Opie::Core; 9using namespace Opie::Core;
10 10
11ImageView::ImageView(Opie::Core::OConfig *cfg, QWidget* parent, const char* name, WFlags fl ) 11ImageView::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 initKeys(); 17 initKeys();
17} 18}
18 19
19ImageView::~ImageView() 20ImageView::~ImageView()
20{ 21{
21 if (m_viewManager) { 22 if (m_viewManager) {
22 delete m_viewManager; 23 delete m_viewManager;
23 } 24 }
24} 25}
25 26
26Opie::Core::OKeyConfigManager* ImageView::manager() 27Opie::Core::OKeyConfigManager* ImageView::manager()
27{ 28{
@@ -36,48 +37,44 @@ void ImageView::initKeys()
36 odebug << "init imageview keys" << oendl; 37 odebug << "init imageview keys" << oendl;
37 if (!m_cfg) { 38 if (!m_cfg) {
38 m_cfg = new Opie::Core::OConfig("phunkview"); 39 m_cfg = new Opie::Core::OConfig("phunkview");
39 m_cfg->setGroup("image_view_keys" ); 40 m_cfg->setGroup("image_view_keys" );
40 } 41 }
41 Opie::Core::OKeyPair::List lst; 42 Opie::Core::OKeyPair::List lst;
42 lst.append( Opie::Core::OKeyPair::upArrowKey() ); 43 lst.append( Opie::Core::OKeyPair::upArrowKey() );
43 lst.append( Opie::Core::OKeyPair::downArrowKey() ); 44 lst.append( Opie::Core::OKeyPair::downArrowKey() );
44 lst.append( Opie::Core::OKeyPair::leftArrowKey() ); 45 lst.append( Opie::Core::OKeyPair::leftArrowKey() );
45 lst.append( Opie::Core::OKeyPair::rightArrowKey() ); 46 lst.append( Opie::Core::OKeyPair::rightArrowKey() );
46 lst.append( Opie::Core::OKeyPair(Qt::Key_N,0)); 47 lst.append( Opie::Core::OKeyPair(Qt::Key_N,0));
47 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));
48 50
49 m_viewManager = new Opie::Core::OKeyConfigManager(m_cfg, "image_view_keys", 51 m_viewManager = new Opie::Core::OKeyConfigManager(m_cfg, "image_view_keys",
50 lst, false,this, "image_view_keys" ); 52 lst, false,this, "image_view_keys" );
51 m_viewManager->addKeyConfig( Opie::Core::OKeyConfigItem(tr("View Image Info"), "imageviewinfo", 53 m_viewManager->addKeyConfig( Opie::Core::OKeyConfigItem(tr("View Image Info"), "imageviewinfo",
52 Resource::loadPixmap("1to1"), ViewInfo, 54 Resource::loadPixmap("1to1"), ViewInfo,
53 Opie::Core::OKeyPair(Qt::Key_I,Qt::ShiftButton), 55 Opie::Core::OKeyPair(Qt::Key_I,0),
54 this, SLOT(slotShowImageInfo()))); 56 this, SLOT(slotShowImageInfo())));
55#if 0
56 m_viewManager->addKeyConfig( Opie::Core::OKeyConfigItem(tr("Next image"), "nextimage",
57 Resource::loadPixmap("next"), ViewInfo,
58 Opie::Core::OKeyPair(Qt::Key_N,0),
59 this, SLOT(slotDispNext())));
60#endif
61 m_viewManager->handleWidget( this ); 57 m_viewManager->handleWidget( this );
62 m_viewManager->load(); 58 m_viewManager->load();
63} 59}
64 60
65void ImageView::keyReleaseEvent(QKeyEvent * e) 61void ImageView::keyReleaseEvent(QKeyEvent * e)
66{ 62{
67 if (!e || e->state()!=0) { 63 if (!e || e->state()!=0) {
68 return; 64 return;
69 } 65 }
70 if (e->key()==Qt::Key_N) slotDispNext(); 66 if (e->key()==Qt::Key_N) slotDispNext();
71 if (e->key()==Qt::Key_P) slotDispPrev(); 67 if (e->key()==Qt::Key_P) slotDispPrev();
68 if (e->key()==Qt::Key_F) emit toggleFullScreen();
72} 69}
73 70
74void ImageView::slotDispNext() 71void ImageView::slotDispNext()
75{ 72{
76 emit dispNext(); 73 emit dispNext();
77} 74}
78 75
79void ImageView::slotDispPrev() 76void ImageView::slotDispPrev()
80{ 77{
81 emit dispPrev(); 78 emit dispPrev();
82} 79}
83 80
diff --git a/noncore/graphics/opie-eye/gui/imageview.h b/noncore/graphics/opie-eye/gui/imageview.h
index f467f00..32f7e11 100644
--- a/noncore/graphics/opie-eye/gui/imageview.h
+++ b/noncore/graphics/opie-eye/gui/imageview.h
@@ -6,36 +6,42 @@
6namespace Opie { 6namespace 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
13class ImageView:public Opie::MM::OImageScrollView 13class 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 }; 20 };
20 21
21public: 22public:
22 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 );
23 virtual ~ImageView(); 24 virtual ~ImageView();
24 Opie::Core::OKeyConfigManager* manager(); 25 Opie::Core::OKeyConfigManager* manager();
26 void setFullScreen(bool how){m_isFullScreen = how;}
27 bool fullScreen(){return m_isFullScreen;}
25 28
26signals: 29signals:
27 void dispImageInfo(const QString&); 30 void dispImageInfo(const QString&);
28 void dispNext(); 31 void dispNext();
29 void dispPrev(); 32 void dispPrev();
33 void toggleFullScreen();
30 34
31protected: 35protected:
32 Opie::Core::OConfig * m_cfg; 36 Opie::Core::OConfig * m_cfg;
33 Opie::Core::OKeyConfigManager*m_viewManager; 37 Opie::Core::OKeyConfigManager*m_viewManager;
34 void initKeys(); 38 void initKeys();
39 bool m_isFullScreen:1;
40
35protected slots: 41protected slots:
36 virtual void slotShowImageInfo(); 42 virtual void slotShowImageInfo();
37 virtual void slotDispNext(); 43 virtual void slotDispNext();
38 virtual void slotDispPrev(); 44 virtual void slotDispPrev();
39 virtual void keyReleaseEvent(QKeyEvent * e); 45 virtual void keyReleaseEvent(QKeyEvent * e);
40}; 46};
41#endif 47#endif
diff --git a/noncore/graphics/opie-eye/gui/mainwindow.cpp b/noncore/graphics/opie-eye/gui/mainwindow.cpp
index 4852bf6..9b929a1 100644
--- a/noncore/graphics/opie-eye/gui/mainwindow.cpp
+++ b/noncore/graphics/opie-eye/gui/mainwindow.cpp
@@ -270,27 +270,53 @@ 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}
273void PMainWindow::initDisp() { 273void 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 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&)));
283 connect(m_disp,SIGNAL(dispNext()),m_view,SLOT(slotShowNext())); 284 connect(m_disp,SIGNAL(dispNext()),m_view,SLOT(slotShowNext()));
284 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()));
287 }
288}
289
290void PMainWindow::slotToggleFullScreen()
291{
292 odebug << "Toggle full " << oendl;
293 if (!m_disp) return;
294 bool current = !m_disp->fullScreen();
295 m_disp->setFullScreen(current);
296 odebug << "Current = " << current << oendl;
297 if (current) {
298 odebug << "full" << oendl;
299 m_disp->setBackgroundColor(black);
300 m_disp->reparent(0,QPoint(0,0));
301 m_disp->resize(qApp->desktop()->width(), qApp->desktop()->height());
302 m_disp->showFullScreen();
303 } else {
304 odebug << "window" << oendl;
305 m_disp->setBackgroundColor(white);
306 m_stack->addWidget(m_disp,ImageDisplay);
307 m_stack->raiseWidget(m_disp);
308 if (m_stack->mode() != Opie::Ui::OWidgetStack::SmallScreen) {
309 m_disp->resize(m_disp->minimumSize());
310 }
285 } 311 }
286} 312}
287 313
288/** 314/**
289 * With big Screen the plan could be to 'detach' the image 315 * With big Screen the plan could be to 'detach' the image
290 * window if visible and to create a ne wone 316 * window if visible and to create a ne wone
291 * init* already supports it but I make no use of it for 317 * init* already supports it but I make no use of it for
292 * now. We set filename and raise 318 * now. We set filename and raise
293 * 319 *
294 * ### FIXME and talk to alwin 320 * ### FIXME and talk to alwin
295 */ 321 */
296void PMainWindow::slotShowInfo( const QString& inf ) { 322void PMainWindow::slotShowInfo( const QString& inf ) {
diff --git a/noncore/graphics/opie-eye/gui/mainwindow.h b/noncore/graphics/opie-eye/gui/mainwindow.h
index 1967ef7..4cfc39c 100644
--- a/noncore/graphics/opie-eye/gui/mainwindow.h
+++ b/noncore/graphics/opie-eye/gui/mainwindow.h
@@ -35,24 +35,25 @@ public:
35 35
36signals: 36signals:
37 void configChanged(); 37 void configChanged();
38 38
39public slots: 39public 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 48
48protected: 49protected:
49 void raiseIconView(); 50 void raiseIconView();
50 void closeEvent( QCloseEvent* ); 51 void closeEvent( QCloseEvent* );
51 52
52private: 53private:
53 template<class T> void initT( const char* name, T**, int ); 54 template<class T> void initT( const char* name, T**, int );
54 void initInfo(); 55 void initInfo();
55 void initDisp(); 56 void initDisp();
56 57
57private: 58private:
58 Opie::Core::OConfig *m_cfg; 59 Opie::Core::OConfig *m_cfg;