author | alwin <alwin> | 2004-10-31 16:31:04 (UTC) |
---|---|---|
committer | alwin <alwin> | 2004-10-31 16:31:04 (UTC) |
commit | 6d27de4d1d4ebce0acc9ab68037d7e9f3c1d3703 (patch) (side-by-side diff) | |
tree | 793f8a0e448ff7944dab4ce5187d6e1b93daf416 /noncore/graphics/opie-eye/gui/imageview.cpp | |
parent | 92fa51ae338d92b0df078f8283b31afdfcf4341a (diff) | |
download | opie-6d27de4d1d4ebce0acc9ab68037d7e9f3c1d3703.zip opie-6d27de4d1d4ebce0acc9ab68037d7e9f3c1d3703.tar.gz opie-6d27de4d1d4ebce0acc9ab68037d7e9f3c1d3703.tar.bz2 |
all toolbuttons etc. switched to QAction objects
menu mostly finished
Diffstat (limited to 'noncore/graphics/opie-eye/gui/imageview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/graphics/opie-eye/gui/imageview.cpp | 49 |
1 files changed, 41 insertions, 8 deletions
diff --git a/noncore/graphics/opie-eye/gui/imageview.cpp b/noncore/graphics/opie-eye/gui/imageview.cpp index a20c879..c7e48cb 100644 --- a/noncore/graphics/opie-eye/gui/imageview.cpp +++ b/noncore/graphics/opie-eye/gui/imageview.cpp @@ -1,37 +1,48 @@ #include "imageview.h" #include <opie2/odebug.h> #include <opie2/oconfig.h> #include <opie2/okeyconfigwidget.h> #include <qpe/resource.h> #include <qpe/qpeapplication.h> #include <qpopupmenu.h> #include <qtimer.h> +#include <qaction.h> using namespace Opie::Core; ImageView::ImageView(Opie::Core::OConfig *cfg, QWidget* parent, const char* name, WFlags fl ) : Opie::MM::OImageScrollView(parent,name,fl) { m_viewManager = 0; focus_in_count = 0; m_cfg = cfg; m_isFullScreen = false; m_ignore_next_in = false; m_slideTimer = 0; QPEApplication::setStylusOperation(viewport(),QPEApplication::RightOnHold); initKeys(); m_slideValue = 5; + m_gDisplayType = 0; + m_gPrevNext = 0; + m_hGroup = 0; +} + +void ImageView::setMenuActions(QActionGroup*hGroup,QActionGroup*nextprevGroup, QActionGroup*disptypeGroup) +{ + m_gDisplayType = disptypeGroup; + m_gPrevNext = nextprevGroup; + m_hGroup = hGroup; } ImageView::~ImageView() { odebug << "Delete Imageview" << oendl; delete m_viewManager; } Opie::Core::OKeyConfigManager* ImageView::manager() { if (!m_viewManager) { initKeys(); @@ -40,24 +51,34 @@ Opie::Core::OKeyConfigManager* ImageView::manager() } void ImageView::startSlide(int value) { if (!m_slideTimer) { m_slideTimer = new QTimer(this); } m_slideValue=value; connect(m_slideTimer,SIGNAL(timeout()),SLOT(nextSlide())); m_slideTimer->start(m_slideValue*1000,true); } +void ImageView::stopSlide() +{ + if (!m_slideTimer) { + return; + } + m_slideTimer->stop(); + delete m_slideTimer; + m_slideTimer = 0; +} + void ImageView::nextSlide() { if (!m_slideTimer) { return; } if (isHidden()) { delete m_slideTimer; m_slideTimer = 0; return; } emit dispNext(); m_slideTimer->start(m_slideValue*1000,true); @@ -133,36 +154,48 @@ void ImageView::slotShowImageInfo() { emit dispImageInfo(m_lastName); } void ImageView::contentsMousePressEvent ( QMouseEvent * e) { if (e->button()==1) { return OImageScrollView::contentsMousePressEvent(e); } odebug << "Popup " << oendl; QPopupMenu *m = new QPopupMenu(0); if (!m) return; - m->insertItem(tr("Toggle fullscreen"),this, SIGNAL(toggleFullScreen())); + if (m_hGroup) { + m_hGroup->addTo(m); + } if (fullScreen()) { - m->insertSeparator(); - m->insertItem(tr("Previous image"),this,SIGNAL(dispPrev())); - m->insertItem(tr("Next image"),this,SIGNAL(dispNext())); - m->insertSeparator(); - m->insertItem(tr("Toggle autoscale"),this, SIGNAL(toggleAutoscale())); - m->insertItem(tr("Toggle autorotate"),this, SIGNAL(toggleAutorotate())); - m->insertItem(tr("Toggle thumbnail"),this, SIGNAL(toggleZoomer())); + if (m_gPrevNext) { + m->insertSeparator(); + m_gPrevNext->addTo(m); + } + if (m_gDisplayType) { + m->insertSeparator(); + m_gDisplayType->addTo(m); + } } m->setFocus(); m->exec( QPoint( QCursor::pos().x(), QCursor::pos().y()) ); + if (m_hGroup) { + m_hGroup->removeFrom(m); + } + if (m_gPrevNext) { + m_gPrevNext->removeFrom(m); + } + if (m_gDisplayType) { + m_gDisplayType->removeFrom(m); + } delete m; } void ImageView::setFullScreen(bool how) { m_isFullScreen = how; if (how) { m_ignore_next_in = true; setFixedSize(qApp->desktop()->size()); showFullScreen(); } else { setMinimumSize(10,10); |