summaryrefslogtreecommitdiff
path: root/noncore/graphics/opie-eye
authoralwin <alwin>2004-04-22 20:57:40 (UTC)
committer alwin <alwin>2004-04-22 20:57:40 (UTC)
commitd93cb43bb2c79a9a8357e195fcdfd8ff140f8a75 (patch) (side-by-side diff)
tree066b20a65a2300c50308916027d3c055fd22a085 /noncore/graphics/opie-eye
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') (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
: Opie::MM::OImageScrollView(parent,name,fl)
{
m_viewManager = 0;
- m_focus_out = false;
- block_next_focus = true;
+ focus_in_count = 0;
m_cfg = cfg;
m_isFullScreen = false;
+ m_ignore_next_in = false;
QPEApplication::setStylusOperation(viewport(),QPEApplication::RightOnHold);
initKeys();
}
@@ -107,7 +107,6 @@ void ImageView::contentsMousePressEvent ( QMouseEvent * e)
if (e->button()==1) {
return OImageScrollView::contentsMousePressEvent(e);
}
-// if (!fullScreen()) return;
odebug << "Popup " << oendl;
QPopupMenu *m = new QPopupMenu(0);
if (!m) return;
@@ -125,10 +124,6 @@ void ImageView::contentsMousePressEvent ( QMouseEvent * e)
m->setFocus();
m->exec( QPoint( QCursor::pos().x(), QCursor::pos().y()) );
delete m;
- /* if we were fullScreen() and must overlap the taskbar again */
- if (fullScreen() && old) {
- enableFullscreen();
- }
}
void ImageView::setFullScreen(bool how)
@@ -139,47 +134,35 @@ void ImageView::setFullScreen(bool how)
void ImageView::focusInEvent(QFocusEvent *)
{
// Always do it here, no matter the size.
- odebug << "Focus in" << oendl;
-}
-
-void ImageView::focusOutEvent(QFocusEvent *)
-{
- odebug << "Focus out" << oendl;
+ odebug << "Focus in (view)" << oendl;
+ //if (fullScreen()) parentWidget()->showNormal();
+ if (m_ignore_next_in){m_ignore_next_in=false;return;}
+ if (fullScreen()) enableFullscreen();
}
void ImageView::enableFullscreen()
{
// This call is needed because showFullScreen won't work
// correctly if the widget already considers itself to be fullscreen.
+ if (!fullScreen()) return;
+ if (m_ignore_next_in) {m_ignore_next_in = false;return;}
+
setUpdatesEnabled(false);
- odebug << "showNormal();" << oendl;
parentWidget()->showNormal();
- odebug << "showNormal(); done " << oendl;
// This is needed because showNormal() forcefully changes the window
// style to WSTyle_TopLevel.
- odebug << " reparent(0, WStyle_Customize | WStyle_NoBorder, QPoint(0,0));" << oendl;
parentWidget()->reparent(0, WStyle_Customize | WStyle_NoBorder, QPoint(0,0));
- odebug << " reparent(0, WStyle_Customize | WStyle_NoBorder, QPoint(0,0)); done" << oendl;
// Enable fullscreen.
- odebug << "showFullScreen();" << oendl;
+ /* this is the trick - I don't now why, but after a showFullScreen QTE toggles the focus
+ * so we must block it here! */
+ m_ignore_next_in = true;
parentWidget()->showFullScreen();
- odebug << "showFullScreen(); done" << oendl;
setUpdatesEnabled(true);
}
-void ImageWidget::show()
-{
- QWidget::show();
-}
-
-void ImageWidget::hide()
-{
- QWidget::hide();
-}
-
ImageWidget::ImageWidget(QWidget * parent, const char * name, WFlags f)
: QWidget(parent,name,f)
{
- // Make sure size is correct
- setFixedSize(qApp->desktop()->size());
+ // Make sure size is correct
+ setFixedSize(qApp->desktop()->size());
}
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:
virtual ~ImageView();
Opie::Core::OKeyConfigManager* manager();
void setFullScreen(bool how);
- virtual void enableFullscreen();
bool fullScreen(){return m_isFullScreen;}
+ virtual void enableFullscreen();
signals:
void dispImageInfo(const QString&);
@@ -49,11 +49,10 @@ protected:
Opie::Core::OKeyConfigManager*m_viewManager;
void initKeys();
bool m_isFullScreen:1;
- bool m_focus_out:1;
- bool block_next_focus:1;
-
+ bool m_ignore_next_in:1;
+ int focus_in_count;
virtual void focusInEvent ( QFocusEvent * );
- virtual void focusOutEvent ( QFocusEvent * );
+
protected slots:
virtual void slotShowImageInfo();
@@ -71,8 +70,6 @@ public:
protected:
public slots:
- virtual void show();
- virtual void hide();
protected slots:
};
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 ) {
viewModeButton->hide();
}
if (m_disp->fullScreen()) {
-// tFrame->showFullScreen();
- m_disp->enableFullscreen();
+ tFrame->show();//FullScreen();
} else {
m_stack->raiseWidget( ImageDisplay );
}