summaryrefslogtreecommitdiff
path: root/noncore/graphics/opie-eye/gui/imageview.cpp
Unidiff
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.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/noncore/graphics/opie-eye/gui/imageview.cpp b/noncore/graphics/opie-eye/gui/imageview.cpp
index 86db732..be58c72 100644
--- a/noncore/graphics/opie-eye/gui/imageview.cpp
+++ b/noncore/graphics/opie-eye/gui/imageview.cpp
@@ -1,108 +1,110 @@
1#include "imageview.h" 1#include "imageview.h"
2 2
3#include <opie2/odebug.h> 3#include <opie2/odebug.h>
4#include <opie2/oconfig.h> 4#include <opie2/oconfig.h>
5#include <opie2/okeyconfigwidget.h> 5#include <opie2/okeyconfigwidget.h>
6 6
7#include <qpe/resource.h> 7#include <qpe/resource.h>
8#include <qpe/qpeapplication.h> 8#include <qpe/qpeapplication.h>
9#include <qpopupmenu.h> 9#include <qpopupmenu.h>
10#include <qtimer.h> 10#include <qtimer.h>
11#include <qaction.h> 11#include <qaction.h>
12 12
13using namespace Opie::Core; 13using namespace Opie::Core;
14 14
15ImageView::ImageView(Opie::Core::OConfig *cfg, QWidget* parent, const char* name, WFlags fl ) 15ImageView::ImageView(Opie::Core::OConfig *cfg, QWidget* parent, const char* name, WFlags fl )
16 : Opie::MM::OImageScrollView(parent,name,fl) 16 : Opie::MM::OImageScrollView(parent,name,fl)
17{ 17{
18 m_viewManager = 0; 18 m_viewManager = 0;
19 focus_in_count = 0; 19 focus_in_count = 0;
20 m_cfg = cfg; 20 m_cfg = cfg;
21 m_isFullScreen = false; 21 m_isFullScreen = false;
22 m_ignore_next_in = false; 22 m_ignore_next_in = false;
23 m_slideTimer = 0; 23 m_slideTimer = 0;
24 QPEApplication::setStylusOperation(viewport(),QPEApplication::RightOnHold); 24 QPEApplication::setStylusOperation(viewport(),QPEApplication::RightOnHold);
25 initKeys(); 25 initKeys();
26 m_slideValue = 5; 26 m_slideValue = 5;
27 m_gDisplayType = 0; 27 m_gDisplayType = 0;
28 m_gPrevNext = 0; 28 m_gPrevNext = 0;
29 m_hGroup = 0; 29 m_hGroup = 0;
30} 30}
31 31
32void ImageView::setMenuActions(QActionGroup*hGroup,QActionGroup*nextprevGroup, QActionGroup*disptypeGroup) 32void ImageView::setMenuActions(QActionGroup*hGroup,QActionGroup*nextprevGroup, QActionGroup*disptypeGroup)
33{ 33{
34 m_gDisplayType = disptypeGroup; 34 m_gDisplayType = disptypeGroup;
35 m_gPrevNext = nextprevGroup; 35 m_gPrevNext = nextprevGroup;
36 m_hGroup = hGroup; 36 m_hGroup = hGroup;
37} 37}
38 38
39ImageView::~ImageView() 39ImageView::~ImageView()
40{ 40{
41 odebug << "Delete Imageview" << oendl;
42 delete m_viewManager; 41 delete m_viewManager;
43} 42}
44 43
45Opie::Core::OKeyConfigManager* ImageView::manager() 44Opie::Core::OKeyConfigManager* ImageView::manager()
46{ 45{
47 if (!m_viewManager) { 46 if (!m_viewManager) {
48 initKeys(); 47 initKeys();
49 } 48 }
50 return m_viewManager; 49 return m_viewManager;
51} 50}
52 51
53void ImageView::startSlide(int value) 52void ImageView::startSlide(int value)
54{ 53{
55 if (!m_slideTimer) { 54 if (!m_slideTimer) {
56 m_slideTimer = new QTimer(this); 55 m_slideTimer = new QTimer(this);
57 } 56 }
58 m_slideValue=value; 57 m_slideValue=value;
59 connect(m_slideTimer,SIGNAL(timeout()),SLOT(nextSlide())); 58 connect(m_slideTimer,SIGNAL(timeout()),SLOT(nextSlide()));
60 m_slideTimer->start(m_slideValue*1000,true); 59 /* this "+1" is one millisecond. with that we can setup a slideshowvalue
60 of 0. eg "as fast as possible".
61 */
62 m_slideTimer->start(m_slideValue*1000+1,true);
61} 63}
62 64
63void ImageView::stopSlide() 65void ImageView::stopSlide()
64{ 66{
65 if (!m_slideTimer) { 67 if (!m_slideTimer) {
66 return; 68 return;
67 } 69 }
68 m_slideTimer->stop(); 70 m_slideTimer->stop();
69 delete m_slideTimer; 71 delete m_slideTimer;
70 m_slideTimer = 0; 72 m_slideTimer = 0;
71} 73}
72 74
73void ImageView::nextSlide() 75void ImageView::nextSlide()
74{ 76{
75 if (!m_slideTimer) { 77 if (!m_slideTimer) {
76 return; 78 return;
77 } 79 }
78 if (isHidden()) { 80 if (isHidden()) {
79 delete m_slideTimer; 81 delete m_slideTimer;
80 m_slideTimer = 0; 82 m_slideTimer = 0;
81 return; 83 return;
82 } 84 }
83 emit dispNext(); 85 emit dispNext();
84 m_slideTimer->start(m_slideValue*1000,true); 86 m_slideTimer->start(m_slideValue*1000,true);
85} 87}
86void ImageView::initKeys() 88void ImageView::initKeys()
87{ 89{
88 odebug << "init imageview keys" << oendl; 90 odebug << "init imageview keys" << oendl;
89 if (!m_cfg) { 91 if (!m_cfg) {
90 m_cfg = new Opie::Core::OConfig("opie-eye"); 92 m_cfg = new Opie::Core::OConfig("opie-eye");
91 m_cfg->setGroup("image_view_keys" ); 93 m_cfg->setGroup("image_view_keys" );
92 } 94 }
93 Opie::Core::OKeyPair::List lst; 95 Opie::Core::OKeyPair::List lst;
94 lst.append( Opie::Core::OKeyPair::upArrowKey() ); 96 lst.append( Opie::Core::OKeyPair::upArrowKey() );
95 lst.append( Opie::Core::OKeyPair::downArrowKey() ); 97 lst.append( Opie::Core::OKeyPair::downArrowKey() );
96 lst.append( Opie::Core::OKeyPair::leftArrowKey() ); 98 lst.append( Opie::Core::OKeyPair::leftArrowKey() );
97 lst.append( Opie::Core::OKeyPair::rightArrowKey() ); 99 lst.append( Opie::Core::OKeyPair::rightArrowKey() );
98 lst.append( Opie::Core::OKeyPair(Qt::Key_Escape,0)); 100 lst.append( Opie::Core::OKeyPair(Qt::Key_Escape,0));
99 101
100 m_viewManager = new Opie::Core::OKeyConfigManager(m_cfg, "image_view_keys", 102 m_viewManager = new Opie::Core::OKeyConfigManager(m_cfg, "image_view_keys",
101 lst, false,this, "image_view_keys" ); 103 lst, false,this, "image_view_keys" );
102 104
103 /** 105 /**
104 * Handle KeyEvents when they're pressed. This avoids problems 106 * Handle KeyEvents when they're pressed. This avoids problems
105 * with 'double next' on Return. 107 * with 'double next' on Return.
106 * The Return press would switch to this view and the return 108 * The Return press would switch to this view and the return
107 * release would emit the dispNext Signal. 109 * release would emit the dispNext Signal.
108 */ 110 */