Diffstat (limited to 'noncore/comm/keypebble/krfbcanvas.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/comm/keypebble/krfbcanvas.cpp | 40 |
1 files changed, 37 insertions, 3 deletions
diff --git a/noncore/comm/keypebble/krfbcanvas.cpp b/noncore/comm/keypebble/krfbcanvas.cpp index 918ce8b..049bbd4 100644 --- a/noncore/comm/keypebble/krfbcanvas.cpp +++ b/noncore/comm/keypebble/krfbcanvas.cpp @@ -12,2 +12,3 @@ #include <qpixmap.h> +#include <qpoint.h> #include <qapplication.h> @@ -29,2 +30,5 @@ KRFBCanvas::KRFBCanvas( QWidget *parent, const char *name ) viewport()->setFocus(); + + nextRightClick=0; + nextDoubleClick=0; } @@ -126,4 +130,19 @@ void KRFBCanvas::contentsMousePressEvent( QMouseEvent *e ) { - if ( loggedIn_ ) + + if (nextDoubleClick) { + connection_->buffer()->mouseEvent( &QMouseEvent(QEvent::MouseButtonPress, e->pos(),LeftButton,LeftButton)); + connection_->buffer()->mouseEvent( &QMouseEvent(QEvent::MouseButtonRelease, e->pos(),LeftButton,0)); + connection_->buffer()->mouseEvent( &QMouseEvent(QEvent::MouseButtonRelease, e->pos(),LeftButton,0)); + connection_->buffer()->mouseEvent( &QMouseEvent(QEvent::MouseButtonPress, e->pos(),NoButton,NoButton)); + connection_->buffer()->mouseEvent( &QMouseEvent(QEvent::MouseButtonRelease, e->pos(),NoButton,0)); + } if (nextRightClick) { + connection_->buffer()->mouseEvent( &QMouseEvent(QEvent::MouseButtonPress, e->pos(),RightButton,RightButton)); + connection_->buffer()->mouseEvent( &QMouseEvent(QEvent::MouseButtonRelease, e->pos(),RightButton,0)); + connection_->buffer()->mouseEvent( &QMouseEvent(QEvent::MouseButtonPress, e->pos(),NoButton,NoButton)); + connection_->buffer()->mouseEvent( &QMouseEvent(QEvent::MouseButtonRelease, e->pos(),NoButton,0)); + } else if ( loggedIn_ ) connection_->buffer()->mouseEvent( e ); + + qDebug("Press"); + qDebug(QString::number(e->type()==QEvent::MouseButtonPress)); } @@ -132,4 +151,10 @@ void KRFBCanvas::contentsMouseReleaseEvent( QMouseEvent *e ) { - if ( loggedIn_ ) + if ( loggedIn_ && !nextRightClick && !nextDoubleClick) { connection_->buffer()->mouseEvent( e ); + } + + nextRightClick=0; + nextDoubleClick=0; + qDebug("Release"); + qDebug(QString::number(e->button())); } @@ -169,3 +194,2 @@ void KRFBCanvas::sendCtlAltDel( void) - qDebug("Here"); if ( loggedIn_ ) { @@ -179 +203,11 @@ void KRFBCanvas::sendCtlAltDel( void) } + +void KRFBCanvas::markDoubleClick( void) +{ + nextRightClick=1; +} + +void KRFBCanvas::markRightClick( void) +{ + nextRightClick=1; +} |