Merge branch 'master' of https://git.maemo.org/projects/qtmeetings
[qtmeetings] / src / UserInterface / Views / ViewBase.cpp
1 #include "ViewBase.h"
2
3 #include <QEvent>
4 #include <QKeyEvent>
5 #include <QTabletEvent>
6 #include <QMouseEvent>
7 #include <QMouseEvent>
8 #include <QMouseEvent>
9 #include <QLayout>
10
11 #include <QtDebug>
12
13 ViewBase::ViewBase( ViewBase::ViewMode aMode, QWidget *aParent ) : QWidget( aParent ), iViewMode( aMode )
14 {
15         connectedOnce = false;
16         connectionError = false;
17 }
18
19 ViewBase::~ViewBase()
20 {
21         
22 }
23
24 ViewBase::ViewMode ViewBase::viewMode()
25 {
26         return iViewMode;
27 }
28
29 void ViewBase::connectionEstablished()
30 {
31         connectedOnce = true;
32         connectionError = false;
33 }
34
35 void ViewBase::connectionLost()
36 {
37         connectionError = true;
38 }
39
40
41 bool ViewBase::event(QEvent *event)
42 {
43         switch( event->type() )
44         {
45                 // TODO : Add events as needed !!!
46                 case QEvent::KeyPress:
47                 case QEvent::KeyRelease:
48                 case QEvent::TabletMove:
49                 case QEvent::TabletPress:
50                 case QEvent::MouseMove:
51                 case QEvent::MouseButtonPress:
52                 case QEvent::MouseButtonDblClick:
53                         emit eventDetected();
54                         break;
55                 default:
56                         break;
57         }
58         
59         return QWidget::event( event );
60 }
61
62 bool ViewBase::eventFilter( QObject *watched, QEvent *event )
63 {
64         if ( watched != this ) // We do not filter our own events
65         {
66                 switch( event->type() )
67                 {
68                         // TODO : Add events as needed !!!!
69                         case QEvent::KeyPress:
70                         case QEvent::KeyRelease:
71                         case QEvent::TabletMove:
72                         case QEvent::TabletPress:
73                         case QEvent::MouseMove:
74                         case QEvent::MouseButtonPress:
75                         case QEvent::MouseButtonDblClick:
76                                 emit eventDetected();
77                                 break;
78                         default:
79                                 break;
80                 }
81         }
82         
83         return QWidget::eventFilter( watched, event );
84 }
85
86 void ViewBase::observeChild(QWidget *aChild)
87 {
88         aChild->setMouseTracking( true );
89         aChild->installEventFilter( this );
90 }