From 217d387def6d97f912352899fd83908b28d75dfc Mon Sep 17 00:00:00 2001 From: alwin Date: Fri, 16 Apr 2004 20:35:35 +0000 Subject: Implemented fullscreen mode (f-key) --- (limited to 'noncore/graphics') diff --git a/noncore/graphics/opie-eye/gui/imageview.cpp b/noncore/graphics/opie-eye/gui/imageview.cpp index fbc4494..8e7f982 100644 --- a/noncore/graphics/opie-eye/gui/imageview.cpp +++ b/noncore/graphics/opie-eye/gui/imageview.cpp @@ -13,6 +13,7 @@ ImageView::ImageView(Opie::Core::OConfig *cfg, QWidget* parent, const char* name { m_viewManager = 0; m_cfg = cfg; + m_isFullScreen = false; initKeys(); } @@ -45,19 +46,14 @@ void ImageView::initKeys() lst.append( Opie::Core::OKeyPair::rightArrowKey() ); lst.append( Opie::Core::OKeyPair(Qt::Key_N,0)); lst.append( Opie::Core::OKeyPair(Qt::Key_P,0)); + lst.append( Opie::Core::OKeyPair(Qt::Key_F,0)); m_viewManager = new Opie::Core::OKeyConfigManager(m_cfg, "image_view_keys", lst, false,this, "image_view_keys" ); m_viewManager->addKeyConfig( Opie::Core::OKeyConfigItem(tr("View Image Info"), "imageviewinfo", Resource::loadPixmap("1to1"), ViewInfo, - Opie::Core::OKeyPair(Qt::Key_I,Qt::ShiftButton), + Opie::Core::OKeyPair(Qt::Key_I,0), this, SLOT(slotShowImageInfo()))); -#if 0 - m_viewManager->addKeyConfig( Opie::Core::OKeyConfigItem(tr("Next image"), "nextimage", - Resource::loadPixmap("next"), ViewInfo, - Opie::Core::OKeyPair(Qt::Key_N,0), - this, SLOT(slotDispNext()))); -#endif m_viewManager->handleWidget( this ); m_viewManager->load(); } @@ -69,6 +65,7 @@ void ImageView::keyReleaseEvent(QKeyEvent * e) } if (e->key()==Qt::Key_N) slotDispNext(); if (e->key()==Qt::Key_P) slotDispPrev(); + if (e->key()==Qt::Key_F) emit toggleFullScreen(); } void ImageView::slotDispNext() diff --git a/noncore/graphics/opie-eye/gui/imageview.h b/noncore/graphics/opie-eye/gui/imageview.h index f467f00..32f7e11 100644 --- a/noncore/graphics/opie-eye/gui/imageview.h +++ b/noncore/graphics/opie-eye/gui/imageview.h @@ -15,23 +15,29 @@ class ImageView:public Opie::MM::OImageScrollView Q_OBJECT enum ActionIds { - ViewInfo + ViewInfo, + FullScreen }; public: ImageView(Opie::Core::OConfig *cfg, QWidget* parent, const char* name = 0, WFlags fl = 0 ); virtual ~ImageView(); Opie::Core::OKeyConfigManager* manager(); + void setFullScreen(bool how){m_isFullScreen = how;} + bool fullScreen(){return m_isFullScreen;} signals: void dispImageInfo(const QString&); void dispNext(); void dispPrev(); + void toggleFullScreen(); protected: Opie::Core::OConfig * m_cfg; Opie::Core::OKeyConfigManager*m_viewManager; void initKeys(); + bool m_isFullScreen:1; + protected slots: virtual void slotShowImageInfo(); virtual void slotDispNext(); diff --git a/noncore/graphics/opie-eye/gui/mainwindow.cpp b/noncore/graphics/opie-eye/gui/mainwindow.cpp index 4852bf6..9b929a1 100644 --- a/noncore/graphics/opie-eye/gui/mainwindow.cpp +++ b/noncore/graphics/opie-eye/gui/mainwindow.cpp @@ -279,9 +279,35 @@ void PMainWindow::initDisp() { m_disp->setAutoScale(autoScale); m_disp->setAutoRotate(autoRotate); m_disp->setShowZoomer(zoomerOn); + m_disp->setBackgroundColor(white); connect(m_disp,SIGNAL(dispImageInfo(const QString&)),this,SLOT(slotShowInfo(const QString&))); connect(m_disp,SIGNAL(dispNext()),m_view,SLOT(slotShowNext())); connect(m_disp,SIGNAL(dispPrev()),m_view,SLOT(slotShowPrev())); + connect(m_disp,SIGNAL(toggleFullScreen()),this,SLOT(slotToggleFullScreen())); + } +} + +void PMainWindow::slotToggleFullScreen() +{ + odebug << "Toggle full " << oendl; + if (!m_disp) return; + bool current = !m_disp->fullScreen(); + m_disp->setFullScreen(current); + odebug << "Current = " << current << oendl; + if (current) { + odebug << "full" << oendl; + m_disp->setBackgroundColor(black); + m_disp->reparent(0,QPoint(0,0)); + m_disp->resize(qApp->desktop()->width(), qApp->desktop()->height()); + m_disp->showFullScreen(); + } else { + odebug << "window" << oendl; + m_disp->setBackgroundColor(white); + m_stack->addWidget(m_disp,ImageDisplay); + m_stack->raiseWidget(m_disp); + if (m_stack->mode() != Opie::Ui::OWidgetStack::SmallScreen) { + m_disp->resize(m_disp->minimumSize()); + } } } diff --git a/noncore/graphics/opie-eye/gui/mainwindow.h b/noncore/graphics/opie-eye/gui/mainwindow.h index 1967ef7..4cfc39c 100644 --- a/noncore/graphics/opie-eye/gui/mainwindow.h +++ b/noncore/graphics/opie-eye/gui/mainwindow.h @@ -44,6 +44,7 @@ public slots: void slotScaleToggled(bool); void slotZoomerToggled(bool); void setDocument( const QString& ); + virtual void slotToggleFullScreen(); protected: void raiseIconView(); -- cgit v0.9.0.2