summaryrefslogtreecommitdiff
path: root/noncore/graphics/opie-eye/gui
authoralwin <alwin>2004-04-22 20:57:40 (UTC)
committer alwin <alwin>2004-04-22 20:57:40 (UTC)
commitd93cb43bb2c79a9a8357e195fcdfd8ff140f8a75 (patch) (unidiff)
tree066b20a65a2300c50308916027d3c055fd22a085 /noncore/graphics/opie-eye/gui
parent42977c57028a94735aaf9870097e1269815c6229 (diff)
downloadopie-d93cb43bb2c79a9a8357e195fcdfd8ff140f8a75.zip
opie-d93cb43bb2c79a9a8357e195fcdfd8ff140f8a75.tar.gz
opie-d93cb43bb2c79a9a8357e195fcdfd8ff140f8a75.tar.bz2
ok. next variant of fullscreen toggeling. It seems, that now within all
circumstances the viewer get fullscreen back and we don't run into an endless loop.
Diffstat (limited to 'noncore/graphics/opie-eye/gui') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/opie-eye/gui/imageview.cpp45
-rw-r--r--noncore/graphics/opie-eye/gui/imageview.h11
-rw-r--r--noncore/graphics/opie-eye/gui/mainwindow.cpp3
3 files changed, 19 insertions, 40 deletions
diff --git a/noncore/graphics/opie-eye/gui/imageview.cpp b/noncore/graphics/opie-eye/gui/imageview.cpp
index 5b00dea..03f3c1c 100644
--- a/noncore/graphics/opie-eye/gui/imageview.cpp
+++ b/noncore/graphics/opie-eye/gui/imageview.cpp
@@ -14,10 +14,10 @@ ImageView::ImageView(Opie::Core::OConfig *cfg, QWidget* parent, const char* name
14 : Opie::MM::OImageScrollView(parent,name,fl) 14 : Opie::MM::OImageScrollView(parent,name,fl)
15{ 15{
16 m_viewManager = 0; 16 m_viewManager = 0;
17 m_focus_out = false; 17 focus_in_count = 0;
18 block_next_focus = true;
19 m_cfg = cfg; 18 m_cfg = cfg;
20 m_isFullScreen = false; 19 m_isFullScreen = false;
20 m_ignore_next_in = false;
21 QPEApplication::setStylusOperation(viewport(),QPEApplication::RightOnHold); 21 QPEApplication::setStylusOperation(viewport(),QPEApplication::RightOnHold);
22 initKeys(); 22 initKeys();
23} 23}
@@ -107,7 +107,6 @@ void ImageView::contentsMousePressEvent ( QMouseEvent * e)
107 if (e->button()==1) { 107 if (e->button()==1) {
108 return OImageScrollView::contentsMousePressEvent(e); 108 return OImageScrollView::contentsMousePressEvent(e);
109 } 109 }
110// if (!fullScreen()) return;
111 odebug << "Popup " << oendl; 110 odebug << "Popup " << oendl;
112 QPopupMenu *m = new QPopupMenu(0); 111 QPopupMenu *m = new QPopupMenu(0);
113 if (!m) return; 112 if (!m) return;
@@ -125,10 +124,6 @@ void ImageView::contentsMousePressEvent ( QMouseEvent * e)
125 m->setFocus(); 124 m->setFocus();
126 m->exec( QPoint( QCursor::pos().x(), QCursor::pos().y()) ); 125 m->exec( QPoint( QCursor::pos().x(), QCursor::pos().y()) );
127 delete m; 126 delete m;
128 /* if we were fullScreen() and must overlap the taskbar again */
129 if (fullScreen() && old) {
130 enableFullscreen();
131 }
132} 127}
133 128
134void ImageView::setFullScreen(bool how) 129void ImageView::setFullScreen(bool how)
@@ -139,47 +134,35 @@ void ImageView::setFullScreen(bool how)
139void ImageView::focusInEvent(QFocusEvent *) 134void ImageView::focusInEvent(QFocusEvent *)
140{ 135{
141 // Always do it here, no matter the size. 136 // Always do it here, no matter the size.
142 odebug << "Focus in" << oendl; 137 odebug << "Focus in (view)" << oendl;
143} 138 //if (fullScreen()) parentWidget()->showNormal();
144 139 if (m_ignore_next_in){m_ignore_next_in=false;return;}
145void ImageView::focusOutEvent(QFocusEvent *) 140 if (fullScreen()) enableFullscreen();
146{
147 odebug << "Focus out" << oendl;
148} 141}
149 142
150void ImageView::enableFullscreen() 143void ImageView::enableFullscreen()
151{ 144{
152 // This call is needed because showFullScreen won't work 145 // This call is needed because showFullScreen won't work
153 // correctly if the widget already considers itself to be fullscreen. 146 // correctly if the widget already considers itself to be fullscreen.
147 if (!fullScreen()) return;
148 if (m_ignore_next_in) {m_ignore_next_in = false;return;}
149
154 setUpdatesEnabled(false); 150 setUpdatesEnabled(false);
155 odebug << "showNormal();" << oendl;
156 parentWidget()->showNormal(); 151 parentWidget()->showNormal();
157 odebug << "showNormal(); done " << oendl;
158 // This is needed because showNormal() forcefully changes the window 152 // This is needed because showNormal() forcefully changes the window
159 // style to WSTyle_TopLevel. 153 // style to WSTyle_TopLevel.
160 odebug << " reparent(0, WStyle_Customize | WStyle_NoBorder, QPoint(0,0));" << oendl;
161 parentWidget()->reparent(0, WStyle_Customize | WStyle_NoBorder, QPoint(0,0)); 154 parentWidget()->reparent(0, WStyle_Customize | WStyle_NoBorder, QPoint(0,0));
162 odebug << " reparent(0, WStyle_Customize | WStyle_NoBorder, QPoint(0,0)); done" << oendl;
163 // Enable fullscreen. 155 // Enable fullscreen.
164 odebug << "showFullScreen();" << oendl; 156 /* this is the trick - I don't now why, but after a showFullScreen QTE toggles the focus
157 * so we must block it here! */
158 m_ignore_next_in = true;
165 parentWidget()->showFullScreen(); 159 parentWidget()->showFullScreen();
166 odebug << "showFullScreen(); done" << oendl;
167 setUpdatesEnabled(true); 160 setUpdatesEnabled(true);
168} 161}
169 162
170void ImageWidget::show()
171{
172 QWidget::show();
173}
174
175void ImageWidget::hide()
176{
177 QWidget::hide();
178}
179
180ImageWidget::ImageWidget(QWidget * parent, const char * name, WFlags f) 163ImageWidget::ImageWidget(QWidget * parent, const char * name, WFlags f)
181 : QWidget(parent,name,f) 164 : QWidget(parent,name,f)
182{ 165{
183 // Make sure size is correct 166 // Make sure size is correct
184 setFixedSize(qApp->desktop()->size()); 167 setFixedSize(qApp->desktop()->size());
185} 168}
diff --git a/noncore/graphics/opie-eye/gui/imageview.h b/noncore/graphics/opie-eye/gui/imageview.h
index 5f15bc9..f3c37b5 100644
--- a/noncore/graphics/opie-eye/gui/imageview.h
+++ b/noncore/graphics/opie-eye/gui/imageview.h
@@ -31,8 +31,8 @@ public:
31 virtual ~ImageView(); 31 virtual ~ImageView();
32 Opie::Core::OKeyConfigManager* manager(); 32 Opie::Core::OKeyConfigManager* manager();
33 void setFullScreen(bool how); 33 void setFullScreen(bool how);
34 virtual void enableFullscreen();
35 bool fullScreen(){return m_isFullScreen;} 34 bool fullScreen(){return m_isFullScreen;}
35 virtual void enableFullscreen();
36 36
37signals: 37signals:
38 void dispImageInfo(const QString&); 38 void dispImageInfo(const QString&);
@@ -49,11 +49,10 @@ protected:
49 Opie::Core::OKeyConfigManager*m_viewManager; 49 Opie::Core::OKeyConfigManager*m_viewManager;
50 void initKeys(); 50 void initKeys();
51 bool m_isFullScreen:1; 51 bool m_isFullScreen:1;
52 bool m_focus_out:1; 52 bool m_ignore_next_in:1;
53 bool block_next_focus:1; 53 int focus_in_count;
54
55 virtual void focusInEvent ( QFocusEvent * ); 54 virtual void focusInEvent ( QFocusEvent * );
56 virtual void focusOutEvent ( QFocusEvent * ); 55
57 56
58protected slots: 57protected slots:
59 virtual void slotShowImageInfo(); 58 virtual void slotShowImageInfo();
@@ -71,8 +70,6 @@ public:
71protected: 70protected:
72 71
73public slots: 72public slots:
74 virtual void show();
75 virtual void hide();
76 73
77protected slots: 74protected slots:
78}; 75};
diff --git a/noncore/graphics/opie-eye/gui/mainwindow.cpp b/noncore/graphics/opie-eye/gui/mainwindow.cpp
index fa1680c..cdaf34c 100644
--- a/noncore/graphics/opie-eye/gui/mainwindow.cpp
+++ b/noncore/graphics/opie-eye/gui/mainwindow.cpp
@@ -398,8 +398,7 @@ void PMainWindow::slotDisplay( const QString& inf ) {
398 viewModeButton->hide(); 398 viewModeButton->hide();
399 } 399 }
400 if (m_disp->fullScreen()) { 400 if (m_disp->fullScreen()) {
401// tFrame->showFullScreen(); 401 tFrame->show();//FullScreen();
402 m_disp->enableFullscreen();
403 } else { 402 } else {
404 m_stack->raiseWidget( ImageDisplay ); 403 m_stack->raiseWidget( ImageDisplay );
405 } 404 }