Diffstat (limited to 'noncore/graphics/opie-eye/gui/mainwindow.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/graphics/opie-eye/gui/mainwindow.cpp | 85 |
1 files changed, 57 insertions, 28 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 @@ -47,8 +47,9 @@ PMainWindow::PMainWindow(QWidget* wid, const char* name, WFlags style) m_cfg->setGroup("main" ); readConfig(); m_setDocCalled = false; m_polishDone = false; + m_SmallWindow = QApplication::desktop()->size().width()<330; m_storage = new StorageInfo(); connect(m_storage, SIGNAL(disksChanged() ), this, SLOT( dirChanged() ) ); @@ -74,8 +75,11 @@ PMainWindow::PMainWindow(QWidget* wid, const char* name, WFlags style) setupToolbar(); setupMenu(); 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; } PMainWindow::~PMainWindow() { @@ -253,11 +257,11 @@ void PMainWindow::initInfo() { 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()); m_disp->setAutoRotate(m_aAutoRotate->isOn()); m_disp->setShowZoomer(m_aZoomer->isOn()); @@ -305,19 +309,16 @@ void PMainWindow::setupViewWindow(bool current, bool forceDisplay) m_disp->resize(qApp->desktop()->width(), qApp->desktop()->height()); m_disp->setFullScreen(current,forceDisplay); } else { setUpdatesEnabled(false); +#if 0 if (m_stack->mode() != Opie::Ui::OWidgetStack::SmallScreen) { //m_disp->setMinimumSize(QApplication::desktop()->size()/2); } else { //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); m_disp->setVScrollBarMode(QScrollView::Auto); m_disp->setHScrollBarMode(QScrollView::Auto); @@ -353,19 +354,19 @@ void PMainWindow::slotShowInfo( const QString& inf ) { if ( !m_info ) { initInfo(); } 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 ); } void PMainWindow::slotDisplay( const QString& inf ) { @@ -374,20 +375,20 @@ void PMainWindow::slotDisplay( const QString& inf ) { nwindow = true; initDisp(); } 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()); } if (m_disp->fullScreen()) { @@ -398,17 +399,18 @@ 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(); m_disp->hide(); } @@ -621,8 +623,16 @@ void PMainWindow::setupActions() m_gDisplayType->insert(m_aZoomer); 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; + } } void PMainWindow::setupToolbar() { @@ -646,9 +656,9 @@ void PMainWindow::setupToolbar() // m_aSetup->addTo(toolBar); m_gDisplayType->addTo(toolBar); - if (m_stack->mode() != Opie::Ui::OWidgetStack::SmallScreen) { + if (!m_SmallWindow) { m_gPrevNext->addTo(toolBar); } else { m_gPrevNext->setEnabled(false); } @@ -689,8 +699,12 @@ void PMainWindow::setupMenu() m_aFullScreen->addTo(dispMenu); m_gDisplayType->addTo(dispMenu); dispMenu->insertSeparator(); m_gPrevNext->addTo(dispMenu); + if (m_aForceSmall) { + dispMenu->insertSeparator(); + m_aForceSmall->addTo(dispMenu); + } m_aSetup->addTo(settingsMenu); m_aHideToolbar->addTo(settingsMenu); } @@ -736,4 +750,19 @@ void PMainWindow::polish() } else if (m_stack->mode() != Opie::Ui::OWidgetStack::SmallScreen) { } } } + +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); + } +} |