summaryrefslogtreecommitdiff
path: root/noncore/graphics/opie-eye/gui/imageview.cpp
Unidiff
Diffstat (limited to 'noncore/graphics/opie-eye/gui/imageview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/opie-eye/gui/imageview.cpp45
1 files changed, 14 insertions, 31 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}