Diffstat (limited to 'noncore/graphics/opie-eye/gui/mainwindow.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/graphics/opie-eye/gui/mainwindow.cpp | 24 |
1 files changed, 9 insertions, 15 deletions
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 @@ -205,34 +205,28 @@ void PMainWindow::slotConfig() { m_view->resetView(); keyWid->save(); m_disp->manager()->save(); m_info->manager()->save(); m_view->manager()->save(); bSetup->save_values(); readConfig(); } delete keyWid; 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(); } } /* * create a new image info component * and detach the current one * we will make the other delete on exit */ template<class T> void PMainWindow::initT( const char* name, T** ptr, int id) { if ( *ptr ) { (*ptr)->disconnect(this, SLOT(slotReturn())); @@ -279,33 +273,28 @@ void PMainWindow::initDisp() { void PMainWindow::slotToggleFullScreen() { bool current = !m_aFullScreen->isOn(); m_aFullScreen->setOn(current); } void PMainWindow::slotFullScreenButton(bool current) { if (autoSave) { 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); } +} void PMainWindow::setupViewWindow(bool current, bool forceDisplay) { if (!m_disp) return; if (current) { m_disp->setBackgroundColor(black); m_disp->reparent(0, WStyle_Customize | WStyle_NoBorder, QPoint(0,0)); m_disp->setVScrollBarMode(QScrollView::AlwaysOff); m_disp->setHScrollBarMode(QScrollView::AlwaysOff); m_disp->resize(qApp->desktop()->width(), qApp->desktop()->height()); } else { setUpdatesEnabled(false); @@ -360,40 +349,45 @@ void PMainWindow::slotShowInfo( const QString& inf ) { m_aNext->setEnabled(false); m_aPrevious->setEnabled(false); m_aDirUp->setEnabled(false); m_aShowInfo->setEnabled(false); m_aViewfile->setEnabled(true); m_aStartSlide->setEnabled(false); fsButton->hide(); } m_stack->raiseWidget( ImageInfo ); } void PMainWindow::slotDisplay( const QString& inf ) { + bool nwindow = false; if ( !m_disp ) { + nwindow = true; initDisp(); } m_disp->setImage( inf ); if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) { if (m_gPrevNext->isEnabled()==false) { m_gPrevNext->addTo(toolBar); m_gPrevNext->setEnabled(true); m_aDirUp->setEnabled(false); m_aShowInfo->setEnabled(true); m_aViewfile->setEnabled(false); m_aStartSlide->setEnabled(false); 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 { m_stack->raiseWidget( ImageDisplay ); } } void PMainWindow::raiseIconView() { setUpdatesEnabled(false); if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) { m_gPrevNext->removeFrom(toolBar); m_gPrevNext->setEnabled(false); |