summaryrefslogtreecommitdiff
path: root/noncore/graphics/opie-eye/gui/imageview.cpp
Unidiff
Diffstat (limited to 'noncore/graphics/opie-eye/gui/imageview.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/graphics/opie-eye/gui/imageview.cpp37
1 files changed, 34 insertions, 3 deletions
diff --git a/noncore/graphics/opie-eye/gui/imageview.cpp b/noncore/graphics/opie-eye/gui/imageview.cpp
index ac6474c..03df321 100644
--- a/noncore/graphics/opie-eye/gui/imageview.cpp
+++ b/noncore/graphics/opie-eye/gui/imageview.cpp
@@ -1,42 +1,72 @@
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 <qpe/qcopenvelope_qws.h>
10
9#include <qpopupmenu.h> 11#include <qpopupmenu.h>
10#include <qtimer.h> 12#include <qtimer.h>
11#include <qaction.h> 13#include <qaction.h>
12 14
13using namespace Opie::Core; 15using namespace Opie::Core;
14 16
15ImageView::ImageView(Opie::Core::OConfig *cfg, QWidget* parent, const char* name, WFlags fl ) 17ImageView::ImageView(Opie::Core::OConfig *cfg, QWidget* parent, const char* name, WFlags fl )
16 : Opie::MM::OImageScrollView(parent,name,fl) 18 : Opie::MM::OImageScrollView(parent,name,fl)
17{ 19{
18 m_viewManager = 0; 20 m_viewManager = 0;
19 focus_in_count = 0; 21 focus_in_count = 0;
20 m_cfg = cfg; 22 m_cfg = cfg;
21 m_isFullScreen = false; 23 m_isFullScreen = false;
22 m_ignore_next_in = false; 24 m_ignore_next_in = false;
23 m_slideTimer = 0; 25 m_slideTimer = 0;
24 QPEApplication::setStylusOperation(viewport(),QPEApplication::RightOnHold); 26 QPEApplication::setStylusOperation(viewport(),QPEApplication::RightOnHold);
25 initKeys(); 27 initKeys();
26 m_slideValue = 5; 28 m_slideValue = 5;
27 m_gDisplayType = 0; 29 m_gDisplayType = 0;
28 m_gPrevNext = 0; 30 m_gPrevNext = 0;
29 m_hGroup = 0; 31 m_hGroup = 0;
32 m_Rotated = false;
30 closeIfHide = false; 33 closeIfHide = false;
34 int min = QApplication::desktop()->size().width()>QApplication::desktop()->size().height()?
35 QApplication::desktop()->size().height():QApplication::desktop()->size().width();
36 if (min>320) {
37 // bigscreen
38 setMinimumSize(min/3,min/3);
39 } else {
40 setMinimumSize(10,10);
41 }
42 m_sysChannel = new QCopChannel( "QPE/System", this );
43 connect( m_sysChannel, SIGNAL( received(const QCString&,const QByteArray&) ),
44 this, SLOT( systemMessage(const QCString&,const QByteArray&) ) );
45}
46
47void ImageView::systemMessage( const QCString& msg, const QByteArray& data )
48{
49 int _newrotation;
50 QDataStream stream( data, IO_ReadOnly );
51 odebug << "received system message: " << msg << oendl;
52 if ( msg == "setCurrentRotation(int)" )
53 {
54 stream >> _newrotation;
55 odebug << "received setCurrentRotation(" << _newrotation << ")" << oendl;
56 if (!fullScreen()) {
57 m_rotation = _newrotation;
58 return;
59 }
60 }
31} 61}
32 62
33void ImageView::setMenuActions(QActionGroup*hGroup,QActionGroup*nextprevGroup, QActionGroup*disptypeGroup) 63void ImageView::setMenuActions(QActionGroup*hGroup,QActionGroup*nextprevGroup, QActionGroup*disptypeGroup)
34{ 64{
35 m_gDisplayType = disptypeGroup; 65 m_gDisplayType = disptypeGroup;
36 m_gPrevNext = nextprevGroup; 66 m_gPrevNext = nextprevGroup;
37 m_hGroup = hGroup; 67 m_hGroup = hGroup;
38} 68}
39 69
40ImageView::~ImageView() 70ImageView::~ImageView()
41{ 71{
42 odebug << "Destructor imageview" << oendl; 72 odebug << "Destructor imageview" << oendl;
@@ -170,25 +200,25 @@ void ImageView::setCloseIfHide(bool how)
170 200
171void ImageView::slotShowImageInfo() 201void ImageView::slotShowImageInfo()
172{ 202{
173 emit dispImageInfo(m_lastName); 203 emit dispImageInfo(m_lastName);
174} 204}
175 205
176void ImageView::contentsMousePressEvent ( QMouseEvent * e) 206void ImageView::contentsMousePressEvent ( QMouseEvent * e)
177{ 207{
178 if (e->button()==1) { 208 if (e->button()==1) {
179 return OImageScrollView::contentsMousePressEvent(e); 209 return OImageScrollView::contentsMousePressEvent(e);
180 } 210 }
181 odebug << "Popup " << oendl; 211 odebug << "Popup " << oendl;
182 QPopupMenu *m = new QPopupMenu(0); 212 QPopupMenu *m = new QPopupMenu(this);
183 if (!m) return; 213 if (!m) return;
184 if (m_hGroup) { 214 if (m_hGroup) {
185 m_hGroup->addTo(m); 215 m_hGroup->addTo(m);
186 } 216 }
187 if (fullScreen()) { 217 if (fullScreen()) {
188 if (m_gPrevNext) { 218 if (m_gPrevNext) {
189 m->insertSeparator(); 219 m->insertSeparator();
190 m_gPrevNext->addTo(m); 220 m_gPrevNext->addTo(m);
191 } 221 }
192 if (m_gDisplayType) { 222 if (m_gDisplayType) {
193 m->insertSeparator(); 223 m->insertSeparator();
194 m_gDisplayType->addTo(m); 224 m_gDisplayType->addTo(m);
@@ -204,28 +234,29 @@ void ImageView::contentsMousePressEvent ( QMouseEvent * e)
204 } 234 }
205 if (m_gDisplayType) { 235 if (m_gDisplayType) {
206 m_gDisplayType->removeFrom(m); 236 m_gDisplayType->removeFrom(m);
207 } 237 }
208 delete m; 238 delete m;
209} 239}
210 240
211void ImageView::setFullScreen(bool how,bool force) 241void ImageView::setFullScreen(bool how,bool force)
212{ 242{
213 m_isFullScreen = how; 243 m_isFullScreen = how;
214 if (how) { 244 if (how) {
215 m_ignore_next_in = true; 245 m_ignore_next_in = true;
216 setFixedSize(qApp->desktop()->size()); 246// setFixedSize(qApp->desktop()->size());
247 setGeometry(0,0,qApp->desktop()->size().width(),qApp->desktop()->size().height());
217 if (force) showFullScreen(); 248 if (force) showFullScreen();
218 } else { 249 } else {
219 setMinimumSize(10,10); 250// setMinimumSize(10,10);
220 } 251 }
221} 252}
222 253
223void ImageView::focusInEvent(QFocusEvent *) 254void ImageView::focusInEvent(QFocusEvent *)
224{ 255{
225 // Always do it here, no matter the size. 256 // Always do it here, no matter the size.
226 odebug << "Focus in (view)" << oendl; 257 odebug << "Focus in (view)" << oendl;
227 //if (fullScreen()) parentWidget()->showNormal(); 258 //if (fullScreen()) parentWidget()->showNormal();
228 if (m_ignore_next_in){m_ignore_next_in=false;return;} 259 if (m_ignore_next_in){m_ignore_next_in=false;return;}
229 if (fullScreen()) enableFullscreen(); 260 if (fullScreen()) enableFullscreen();
230} 261}
231 262