From 51b7bdf260bc2b5b066c6594a6d0c507add682fd Mon Sep 17 00:00:00 2001
From: alwin <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