summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore 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.ui934
6 files changed, 553 insertions, 450 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
@@ -1,179 +1,213 @@
1#include "krfbconnection.h" 1#include "krfbconnection.h"
2#include "krfbcanvas.h" 2#include "krfbcanvas.h"
3#include "krfbserver.h" 3#include "krfbserver.h"
4#include "krfbbuffer.h" 4#include "krfbbuffer.h"
5 5
6#include <qpe/config.h> 6#include <qpe/config.h>
7#include <qpe/qpeapplication.h> 7#include <qpe/qpeapplication.h>
8 8
9#include <qapplication.h> 9#include <qapplication.h>
10#include <qclipboard.h> 10#include <qclipboard.h>
11#include <qaction.h> 11#include <qaction.h>
12#include <qpixmap.h> 12#include <qpixmap.h>
13#include <qpoint.h>
13#include <qapplication.h> 14#include <qapplication.h>
14#include <qmainwindow.h> 15#include <qmainwindow.h>
15#include <qiconset.h> 16#include <qiconset.h>
16 17
17KRFBCanvas::KRFBCanvas( QWidget *parent, const char *name ) 18KRFBCanvas::KRFBCanvas( QWidget *parent, const char *name )
18 : QScrollView( parent, name ) 19 : QScrollView( parent, name )
19{ 20{
20 connection_ = new KRFBConnection(); 21 connection_ = new KRFBConnection();
21 connect( connection_, SIGNAL( loggedIn() ), 22 connect( connection_, SIGNAL( loggedIn() ),
22 this, SLOT( loggedIn() ) ); 23 this, SLOT( loggedIn() ) );
23 24
24 loggedIn_ = false; 25 loggedIn_ = false;
25 26
26 //QPEApplication::setStylusOperation(viewport(), QPEApplication::RightOnHold); 27 //QPEApplication::setStylusOperation(viewport(), QPEApplication::RightOnHold);
27 28
28 viewport()->setFocusPolicy( QWidget::StrongFocus ); 29 viewport()->setFocusPolicy( QWidget::StrongFocus );
29 viewport()->setFocus(); 30 viewport()->setFocus();
31
32 nextRightClick=0;
33 nextDoubleClick=0;
30} 34}
31 35
32KRFBCanvas::~KRFBCanvas() 36KRFBCanvas::~KRFBCanvas()
33{ 37{
34} 38}
35 39
36 40
37void KRFBCanvas::openConnection(KRFBServer server) 41void KRFBCanvas::openConnection(KRFBServer server)
38{ 42{
39 43
40 44
41 QCString host = server.hostname.latin1(); 45 QCString host = server.hostname.latin1();
42 password=server.password; 46 password=server.password;
43 connection_->connectTo( server); 47 connection_->connectTo( server);
44} 48}
45 49
46 50
47void KRFBCanvas::openURL( const QUrl &url ) 51void KRFBCanvas::openURL( const QUrl &url )
48{ 52{
49 if ( loggedIn_ ) { 53 if ( loggedIn_ ) {
50 qWarning( "openURL invoked when logged in\n" ); 54 qWarning( "openURL invoked when logged in\n" );
51 return; 55 return;
52 } 56 }
53 57
54 QCString host = url.host().latin1(); 58 QCString host = url.host().latin1();
55 int display = url.port(); 59 int display = url.port();
56 60
57// connection_->connectTo( host, display ); 61// connection_->connectTo( host, display );
58} 62}
59 63
60void KRFBCanvas::closeConnection() 64void KRFBCanvas::closeConnection()
61{ 65{
62 loggedIn_ = false; 66 loggedIn_ = false;
63 connection_->disconnect(); 67 connection_->disconnect();
64 68
65 viewport()->setMouseTracking( false ); 69 viewport()->setMouseTracking( false );
66 viewport()->setBackgroundMode( PaletteDark ); 70 viewport()->setBackgroundMode( PaletteDark );
67 setBackgroundMode( PaletteDark ); 71 setBackgroundMode( PaletteDark );
68 update(); 72 update();
69} 73}
70 74
71 75
72void KRFBCanvas::bell() 76void KRFBCanvas::bell()
73{ 77{
74 if ( connection_->options()->deIconify ) { 78 if ( connection_->options()->deIconify ) {
75 topLevelWidget()->raise(); 79 topLevelWidget()->raise();
76 topLevelWidget()->show(); 80 topLevelWidget()->show();
77 } 81 }
78} 82}
79 83
80void KRFBCanvas::loggedIn() 84void KRFBCanvas::loggedIn()
81{ 85{
82 qWarning( "Ok, we're logged in" ); 86 qWarning( "Ok, we're logged in" );
83 87
84 // 88 //
85 // Get ready for action 89 // Get ready for action
86 // 90 //
87 loggedIn_ = true; 91 loggedIn_ = true;
88 viewport()->setMouseTracking( true ); 92 viewport()->setMouseTracking( true );
89 viewport()->setBackgroundMode( NoBackground ); 93 viewport()->setBackgroundMode( NoBackground );
90 setBackgroundMode( NoBackground ); 94 setBackgroundMode( NoBackground );
91 95
92 // Start using the buffer 96 // Start using the buffer
93 connect( connection_->buffer(), SIGNAL( sizeChanged( int, int ) ), 97 connect( connection_->buffer(), SIGNAL( sizeChanged( int, int ) ),
94 this, SLOT( resizeContents(int,int) ) ); 98 this, SLOT( resizeContents(int,int) ) );
95 connect( connection_->buffer(), SIGNAL( updated( int, int, int, int ) ), 99 connect( connection_->buffer(), SIGNAL( updated( int, int, int, int ) ),
96 this, SLOT( viewportUpdate(int,int,int,int) ) ); 100 this, SLOT( viewportUpdate(int,int,int,int) ) );
97 connect( connection_->buffer(), SIGNAL( bell() ), 101 connect( connection_->buffer(), SIGNAL( bell() ),
98 this, SLOT( bell() ) ); 102 this, SLOT( bell() ) );
99 connect( qApp->clipboard(), SIGNAL( dataChanged() ), 103 connect( qApp->clipboard(), SIGNAL( dataChanged() ),
100 this, SLOT( clipboardChanged() ) ); 104 this, SLOT( clipboardChanged() ) );
101} 105}
102 106
103void KRFBCanvas::viewportPaintEvent( QPaintEvent *e ) 107void KRFBCanvas::viewportPaintEvent( QPaintEvent *e )
104{ 108{
105 QRect r = e->rect(); 109 QRect r = e->rect();
106 110
107 if ( loggedIn_ ) { 111 if ( loggedIn_ ) {
108 QPixmap p; 112 QPixmap p;
109 113
110 bitBlt( viewport(), r.x(), r.y(), 114 bitBlt( viewport(), r.x(), r.y(),
111 connection_->buffer()->pixmap(), 115 connection_->buffer()->pixmap(),
112 r.x() + contentsX(), r.y() + contentsY(), 116 r.x() + contentsX(), r.y() + contentsY(),
113 r.width(), r.height() ); 117 r.width(), r.height() );
114 } 118 }
115 else { 119 else {
116 QScrollView::viewportPaintEvent( e ); 120 QScrollView::viewportPaintEvent( e );
117 } 121 }
118} 122}
119 123
120void KRFBCanvas::viewportUpdate( int x, int y, int w, int h ) 124void KRFBCanvas::viewportUpdate( int x, int y, int w, int h )
121{ 125{
122 updateContents( x, y, w, h ); 126 updateContents( x, y, w, h );
123} 127}
124 128
125void KRFBCanvas::contentsMousePressEvent( QMouseEvent *e ) 129void KRFBCanvas::contentsMousePressEvent( QMouseEvent *e )
126{ 130{
127 if ( loggedIn_ ) 131
132 if (nextDoubleClick) {
133 connection_->buffer()->mouseEvent( &QMouseEvent(QEvent::MouseButtonPress, e->pos(),LeftButton,LeftButton));
134 connection_->buffer()->mouseEvent( &QMouseEvent(QEvent::MouseButtonRelease, e->pos(),LeftButton,0));
135 connection_->buffer()->mouseEvent( &QMouseEvent(QEvent::MouseButtonRelease, e->pos(),LeftButton,0));
136 connection_->buffer()->mouseEvent( &QMouseEvent(QEvent::MouseButtonPress, e->pos(),NoButton,NoButton));
137 connection_->buffer()->mouseEvent( &QMouseEvent(QEvent::MouseButtonRelease, e->pos(),NoButton,0));
138 } if (nextRightClick) {
139 connection_->buffer()->mouseEvent( &QMouseEvent(QEvent::MouseButtonPress, e->pos(),RightButton,RightButton));
140 connection_->buffer()->mouseEvent( &QMouseEvent(QEvent::MouseButtonRelease, e->pos(),RightButton,0));
141 connection_->buffer()->mouseEvent( &QMouseEvent(QEvent::MouseButtonPress, e->pos(),NoButton,NoButton));
142 connection_->buffer()->mouseEvent( &QMouseEvent(QEvent::MouseButtonRelease, e->pos(),NoButton,0));
143 } else if ( loggedIn_ )
128 connection_->buffer()->mouseEvent( e ); 144 connection_->buffer()->mouseEvent( e );
145
146 qDebug("Press");
147 qDebug(QString::number(e->type()==QEvent::MouseButtonPress));
129} 148}
130 149
131void KRFBCanvas::contentsMouseReleaseEvent( QMouseEvent *e ) 150void KRFBCanvas::contentsMouseReleaseEvent( QMouseEvent *e )
132{ 151{
133 if ( loggedIn_ ) 152 if ( loggedIn_ && !nextRightClick && !nextDoubleClick) {
134 connection_->buffer()->mouseEvent( e ); 153 connection_->buffer()->mouseEvent( e );
154 }
155
156 nextRightClick=0;
157 nextDoubleClick=0;
158 qDebug("Release");
159 qDebug(QString::number(e->button()));
135} 160}
136 161
137void KRFBCanvas::contentsMouseMoveEvent( QMouseEvent *e ) 162void KRFBCanvas::contentsMouseMoveEvent( QMouseEvent *e )
138{ 163{
139 if ( loggedIn_ ) 164 if ( loggedIn_ )
140 connection_->buffer()->mouseEvent( e ); 165 connection_->buffer()->mouseEvent( e );
141} 166}
142 167
143void KRFBCanvas::keyPressEvent( QKeyEvent *e ) 168void KRFBCanvas::keyPressEvent( QKeyEvent *e )
144{ 169{
145 if ( loggedIn_ ) 170 if ( loggedIn_ )
146 connection_->buffer()->keyPressEvent( e ); 171 connection_->buffer()->keyPressEvent( e );
147} 172}
148 173
149void KRFBCanvas::keyReleaseEvent( QKeyEvent *e ) 174void KRFBCanvas::keyReleaseEvent( QKeyEvent *e )
150{ 175{
151 if ( loggedIn_ ) 176 if ( loggedIn_ )
152 connection_->buffer()->keyReleaseEvent( e ); 177 connection_->buffer()->keyReleaseEvent( e );
153} 178}
154 179
155void KRFBCanvas::refresh() 180void KRFBCanvas::refresh()
156{ 181{
157 if ( loggedIn_ ) 182 if ( loggedIn_ )
158 connection_->refresh(); 183 connection_->refresh();
159} 184}
160 185
161void KRFBCanvas::clipboardChanged() 186void KRFBCanvas::clipboardChanged()
162{ 187{
163 if ( loggedIn_ ) { 188 if ( loggedIn_ ) {
164 connection_->sendCutText( qApp->clipboard()->text() ); 189 connection_->sendCutText( qApp->clipboard()->text() );
165 } 190 }
166} 191}
167void KRFBCanvas::sendCtlAltDel( void) 192void KRFBCanvas::sendCtlAltDel( void)
168{ 193{
169 194
170 qDebug("Here");
171 if ( loggedIn_ ) { 195 if ( loggedIn_ ) {
172 connection_->buffer()->keyPressEvent( &QKeyEvent(QEvent::KeyPress,Qt::Key_Control, 0,0)); 196 connection_->buffer()->keyPressEvent( &QKeyEvent(QEvent::KeyPress,Qt::Key_Control, 0,0));
173 connection_->buffer()->keyPressEvent( &QKeyEvent(QEvent::KeyPress,Qt::Key_Alt, 0,0)); 197 connection_->buffer()->keyPressEvent( &QKeyEvent(QEvent::KeyPress,Qt::Key_Alt, 0,0));
174 connection_->buffer()->keyPressEvent( &QKeyEvent(QEvent::KeyPress,Qt::Key_Delete, 0,0)); 198 connection_->buffer()->keyPressEvent( &QKeyEvent(QEvent::KeyPress,Qt::Key_Delete, 0,0));
175 connection_->buffer()->keyPressEvent( &QKeyEvent(QEvent::KeyRelease,Qt::Key_Control, 0,0)); 199 connection_->buffer()->keyPressEvent( &QKeyEvent(QEvent::KeyRelease,Qt::Key_Control, 0,0));
176 connection_->buffer()->keyPressEvent( &QKeyEvent(QEvent::KeyRelease,Qt::Key_Alt, 0,0)); 200 connection_->buffer()->keyPressEvent( &QKeyEvent(QEvent::KeyRelease,Qt::Key_Alt, 0,0));
177 connection_->buffer()->keyPressEvent( &QKeyEvent(QEvent::KeyRelease,Qt::Key_Delete, 0,0)); 201 connection_->buffer()->keyPressEvent( &QKeyEvent(QEvent::KeyRelease,Qt::Key_Delete, 0,0));
178 } 202 }
179} 203}
204
205void KRFBCanvas::markDoubleClick( void)
206{
207 nextRightClick=1;
208}
209
210void KRFBCanvas::markRightClick( void)
211{
212 nextRightClick=1;
213}
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
@@ -1,56 +1,60 @@
1// -*- c++ -*- 1// -*- c++ -*-
2 2
3#ifndef KRFBCANVAS_H 3#ifndef KRFBCANVAS_H
4#define KRFBCANVAS_H 4#define KRFBCANVAS_H
5 5
6#include <qscrollview.h> 6#include <qscrollview.h>
7#include <qurl.h> 7#include <qurl.h>
8 8
9class KRFBConnection; 9class KRFBConnection;
10class KRFBServer; 10class KRFBServer;
11 11
12/** 12/**
13 * Displays data from an KRFBDecoder, and sends events to the 13 * Displays data from an KRFBDecoder, and sends events to the
14 * KRFBConnection. 14 * KRFBConnection.
15 */ 15 */
16class KRFBCanvas : public QScrollView 16class KRFBCanvas : public QScrollView
17{ 17{
18 Q_OBJECT 18 Q_OBJECT
19public: 19public:
20 KRFBCanvas( QWidget *parent, const char *name=0 ); 20 KRFBCanvas( QWidget *parent, const char *name=0 );
21 ~KRFBCanvas(); 21 ~KRFBCanvas();
22 22
23 void setConnection( KRFBConnection * ); 23 void setConnection( KRFBConnection * );
24 KRFBConnection *connection() { return connection_; }; 24 KRFBConnection *connection() { return connection_; };
25 25
26public slots: 26public slots:
27 27
28 void openConnection (KRFBServer); 28 void openConnection (KRFBServer);
29 void openURL( const QUrl & ); 29 void openURL( const QUrl & );
30 void closeConnection(); 30 void closeConnection();
31 31
32 void refresh(); 32 void refresh();
33 void bell(); 33 void bell();
34 void sendCtlAltDel(void); 34 void sendCtlAltDel(void);
35 void markRightClick(void);
36 void markDoubleClick(void);
35 37
36protected: 38protected:
37 virtual void keyPressEvent( QKeyEvent * ); 39 virtual void keyPressEvent( QKeyEvent * );
38 virtual void keyReleaseEvent( QKeyEvent * ); 40 virtual void keyReleaseEvent( QKeyEvent * );
39 virtual void contentsMousePressEvent( QMouseEvent * ); 41 virtual void contentsMousePressEvent( QMouseEvent * );
40 virtual void contentsMouseReleaseEvent( QMouseEvent * ); 42 virtual void contentsMouseReleaseEvent( QMouseEvent * );
41 virtual void contentsMouseMoveEvent( QMouseEvent * ); 43 virtual void contentsMouseMoveEvent( QMouseEvent * );
42 44
43 virtual void viewportPaintEvent( QPaintEvent *e ); 45 virtual void viewportPaintEvent( QPaintEvent *e );
44 46
45protected slots: 47protected slots:
46 void loggedIn(); 48 void loggedIn();
47 void viewportUpdate( int x, int y, int w, int h ); 49 void viewportUpdate( int x, int y, int w, int h );
48 void clipboardChanged(); 50 void clipboardChanged();
49 51
50private: 52private:
53 int nextRightClick;
54 int nextDoubleClick;
51 KRFBConnection *connection_; 55 KRFBConnection *connection_;
52 QString password; 56 QString password;
53 bool loggedIn_; 57 bool loggedIn_;
54}; 58};
55 59
56#endif // KRFBCANVAS_H 60#endif // KRFBCANVAS_H
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
@@ -1,278 +1,294 @@
1#include <qiconset.h> 1#include <qiconset.h>
2#include <qdialog.h> 2#include <qdialog.h>
3#include <qpixmap.h> 3#include <qpixmap.h>
4#include <qdom.h> 4#include <qdom.h>
5#include <qaction.h> 5#include <qaction.h>
6#include <qpe/qpemenubar.h> 6#include <qpe/qpemenubar.h>
7#include <qstatusbar.h> 7#include <qstatusbar.h>
8#include <qpopupmenu.h> 8#include <qpopupmenu.h>
9#include <qpushbutton.h> 9#include <qpushbutton.h>
10#include <qpe/qpetoolbar.h> 10#include <qpe/qpetoolbar.h>
11#include <qtimer.h> 11#include <qtimer.h>
12#include <qmessagebox.h> 12#include <qmessagebox.h>
13#include <qspinbox.h> 13#include <qspinbox.h>
14#include <qlistbox.h> 14#include <qlistbox.h>
15#include <qlineedit.h> 15#include <qlineedit.h>
16#include <qpe/qpeapplication.h> 16#include <qpe/qpeapplication.h>
17#include <qpe/global.h> 17#include <qpe/global.h>
18#include <qpe/qpetoolbar.h> 18#include <qpe/qpetoolbar.h>
19#include <qpe/resource.h> 19#include <qpe/resource.h>
20 20
21#include <assert.h> 21#include <assert.h>
22 22
23#include "kvnc.h" 23#include "kvnc.h"
24#include "krfbcanvas.h" 24#include "krfbcanvas.h"
25#include "krfbconnection.h" 25#include "krfbconnection.h"
26#include "kvncconndlg.h" 26#include "kvncconndlg.h"
27#include "krfbserver.h" 27#include "krfbserver.h"
28 28
29static int u_id = 1; 29static int u_id = 1;
30static int get_unique_id() 30static int get_unique_id()
31{ 31{
32 return u_id++; 32 return u_id++;
33} 33}
34 34
35 35
36/* XPM */ 36/* XPM */
37static char * menu_xpm[] = { 37static char * menu_xpm[] = {
38"12 12 5 1", 38"12 12 5 1",
39 " c None", 39 " c None",
40 ".c #000000", 40 ".c #000000",
41 "+c #FFFDAD", 41 "+c #FFFDAD",
42 "@c #FFFF00", 42 "@c #FFFF00",
43 "#c #E5E100", 43 "#c #E5E100",
44" ", 44" ",
45" ", 45" ",
46" ......... ", 46" ......... ",
47" .+++++++. ", 47" .+++++++. ",
48" .+@@@@#. ", 48" .+@@@@#. ",
49" .+@@@#. ", 49" .+@@@#. ",
50" .+@@#. ", 50" .+@@#. ",
51" .+@#. ", 51" .+@#. ",
52" .+#. ", 52" .+#. ",
53" .+. ", 53" .+. ",
54" .. ", 54" .. ",
55" "}; 55" "};
56 56
57const int StatusTextId = 0; 57const int StatusTextId = 0;
58 58
59KVNC::KVNC( const char *name ) : QMainWindow( 0, name ,WStyle_ContextHelp) 59KVNC::KVNC( const char *name ) : QMainWindow( 0, name ,WStyle_ContextHelp)
60{ 60{
61 setCaption( tr("VNC Viewer") ); 61 setCaption( tr("VNC Viewer") );
62 fullscreen = false; 62 fullscreen = false;
63 63
64 stack = new QWidgetStack( this ); 64 stack = new QWidgetStack( this );
65 setCentralWidget( stack ); 65 setCentralWidget( stack );
66 66
67 bookmarkSelector=new KVNCBookmarkDlg(); 67 bookmarkSelector=new KVNCBookmarkDlg();
68 stack->addWidget(bookmarkSelector,get_unique_id()); 68 stack->addWidget(bookmarkSelector,get_unique_id());
69 stack->raiseWidget( bookmarkSelector ); 69 stack->raiseWidget( bookmarkSelector );
70 70
71 canvas = new KRFBCanvas( stack, "canvas" ); 71 canvas = new KRFBCanvas( stack, "canvas" );
72 stack->addWidget(canvas,get_unique_id()); 72 stack->addWidget(canvas,get_unique_id());
73 setCentralWidget( stack ); 73 setCentralWidget( stack );
74 74
75 75
76 connect( bookmarkSelector->bookmarkList, SIGNAL(doubleClicked(QListBoxItem *)), 76 connect( bookmarkSelector->bookmarkList, SIGNAL(doubleClicked(QListBoxItem *)),
77 this, SLOT(openConnection(QListBoxItem *)) ); 77 this, SLOT(openConnection(QListBoxItem *)) );
78 connect( canvas->connection(), SIGNAL(statusChanged(const QString &)), 78 connect( canvas->connection(), SIGNAL(statusChanged(const QString &)),
79 this, SLOT(statusMessage(const QString &)) ); 79 this, SLOT(statusMessage(const QString &)) );
80 connect( canvas->connection(), SIGNAL(error(const QString &)), 80 connect( canvas->connection(), SIGNAL(error(const QString &)),
81 this, SLOT(error(const QString &)) ); 81 this, SLOT(error(const QString &)) );
82 connect( canvas->connection(), SIGNAL(connected()), this, SLOT(connected()) ); 82 connect( canvas->connection(), SIGNAL(connected()), this, SLOT(connected()) );
83 connect( canvas->connection(), SIGNAL(loggedIn()), this, SLOT(loggedIn()) ); 83 connect( canvas->connection(), SIGNAL(loggedIn()), this, SLOT(loggedIn()) );
84 connect( canvas->connection(), SIGNAL(disconnected()), this, SLOT(disconnected()) ); 84 connect( canvas->connection(), SIGNAL(disconnected()), this, SLOT(disconnected()) );
85 85
86 setupActions(); 86 setupActions();
87 87
88 cornerButton = new QPushButton( this ); 88 cornerButton = new QPushButton( this );
89 cornerButton->setPixmap( QPixmap( (const char**)menu_xpm ) ); 89 cornerButton->setPixmap( QPixmap( (const char**)menu_xpm ) );
90 connect( cornerButton, SIGNAL(pressed()), this, SLOT(showMenu()) ); 90 connect( cornerButton, SIGNAL(pressed()), this, SLOT(showMenu()) );
91 canvas->setCornerWidget( cornerButton ); 91 canvas->setCornerWidget( cornerButton );
92 92
93 stack->raiseWidget( bookmarkSelector ); 93 stack->raiseWidget( bookmarkSelector );
94 94
95 95
96 bar= new QToolBar( this ); 96 bar= new QToolBar( this );
97 setToolBarsMovable( false ); 97 setToolBarsMovable( false );
98 setRightJustification(false); 98 setRightJustification(false);
99 99
100 100
101 QAction *n = new QAction( tr( "New Connection" ), Resource::loadPixmap( "new" ), 101 QAction *n = new QAction( tr( "New Connection" ), Resource::loadPixmap( "new" ),
102 QString::null, 0, this, 0 ); 102 QString::null, 0, this, 0 );
103 connect( n, SIGNAL( activated() ), 103 connect( n, SIGNAL( activated() ),
104 this, SLOT( newConnection() ) ); 104 this, SLOT( newConnection() ) );
105 n->addTo( bar ); 105 n->addTo( bar );
106 106
107 QAction *o = new QAction( tr( "Open Bookmark" ), Resource::loadPixmap( "fileopen" ), 107 QAction *o = new QAction( tr( "Open Bookmark" ), Resource::loadPixmap( "fileopen" ),
108 QString::null, 0, this, 0 ); 108 QString::null, 0, this, 0 );
109 connect( o, SIGNAL( activated() ), 109 connect( o, SIGNAL( activated() ),
110 this, SLOT( openConnection() ) ); 110 this, SLOT( openConnection() ) );
111 o->addTo( bar ); 111 o->addTo( bar );
112 112
113 QAction *d = new QAction( tr( "Delete Bookmark" ), Resource::loadPixmap( "trash" ), 113 QAction *d = new QAction( tr( "Delete Bookmark" ), Resource::loadPixmap( "trash" ),
114 QString::null, 0, this, 0 ); 114 QString::null, 0, this, 0 );
115 connect( d, SIGNAL( activated() ), 115 connect( d, SIGNAL( activated() ),
116 this, SLOT( deleteBookmark() ) ); 116 this, SLOT( deleteBookmark() ) );
117 d->addTo( bar ); 117 d->addTo( bar );
118} 118}
119 119
120KVNC::~KVNC() 120KVNC::~KVNC()
121{ 121{
122 122
123} 123}
124 124
125void KVNC::newConnection() 125void KVNC::newConnection()
126{ 126{
127 curServer=new KRFBServer; 127 curServer=new KRFBServer;
128 128
129 KVNCConnDlg dlg( curServer,this); 129 KVNCConnDlg dlg( curServer,this);
130 dlg.showMaximized(); 130 dlg.showMaximized();
131 if (dlg.exec()) { 131 if (dlg.exec()) {
132 if (!curServer->name.isEmpty()) 132 if (!curServer->name.isEmpty())
133 bookmarkSelector->addBookmark(curServer); 133 bookmarkSelector->addBookmark(curServer);
134 canvas->openConnection(*curServer); 134 canvas->openConnection(*curServer);
135 } else 135 } else
136 curServer=0; 136 curServer=0;
137} 137}
138 138
139void KVNC::openConnection( QString name) 139void KVNC::openConnection( QString name)
140{ 140{
141 curServer=bookmarkSelector->getServer(name); 141 curServer=bookmarkSelector->getServer(name);
142 142
143 if (curServer) { 143 if (curServer) {
144 KVNCConnDlg dlg( curServer,this); 144 KVNCConnDlg dlg( curServer,this);
145 dlg.showMaximized(); 145 dlg.showMaximized();
146 146
147 if ( dlg.exec() ) { 147 if ( dlg.exec() ) {
148 canvas->openConnection(*curServer); 148 canvas->openConnection(*curServer);
149 bookmarkSelector->writeBookmarks(); 149 bookmarkSelector->writeBookmarks();
150 } else 150 } else
151 curServer=0; 151 curServer=0;
152 } 152 }
153} 153}
154 154
155void KVNC::openConnection( void ) 155void KVNC::openConnection( void )
156{ 156{
157 openConnection( bookmarkSelector->selectedBookmark()); 157 openConnection( bookmarkSelector->selectedBookmark());
158} 158}
159 159
160void KVNC::openConnection( QListBoxItem * item) 160void KVNC::openConnection( QListBoxItem * item)
161{ 161{
162 openConnection(item->text()); 162 openConnection(item->text());
163} 163}
164 164
165void KVNC::setupActions() 165void KVNC::setupActions()
166{ 166{
167 cornerMenu = new QPopupMenu( this ); 167 cornerMenu = new QPopupMenu( this );
168 168
169 fullScreenAction = new QAction( tr("Full Screen"), QString::null, 0, 0 ); 169 fullScreenAction = new QAction( tr("Full Screen"), QString::null, 0, 0 );
170 connect( fullScreenAction, SIGNAL(activated()), 170 connect( fullScreenAction, SIGNAL(activated()),
171 this, SLOT( toggleFullScreen() ) ); 171 this, SLOT( toggleFullScreen() ) );
172 fullScreenAction->addTo( cornerMenu ); 172 fullScreenAction->addTo( cornerMenu );
173 fullScreenAction->setEnabled( false ); 173 fullScreenAction->setEnabled( false );
174 174
175 ctlAltDelAction = new QAction( tr("Send Contrl-Alt-Delete"), QString::null, 0, 0 ); 175 ctlAltDelAction = new QAction( tr("Send Contrl-Alt-Delete"), QString::null, 0, 0 );
176 connect( ctlAltDelAction, SIGNAL(activated()), 176 connect( ctlAltDelAction, SIGNAL(activated()),
177 canvas, SLOT( sendCtlAltDel() ) ); 177 canvas, SLOT( sendCtlAltDel() ) );
178 ctlAltDelAction->addTo( cornerMenu ); 178 ctlAltDelAction->addTo( cornerMenu );
179 ctlAltDelAction->setEnabled( false ); 179 ctlAltDelAction->setEnabled( false );
180 180
181 disconnectAction = new QAction( tr("Disconnect"), QString::null, 0, 0 ); 181 disconnectAction = new QAction( tr("Disconnect"), QString::null, 0, 0 );
182 connect( disconnectAction, SIGNAL(activated()), 182 connect( disconnectAction, SIGNAL(activated()),
183 this, SLOT( closeConnection() ) ); 183 this, SLOT( closeConnection() ) );
184 disconnectAction->addTo( cornerMenu ); 184 disconnectAction->addTo( cornerMenu );
185 disconnectAction->setEnabled( false ); 185 disconnectAction->setEnabled( false );
186
187 doubleClickAction = new QAction( tr("Next Click is Double Click"), QString::null, 0, 0 );
188 connect( doubleClickAction, SIGNAL(activated()),
189 canvas, SLOT( markDoubleClick() ) );
190 doubleClickAction->addTo( cornerMenu );
191 doubleClickAction->setEnabled( false );
192
193 rightClickAction = new QAction( tr("Next Click is Right Click"), QString::null, 0, 0 );
194 connect( rightClickAction, SIGNAL(activated()),
195 canvas, SLOT( markRightClick() ) );
196 rightClickAction->addTo( cornerMenu );
197 rightClickAction->setEnabled( false );
186} 198}
187 199
188void KVNC::toggleFullScreen() 200void KVNC::toggleFullScreen()
189{ 201{
190 if ( fullscreen ) { 202 if ( fullscreen ) {
191 canvas->releaseKeyboard(); 203 canvas->releaseKeyboard();
192 canvas->reparent( stack, 0, QPoint(0,0), false ); 204 canvas->reparent( stack, 0, QPoint(0,0), false );
193 canvas->setFrameStyle( QFrame::Panel | QFrame::Sunken ); 205 canvas->setFrameStyle( QFrame::Panel | QFrame::Sunken );
194 setCentralWidget( stack ); 206 setCentralWidget( stack );
195 stack->addWidget(canvas,get_unique_id()); 207 stack->addWidget(canvas,get_unique_id());
196 stack->raiseWidget(canvas); 208 stack->raiseWidget(canvas);
197 canvas->show(); 209 canvas->show();
198 stack->show(); 210 stack->show();
199 fullScreenAction->setText( tr("Full Screen") ); 211 fullScreenAction->setText( tr("Full Screen") );
200 } else { 212 } else {
201 canvas->setFrameStyle( QFrame::NoFrame ); 213 canvas->setFrameStyle( QFrame::NoFrame );
202 stack->removeWidget(canvas); 214 stack->removeWidget(canvas);
203 canvas->reparent( 0,WStyle_Tool | WStyle_Customize | WStyle_StaysOnTop, 215 canvas->reparent( 0,WStyle_Tool | WStyle_Customize | WStyle_StaysOnTop,
204 QPoint(0,0),false); 216 QPoint(0,0),false);
205 canvas->resize(qApp->desktop()->width(), qApp->desktop()->height()); 217 canvas->resize(qApp->desktop()->width(), qApp->desktop()->height());
206 canvas->raise(); 218 canvas->raise();
207 canvas->setFocus(); 219 canvas->setFocus();
208 canvas->grabKeyboard(); 220 canvas->grabKeyboard();
209 canvas->show(); 221 canvas->show();
210 222
211 fullScreenAction->setText( tr("Stop Full Screen") ); 223 fullScreenAction->setText( tr("Stop Full Screen") );
212 } 224 }
213 225
214 226
215 fullscreen = !fullscreen; 227 fullscreen = !fullscreen;
216} 228}
217 229
218void KVNC::closeConnection() 230void KVNC::closeConnection()
219{ 231{
220 if ( fullscreen ) 232 if ( fullscreen )
221 toggleFullScreen(); 233 toggleFullScreen();
222 canvas->closeConnection(); 234 canvas->closeConnection();
223} 235}
224 236
225void KVNC::showMenu() 237void KVNC::showMenu()
226{ 238{
227 QPoint pt = mapToGlobal(cornerButton->pos()); 239 QPoint pt = mapToGlobal(cornerButton->pos());
228 QSize s = cornerMenu->sizeHint(); 240 QSize s = cornerMenu->sizeHint();
229 pt.ry() -= s.height(); 241 pt.ry() -= s.height();
230 pt.rx() -= s.width(); 242 pt.rx() -= s.width();
231 cornerMenu->popup( pt ); 243 cornerMenu->popup( pt );
232} 244}
233 245
234void KVNC::connected() 246void KVNC::connected()
235{ 247{
236 static QString msg = tr( "Connected to remote host" ); 248 static QString msg = tr( "Connected to remote host" );
237 statusMessage( msg ); 249 statusMessage( msg );
238 ctlAltDelAction->setEnabled(true); 250 ctlAltDelAction->setEnabled(true);
239 disconnectAction->setEnabled( true ); 251 disconnectAction->setEnabled( true );
240 fullScreenAction->setEnabled( true ); 252 fullScreenAction->setEnabled( true );
253 doubleClickAction->setEnabled( false );
254 rightClickAction->setEnabled( true );
241 stack->raiseWidget(canvas); 255 stack->raiseWidget(canvas);
242 bar->hide(); 256 bar->hide();
243} 257}
244 258
245void KVNC::loggedIn() 259void KVNC::loggedIn()
246{ 260{
247 static QString msg = tr( "Logged in to remote host" ); 261 static QString msg = tr( "Logged in to remote host" );
248 statusMessage( msg ); 262 statusMessage( msg );
249} 263}
250 264
251void KVNC::disconnected() 265void KVNC::disconnected()
252{ 266{
253 267
254 if ( fullscreen ) 268 if ( fullscreen )
255 toggleFullScreen(); 269 toggleFullScreen();
256 static QString msg = tr( "Connection closed" ); 270 static QString msg = tr( "Connection closed" );
257 statusMessage( msg ); 271 statusMessage( msg );
258 ctlAltDelAction->setEnabled(false); 272 ctlAltDelAction->setEnabled(false);
259 disconnectAction->setEnabled( false ); 273 disconnectAction->setEnabled( false );
260 fullScreenAction->setEnabled( false ); 274 fullScreenAction->setEnabled( false );
275 doubleClickAction->setEnabled( false );
276 rightClickAction->setEnabled( false );
261 stack->raiseWidget(bookmarkSelector); 277 stack->raiseWidget(bookmarkSelector);
262 bar->show(); 278 bar->show();
263} 279}
264 280
265void KVNC::statusMessage( const QString &m ) 281void KVNC::statusMessage( const QString &m )
266{ 282{
267 Global::statusMessage( m ); 283 Global::statusMessage( m );
268} 284}
269 285
270void KVNC::error( const QString &msg ) 286void KVNC::error( const QString &msg )
271{ 287{
272 statusMessage( msg ); 288 statusMessage( msg );
273 QMessageBox::warning( this, tr("VNC Viewer"), msg ); 289 QMessageBox::warning( this, tr("VNC Viewer"), msg );
274} 290}
275void KVNC::deleteBookmark(void) 291void KVNC::deleteBookmark(void)
276{ 292{
277 bookmarkSelector->deleteBookmark(bookmarkSelector->selectedBookmark()); 293 bookmarkSelector->deleteBookmark(bookmarkSelector->selectedBookmark());
278} 294}
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
@@ -1,67 +1,69 @@
1// -*- c++ -*- 1// -*- c++ -*-
2 2
3#ifndef KVNC_H 3#ifndef KVNC_H
4#define KVNC_H 4#define KVNC_H
5 5
6#include <qmainwindow.h> 6#include <qmainwindow.h>
7#include <qtoolbar.h> 7#include <qtoolbar.h>
8#include <qwidgetstack.h> 8#include <qwidgetstack.h>
9#include "kvncbookmarkdlg.h" 9#include "kvncbookmarkdlg.h"
10 10
11class QAction; 11class QAction;
12class KRFBCanvas; 12class KRFBCanvas;
13class QPushButton; 13class QPushButton;
14class QToolBar; 14class QToolBar;
15 15
16/** 16/**
17 * Top level window for Keystone. 17 * Top level window for Keystone.
18 * 18 *
19 * @author Richard Moore, rich@kde.org 19 * @author Richard Moore, rich@kde.org
20 * @version $Id$ 20 * @version $Id$
21 */ 21 */
22class KVNC : public QMainWindow 22class KVNC : public QMainWindow
23{ 23{
24 Q_OBJECT 24 Q_OBJECT
25public: 25public:
26 KVNC( const char *name = 0 ); 26 KVNC( const char *name = 0 );
27 ~KVNC(); 27 ~KVNC();
28 28
29public slots: 29public slots:
30 void newConnection(); 30 void newConnection();
31 void deleteBookmark(); 31 void deleteBookmark();
32 void openConnection(QListBoxItem *); 32 void openConnection(QListBoxItem *);
33 void openConnection(QString); 33 void openConnection(QString);
34 void openConnection(void); 34 void openConnection(void);
35 void toggleFullScreen(); 35 void toggleFullScreen();
36 void closeConnection(); 36 void closeConnection();
37 37
38protected: 38protected:
39 void setupActions(); 39 void setupActions();
40 40
41protected slots: 41protected slots:
42 void showMenu(); 42 void showMenu();
43 43
44 void connected(); 44 void connected();
45 void loggedIn(); 45 void loggedIn();
46 void disconnected(); 46 void disconnected();
47 void statusMessage( const QString & ); 47 void statusMessage( const QString & );
48 void error( const QString & ); 48 void error( const QString & );
49 49
50private: 50private:
51 bool fullscreen; 51 bool fullscreen;
52 KRFBCanvas *canvas; 52 KRFBCanvas *canvas;
53 QPopupMenu *cornerMenu; 53 QPopupMenu *cornerMenu;
54 QPushButton *cornerButton; 54 QPushButton *cornerButton;
55 QAction *fullScreenAction; 55 QAction *fullScreenAction;
56 QAction *optionsAction; 56 QAction *optionsAction;
57 QAction *disconnectAction; 57 QAction *disconnectAction;
58 QAction *ctlAltDelAction;; 58 QAction *ctlAltDelAction;;
59 QAction *connectAction; 59 QAction *connectAction;
60 QAction *rightClickAction;
61 QAction *doubleClickAction;
60 QToolBar * bar; 62 QToolBar * bar;
61 63
62 KVNCBookmarkDlg * bookmarkSelector; 64 KVNCBookmarkDlg * bookmarkSelector;
63 QWidgetStack * stack; 65 QWidgetStack * stack;
64 KRFBServer * curServer; 66 KRFBServer * curServer;
65}; 67};
66 68
67#endif // KVNC_H 69#endif // KVNC_H
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
@@ -1,61 +1,64 @@
1<!DOCTYPE UI><UI> 1<!DOCTYPE UI><UI>
2<class>KVNCBookmarkDlgBase</class> 2<class>KVNCBookmarkDlgBase</class>
3<widget> 3<widget>
4 <class>QWidget</class> 4 <class>QWidget</class>
5 <property stdset="1"> 5 <property stdset="1">
6 <name>name</name> 6 <name>name</name>
7 <cstring>KVNCBookmarkDlgBase</cstring> 7 <cstring>KVNCBookmarkDlgBase</cstring>
8 </property> 8 </property>
9 <property stdset="1"> 9 <property stdset="1">
10 <name>geometry</name> 10 <name>geometry</name>
11 <rect> 11 <rect>
12 <x>0</x> 12 <x>0</x>
13 <y>0</y> 13 <y>0</y>
14 <width>580</width> 14 <width>576</width>
15 <height>480</height> 15 <height>480</height>
16 </rect> 16 </rect>
17 </property> 17 </property>
18 <property stdset="1"> 18 <property stdset="1">
19 <name>caption</name> 19 <name>caption</name>
20 <string>Bookmarks</string> 20 <string>Bookmarks</string>
21 </property> 21 </property>
22 <property>
23 <name>layoutMargin</name>
24 </property>
22 <vbox> 25 <vbox>
23 <property stdset="1"> 26 <property stdset="1">
24 <name>margin</name> 27 <name>margin</name>
25 <number>11</number> 28 <number>0</number>
26 </property> 29 </property>
27 <property stdset="1"> 30 <property stdset="1">
28 <name>spacing</name> 31 <name>spacing</name>
29 <number>6</number> 32 <number>6</number>
30 </property> 33 </property>
31 <widget> 34 <widget>
32 <class>QListBox</class> 35 <class>QListBox</class>
33 <property stdset="1"> 36 <property stdset="1">
34 <name>name</name> 37 <name>name</name>
35 <cstring>bookmarkList</cstring> 38 <cstring>bookmarkList</cstring>
36 </property> 39 </property>
37 <property> 40 <property>
38 <name>whatsThis</name> 41 <name>whatsThis</name>
39 <string>Choose a bookmark that you would like to open</string> 42 <string>Choose a bookmark that you would like to open</string>
40 </property> 43 </property>
41 </widget> 44 </widget>
42 <widget> 45 <widget>
43 <class>QLayoutWidget</class> 46 <class>QLayoutWidget</class>
44 <property stdset="1"> 47 <property stdset="1">
45 <name>name</name> 48 <name>name</name>
46 <cstring>Layout1</cstring> 49 <cstring>Layout1</cstring>
47 </property> 50 </property>
48 <hbox> 51 <hbox>
49 <property stdset="1"> 52 <property stdset="1">
50 <name>margin</name> 53 <name>margin</name>
51 <number>0</number> 54 <number>0</number>
52 </property> 55 </property>
53 <property stdset="1"> 56 <property stdset="1">
54 <name>spacing</name> 57 <name>spacing</name>
55 <number>6</number> 58 <number>6</number>
56 </property> 59 </property>
57 </hbox> 60 </hbox>
58 </widget> 61 </widget>
59 </vbox> 62 </vbox>
60</widget> 63</widget>
61</UI> 64</UI>
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
@@ -1,522 +1,566 @@
1<!DOCTYPE UI><UI> 1<!DOCTYPE UI><UI>
2<class>KVNCConnDlgBase</class> 2<class>KVNCConnDlgBase</class>
3<widget> 3<widget>
4 <class>QDialog</class> 4 <class>QDialog</class>
5 <property stdset="1"> 5 <property stdset="1">
6 <name>name</name> 6 <name>name</name>
7 <cstring>KVNCConnDlgBase</cstring> 7 <cstring>KVNCConnDlgBase</cstring>
8 </property> 8 </property>
9 <property stdset="1"> 9 <property stdset="1">
10 <name>geometry</name> 10 <name>geometry</name>
11 <rect> 11 <rect>
12 <x>0</x> 12 <x>0</x>
13 <y>0</y> 13 <y>0</y>
14 <width>256</width> 14 <width>253</width>
15 <height>242</height> 15 <height>408</height>
16 </rect> 16 </rect>
17 </property> 17 </property>
18 <property stdset="1"> 18 <property stdset="1">
19 <name>caption</name> 19 <name>caption</name>
20 <string>VNC Viewer Connection</string> 20 <string>VNC Viewer Connection</string>
21 </property> 21 </property>
22 <property> 22 <property>
23 <name>layoutMargin</name> 23 <name>layoutMargin</name>
24 </property> 24 </property>
25 <widget> 25 <grid>
26 <class>QTabWidget</class>
27 <property stdset="1"> 26 <property stdset="1">
28 <name>name</name> 27 <name>margin</name>
29 <cstring>TabWidget3</cstring> 28 <number>11</number>
30 </property> 29 </property>
31 <property stdset="1"> 30 <property stdset="1">
32 <name>geometry</name> 31 <name>spacing</name>
33 <rect> 32 <number>6</number>
34 <x>0</x>
35 <y>0</y>
36 <width>266</width>
37 <height>233</height>
38 </rect>
39 </property> 33 </property>
40 <widget> 34 <widget row="0" column="0" >
41 <class>QWidget</class> 35 <class>QTabWidget</class>
42 <property stdset="1"> 36 <property stdset="1">
43 <name>name</name> 37 <name>name</name>
44 <cstring>tab</cstring> 38 <cstring>TabWidget3</cstring>
45 </property> 39 </property>
46 <attribute> 40 <widget>
47 <name>title</name> 41 <class>QWidget</class>
48 <string>Server</string>
49 </attribute>
50 <grid>
51 <property stdset="1"> 42 <property stdset="1">
52 <name>margin</name> 43 <name>name</name>
53 <number>11</number> 44 <cstring>tab</cstring>
54 </property> 45 </property>
55 <property stdset="1"> 46 <attribute>
56 <name>spacing</name> 47 <name>title</name>
57 <number>6</number> 48 <string>Server</string>
58 </property> 49 </attribute>
59 <widget row="2" column="1" rowspan="1" colspan="2" > 50 <grid>
60 <class>QLineEdit</class>
61 <property stdset="1">
62 <name>name</name>
63 <cstring>serverPassword</cstring>
64 </property>
65 <property stdset="1">
66 <name>autoMask</name>
67 <bool>true</bool>
68 </property>
69 <property stdset="1">
70 <name>echoMode</name>
71 <enum>Password</enum>
72 </property>
73 <property>
74 <name>whatsThis</name>
75 <string>The password of the VNC server</string>
76 </property>
77 </widget>
78 <widget row="3" column="1" >
79 <class>QCheckBox</class>
80 <property stdset="1"> 51 <property stdset="1">
81 <name>name</name> 52 <name>margin</name>
82 <cstring>togglePassword</cstring> 53 <number>11</number>
83 </property> 54 </property>
84 <property stdset="1"> 55 <property stdset="1">
85 <name>text</name> 56 <name>spacing</name>
86 <string>Show Password</string> 57 <number>6</number>
87 </property>
88 <property>
89 <name>whatsThis</name>
90 <string>Toggle obscuring the password</string>
91 </property>
92 </widget>
93 <widget row="2" column="0" >
94 <class>QLabel</class>
95 <property stdset="1">
96 <name>name</name>
97 <cstring>TextLabel3</cstring>
98 </property>
99 <property stdset="1">
100 <name>text</name>
101 <string>Password:</string>
102 </property>
103 </widget>
104 <widget row="4" column="1" rowspan="1" colspan="2" >
105 <class>QLineEdit</class>
106 <property stdset="1">
107 <name>name</name>
108 <cstring>serverBookmark</cstring>
109 </property>
110 <property>
111 <name>whatsThis</name>
112 <string>The name of the VNC server</string>
113 </property> 58 </property>
114 </widget> 59 <widget row="2" column="1" >
115 <widget row="4" column="0" > 60 <class>QLineEdit</class>
116 <class>QLabel</class> 61 <property stdset="1">
117 <property stdset="1"> 62 <name>name</name>
118 <name>name</name> 63 <cstring>serverPassword</cstring>
119 <cstring>TextLabel1_2</cstring> 64 </property>
120 </property> 65 <property stdset="1">
121 <property stdset="1"> 66 <name>autoMask</name>
122 <name>text</name> 67 <bool>true</bool>
123 <string>Bookmark Name:</string> 68 </property>
124 </property> 69 <property stdset="1">
125 </widget> 70 <name>echoMode</name>
126 <widget row="0" column="1" rowspan="1" colspan="2" > 71 <enum>Password</enum>
127 <class>QLineEdit</class> 72 </property>
128 <property stdset="1"> 73 <property>
129 <name>name</name> 74 <name>whatsThis</name>
130 <cstring>serverHostname</cstring> 75 <string>The password of the VNC server</string>
131 </property> 76 </property>
132 <property> 77 </widget>
133 <name>whatsThis</name> 78 <widget row="3" column="1" >
134 <string>The host name of the VNC server</string> 79 <class>QCheckBox</class>
135 </property> 80 <property stdset="1">
136 </widget> 81 <name>name</name>
137 <widget row="0" column="0" > 82 <cstring>togglePassword</cstring>
138 <class>QLabel</class> 83 </property>
139 <property stdset="1"> 84 <property stdset="1">
140 <name>name</name> 85 <name>sizePolicy</name>
141 <cstring>hostname</cstring> 86 <sizepolicy>
142 </property> 87 <hsizetype>7</hsizetype>
143 <property stdset="1"> 88 <vsizetype>0</vsizetype>
144 <name>text</name> 89 </sizepolicy>
145 <string>Host Name:</string> 90 </property>
146 </property> 91 <property stdset="1">
147 </widget> 92 <name>text</name>
148 <widget row="1" column="0" > 93 <string>Show Password</string>
149 <class>QLabel</class> 94 </property>
150 <property stdset="1"> 95 <property>
151 <name>name</name> 96 <name>whatsThis</name>
152 <cstring>TextLabel2_2</cstring> 97 <string>Toggle obscuring the password</string>
153 </property> 98 </property>
154 <property stdset="1"> 99 </widget>
155 <name>text</name> 100 <widget row="2" column="0" >
156 <string>Display Number:</string> 101 <class>QLabel</class>
157 </property> 102 <property stdset="1">
158 </widget> 103 <name>name</name>
159 <widget row="1" column="1" rowspan="1" colspan="2" > 104 <cstring>TextLabel3</cstring>
160 <class>QSpinBox</class> 105 </property>
161 <property stdset="1"> 106 <property stdset="1">
162 <name>name</name> 107 <name>text</name>
163 <cstring>serverDisplay</cstring> 108 <string>Password:</string>
164 </property> 109 </property>
165 <property stdset="1"> 110 </widget>
166 <name>maxValue</name> 111 <widget row="4" column="1" >
167 <number>500</number> 112 <class>QLineEdit</class>
168 </property> 113 <property stdset="1">
169 <property stdset="1"> 114 <name>name</name>
170 <name>minValue</name> 115 <cstring>serverBookmark</cstring>
171 <number>0</number> 116 </property>
172 </property> 117 <property>
173 <property stdset="1"> 118 <name>whatsThis</name>
174 <name>value</name> 119 <string>The name of the VNC server</string>
175 <number>0</number> 120 </property>
176 </property> 121 </widget>
177 <property> 122 <widget row="4" column="0" >
178 <name>whatsThis</name> 123 <class>QLabel</class>
179 <string>The display number of the VNC server</string> 124 <property stdset="1">
180 </property> 125 <name>name</name>
181 </widget> 126 <cstring>TextLabel1_2</cstring>
182 <spacer row="5" column="2" > 127 </property>
183 <property> 128 <property stdset="1">
184 <name>name</name> 129 <name>text</name>
185 <cstring>Spacer2</cstring> 130 <string>Bookmark Name:</string>
186 </property> 131 </property>
187 <property stdset="1"> 132 </widget>
188 <name>orientation</name> 133 <widget row="0" column="1" >
189 <enum>Vertical</enum> 134 <class>QLineEdit</class>
190 </property> 135 <property stdset="1">
191 <property stdset="1"> 136 <name>name</name>
192 <name>sizeType</name> 137 <cstring>serverHostname</cstring>
193 <enum>Expanding</enum> 138 </property>
194 </property> 139 <property>
195 <property> 140 <name>whatsThis</name>
196 <name>sizeHint</name> 141 <string>The host name of the VNC server</string>
197 <size> 142 </property>
198 <width>20</width> 143 </widget>
199 <height>20</height> 144 <widget row="0" column="0" >
200 </size> 145 <class>QLabel</class>
201 </property> 146 <property stdset="1">
202 </spacer> 147 <name>name</name>
203 </grid> 148 <cstring>hostname</cstring>
204 </widget> 149 </property>
205 <widget> 150 <property stdset="1">
206 <class>QWidget</class> 151 <name>text</name>
207 <property stdset="1"> 152 <string>Host Name:</string>
208 <name>name</name> 153 </property>
209 <cstring>tab</cstring> 154 </widget>
210 </property> 155 <widget row="1" column="0" >
211 <attribute> 156 <class>QLabel</class>
212 <name>title</name> 157 <property stdset="1">
213 <string>Options</string> 158 <name>name</name>
214 </attribute> 159 <cstring>TextLabel2_2</cstring>
215 <vbox> 160 </property>
216 <property stdset="1"> 161 <property stdset="1">
217 <name>margin</name> 162 <name>text</name>
218 <number>11</number> 163 <string>Display Number:</string>
219 </property> 164 </property>
165 </widget>
166 <widget row="1" column="1" >
167 <class>QSpinBox</class>
168 <property stdset="1">
169 <name>name</name>
170 <cstring>serverDisplay</cstring>
171 </property>
172 <property stdset="1">
173 <name>sizePolicy</name>
174 <sizepolicy>
175 <hsizetype>7</hsizetype>
176 <vsizetype>0</vsizetype>
177 </sizepolicy>
178 </property>
179 <property stdset="1">
180 <name>maxValue</name>
181 <number>500</number>
182 </property>
183 <property stdset="1">
184 <name>minValue</name>
185 <number>0</number>
186 </property>
187 <property stdset="1">
188 <name>value</name>
189 <number>0</number>
190 </property>
191 <property>
192 <name>whatsThis</name>
193 <string>The display number of the VNC server</string>
194 </property>
195 </widget>
196 <spacer row="5" column="0" >
197 <property>
198 <name>name</name>
199 <cstring>Spacer4</cstring>
200 </property>
201 <property stdset="1">
202 <name>orientation</name>
203 <enum>Vertical</enum>
204 </property>
205 <property stdset="1">
206 <name>sizeType</name>
207 <enum>Expanding</enum>
208 </property>
209 <property>
210 <name>sizeHint</name>
211 <size>
212 <width>20</width>
213 <height>20</height>
214 </size>
215 </property>
216 </spacer>
217 </grid>
218 </widget>
219 <widget>
220 <class>QWidget</class>
220 <property stdset="1"> 221 <property stdset="1">
221 <name>spacing</name> 222 <name>name</name>
222 <number>6</number> 223 <cstring>tab</cstring>
223 </property> 224 </property>
224 <widget> 225 <attribute>
225 <class>QLabel</class> 226 <name>title</name>
226 <property stdset="1"> 227 <string>Options</string>
227 <name>name</name> 228 </attribute>
228 <cstring>TextLabel1</cstring> 229 <grid>
229 </property>
230 <property stdset="1"> 230 <property stdset="1">
231 <name>text</name> 231 <name>margin</name>
232 <string>Check for screen updates every:</string> 232 <number>11</number>
233 </property> 233 </property>
234 </widget>
235 <widget>
236 <class>QLayoutWidget</class>
237 <property stdset="1"> 234 <property stdset="1">
238 <name>name</name> 235 <name>spacing</name>
239 <cstring>Layout2</cstring> 236 <number>6</number>
240 </property> 237 </property>
241 <hbox> 238 <widget row="4" column="0" rowspan="1" colspan="3" >
239 <class>QCheckBox</class>
242 <property stdset="1"> 240 <property stdset="1">
243 <name>margin</name> 241 <name>name</name>
244 <number>0</number> 242 <cstring>shared</cstring>
245 </property> 243 </property>
246 <property stdset="1"> 244 <property stdset="1">
247 <name>spacing</name> 245 <name>sizePolicy</name>
248 <number>6</number> 246 <sizepolicy>
247 <hsizetype>7</hsizetype>
248 <vsizetype>0</vsizetype>
249 </sizepolicy>
249 </property> 250 </property>
250 <widget>
251 <class>QSpinBox</class>
252 <property stdset="1">
253 <name>name</name>
254 <cstring>timeBox</cstring>
255 </property>
256 <property stdset="1">
257 <name>maxValue</name>
258 <number>500</number>
259 </property>
260 <property stdset="1">
261 <name>minValue</name>
262 <number>1</number>
263 </property>
264 <property>
265 <name>whatsThis</name>
266 <string>Delay between requesting updates from the server</string>
267 </property>
268 </widget>
269 <widget>
270 <class>QLabel</class>
271 <property stdset="1">
272 <name>name</name>
273 <cstring>TextLabel2</cstring>
274 </property>
275 <property stdset="1">
276 <name>text</name>
277 <string>Milliseconds</string>
278 </property>
279 </widget>
280 </hbox>
281 </widget>
282 <widget>
283 <class>QCheckBox</class>
284 <property stdset="1">
285 <name>name</name>
286 <cstring>bit</cstring>
287 </property>
288 <property stdset="1">
289 <name>text</name>
290 <string>Request 8-bit session</string>
291 </property>
292 <property>
293 <name>whatsThis</name>
294 <string>Request that the VNC server transfer 8 bit color</string>
295 </property>
296 </widget>
297 <widget>
298 <class>QCheckBox</class>
299 <property stdset="1">
300 <name>name</name>
301 <cstring>deIconify</cstring>
302 </property>
303 <property stdset="1">
304 <name>text</name>
305 <string>Raise on bell</string>
306 </property>
307 </widget>
308 <widget>
309 <class>QCheckBox</class>
310 <property stdset="1">
311 <name>name</name>
312 <cstring>shared</cstring>
313 </property>
314 <property stdset="1">
315 <name>text</name>
316 <string>Request shared session</string>
317 </property>
318 <property>
319 <name>whatsThis</name>
320 <string>Allow other users to connect to the VNC server</string>
321 </property>
322 </widget>
323 <widget>
324 <class>QLayoutWidget</class>
325 <property stdset="1">
326 <name>name</name>
327 <cstring>Layout3</cstring>
328 </property>
329 <hbox>
330 <property stdset="1"> 251 <property stdset="1">
331 <name>margin</name> 252 <name>text</name>
332 <number>0</number> 253 <string>Request shared session</string>
254 </property>
255 <property>
256 <name>whatsThis</name>
257 <string>Allow other users to connect to the VNC server</string>
258 </property>
259 </widget>
260 <spacer row="6" column="1" >
261 <property>
262 <name>name</name>
263 <cstring>Spacer2</cstring>
333 </property> 264 </property>
334 <property stdset="1"> 265 <property stdset="1">
335 <name>spacing</name> 266 <name>orientation</name>
336 <number>6</number> 267 <enum>Vertical</enum>
337 </property> 268 </property>
338 <widget> 269 <property stdset="1">
339 <class>QComboBox</class> 270 <name>sizeType</name>
340 <item> 271 <enum>Expanding</enum>
341 <property> 272 </property>
342 <name>text</name> 273 <property>
343 <string>1</string> 274 <name>sizeHint</name>
344 </property> 275 <size>
345 </item> 276 <width>20</width>
346 <item> 277 <height>20</height>
347 <property> 278 </size>
348 <name>text</name> 279 </property>
349 <string>2</string> 280 </spacer>
350 </property> 281 <widget row="2" column="0" rowspan="1" colspan="3" >
351 </item> 282 <class>QCheckBox</class>
352 <item> 283 <property stdset="1">
353 <property> 284 <name>name</name>
354 <name>text</name> 285 <cstring>bit</cstring>
355 <string>4</string> 286 </property>
356 </property> 287 <property stdset="1">
357 </item> 288 <name>sizePolicy</name>
358 <property stdset="1"> 289 <sizepolicy>
359 <name>name</name> 290 <hsizetype>7</hsizetype>
360 <cstring>scaleFactor</cstring> 291 <vsizetype>0</vsizetype>
361 </property> 292 </sizepolicy>
293 </property>
294 <property stdset="1">
295 <name>text</name>
296 <string>Request 8-bit session</string>
297 </property>
298 <property>
299 <name>whatsThis</name>
300 <string>Request that the VNC server transfer 8 bit color</string>
301 </property>
302 </widget>
303 <widget row="1" column="0" rowspan="1" colspan="2" >
304 <class>QSpinBox</class>
305 <property stdset="1">
306 <name>name</name>
307 <cstring>timeBox</cstring>
308 </property>
309 <property stdset="1">
310 <name>sizePolicy</name>
311 <sizepolicy>
312 <hsizetype>7</hsizetype>
313 <vsizetype>0</vsizetype>
314 </sizepolicy>
315 </property>
316 <property stdset="1">
317 <name>maxValue</name>
318 <number>500</number>
319 </property>
320 <property stdset="1">
321 <name>minValue</name>
322 <number>1</number>
323 </property>
324 <property>
325 <name>whatsThis</name>
326 <string>Delay between requesting updates from the server</string>
327 </property>
328 </widget>
329 <widget row="5" column="0" >
330 <class>QComboBox</class>
331 <item>
362 <property> 332 <property>
363 <name>whatsThis</name> 333 <name>text</name>
364 <string>Scale the remote display to fit on the PDA (Slow)</string> 334 <string>1</string>
365 </property> 335 </property>
366 </widget> 336 </item>
367 <widget> 337 <item>
368 <class>QLabel</class> 338 <property>
369 <property stdset="1"> 339 <name>text</name>
370 <name>name</name> 340 <string>2</string>
371 <cstring>TextLabel2_3</cstring>
372 </property> 341 </property>
373 <property stdset="1"> 342 </item>
343 <item>
344 <property>
374 <name>text</name> 345 <name>text</name>
375 <string>Scale Factor</string> 346 <string>4</string>
376 </property> 347 </property>
377 </widget> 348 </item>
378 </hbox> 349 <property stdset="1">
379 </widget> 350 <name>name</name>
380 <spacer> 351 <cstring>scaleFactor</cstring>
381 <property> 352 </property>
382 <name>name</name> 353 <property stdset="1">
383 <cstring>Spacer2</cstring> 354 <name>sizePolicy</name>
384 </property> 355 <sizepolicy>
385 <property stdset="1"> 356 <hsizetype>7</hsizetype>
386 <name>orientation</name> 357 <vsizetype>0</vsizetype>
387 <enum>Vertical</enum> 358 </sizepolicy>
388 </property> 359 </property>
389 <property stdset="1"> 360 <property>
390 <name>sizeType</name> 361 <name>whatsThis</name>
391 <enum>Expanding</enum> 362 <string>Scale the remote display to fit on the PDA (Slow)</string>
392 </property> 363 </property>
393 <property> 364 </widget>
394 <name>sizeHint</name> 365 <widget row="5" column="1" rowspan="1" colspan="2" >
395 <size> 366 <class>QLabel</class>
396 <width>20</width> 367 <property stdset="1">
397 <height>20</height> 368 <name>name</name>
398 </size> 369 <cstring>TextLabel2_3</cstring>
399 </property> 370 </property>
400 </spacer> 371 <property stdset="1">
401 </vbox> 372 <name>text</name>
402 </widget> 373 <string>Scale Factor</string>
403 <widget> 374 </property>
404 <class>QWidget</class> 375 </widget>
405 <property stdset="1"> 376 <widget row="1" column="2" >
406 <name>name</name> 377 <class>QLabel</class>
407 <cstring>tab</cstring> 378 <property stdset="1">
408 </property> 379 <name>name</name>
409 <attribute> 380 <cstring>TextLabel2</cstring>
410 <name>title</name> 381 </property>
411 <string>Encodings</string> 382 <property stdset="1">
412 </attribute> 383 <name>text</name>
413 <vbox> 384 <string>Milliseconds</string>
414 <property stdset="1"> 385 </property>
415 <name>margin</name> 386 </widget>
416 <number>11</number> 387 <widget row="3" column="0" rowspan="1" colspan="3" >
417 </property> 388 <class>QCheckBox</class>
389 <property stdset="1">
390 <name>name</name>
391 <cstring>deIconify</cstring>
392 </property>
393 <property stdset="1">
394 <name>sizePolicy</name>
395 <sizepolicy>
396 <hsizetype>7</hsizetype>
397 <vsizetype>0</vsizetype>
398 </sizepolicy>
399 </property>
400 <property stdset="1">
401 <name>text</name>
402 <string>Raise on bell</string>
403 </property>
404 </widget>
405 <widget row="0" column="0" rowspan="1" colspan="3" >
406 <class>QLabel</class>
407 <property stdset="1">
408 <name>name</name>
409 <cstring>TextLabel1</cstring>
410 </property>
411 <property stdset="1">
412 <name>text</name>
413 <string>Check for screen updates every:</string>
414 </property>
415 </widget>
416 </grid>
417 </widget>
418 <widget>
419 <class>QWidget</class>
418 <property stdset="1"> 420 <property stdset="1">
419 <name>spacing</name> 421 <name>name</name>
420 <number>6</number> 422 <cstring>tab</cstring>
421 </property> 423 </property>
422 <widget> 424 <attribute>
423 <class>QCheckBox</class> 425 <name>title</name>
424 <property stdset="1"> 426 <string>Encodings</string>
425 <name>name</name> 427 </attribute>
426 <cstring>hex</cstring> 428 <grid>
427 </property>
428 <property stdset="1">
429 <name>enabled</name>
430 <bool>false</bool>
431 </property>
432 <property stdset="1">
433 <name>text</name>
434 <string>Hextile encoding</string>
435 </property>
436 </widget>
437 <widget>
438 <class>QCheckBox</class>
439 <property stdset="1">
440 <name>name</name>
441 <cstring>corre</cstring>
442 </property>
443 <property stdset="1">
444 <name>enabled</name>
445 <bool>false</bool>
446 </property>
447 <property stdset="1">
448 <name>text</name>
449 <string>CoRRE encoding</string>
450 </property>
451 </widget>
452 <widget>
453 <class>QCheckBox</class>
454 <property stdset="1">
455 <name>name</name>
456 <cstring>rre</cstring>
457 </property>
458 <property stdset="1"> 429 <property stdset="1">
459 <name>enabled</name> 430 <name>margin</name>
460 <bool>false</bool> 431 <number>11</number>
461 </property> 432 </property>
462 <property stdset="1"> 433 <property stdset="1">
463 <name>text</name> 434 <name>spacing</name>
464 <string>RRE encoding</string> 435 <number>6</number>
465 </property> 436 </property>
466 </widget> 437 <spacer row="4" column="1" >
467 <widget> 438 <property>
468 <class>QCheckBox</class> 439 <name>name</name>
469 <property stdset="1"> 440 <cstring>Spacer3</cstring>
470 <name>name</name> 441 </property>
471 <cstring>copyRect</cstring> 442 <property stdset="1">
472 </property> 443 <name>orientation</name>
473 <property stdset="1"> 444 <enum>Vertical</enum>
474 <name>text</name> 445 </property>
475 <string>Copy rectangle encoding</string> 446 <property stdset="1">
476 </property> 447 <name>sizeType</name>
477 <property> 448 <enum>Expanding</enum>
478 <name>whatsThis</name> 449 </property>
479 <string>Enable transmiting identical rectangles as references to existing data</string> 450 <property>
480 </property> 451 <name>sizeHint</name>
481 </widget> 452 <size>
482 <spacer> 453 <width>20</width>
483 <property> 454 <height>20</height>
484 <name>name</name> 455 </size>
485 <cstring>Spacer3</cstring> 456 </property>
486 </property> 457 </spacer>
487 <property stdset="1"> 458 <widget row="0" column="0" rowspan="1" colspan="2" >
488 <name>orientation</name> 459 <class>QCheckBox</class>
489 <enum>Vertical</enum> 460 <property stdset="1">
490 </property> 461 <name>name</name>
491 <property stdset="1"> 462 <cstring>hex</cstring>
492 <name>sizeType</name> 463 </property>
493 <enum>Expanding</enum> 464 <property stdset="1">
494 </property> 465 <name>enabled</name>
495 <property> 466 <bool>false</bool>
496 <name>sizeHint</name> 467 </property>
497 <size> 468 <property stdset="1">
498 <width>20</width> 469 <name>sizePolicy</name>
499 <height>20</height> 470 <sizepolicy>
500 </size> 471 <hsizetype>7</hsizetype>
501 </property> 472 <vsizetype>0</vsizetype>
502 </spacer> 473 </sizepolicy>
503 </vbox> 474 </property>
475 <property stdset="1">
476 <name>text</name>
477 <string>Hextile encoding</string>
478 </property>
479 </widget>
480 <widget row="1" column="0" rowspan="1" colspan="2" >
481 <class>QCheckBox</class>
482 <property stdset="1">
483 <name>name</name>
484 <cstring>corre</cstring>
485 </property>
486 <property stdset="1">
487 <name>enabled</name>
488 <bool>false</bool>
489 </property>
490 <property stdset="1">
491 <name>sizePolicy</name>
492 <sizepolicy>
493 <hsizetype>7</hsizetype>
494 <vsizetype>0</vsizetype>
495 </sizepolicy>
496 </property>
497 <property stdset="1">
498 <name>text</name>
499 <string>CoRRE encoding</string>
500 </property>
501 </widget>
502 <widget row="2" column="0" >
503 <class>QCheckBox</class>
504 <property stdset="1">
505 <name>name</name>
506 <cstring>rre</cstring>
507 </property>
508 <property stdset="1">
509 <name>enabled</name>
510 <bool>false</bool>
511 </property>
512 <property stdset="1">
513 <name>sizePolicy</name>
514 <sizepolicy>
515 <hsizetype>7</hsizetype>
516 <vsizetype>0</vsizetype>
517 </sizepolicy>
518 </property>
519 <property stdset="1">
520 <name>text</name>
521 <string>RRE encoding</string>
522 </property>
523 </widget>
524 <widget row="3" column="0" rowspan="1" colspan="2" >
525 <class>QCheckBox</class>
526 <property stdset="1">
527 <name>name</name>
528 <cstring>copyRect</cstring>
529 </property>
530 <property stdset="1">
531 <name>sizePolicy</name>
532 <sizepolicy>
533 <hsizetype>7</hsizetype>
534 <vsizetype>0</vsizetype>
535 </sizepolicy>
536 </property>
537 <property stdset="1">
538 <name>text</name>
539 <string>Copy rectangle encoding</string>
540 </property>
541 <property>
542 <name>whatsThis</name>
543 <string>Enable transmiting identical rectangles as references to existing data</string>
544 </property>
545 </widget>
546 </grid>
547 </widget>
504 </widget> 548 </widget>
505 </widget> 549 </grid>
506</widget> 550</widget>
507<tabstops> 551<tabstops>
508 <tabstop>TabWidget3</tabstop> 552 <tabstop>TabWidget3</tabstop>
509 <tabstop>serverHostname</tabstop> 553 <tabstop>serverHostname</tabstop>
510 <tabstop>serverDisplay</tabstop> 554 <tabstop>serverDisplay</tabstop>
511 <tabstop>serverPassword</tabstop> 555 <tabstop>serverPassword</tabstop>
512 <tabstop>serverBookmark</tabstop> 556 <tabstop>serverBookmark</tabstop>
513 <tabstop>timeBox</tabstop> 557 <tabstop>timeBox</tabstop>
514 <tabstop>bit</tabstop> 558 <tabstop>bit</tabstop>
515 <tabstop>deIconify</tabstop> 559 <tabstop>deIconify</tabstop>
516 <tabstop>shared</tabstop> 560 <tabstop>shared</tabstop>
517 <tabstop>hex</tabstop> 561 <tabstop>hex</tabstop>
518 <tabstop>corre</tabstop> 562 <tabstop>corre</tabstop>
519 <tabstop>rre</tabstop> 563 <tabstop>rre</tabstop>
520 <tabstop>copyRect</tabstop> 564 <tabstop>copyRect</tabstop>
521</tabstops> 565</tabstops>
522</UI> 566</UI>