summaryrefslogtreecommitdiff
path: root/noncore/comm
Side-by-side diff
Diffstat (limited to 'noncore/comm') (more/less context) (show whitespace changes)
-rw-r--r--noncore/comm/keypebble/krfbcanvas.cpp40
-rw-r--r--noncore/comm/keypebble/krfbcanvas.h4
-rw-r--r--noncore/comm/keypebble/kvnc.cpp16
-rw-r--r--noncore/comm/keypebble/kvnc.h2
-rw-r--r--noncore/comm/keypebble/kvncbookmarkdlgbase.ui7
-rw-r--r--noncore/comm/keypebble/kvncconndlgbase.ui314
6 files changed, 243 insertions, 140 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
@@ -11,4 +11,5 @@
#include <qaction.h>
#include <qpixmap.h>
+#include <qpoint.h>
#include <qapplication.h>
#include <qmainwindow.h>
@@ -28,4 +29,7 @@ KRFBCanvas::KRFBCanvas( QWidget *parent, const char *name )
viewport()->setFocusPolicy( QWidget::StrongFocus );
viewport()->setFocus();
+
+ nextRightClick=0;
+ nextDoubleClick=0;
}
@@ -125,14 +129,35 @@ void KRFBCanvas::viewportUpdate( int x, int y, int w, int h )
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));
}
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()));
+}
+
void KRFBCanvas::contentsMouseMoveEvent( QMouseEvent *e )
{
@@ -168,5 +193,4 @@ void KRFBCanvas::sendCtlAltDel( void)
{
- qDebug("Here");
if ( loggedIn_ ) {
connection_->buffer()->keyPressEvent( &QKeyEvent(QEvent::KeyPress,Qt::Key_Control, 0,0));
@@ -178,2 +202,12 @@ void KRFBCanvas::sendCtlAltDel( void)
}
}
+
+void KRFBCanvas::markDoubleClick( void)
+{
+ nextRightClick=1;
+}
+
+void KRFBCanvas::markRightClick( void)
+{
+ nextRightClick=1;
+}
diff --git a/noncore/comm/keypebble/krfbcanvas.h b/noncore/comm/keypebble/krfbcanvas.h
index cd3047c..5c7b949 100644
--- a/noncore/comm/keypebble/krfbcanvas.h
+++ b/noncore/comm/keypebble/krfbcanvas.h
@@ -33,4 +33,6 @@ public slots:
void bell();
void sendCtlAltDel(void);
+ void markRightClick(void);
+ void markDoubleClick(void);
protected:
@@ -49,4 +51,6 @@ protected slots:
private:
+ int nextRightClick;
+ int nextDoubleClick;
KRFBConnection *connection_;
QString password;
diff --git a/noncore/comm/keypebble/kvnc.cpp b/noncore/comm/keypebble/kvnc.cpp
index ef57366..abdb1e0 100644
--- a/noncore/comm/keypebble/kvnc.cpp
+++ b/noncore/comm/keypebble/kvnc.cpp
@@ -184,4 +184,16 @@ void KVNC::setupActions()
disconnectAction->addTo( cornerMenu );
disconnectAction->setEnabled( false );
+
+ doubleClickAction = new QAction( tr("Next Click is Double Click"), QString::null, 0, 0 );
+ connect( doubleClickAction, SIGNAL(activated()),
+ canvas, SLOT( markDoubleClick() ) );
+ doubleClickAction->addTo( cornerMenu );
+ doubleClickAction->setEnabled( false );
+
+ rightClickAction = new QAction( tr("Next Click is Right Click"), QString::null, 0, 0 );
+ connect( rightClickAction, SIGNAL(activated()),
+ canvas, SLOT( markRightClick() ) );
+ rightClickAction->addTo( cornerMenu );
+ rightClickAction->setEnabled( false );
}
@@ -239,4 +251,6 @@ void KVNC::connected()
disconnectAction->setEnabled( true );
fullScreenAction->setEnabled( true );
+ doubleClickAction->setEnabled( false );
+ rightClickAction->setEnabled( true );
stack->raiseWidget(canvas);
bar->hide();
@@ -259,4 +273,6 @@ void KVNC::disconnected()
disconnectAction->setEnabled( false );
fullScreenAction->setEnabled( false );
+ doubleClickAction->setEnabled( false );
+ rightClickAction->setEnabled( false );
stack->raiseWidget(bookmarkSelector);
bar->show();
diff --git a/noncore/comm/keypebble/kvnc.h b/noncore/comm/keypebble/kvnc.h
index 82a24fc..51c7151 100644
--- a/noncore/comm/keypebble/kvnc.h
+++ b/noncore/comm/keypebble/kvnc.h
@@ -58,4 +58,6 @@ private:
QAction *ctlAltDelAction;;
QAction *connectAction;
+ QAction *rightClickAction;
+ QAction *doubleClickAction;
QToolBar * bar;
diff --git a/noncore/comm/keypebble/kvncbookmarkdlgbase.ui b/noncore/comm/keypebble/kvncbookmarkdlgbase.ui
index 69d8a14..4ca4f26 100644
--- a/noncore/comm/keypebble/kvncbookmarkdlgbase.ui
+++ b/noncore/comm/keypebble/kvncbookmarkdlgbase.ui
@@ -12,5 +12,5 @@
<x>0</x>
<y>0</y>
- <width>580</width>
+ <width>576</width>
<height>480</height>
</rect>
@@ -20,8 +20,11 @@
<string>Bookmarks</string>
</property>
+ <property>
+ <name>layoutMargin</name>
+ </property>
<vbox>
<property stdset="1">
<name>margin</name>
- <number>11</number>
+ <number>0</number>
</property>
<property stdset="1">
diff --git a/noncore/comm/keypebble/kvncconndlgbase.ui b/noncore/comm/keypebble/kvncconndlgbase.ui
index de3f785..003aad2 100644
--- a/noncore/comm/keypebble/kvncconndlgbase.ui
+++ b/noncore/comm/keypebble/kvncconndlgbase.ui
@@ -12,6 +12,6 @@
<x>0</x>
<y>0</y>
- <width>256</width>
- <height>242</height>
+ <width>253</width>
+ <height>408</height>
</rect>
</property>
@@ -23,5 +23,14 @@
<name>layoutMargin</name>
</property>
- <widget>
+ <grid>
+ <property stdset="1">
+ <name>margin</name>
+ <number>11</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>6</number>
+ </property>
+ <widget row="0" column="0" >
<class>QTabWidget</class>
<property stdset="1">
@@ -29,13 +38,4 @@
<cstring>TabWidget3</cstring>
</property>
- <property stdset="1">
- <name>geometry</name>
- <rect>
- <x>0</x>
- <y>0</y>
- <width>266</width>
- <height>233</height>
- </rect>
- </property>
<widget>
<class>QWidget</class>
@@ -57,5 +57,5 @@
<number>6</number>
</property>
- <widget row="2" column="1" rowspan="1" colspan="2" >
+ <widget row="2" column="1" >
<class>QLineEdit</class>
<property stdset="1">
@@ -83,4 +83,11 @@
</property>
<property stdset="1">
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ </sizepolicy>
+ </property>
+ <property stdset="1">
<name>text</name>
<string>Show Password</string>
@@ -102,5 +109,5 @@
</property>
</widget>
- <widget row="4" column="1" rowspan="1" colspan="2" >
+ <widget row="4" column="1" >
<class>QLineEdit</class>
<property stdset="1">
@@ -124,5 +131,5 @@
</property>
</widget>
- <widget row="0" column="1" rowspan="1" colspan="2" >
+ <widget row="0" column="1" >
<class>QLineEdit</class>
<property stdset="1">
@@ -157,5 +164,5 @@
</property>
</widget>
- <widget row="1" column="1" rowspan="1" colspan="2" >
+ <widget row="1" column="1" >
<class>QSpinBox</class>
<property stdset="1">
@@ -164,4 +171,11 @@
</property>
<property stdset="1">
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ </sizepolicy>
+ </property>
+ <property stdset="1">
<name>maxValue</name>
<number>500</number>
@@ -180,8 +194,8 @@
</property>
</widget>
- <spacer row="5" column="2" >
+ <spacer row="5" column="0" >
<property>
<name>name</name>
- <cstring>Spacer2</cstring>
+ <cstring>Spacer4</cstring>
</property>
<property stdset="1">
@@ -213,5 +227,5 @@
<string>Options</string>
</attribute>
- <vbox>
+ <grid>
<property stdset="1">
<name>margin</name>
@@ -222,63 +236,48 @@
<number>6</number>
</property>
- <widget>
- <class>QLabel</class>
+ <widget row="4" column="0" rowspan="1" colspan="3" >
+ <class>QCheckBox</class>
<property stdset="1">
<name>name</name>
- <cstring>TextLabel1</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Check for screen updates every:</string>
+ <cstring>shared</cstring>
</property>
- </widget>
- <widget>
- <class>QLayoutWidget</class>
<property stdset="1">
- <name>name</name>
- <cstring>Layout2</cstring>
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ </sizepolicy>
</property>
- <hbox>
<property stdset="1">
- <name>margin</name>
- <number>0</number>
+ <name>text</name>
+ <string>Request shared session</string>
</property>
- <property stdset="1">
- <name>spacing</name>
- <number>6</number>
+ <property>
+ <name>whatsThis</name>
+ <string>Allow other users to connect to the VNC server</string>
</property>
- <widget>
- <class>QSpinBox</class>
- <property stdset="1">
+ </widget>
+ <spacer row="6" column="1" >
+ <property>
<name>name</name>
- <cstring>timeBox</cstring>
+ <cstring>Spacer2</cstring>
</property>
<property stdset="1">
- <name>maxValue</name>
- <number>500</number>
+ <name>orientation</name>
+ <enum>Vertical</enum>
</property>
<property stdset="1">
- <name>minValue</name>
- <number>1</number>
+ <name>sizeType</name>
+ <enum>Expanding</enum>
</property>
<property>
- <name>whatsThis</name>
- <string>Delay between requesting updates from the server</string>
- </property>
- </widget>
- <widget>
- <class>QLabel</class>
- <property stdset="1">
- <name>name</name>
- <cstring>TextLabel2</cstring>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Milliseconds</string>
+ <name>sizeHint</name>
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
</property>
- </widget>
- </hbox>
- </widget>
- <widget>
+ </spacer>
+ <widget row="2" column="0" rowspan="1" colspan="3" >
<class>QCheckBox</class>
<property stdset="1">
@@ -287,4 +286,11 @@
</property>
<property stdset="1">
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ </sizepolicy>
+ </property>
+ <property stdset="1">
<name>text</name>
<string>Request 8-bit session</string>
@@ -295,46 +301,31 @@
</property>
</widget>
- <widget>
- <class>QCheckBox</class>
+ <widget row="1" column="0" rowspan="1" colspan="2" >
+ <class>QSpinBox</class>
<property stdset="1">
<name>name</name>
- <cstring>deIconify</cstring>
+ <cstring>timeBox</cstring>
</property>
<property stdset="1">
- <name>text</name>
- <string>Raise on bell</string>
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ </sizepolicy>
</property>
- </widget>
- <widget>
- <class>QCheckBox</class>
<property stdset="1">
- <name>name</name>
- <cstring>shared</cstring>
+ <name>maxValue</name>
+ <number>500</number>
</property>
<property stdset="1">
- <name>text</name>
- <string>Request shared session</string>
+ <name>minValue</name>
+ <number>1</number>
</property>
<property>
<name>whatsThis</name>
- <string>Allow other users to connect to the VNC server</string>
+ <string>Delay between requesting updates from the server</string>
</property>
</widget>
- <widget>
- <class>QLayoutWidget</class>
- <property stdset="1">
- <name>name</name>
- <cstring>Layout3</cstring>
- </property>
- <hbox>
- <property stdset="1">
- <name>margin</name>
- <number>0</number>
- </property>
- <property stdset="1">
- <name>spacing</name>
- <number>6</number>
- </property>
- <widget>
+ <widget row="5" column="0" >
<class>QComboBox</class>
<item>
@@ -360,4 +351,11 @@
<cstring>scaleFactor</cstring>
</property>
+ <property stdset="1">
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ </sizepolicy>
+ </property>
<property>
<name>whatsThis</name>
@@ -365,5 +363,5 @@
</property>
</widget>
- <widget>
+ <widget row="5" column="1" rowspan="1" colspan="2" >
<class>QLabel</class>
<property stdset="1">
@@ -376,28 +374,45 @@
</property>
</widget>
- </hbox>
+ <widget row="1" column="2" >
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TextLabel2</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Milliseconds</string>
+ </property>
</widget>
- <spacer>
- <property>
+ <widget row="3" column="0" rowspan="1" colspan="3" >
+ <class>QCheckBox</class>
+ <property stdset="1">
<name>name</name>
- <cstring>Spacer2</cstring>
+ <cstring>deIconify</cstring>
</property>
<property stdset="1">
- <name>orientation</name>
- <enum>Vertical</enum>
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ </sizepolicy>
</property>
<property stdset="1">
- <name>sizeType</name>
- <enum>Expanding</enum>
+ <name>text</name>
+ <string>Raise on bell</string>
</property>
- <property>
- <name>sizeHint</name>
- <size>
- <width>20</width>
- <height>20</height>
- </size>
+ </widget>
+ <widget row="0" column="0" rowspan="1" colspan="3" >
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TextLabel1</cstring>
</property>
- </spacer>
- </vbox>
+ <property stdset="1">
+ <name>text</name>
+ <string>Check for screen updates every:</string>
+ </property>
+ </widget>
+ </grid>
</widget>
<widget>
@@ -411,5 +426,5 @@
<string>Encodings</string>
</attribute>
- <vbox>
+ <grid>
<property stdset="1">
<name>margin</name>
@@ -420,5 +435,26 @@
<number>6</number>
</property>
- <widget>
+ <spacer row="4" column="1" >
+ <property>
+ <name>name</name>
+ <cstring>Spacer3</cstring>
+ </property>
+ <property stdset="1">
+ <name>orientation</name>
+ <enum>Vertical</enum>
+ </property>
+ <property stdset="1">
+ <name>sizeType</name>
+ <enum>Expanding</enum>
+ </property>
+ <property>
+ <name>sizeHint</name>
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget row="0" column="0" rowspan="1" colspan="2" >
<class>QCheckBox</class>
<property stdset="1">
@@ -431,9 +467,16 @@
</property>
<property stdset="1">
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ </sizepolicy>
+ </property>
+ <property stdset="1">
<name>text</name>
<string>Hextile encoding</string>
</property>
</widget>
- <widget>
+ <widget row="1" column="0" rowspan="1" colspan="2" >
<class>QCheckBox</class>
<property stdset="1">
@@ -446,9 +489,16 @@
</property>
<property stdset="1">
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ </sizepolicy>
+ </property>
+ <property stdset="1">
<name>text</name>
<string>CoRRE encoding</string>
</property>
</widget>
- <widget>
+ <widget row="2" column="0" >
<class>QCheckBox</class>
<property stdset="1">
@@ -461,9 +511,16 @@
</property>
<property stdset="1">
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ </sizepolicy>
+ </property>
+ <property stdset="1">
<name>text</name>
<string>RRE encoding</string>
</property>
</widget>
- <widget>
+ <widget row="3" column="0" rowspan="1" colspan="2" >
<class>QCheckBox</class>
<property stdset="1">
@@ -472,4 +529,11 @@
</property>
<property stdset="1">
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ </sizepolicy>
+ </property>
+ <property stdset="1">
<name>text</name>
<string>Copy rectangle encoding</string>
@@ -480,28 +544,8 @@
</property>
</widget>
- <spacer>
- <property>
- <name>name</name>
- <cstring>Spacer3</cstring>
- </property>
- <property stdset="1">
- <name>orientation</name>
- <enum>Vertical</enum>
- </property>
- <property stdset="1">
- <name>sizeType</name>
- <enum>Expanding</enum>
- </property>
- <property>
- <name>sizeHint</name>
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </vbox>
+ </grid>
</widget>
</widget>
+ </grid>
</widget>
<tabstops>