summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (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
@@ -10,6 +10,7 @@
#include <qclipboard.h>
#include <qaction.h>
#include <qpixmap.h>
+#include <qpoint.h>
#include <qapplication.h>
#include <qmainwindow.h>
#include <qiconset.h>
@@ -27,6 +28,9 @@ KRFBCanvas::KRFBCanvas( QWidget *parent, const char *name )
viewport()->setFocusPolicy( QWidget::StrongFocus );
viewport()->setFocus();
+
+ nextRightClick=0;
+ nextDoubleClick=0;
}
KRFBCanvas::~KRFBCanvas()
@@ -124,16 +128,37 @@ 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 )
{
if ( loggedIn_ )
@@ -167,7 +192,6 @@ void KRFBCanvas::clipboardChanged()
void KRFBCanvas::sendCtlAltDel( void)
{
- qDebug("Here");
if ( loggedIn_ ) {
connection_->buffer()->keyPressEvent( &QKeyEvent(QEvent::KeyPress,Qt::Key_Control, 0,0));
connection_->buffer()->keyPressEvent( &QKeyEvent(QEvent::KeyPress,Qt::Key_Alt, 0,0));
@@ -177,3 +201,13 @@ void KRFBCanvas::sendCtlAltDel( void)
connection_->buffer()->keyPressEvent( &QKeyEvent(QEvent::KeyRelease,Qt::Key_Delete, 0,0));
}
}
+
+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
@@ -32,6 +32,8 @@ public slots:
void refresh();
void bell();
void sendCtlAltDel(void);
+ void markRightClick(void);
+ void markDoubleClick(void);
protected:
virtual void keyPressEvent( QKeyEvent * );
@@ -48,6 +50,8 @@ protected slots:
void clipboardChanged();
private:
+ int nextRightClick;
+ int nextDoubleClick;
KRFBConnection *connection_;
QString password;
bool loggedIn_;
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
@@ -183,6 +183,18 @@ void KVNC::setupActions()
this, SLOT( closeConnection() ) );
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 );
}
void KVNC::toggleFullScreen()
@@ -238,6 +250,8 @@ void KVNC::connected()
ctlAltDelAction->setEnabled(true);
disconnectAction->setEnabled( true );
fullScreenAction->setEnabled( true );
+ doubleClickAction->setEnabled( false );
+ rightClickAction->setEnabled( true );
stack->raiseWidget(canvas);
bar->hide();
}
@@ -258,6 +272,8 @@ void KVNC::disconnected()
ctlAltDelAction->setEnabled(false);
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
@@ -57,6 +57,8 @@ private:
QAction *disconnectAction;
QAction *ctlAltDelAction;;
QAction *connectAction;
+ QAction *rightClickAction;
+ QAction *doubleClickAction;
QToolBar * bar;
KVNCBookmarkDlg * bookmarkSelector;
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
@@ -11,7 +11,7 @@
<rect>
<x>0</x>
<y>0</y>
- <width>580</width>
+ <width>576</width>
<height>480</height>
</rect>
</property>
@@ -19,10 +19,13 @@
<name>caption</name>
<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">
<name>spacing</name>
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
@@ -11,8 +11,8 @@
<rect>
<x>0</x>
<y>0</y>
- <width>256</width>
- <height>242</height>
+ <width>253</width>
+ <height>408</height>
</rect>
</property>
<property stdset="1">
@@ -22,21 +22,21 @@
<property>
<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">
<name>name</name>
<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>
<property stdset="1">
@@ -56,7 +56,7 @@
<name>spacing</name>
<number>6</number>
</property>
- <widget row="2" column="1" rowspan="1" colspan="2" >
+ <widget row="2" column="1" >
<class>QLineEdit</class>
<property stdset="1">
<name>name</name>
@@ -82,6 +82,13 @@
<cstring>togglePassword</cstring>
</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>
</property>
@@ -101,7 +108,7 @@
<string>Password:</string>
</property>
</widget>
- <widget row="4" column="1" rowspan="1" colspan="2" >
+ <widget row="4" column="1" >
<class>QLineEdit</class>
<property stdset="1">
<name>name</name>
@@ -123,7 +130,7 @@
<string>Bookmark Name:</string>
</property>
</widget>
- <widget row="0" column="1" rowspan="1" colspan="2" >
+ <widget row="0" column="1" >
<class>QLineEdit</class>
<property stdset="1">
<name>name</name>
@@ -156,13 +163,20 @@
<string>Display Number:</string>
</property>
</widget>
- <widget row="1" column="1" rowspan="1" colspan="2" >
+ <widget row="1" column="1" >
<class>QSpinBox</class>
<property stdset="1">
<name>name</name>
<cstring>serverDisplay</cstring>
</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>
</property>
@@ -179,10 +193,10 @@
<string>The display number of the VNC server</string>
</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">
<name>orientation</name>
@@ -212,7 +226,7 @@
<name>title</name>
<string>Options</string>
</attribute>
- <vbox>
+ <grid>
<property stdset="1">
<name>margin</name>
<number>11</number>
@@ -221,71 +235,63 @@
<name>spacing</name>
<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">
<name>name</name>
<cstring>bit</cstring>
</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>
</property>
@@ -294,48 +300,33 @@
<string>Request that the VNC server transfer 8 bit color</string>
</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>
<property>
@@ -359,12 +350,19 @@
<name>name</name>
<cstring>scaleFactor</cstring>
</property>
+ <property stdset="1">
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ </sizepolicy>
+ </property>
<property>
<name>whatsThis</name>
<string>Scale the remote display to fit on the PDA (Slow)</string>
</property>
</widget>
- <widget>
+ <widget row="5" column="1" rowspan="1" colspan="2" >
<class>QLabel</class>
<property stdset="1">
<name>name</name>
@@ -375,30 +373,47 @@
<string>Scale Factor</string>
</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>
<class>QWidget</class>
@@ -410,7 +425,7 @@
<name>title</name>
<string>Encodings</string>
</attribute>
- <vbox>
+ <grid>
<property stdset="1">
<name>margin</name>
<number>11</number>
@@ -419,7 +434,28 @@
<name>spacing</name>
<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">
<name>name</name>
@@ -430,11 +466,18 @@
<bool>false</bool>
</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">
<name>name</name>
@@ -445,11 +488,18 @@
<bool>false</bool>
</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">
<name>name</name>
@@ -460,17 +510,31 @@
<bool>false</bool>
</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">
<name>name</name>
<cstring>copyRect</cstring>
</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>
</property>
@@ -479,30 +543,10 @@
<string>Enable transmiting identical rectangles as references to existing data</string>
</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>
<tabstop>TabWidget3</tabstop>