author | alwin <alwin> | 2004-04-16 21:53:37 (UTC) |
---|---|---|
committer | alwin <alwin> | 2004-04-16 21:53:37 (UTC) |
commit | a33ef3772b9603ef60de8c9cfd029436e6cf0399 (patch) (side-by-side diff) | |
tree | bc90f3b3b552be411c18acf3e571316fe2623e0b /noncore/graphics | |
parent | 217d387def6d97f912352899fd83908b28d75dfc (diff) | |
download | opie-a33ef3772b9603ef60de8c9cfd029436e6cf0399.zip opie-a33ef3772b9603ef60de8c9cfd029436e6cf0399.tar.gz opie-a33ef3772b9603ef60de8c9cfd029436e6cf0399.tar.bz2 |
after hard-testing on real device I hade made some beauty to
the fullscreen mode, now it seems working real fine.
Zecke: I think, on real frontend side most work is finish, now we should
resolve the problems with iconview and co. And find a faster rotate-algorithm ;)
-rw-r--r-- | noncore/graphics/opie-eye/gui/imageview.cpp | 1 | ||||
-rw-r--r-- | noncore/graphics/opie-eye/gui/imageview.h | 1 | ||||
-rw-r--r-- | noncore/graphics/opie-eye/gui/mainwindow.cpp | 17 | ||||
-rw-r--r-- | noncore/graphics/opie-eye/gui/mainwindow.h | 2 |
4 files changed, 19 insertions, 2 deletions
diff --git a/noncore/graphics/opie-eye/gui/imageview.cpp b/noncore/graphics/opie-eye/gui/imageview.cpp index 8e7f982..ee4b0a1 100644 --- a/noncore/graphics/opie-eye/gui/imageview.cpp +++ b/noncore/graphics/opie-eye/gui/imageview.cpp @@ -57,24 +57,25 @@ void ImageView::initKeys() m_viewManager->handleWidget( this ); m_viewManager->load(); } void ImageView::keyReleaseEvent(QKeyEvent * e) { if (!e || e->state()!=0) { return; } if (e->key()==Qt::Key_N) slotDispNext(); if (e->key()==Qt::Key_P) slotDispPrev(); if (e->key()==Qt::Key_F) emit toggleFullScreen(); + if (e->key()==Qt::Key_Escape && fullScreen()) emit hideMe(); } void ImageView::slotDispNext() { emit dispNext(); } void ImageView::slotDispPrev() { emit dispPrev(); } diff --git a/noncore/graphics/opie-eye/gui/imageview.h b/noncore/graphics/opie-eye/gui/imageview.h index 32f7e11..75f798c 100644 --- a/noncore/graphics/opie-eye/gui/imageview.h +++ b/noncore/graphics/opie-eye/gui/imageview.h @@ -22,24 +22,25 @@ class ImageView:public Opie::MM::OImageScrollView 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(); + void hideMe(); 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(); virtual void slotDispPrev(); virtual void keyReleaseEvent(QKeyEvent * e); diff --git a/noncore/graphics/opie-eye/gui/mainwindow.cpp b/noncore/graphics/opie-eye/gui/mainwindow.cpp index 9b929a1..ef6e6df 100644 --- a/noncore/graphics/opie-eye/gui/mainwindow.cpp +++ b/noncore/graphics/opie-eye/gui/mainwindow.cpp @@ -275,44 +275,49 @@ void PMainWindow::initDisp() { if (m_disp) { if (m_stack->mode() != Opie::Ui::OWidgetStack::SmallScreen) { m_disp->setMinimumSize(QApplication::desktop()->size()/2); } 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())); + connect(m_disp,SIGNAL(hideMe()),this,SLOT(raiseIconView())); } } 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->setVScrollBarMode(QScrollView::AlwaysOff); + m_disp->setHScrollBarMode(QScrollView::AlwaysOff); 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_disp->setVScrollBarMode(QScrollView::Auto); + m_disp->setHScrollBarMode(QScrollView::Auto); m_stack->raiseWidget(m_disp); if (m_stack->mode() != Opie::Ui::OWidgetStack::SmallScreen) { m_disp->resize(m_disp->minimumSize()); } } } /** * With big Screen the plan could be to 'detach' the image * window if visible and to create a ne wone * init* already supports it but I make no use of it for * now. We set filename and raise @@ -322,40 +327,47 @@ void PMainWindow::slotToggleFullScreen() void PMainWindow::slotShowInfo( const QString& inf ) { if ( !m_info ) { initInfo(); } m_info->setPath( inf ); if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) { prevButton->hide(); nextButton->hide(); upButton->hide(); fsButton->hide(); viewModeButton->hide(); } + if (m_disp && m_disp->fullScreen() && m_disp->isVisible()) { + m_disp->hide(); + } m_stack->raiseWidget( ImageInfo ); } void PMainWindow::slotDisplay( const QString& inf ) { if ( !m_disp ) { initDisp(); } m_disp->setImage( inf ); if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) { prevButton->show(); nextButton->show(); upButton->hide(); fsButton->hide(); viewModeButton->hide(); } - m_stack->raiseWidget( ImageDisplay ); + if (m_disp->fullScreen()) { + m_disp->show(); + } else { + m_stack->raiseWidget( ImageDisplay ); + } } void PMainWindow::slotReturn() { raiseIconView(); } void PMainWindow::closeEvent( QCloseEvent* ev ) { /* * return from view * or properly quit */ @@ -368,23 +380,26 @@ void PMainWindow::closeEvent( QCloseEvent* ev ) { ev->accept(); QTimer::singleShot(0, qApp, SLOT(closeAllWindows())); } void PMainWindow::raiseIconView() { if (m_stack->mode() == Opie::Ui::OWidgetStack::SmallScreen) { prevButton->hide(); nextButton->hide(); upButton->show(); fsButton->show(); viewModeButton->show(); } + if (m_disp && m_disp->fullScreen() && m_disp->isVisible()) { + m_disp->hide(); + } m_stack->raiseWidget( IconView ); } void PMainWindow::setDocument( const QString& showImg ) { QString file = showImg; DocLnk lnk(showImg); if (lnk.isValid() ) file = lnk.file(); slotDisplay( file ); } diff --git a/noncore/graphics/opie-eye/gui/mainwindow.h b/noncore/graphics/opie-eye/gui/mainwindow.h index 4cfc39c..d238763 100644 --- a/noncore/graphics/opie-eye/gui/mainwindow.h +++ b/noncore/graphics/opie-eye/gui/mainwindow.h @@ -37,25 +37,25 @@ signals: void configChanged(); public slots: void slotShowInfo( const QString& inf ); void slotDisplay( const QString& inf ); void slotReturn(); void slotRotateToggled(bool); void slotScaleToggled(bool); void slotZoomerToggled(bool); void setDocument( const QString& ); virtual void slotToggleFullScreen(); -protected: +protected slots: void raiseIconView(); void closeEvent( QCloseEvent* ); private: template<class T> void initT( const char* name, T**, int ); void initInfo(); void initDisp(); private: Opie::Core::OConfig *m_cfg; Opie::Ui::OWidgetStack *m_stack; PIconView* m_view; |