From 51b7bdf260bc2b5b066c6594a6d0c507add682fd Mon Sep 17 00:00:00 2001 From: alwin Date: Tue, 02 Nov 2004 00:30:38 +0000 Subject: ok. now we have real working, simple solution how to act with switching fullscreen when imagewindow is hidden. It is realy impressive what a brain can generate brainf* ideas finding such a solution - I should stop programming on holidays. --- diff --git a/noncore/graphics/opie-eye/gui/imageview.cpp b/noncore/graphics/opie-eye/gui/imageview.cpp index be58c72..ebdfc60 100644 --- a/noncore/graphics/opie-eye/gui/imageview.cpp +++ b/noncore/graphics/opie-eye/gui/imageview.cpp @@ -38,6 +38,7 @@ void ImageView::setMenuActions(QActionGroup*hGroup,QActionGroup*nextprevGroup, Q ImageView::~ImageView() { + odebug << "Destructor imageview" << oendl; delete m_viewManager; } @@ -77,11 +78,13 @@ void ImageView::nextSlide() if (!m_slideTimer) { return; } +#if 0 if (isHidden()) { delete m_slideTimer; m_slideTimer = 0; return; } +#endif emit dispNext(); m_slideTimer->start(m_slideValue*1000,true); } diff --git a/noncore/graphics/opie-eye/gui/mainwindow.cpp b/noncore/graphics/opie-eye/gui/mainwindow.cpp index 5eb065f..6660eb2 100644 --- a/noncore/graphics/opie-eye/gui/mainwindow.cpp +++ b/noncore/graphics/opie-eye/gui/mainwindow.cpp @@ -214,16 +214,10 @@ void PMainWindow::slotConfig() { m_stack->raiseWidget(w); if (remdisp) { - m_disp->disconnect(this, SLOT(slotReturn())); - m_disp->setDestructiveClose(); - m_stack->removeWidget(m_disp); - m_disp = 0; + m_disp->hide(); } if (reminfo) { - m_info->disconnect(this, SLOT(slotReturn())); - m_info->setDestructiveClose(); - m_stack->removeWidget(m_info); - m_info = 0; + m_info->hide(); } } @@ -288,14 +282,9 @@ void PMainWindow::slotFullScreenButton(bool current) m_cfg->writeEntry("fullscreen",current); } if (!m_disp) return; - - if (m_disp->isHidden()) { - /* it must get some setups for switch we can just do if the window is visible. - so we must delete the imageview window and re-create it when displaying new - image */ - return; + if (m_disp->isVisible()) { + setupViewWindow(current, true); } - setupViewWindow(current, true); } void PMainWindow::setupViewWindow(bool current, bool forceDisplay) @@ -369,7 +358,9 @@ void PMainWindow::slotShowInfo( const QString& inf ) { } void PMainWindow::slotDisplay( const QString& inf ) { + bool nwindow = false; if ( !m_disp ) { + nwindow = true; initDisp(); } m_disp->setImage( inf ); @@ -385,6 +376,9 @@ void PMainWindow::slotDisplay( const QString& inf ) { fsButton->hide(); } } + if (!nwindow && m_disp->fullScreen()!=m_aFullScreen->isOn()) { + slotFullScreenToggled(m_aFullScreen->isOn()); + } if (m_disp->fullScreen()) { qwsDisplay()->requestFocus( m_disp->winId(), TRUE); } else { -- cgit v0.9.0.2