From e11d189bfd48ab072da4753240a4ab0bbf81296f Mon Sep 17 00:00:00 2001 From: alwin Date: Sun, 07 Nov 2004 14:14:02 +0000 Subject: when last view state was fullscreen and user tabbed on an image the imagedisplay was behind the application gui 'cause gui was painted after the imagewindow. So now opie-eye starts a short timer in setDocument when first start checking the visibility of imagewindow. --- (limited to 'noncore/graphics') diff --git a/noncore/graphics/opie-eye/gui/mainwindow.cpp b/noncore/graphics/opie-eye/gui/mainwindow.cpp index 67eb277..f443ccb 100644 --- a/noncore/graphics/opie-eye/gui/mainwindow.cpp +++ b/noncore/graphics/opie-eye/gui/mainwindow.cpp @@ -73,6 +73,7 @@ PMainWindow::PMainWindow(QWidget* wid, const char* name, WFlags style) setupMenu(); m_aHideToolbar->setOn(m_cfg->readBoolEntry("showtoolbar",true)); m_aAutoRotate->setEnabled(!m_aUnscaled->isOn()); + odebug << "mainwindow constructor done" << oendl; } PMainWindow::~PMainWindow() { @@ -433,13 +434,26 @@ void PMainWindow::closeEvent( QCloseEvent* ev ) { QTimer::singleShot(0, qApp, SLOT(closeAllWindows())); } -void PMainWindow::setDocument( const QString& showImg ) { +void PMainWindow::setDocument( const QString& showImg ) +{ + bool first_start = m_disp==0; + QString file = showImg; DocLnk lnk(showImg); if (lnk.isValid() ) file = lnk.file(); - slotDisplay( file ); + if (first_start && m_aFullScreen->isOn()) { + QTimer::singleShot(0,this,SLOT(check_view_fullscreen())); + } +} + +void PMainWindow::check_view_fullscreen() +{ + if (!m_view) return; + if (!m_view->hasFocus()&&m_aFullScreen->isOn()) { + qwsDisplay()->requestFocus( m_disp->winId(), TRUE); + } } void PMainWindow::slotSelectDir(int id) diff --git a/noncore/graphics/opie-eye/gui/mainwindow.h b/noncore/graphics/opie-eye/gui/mainwindow.h index 5707568..465e352 100644 --- a/noncore/graphics/opie-eye/gui/mainwindow.h +++ b/noncore/graphics/opie-eye/gui/mainwindow.h @@ -65,6 +65,7 @@ protected slots: void showToolbar(bool); void listviewselected(QAction*); void slotFullScreenButton(bool); + void check_view_fullscreen(); private: template void initT( const char* name, T**, int ); -- cgit v0.9.0.2