summaryrefslogtreecommitdiff
path: root/noncore/graphics/opie-eye
authoralwin <alwin>2004-04-16 21:53:37 (UTC)
committer alwin <alwin>2004-04-16 21:53:37 (UTC)
commita33ef3772b9603ef60de8c9cfd029436e6cf0399 (patch) (side-by-side diff)
treebc90f3b3b552be411c18acf3e571316fe2623e0b /noncore/graphics/opie-eye
parent217d387def6d97f912352899fd83908b28d75dfc (diff)
downloadopie-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 ;)
Diffstat (limited to 'noncore/graphics/opie-eye') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/opie-eye/gui/imageview.cpp1
-rw-r--r--noncore/graphics/opie-eye/gui/imageview.h1
-rw-r--r--noncore/graphics/opie-eye/gui/mainwindow.cpp17
-rw-r--r--noncore/graphics/opie-eye/gui/mainwindow.h2
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;