-rw-r--r-- | noncore/graphics/opie-eye/gui/mainwindow.cpp | 85 | ||||
-rw-r--r-- | noncore/graphics/opie-eye/gui/mainwindow.h | 6 |
2 files changed, 61 insertions, 30 deletions
diff --git a/noncore/graphics/opie-eye/gui/mainwindow.cpp b/noncore/graphics/opie-eye/gui/mainwindow.cpp index 90e2e99..a96bfbd 100644 --- a/noncore/graphics/opie-eye/gui/mainwindow.cpp +++ b/noncore/graphics/opie-eye/gui/mainwindow.cpp @@ -49,4 +49,5 @@ PMainWindow::PMainWindow(QWidget* wid, const char* name, WFlags style) m_setDocCalled = false; m_polishDone = false; + m_SmallWindow = QApplication::desktop()->size().width()<330; m_storage = new StorageInfo(); @@ -76,4 +77,7 @@ PMainWindow::PMainWindow(QWidget* wid, const char* name, WFlags style) m_aHideToolbar->setOn(m_cfg->readBoolEntry("showtoolbar",true)); m_aAutoRotate->setEnabled(!m_aUnscaled->isOn()); + if (m_aForceSmall) { + m_aForceSmall->setOn(m_cfg->readBoolEntry("dontshowseperate",true)); + } odebug << "mainwindow constructor done" << oendl; } @@ -255,7 +259,7 @@ void PMainWindow::initDisp() { initT<ImageView>( "Image ScrollView", &m_disp, ImageDisplay ); if (m_disp) { - if (m_stack->mode() != Opie::Ui::OWidgetStack::SmallScreen) { +// if (m_stack->mode() != Opie::Ui::OWidgetStack::SmallScreen) { //m_disp->setMinimumSize(QApplication::desktop()->size()/2); - } +// } m_disp->setMenuActions(m_hGroup,m_gPrevNext,m_gDisplayType); m_disp->setAutoScale(!m_aUnscaled->isOn()); @@ -307,4 +311,5 @@ void PMainWindow::setupViewWindow(bool current, bool forceDisplay) } else { setUpdatesEnabled(false); +#if 0 if (m_stack->mode() != Opie::Ui::OWidgetStack::SmallScreen) { @@ -313,9 +318,5 @@ void PMainWindow::setupViewWindow(bool current, bool forceDisplay) //m_disp->setMinimumSize(10,10); } - if (m_stack->mode() != Opie::Ui::OWidgetStack::SmallScreen) { - m_disp->reparent(0,QPoint(10,10)); - } else { - m_disp->reparent(0,QPoint(0,0)); - } +#endif m_disp->setBackgroundColor(white); m_stack->addWidget(m_disp,ImageDisplay); @@ -355,15 +356,15 @@ void PMainWindow::slotShowInfo( const QString& inf ) { } m_info->setPath( inf ); - if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) { + if (m_SmallWindow) { m_aNext->removeFrom(toolBar); m_aPrevious->removeFrom(toolBar); - 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_aNext->setEnabled(false); + m_aPrevious->setEnabled(false); + m_aDirUp->setEnabled(false); + m_aShowInfo->setEnabled(false); + m_aViewfile->setEnabled(true); + m_aStartSlide->setEnabled(false); m_stack->raiseWidget( ImageInfo ); } @@ -376,16 +377,16 @@ void PMainWindow::slotDisplay( const QString& inf ) { } m_disp->setImage( inf ); - if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) { + if (m_SmallWindow) { 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(); } } + m_gPrevNext->setEnabled(true); + m_aDirUp->setEnabled(false); + m_aShowInfo->setEnabled(true); + m_aViewfile->setEnabled(false); + m_aStartSlide->setEnabled(false); + if (!nwindow && m_disp->fullScreen()!=m_aFullScreen->isOn()) { slotFullScreenToggled(m_aFullScreen->isOn()); @@ -400,13 +401,14 @@ void PMainWindow::slotDisplay( const QString& inf ) { void PMainWindow::raiseIconView() { setUpdatesEnabled(false); - if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) { + if (m_SmallWindow) { m_gPrevNext->removeFrom(toolBar); - m_gPrevNext->setEnabled(false); - m_aDirUp->setEnabled(true); - m_aShowInfo->setEnabled(true); - m_aViewfile->setEnabled(true); - m_aStartSlide->setEnabled(true); fsButton->show(); } + m_gPrevNext->setEnabled(false); + m_aDirUp->setEnabled(true); + m_aShowInfo->setEnabled(true); + m_aViewfile->setEnabled(true); + m_aStartSlide->setEnabled(true); + if (m_disp && m_disp->fullScreen() && m_disp->isVisible()) { m_disp->stopSlide(); @@ -623,4 +625,12 @@ void PMainWindow::setupActions() m_hGroup = new QActionGroup(this,"actioncollection",false); m_hGroup->insert(m_aFullScreen); + + if (!m_SmallWindow) { + m_aForceSmall = new QAction(tr("Dont show seperate windows"),Resource::loadIconSet( "AppsIcon" ), 0, 0, this, 0, true); + m_aForceSmall->setToggleAction(true); + connect(m_aForceSmall,SIGNAL(toggled(bool)),this,SLOT(slotForceSmall(bool))); + } else { + m_aForceSmall = 0; + } } @@ -648,5 +658,5 @@ void PMainWindow::setupToolbar() m_gDisplayType->addTo(toolBar); - if (m_stack->mode() != Opie::Ui::OWidgetStack::SmallScreen) { + if (!m_SmallWindow) { m_gPrevNext->addTo(toolBar); } else { @@ -691,4 +701,8 @@ void PMainWindow::setupMenu() dispMenu->insertSeparator(); m_gPrevNext->addTo(dispMenu); + if (m_aForceSmall) { + dispMenu->insertSeparator(); + m_aForceSmall->addTo(dispMenu); + } m_aSetup->addTo(settingsMenu); @@ -738,2 +752,17 @@ void PMainWindow::polish() } } + +void PMainWindow::slotForceSmall(bool how) +{ + odebug << "Disable separate windows: " << how << oendl; + if (m_stack) { + if (how) { + m_stack->forceMode(Opie::Ui::OWidgetStack::SmallScreen); + } else { + m_stack->forceMode(Opie::Ui::OWidgetStack::NoForce); + } + } + if (autoSave) { + m_cfg->writeEntry("dontshowseperate",how); + } +} diff --git a/noncore/graphics/opie-eye/gui/mainwindow.h b/noncore/graphics/opie-eye/gui/mainwindow.h index 2f54090..a49a9d3 100644 --- a/noncore/graphics/opie-eye/gui/mainwindow.h +++ b/noncore/graphics/opie-eye/gui/mainwindow.h @@ -81,7 +81,8 @@ private: imageinfo *m_info; ImageView *m_disp; - bool autoSave; + bool autoSave:1; bool m_setDocCalled:1; bool m_polishDone:1; + bool m_SmallWindow:1; QToolButton*fsButton; QToolBar *toolBar; @@ -91,5 +92,5 @@ private: QActionGroup *m_gListViewMode,*m_gDisplayType,*m_gPrevNext,*m_hGroup; QAction *m_aNext,*m_aPrevious,*m_aFullScreen; - QAction *m_aAutoRotate,*m_aUnscaled,*m_aZoomer; + QAction *m_aAutoRotate,*m_aUnscaled,*m_aZoomer,*m_aForceSmall; /* init funs */ @@ -106,4 +107,5 @@ private slots: void slotSelectDir(int); void dirChanged(); + void slotForceSmall(bool); }; |