summaryrefslogtreecommitdiff
authortreke <treke>2002-09-05 04:42:25 (UTC)
committer treke <treke>2002-09-05 04:42:25 (UTC)
commite2186a49cb5cbdf01b56f57818a15a760ff25b2e (patch) (unidiff)
treef22e7342c7a3adcccb6eed52a314fe8e301cc624
parentfd3239820e471044bf279a2964702573572859d6 (diff)
downloadopie-e2186a49cb5cbdf01b56f57818a15a760ff25b2e.zip
opie-e2186a49cb5cbdf01b56f57818a15a760ff25b2e.tar.gz
opie-e2186a49cb5cbdf01b56f57818a15a760ff25b2e.tar.bz2
Added support for client side scaling of the screen. Slow, but sometimes usable.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/comm/keypebble/krfbbuffer.cpp17
-rw-r--r--noncore/comm/keypebble/krfbcanvas.cpp5
-rw-r--r--noncore/comm/keypebble/krfbdecoder.cpp7
-rw-r--r--noncore/comm/keypebble/krfbdecoder.h5
-rw-r--r--noncore/comm/keypebble/krfbserver.cpp2
-rw-r--r--noncore/comm/keypebble/krfbserver.h1
-rw-r--r--noncore/comm/keypebble/kvnc.cpp8
-rw-r--r--noncore/comm/keypebble/kvnc.h3
-rw-r--r--noncore/comm/keypebble/kvncbookmarkdlg.cpp3
-rw-r--r--noncore/comm/keypebble/kvncconndlg.cpp21
-rw-r--r--noncore/comm/keypebble/kvncconndlg.h1
-rw-r--r--noncore/comm/keypebble/kvncconndlgbase.ui752
12 files changed, 461 insertions, 364 deletions
diff --git a/noncore/comm/keypebble/krfbbuffer.cpp b/noncore/comm/keypebble/krfbbuffer.cpp
index 5a52f31..f1cb929 100644
--- a/noncore/comm/keypebble/krfbbuffer.cpp
+++ b/noncore/comm/keypebble/krfbbuffer.cpp
@@ -5,8 +5,10 @@
5#include <qpainter.h> 5#include <qpainter.h>
6#include <qapplication.h> 6#include <qapplication.h>
7#include "krfbdecoder.h" 7#include "krfbdecoder.h"
8#include "krfbbuffer.h" 8#include "krfbbuffer.h"
9#include "krfbconnection.h"
10#include "krfbserver.h"
9#include "krfbserverinfo.h" 11#include "krfbserverinfo.h"
10 12
11// 13//
12// Endian stuff 14// Endian stuff
@@ -85,8 +87,9 @@ void KRFBBuffer::drawRawRectChunk( void *data,
85 int x, int y, int w, int h ) 87 int x, int y, int w, int h )
86{ 88{
87 QImage img( w, h, 32 ); 89 QImage img( w, h, 32 );
88 90
91 int scaleFactor=decoder->con->options()->scaleFactor;
89 int redMax = Swap16IfLE( decoder->format->redMax ); 92 int redMax = Swap16IfLE( decoder->format->redMax );
90 int greenMax = Swap16IfLE( decoder->format->greenMax ); 93 int greenMax = Swap16IfLE( decoder->format->greenMax );
91 int blueMax = Swap16IfLE( decoder->format->blueMax ); 94 int blueMax = Swap16IfLE( decoder->format->blueMax );
92 95
@@ -96,9 +99,10 @@ void KRFBBuffer::drawRawRectChunk( void *data,
96 uchar *d = (unsigned char *) data; 99 uchar *d = (unsigned char *) data;
97 100
98 uint r,g,b; 101 uint r,g,b;
99 102
100 for ( int j = 0; j < h; j++ ) { 103
104 for ( int j = 0; j < h; j++) {
101 for ( int i = 0; i < w ; i++ ) { 105 for ( int i = 0; i < w ; i++ ) {
102 r = d[ j * w + i ]; 106 r = d[ j * w + i ];
103 r = r >> decoder->format->redShift; 107 r = r >> decoder->format->redShift;
104 r = r & redMax; 108 r = r & redMax;
@@ -186,9 +190,14 @@ void KRFBBuffer::drawRawRectChunk( void *data,
186 p.setBrush( QBrush( Qt::black ) ); 190 p.setBrush( QBrush( Qt::black ) );
187 p.drawRect( x, y, w, h ); 191 p.drawRect( x, y, w, h );
188 } 192 }
189 193
190 p.drawImage( x, y, img ); 194 if (scaleFactor > 1) {
191 195 p.drawImage( x/scaleFactor, y/scaleFactor, img.smoothScale(w/scaleFactor,h/scaleFactor) );
192 emit updated( x, y, w, h ); 196 emit updated( x/scaleFactor, y/scaleFactor, w/scaleFactor, h/scaleFactor );
197 }
198 else {
199 p.drawImage( x, y, img);
200 emit updated( x, y, w, h );
201 }
193} 202}
194 203
diff --git a/noncore/comm/keypebble/krfbcanvas.cpp b/noncore/comm/keypebble/krfbcanvas.cpp
index 8b56795..896de7f 100644
--- a/noncore/comm/keypebble/krfbcanvas.cpp
+++ b/noncore/comm/keypebble/krfbcanvas.cpp
@@ -21,9 +21,10 @@ KRFBCanvas::KRFBCanvas( QWidget *parent, const char *name )
21 connect( connection_, SIGNAL( loggedIn() ), 21 connect( connection_, SIGNAL( loggedIn() ),
22 this, SLOT( loggedIn() ) ); 22 this, SLOT( loggedIn() ) );
23 23
24 loggedIn_ = false; 24 loggedIn_ = false;
25 QPEApplication::setStylusOperation(viewport(), QPEApplication::RightOnHold); 25
26 //QPEApplication::setStylusOperation(viewport(), QPEApplication::RightOnHold);
26 27
27 viewport()->setFocusPolicy( QWidget::StrongFocus ); 28 viewport()->setFocusPolicy( QWidget::StrongFocus );
28 viewport()->setFocus(); 29 viewport()->setFocus();
29} 30}
@@ -103,8 +104,10 @@ void KRFBCanvas::viewportPaintEvent( QPaintEvent *e )
103{ 104{
104 QRect r = e->rect(); 105 QRect r = e->rect();
105 106
106 if ( loggedIn_ ) { 107 if ( loggedIn_ ) {
108 QPixmap p;
109
107 bitBlt( viewport(), r.x(), r.y(), 110 bitBlt( viewport(), r.x(), r.y(),
108 connection_->buffer()->pixmap(), 111 connection_->buffer()->pixmap(),
109 r.x() + contentsX(), r.y() + contentsY(), 112 r.x() + contentsX(), r.y() + contentsY(),
110 r.width(), r.height() ); 113 r.width(), r.height() );
diff --git a/noncore/comm/keypebble/krfbdecoder.cpp b/noncore/comm/keypebble/krfbdecoder.cpp
index a964c09..94e3b79 100644
--- a/noncore/comm/keypebble/krfbdecoder.cpp
+++ b/noncore/comm/keypebble/krfbdecoder.cpp
@@ -194,9 +194,9 @@ void KRFBDecoder::gotServerInit()
194 info->redMax, info->greenMax, info->blueMax ); 194 info->redMax, info->greenMax, info->blueMax );
195 qWarning( "RedShift = %d, GreenShift = %d, BlueShift = %d", 195 qWarning( "RedShift = %d, GreenShift = %d, BlueShift = %d",
196 info->redShift, info->greenShift,info-> blueShift ); 196 info->redShift, info->greenShift,info-> blueShift );
197 197
198 buf->resize( info->width, info->height ); 198 buf->resize( info->width/con->options()->scaleFactor, info->height /con->options()->scaleFactor);
199 199
200 // Wait for desktop name 200 // Wait for desktop name
201 qWarning( "Waiting for desktop name" ); 201 qWarning( "Waiting for desktop name" );
202 202
@@ -641,10 +641,11 @@ void KRFBDecoder::sendMouseEvent( QMouseEvent *e )
641 buttonMask |= 0x05; 641 buttonMask |= 0x05;
642 } 642 }
643 } 643 }
644 644
645 CARD16 x = Swap16IfLE( e->x() ); 645 // HACK: Scaling
646 CARD16 y = Swap16IfLE( e->y() ); 646 CARD16 x = Swap16IfLE( e->x() * con->options()->scaleFactor );
647 CARD16 y = Swap16IfLE( e->y() *con->options()->scaleFactor );
647 648
648 con->write( &PointerEventId, 1 ); 649 con->write( &PointerEventId, 1 );
649 con->write( &buttonMask, 1 ); 650 con->write( &buttonMask, 1 );
650 con->write( &x, 2 ); 651 con->write( &x, 2 );
diff --git a/noncore/comm/keypebble/krfbdecoder.h b/noncore/comm/keypebble/krfbdecoder.h
index 4ba0185..db6271d 100644
--- a/noncore/comm/keypebble/krfbdecoder.h
+++ b/noncore/comm/keypebble/krfbdecoder.h
@@ -97,8 +97,11 @@ protected slots:
97signals: 97signals:
98 void error( const QString & ); 98 void error( const QString & );
99 void status( const QString & ); 99 void status( const QString & );
100 100
101protected:
102 /** The connection to the server. */
103 KRFBConnection *con;
101private: 104private:
102 State currentState; 105 State currentState;
103 106
104 // Used to store the state we were in before a cut or bell msg 107 // Used to store the state we were in before a cut or bell msg
@@ -117,10 +120,8 @@ private:
117 CARD32 serverCutTextLen; 120 CARD32 serverCutTextLen;
118 121
119 /** Where we draw the data (and the source of our events). */ 122 /** Where we draw the data (and the source of our events). */
120 KRFBBuffer *buf; 123 KRFBBuffer *buf;
121 /** The connection to the server. */
122 KRFBConnection *con;
123 124
124 /** Info about the RFB server. */ 125 /** Info about the RFB server. */
125 KRFBServerInfo *info; 126 KRFBServerInfo *info;
126 /** The pixel format we want. */ 127 /** The pixel format we want. */
diff --git a/noncore/comm/keypebble/krfbserver.cpp b/noncore/comm/keypebble/krfbserver.cpp
index 5775f09..b47534e 100644
--- a/noncore/comm/keypebble/krfbserver.cpp
+++ b/noncore/comm/keypebble/krfbserver.cpp
@@ -8,8 +8,10 @@ KRFBServer::KRFBServer()
8 QString hostname; 8 QString hostname;
9 QString password; 9 QString password;
10 display=0; 10 display=0;
11 11
12 scaleFactor=1;
13
12 hexTile=0; 14 hexTile=0;
13 corre=0; 15 corre=0;
14 rre=0; 16 rre=0;
15 copyrect=1; 17 copyrect=1;
diff --git a/noncore/comm/keypebble/krfbserver.h b/noncore/comm/keypebble/krfbserver.h
index f87eecc..e38e2d2 100644
--- a/noncore/comm/keypebble/krfbserver.h
+++ b/noncore/comm/keypebble/krfbserver.h
@@ -28,7 +28,8 @@ public:
28 bool readOnly; 28 bool readOnly;
29 bool deIconify; 29 bool deIconify;
30 30
31 int updateRate; 31 int updateRate;
32 int scaleFactor;
32}; 33};
33 34
34#endif // KRFBOPTIONS_H 35#endif // KRFBOPTIONS_H
diff --git a/noncore/comm/keypebble/kvnc.cpp b/noncore/comm/keypebble/kvnc.cpp
index aa46e2f..b173004 100644
--- a/noncore/comm/keypebble/kvnc.cpp
+++ b/noncore/comm/keypebble/kvnc.cpp
@@ -71,8 +71,9 @@ KVNC::KVNC( const char *name ) : QMainWindow( 0, name )
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 connect( bookmarkSelector->bookmarkList, SIGNAL(doubleClicked(QListBoxItem *)), 76 connect( bookmarkSelector->bookmarkList, SIGNAL(doubleClicked(QListBoxItem *)),
76 this, SLOT(openConnection(QListBoxItem *)) ); 77 this, SLOT(openConnection(QListBoxItem *)) );
77 connect( canvas->connection(), SIGNAL(statusChanged(const QString &)), 78 connect( canvas->connection(), SIGNAL(statusChanged(const QString &)),
78 this, SLOT(statusMessage(const QString &)) ); 79 this, SLOT(statusMessage(const QString &)) );
@@ -91,9 +92,12 @@ KVNC::KVNC( const char *name ) : QMainWindow( 0, name )
91 92
92 stack->raiseWidget( bookmarkSelector ); 93 stack->raiseWidget( bookmarkSelector );
93 94
94 95
95 QPEToolBar *bar = new QPEToolBar( this ); 96 bar= new QToolBar( this );
97 setToolBarsMovable( false );
98 setRightJustification(false);
99
96 100
97 QAction *n = new QAction( tr( "New Connection" ), Resource::loadPixmap( "new" ), 101 QAction *n = new QAction( tr( "New Connection" ), Resource::loadPixmap( "new" ),
98 QString::null, 0, this, 0 ); 102 QString::null, 0, this, 0 );
99 connect( n, SIGNAL( activated() ), 103 connect( n, SIGNAL( activated() ),
@@ -234,8 +238,9 @@ void KVNC::connected()
234 ctlAltDelAction->setEnabled(true); 238 ctlAltDelAction->setEnabled(true);
235 disconnectAction->setEnabled( true ); 239 disconnectAction->setEnabled( true );
236 fullScreenAction->setEnabled( true ); 240 fullScreenAction->setEnabled( true );
237 stack->raiseWidget(canvas); 241 stack->raiseWidget(canvas);
242 bar->hide();
238} 243}
239 244
240void KVNC::loggedIn() 245void KVNC::loggedIn()
241{ 246{
@@ -253,8 +258,9 @@ void KVNC::disconnected()
253 ctlAltDelAction->setEnabled(false); 258 ctlAltDelAction->setEnabled(false);
254 disconnectAction->setEnabled( false ); 259 disconnectAction->setEnabled( false );
255 fullScreenAction->setEnabled( false ); 260 fullScreenAction->setEnabled( false );
256 stack->raiseWidget(bookmarkSelector); 261 stack->raiseWidget(bookmarkSelector);
262 bar->show();
257} 263}
258 264
259void KVNC::statusMessage( const QString &m ) 265void KVNC::statusMessage( const QString &m )
260{ 266{
diff --git a/noncore/comm/keypebble/kvnc.h b/noncore/comm/keypebble/kvnc.h
index 6e0a385..82a24fc 100644
--- a/noncore/comm/keypebble/kvnc.h
+++ b/noncore/comm/keypebble/kvnc.h
@@ -3,9 +3,9 @@
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 <qurl.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;
@@ -56,8 +56,9 @@ private:
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 QToolBar * bar;
60 61
61 KVNCBookmarkDlg * bookmarkSelector; 62 KVNCBookmarkDlg * bookmarkSelector;
62 QWidgetStack * stack; 63 QWidgetStack * stack;
63 KRFBServer * curServer; 64 KRFBServer * curServer;
diff --git a/noncore/comm/keypebble/kvncbookmarkdlg.cpp b/noncore/comm/keypebble/kvncbookmarkdlg.cpp
index 1f97d13..1e2f3c3 100644
--- a/noncore/comm/keypebble/kvncbookmarkdlg.cpp
+++ b/noncore/comm/keypebble/kvncbookmarkdlg.cpp
@@ -160,8 +160,10 @@ void KVNCBookmarkDlg::readBookmarks(void)
160 else if (key=="deiconify") 160 else if (key=="deiconify")
161 server->deIconify=val.toInt(); 161 server->deIconify=val.toInt();
162 else if (key=="updaterate") 162 else if (key=="updaterate")
163 server->updateRate=val.toInt(); 163 server->updateRate=val.toInt();
164 else if (key=="scalefactor")
165 server->scaleFactor=val.toInt();
164 166
165 } 167 }
166 if (server){ 168 if (server){
167 servers.append(server); 169 servers.append(server);
@@ -199,8 +201,9 @@ void KVNCBookmarkDlg::writeBookmarks(void)
199 t << "\tshared=" << server->shared << '\n'; 201 t << "\tshared=" << server->shared << '\n';
200 t << "\treadonly=" << server->readOnly << '\n'; 202 t << "\treadonly=" << server->readOnly << '\n';
201 t << "\tdeiconify=" << server->deIconify << '\n'; 203 t << "\tdeiconify=" << server->deIconify << '\n';
202 t << "\tupdaterate=" << server->updateRate << '\n'; 204 t << "\tupdaterate=" << server->updateRate << '\n';
205 t << "\tscalefactor=" << server->scaleFactor << '\n';
203 206
204 } 207 }
205 f.close(); 208 f.close();
206 } 209 }
diff --git a/noncore/comm/keypebble/kvncconndlg.cpp b/noncore/comm/keypebble/kvncconndlg.cpp
index 6873feb..2f073f8 100644
--- a/noncore/comm/keypebble/kvncconndlg.cpp
+++ b/noncore/comm/keypebble/kvncconndlg.cpp
@@ -1,7 +1,8 @@
1#include <qframe.h> 1#include <qframe.h>
2#include <qvbox.h> 2#include <qvbox.h>
3#include <qcheckbox.h> 3#include <qcheckbox.h>
4#include <qcombobox.h>
4#include <qspinbox.h> 5#include <qspinbox.h>
5#include <qlabel.h> 6#include <qlabel.h>
6#include <qlayout.h> 7#include <qlayout.h>
7#include <qwhatsthis.h> 8#include <qwhatsthis.h>
@@ -28,8 +29,14 @@ KVNCConnDlg::KVNCConnDlg( KRFBServer *options,
28 corre->setChecked( options->corre ); 29 corre->setChecked( options->corre );
29 rre->setChecked( options->rre ); 30 rre->setChecked( options->rre );
30 copyRect->setChecked( options->copyrect ); 31 copyRect->setChecked( options->copyrect );
31 32
33 for (int i=0; i < scaleFactor->count(); ++i) {
34 if (scaleFactor->text(i).toInt()==tmpOptions.scaleFactor) {
35 scaleFactor->setCurrentItem(i);
36 }
37 }
38
32 // TODO 39 // TODO
33 hex->setEnabled( false ); 40 hex->setEnabled( false );
34 corre->setEnabled( false ); 41 corre->setEnabled( false );
35 rre->setEnabled( false ); 42 rre->setEnabled( false );
@@ -39,11 +46,14 @@ KVNCConnDlg::KVNCConnDlg( KRFBServer *options,
39 bit->setChecked( options->colors256 ); 46 bit->setChecked( options->colors256 );
40 shared->setChecked( options->shared ); 47 shared->setChecked( options->shared );
41 timeBox->setValue( options->updateRate ); 48 timeBox->setValue( options->updateRate );
42 49
50 serverPassword->setEchoMode(QLineEdit::Password);
43 51
44} 52 connect(togglePassword, SIGNAL( stateChanged(int) ), this, SLOT( showPassword(int) ) );
45 53
54
55}
46KVNCConnDlg::~KVNCConnDlg() 56KVNCConnDlg::~KVNCConnDlg()
47{ 57{
48} 58}
49 59
@@ -65,11 +75,20 @@ void KVNCConnDlg::save()
65 tmpOptions.hostname = serverHostname->text(); 75 tmpOptions.hostname = serverHostname->text();
66 tmpOptions.password = serverPassword->text(); 76 tmpOptions.password = serverPassword->text();
67 tmpOptions.display = serverDisplay->value(); 77 tmpOptions.display = serverDisplay->value();
68 tmpOptions.name = serverBookmark->text(); 78 tmpOptions.name = serverBookmark->text();
79 tmpOptions.scaleFactor = scaleFactor->currentText().toInt();
69 80
70 if (!serverBookmark->text().isEmpty()) { 81 if (!serverBookmark->text().isEmpty()) {
71 if ( options) { 82 if ( options) {
72 *options=tmpOptions; 83 *options=tmpOptions;
73 } 84 }
74 } 85 }
75} 86}
87
88void KVNCConnDlg::showPassword(int show)
89{
90 if (show)
91 serverPassword->setEchoMode(QLineEdit::Normal);
92 else
93 serverPassword->setEchoMode(QLineEdit::Password);
94}
diff --git a/noncore/comm/keypebble/kvncconndlg.h b/noncore/comm/keypebble/kvncconndlg.h
index fae7d62..5e84750 100644
--- a/noncore/comm/keypebble/kvncconndlg.h
+++ b/noncore/comm/keypebble/kvncconndlg.h
@@ -19,8 +19,9 @@ class KVNCConnDlg : public KVNCConnDlgBase
19 protected: 19 protected:
20 void accept(); 20 void accept();
21 private slots: 21 private slots:
22 void save(); 22 void save();
23 void showPassword(int);
23 24
24 private: 25 private:
25 KRFBServer tmpOptions; 26 KRFBServer tmpOptions;
26 KRFBServer * options; 27 KRFBServer * options;
diff --git a/noncore/comm/keypebble/kvncconndlgbase.ui b/noncore/comm/keypebble/kvncconndlgbase.ui
index df0d375..42765c1 100644
--- a/noncore/comm/keypebble/kvncconndlgbase.ui
+++ b/noncore/comm/keypebble/kvncconndlgbase.ui
@@ -10,10 +10,10 @@
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>984</width> 14 <width>260</width>
15 <height>676</height> 15 <height>242</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>
@@ -21,399 +21,449 @@
21 </property> 21 </property>
22 <property> 22 <property>
23 <name>layoutMargin</name> 23 <name>layoutMargin</name>
24 </property> 24 </property>
25 <vbox> 25 <widget>
26 <class>QTabWidget</class>
26 <property stdset="1"> 27 <property stdset="1">
27 <name>margin</name> 28 <name>name</name>
28 <number>0</number> 29 <cstring>TabWidget3</cstring>
29 </property> 30 </property>
30 <property stdset="1"> 31 <property stdset="1">
31 <name>spacing</name> 32 <name>geometry</name>
32 <number>6</number> 33 <rect>
34 <x>0</x>
35 <y>0</y>
36 <width>266</width>
37 <height>233</height>
38 </rect>
33 </property> 39 </property>
34 <widget> 40 <widget>
35 <class>QTabWidget</class> 41 <class>QWidget</class>
36 <property stdset="1"> 42 <property stdset="1">
37 <name>name</name> 43 <name>name</name>
38 <cstring>TabWidget3</cstring> 44 <cstring>tab</cstring>
39 </property> 45 </property>
40 <widget> 46 <attribute>
41 <class>QWidget</class> 47 <name>title</name>
48 <string>Server</string>
49 </attribute>
50 <grid>
42 <property stdset="1"> 51 <property stdset="1">
43 <name>name</name> 52 <name>margin</name>
44 <cstring>tab</cstring> 53 <number>11</number>
45 </property> 54 </property>
46 <attribute> 55 <property stdset="1">
47 <name>title</name> 56 <name>spacing</name>
48 <string>Server</string> 57 <number>6</number>
49 </attribute> 58 </property>
50 <grid> 59 <widget row="2" column="1" rowspan="1" colspan="2" >
60 <class>QLineEdit</class>
51 <property stdset="1"> 61 <property stdset="1">
52 <name>margin</name> 62 <name>name</name>
53 <number>11</number> 63 <cstring>serverPassword</cstring>
54 </property> 64 </property>
55 <property stdset="1"> 65 <property stdset="1">
56 <name>spacing</name> 66 <name>autoMask</name>
57 <number>6</number> 67 <bool>true</bool>
58 </property> 68 </property>
59 <widget row="0" column="0" > 69 <property stdset="1">
60 <class>QLabel</class> 70 <name>echoMode</name>
61 <property stdset="1"> 71 <enum>Password</enum>
62 <name>name</name> 72 </property>
63 <cstring>hostname</cstring> 73 </widget>
64 </property> 74 <widget row="3" column="1" >
65 <property stdset="1"> 75 <class>QCheckBox</class>
66 <name>text</name> 76 <property stdset="1">
67 <string>Host Name:</string> 77 <name>name</name>
68 </property> 78 <cstring>togglePassword</cstring>
69 </widget> 79 </property>
70 <widget row="1" column="0" > 80 <property stdset="1">
71 <class>QLabel</class> 81 <name>text</name>
72 <property stdset="1"> 82 <string>Show Password</string>
73 <name>name</name> 83 </property>
74 <cstring>TextLabel2_2</cstring> 84 </widget>
75 </property> 85 <widget row="2" column="0" >
76 <property stdset="1"> 86 <class>QLabel</class>
77 <name>text</name> 87 <property stdset="1">
78 <string>Display Number:</string> 88 <name>name</name>
79 </property> 89 <cstring>TextLabel3</cstring>
80 </widget> 90 </property>
81 <widget row="2" column="1" rowspan="1" colspan="2" > 91 <property stdset="1">
82 <class>QLineEdit</class> 92 <name>text</name>
83 <property stdset="1"> 93 <string>Password:</string>
84 <name>name</name> 94 </property>
85 <cstring>serverPassword</cstring> 95 </widget>
86 </property> 96 <widget row="4" column="1" rowspan="1" colspan="2" >
87 <property stdset="1"> 97 <class>QLineEdit</class>
88 <name>autoMask</name> 98 <property stdset="1">
89 <bool>true</bool> 99 <name>name</name>
90 </property> 100 <cstring>serverBookmark</cstring>
91 </widget> 101 </property>
92 <widget row="1" column="1" rowspan="1" colspan="2" > 102 </widget>
93 <class>QSpinBox</class> 103 <widget row="4" column="0" >
94 <property stdset="1"> 104 <class>QLabel</class>
95 <name>name</name> 105 <property stdset="1">
96 <cstring>serverDisplay</cstring> 106 <name>name</name>
97 </property> 107 <cstring>TextLabel1_2</cstring>
98 <property stdset="1"> 108 </property>
99 <name>maxValue</name> 109 <property stdset="1">
100 <number>500</number> 110 <name>text</name>
101 </property> 111 <string>Bookmark Name:</string>
102 <property stdset="1"> 112 </property>
103 <name>minValue</name> 113 </widget>
104 <number>0</number> 114 <widget row="0" column="1" rowspan="1" colspan="2" >
105 </property> 115 <class>QLineEdit</class>
116 <property stdset="1">
117 <name>name</name>
118 <cstring>serverHostname</cstring>
119 </property>
120 </widget>
121 <widget row="0" column="0" >
122 <class>QLabel</class>
123 <property stdset="1">
124 <name>name</name>
125 <cstring>hostname</cstring>
126 </property>
127 <property stdset="1">
128 <name>text</name>
129 <string>Host Name:</string>
130 </property>
131 </widget>
132 <widget row="1" column="0" >
133 <class>QLabel</class>
134 <property stdset="1">
135 <name>name</name>
136 <cstring>TextLabel2_2</cstring>
137 </property>
138 <property stdset="1">
139 <name>text</name>
140 <string>Display Number:</string>
141 </property>
142 </widget>
143 <widget row="1" column="1" rowspan="1" colspan="2" >
144 <class>QSpinBox</class>
145 <property stdset="1">
146 <name>name</name>
147 <cstring>serverDisplay</cstring>
148 </property>
149 <property stdset="1">
150 <name>maxValue</name>
151 <number>500</number>
152 </property>
153 <property stdset="1">
154 <name>minValue</name>
155 <number>0</number>
156 </property>
157 <property stdset="1">
158 <name>value</name>
159 <number>0</number>
160 </property>
161 </widget>
162 <spacer row="5" column="2" >
163 <property>
164 <name>name</name>
165 <cstring>Spacer2</cstring>
166 </property>
167 <property stdset="1">
168 <name>orientation</name>
169 <enum>Vertical</enum>
170 </property>
171 <property stdset="1">
172 <name>sizeType</name>
173 <enum>Expanding</enum>
174 </property>
175 <property>
176 <name>sizeHint</name>
177 <size>
178 <width>20</width>
179 <height>20</height>
180 </size>
181 </property>
182 </spacer>
183 </grid>
184 </widget>
185 <widget>
186 <class>QWidget</class>
187 <property stdset="1">
188 <name>name</name>
189 <cstring>tab</cstring>
190 </property>
191 <attribute>
192 <name>title</name>
193 <string>Options</string>
194 </attribute>
195 <vbox>
196 <property stdset="1">
197 <name>margin</name>
198 <number>11</number>
199 </property>
200 <property stdset="1">
201 <name>spacing</name>
202 <number>6</number>
203 </property>
204 <widget>
205 <class>QLabel</class>
206 <property stdset="1">
207 <name>name</name>
208 <cstring>TextLabel1</cstring>
209 </property>
210 <property stdset="1">
211 <name>text</name>
212 <string>Check for screen updates every:</string>
213 </property>
214 </widget>
215 <widget>
216 <class>QLayoutWidget</class>
217 <property stdset="1">
218 <name>name</name>
219 <cstring>Layout2</cstring>
220 </property>
221 <hbox>
106 <property stdset="1"> 222 <property stdset="1">
107 <name>value</name> 223 <name>margin</name>
108 <number>0</number> 224 <number>0</number>
109 </property> 225 </property>
110 </widget>
111 <widget row="0" column="1" rowspan="1" colspan="2" >
112 <class>QLineEdit</class>
113 <property stdset="1">
114 <name>name</name>
115 <cstring>serverHostname</cstring>
116 </property>
117 </widget>
118 <widget row="2" column="0" >
119 <class>QLabel</class>
120 <property stdset="1">
121 <name>name</name>
122 <cstring>TextLabel3</cstring>
123 </property>
124 <property stdset="1"> 226 <property stdset="1">
125 <name>text</name> 227 <name>spacing</name>
126 <string>Password:</string> 228 <number>6</number>
127 </property> 229 </property>
128 </widget> 230 <widget>
129 <widget row="3" column="1" rowspan="1" colspan="2" > 231 <class>QSpinBox</class>
130 <class>QLineEdit</class>
131 <property stdset="1">
132 <name>name</name>
133 <cstring>serverBookmark</cstring>
134 </property>
135 </widget>
136 <widget row="3" column="0" >
137 <class>QLabel</class>
138 <property stdset="1">
139 <name>name</name>
140 <cstring>TextLabel1_2</cstring>
141 </property>
142 <property stdset="1">
143 <name>text</name>
144 <string>Bookmark Name:</string>
145 </property>
146 </widget>
147 <spacer row="5" column="2" >
148 <property>
149 <name>name</name>
150 <cstring>Spacer2</cstring>
151 </property>
152 <property stdset="1">
153 <name>orientation</name>
154 <enum>Vertical</enum>
155 </property>
156 <property stdset="1">
157 <name>sizeType</name>
158 <enum>Expanding</enum>
159 </property>
160 <property>
161 <name>sizeHint</name>
162 <size>
163 <width>20</width>
164 <height>20</height>
165 </size>
166 </property>
167 </spacer>
168 <widget row="4" column="1" >
169 <class>QLayoutWidget</class>
170 <property stdset="1">
171 <name>name</name>
172 <cstring>Layout3</cstring>
173 </property>
174 <hbox>
175 <property stdset="1"> 232 <property stdset="1">
176 <name>margin</name> 233 <name>name</name>
177 <number>0</number> 234 <cstring>timeBox</cstring>
178 </property> 235 </property>
179 <property stdset="1"> 236 <property stdset="1">
180 <name>spacing</name> 237 <name>maxValue</name>
181 <number>6</number> 238 <number>500</number>
182 </property> 239 </property>
183 </hbox> 240 <property stdset="1">
184 </widget> 241 <name>minValue</name>
185 </grid> 242 <number>1</number>
186 </widget> 243 </property>
187 <widget> 244 </widget>
188 <class>QWidget</class> 245 <widget>
189 <property stdset="1"> 246 <class>QLabel</class>
190 <name>name</name> 247 <property stdset="1">
191 <cstring>tab</cstring> 248 <name>name</name>
192 </property> 249 <cstring>TextLabel2</cstring>
193 <attribute> 250 </property>
194 <name>title</name> 251 <property stdset="1">
195 <string>Options</string> 252 <name>text</name>
196 </attribute> 253 <string>Milliseconds</string>
197 <vbox> 254 </property>
255 </widget>
256 </hbox>
257 </widget>
258 <widget>
259 <class>QCheckBox</class>
198 <property stdset="1"> 260 <property stdset="1">
199 <name>margin</name> 261 <name>name</name>
200 <number>11</number> 262 <cstring>bit</cstring>
201 </property> 263 </property>
202 <property stdset="1"> 264 <property stdset="1">
203 <name>spacing</name> 265 <name>text</name>
204 <number>6</number> 266 <string>Request 8-bit session</string>
205 </property> 267 </property>
206 <widget> 268 </widget>
207 <class>QLabel</class> 269 <widget>
208 <property stdset="1"> 270 <class>QCheckBox</class>
209 <name>name</name> 271 <property stdset="1">
210 <cstring>TextLabel1</cstring> 272 <name>name</name>
211 </property> 273 <cstring>deIconify</cstring>
274 </property>
275 <property stdset="1">
276 <name>text</name>
277 <string>Raise on bell</string>
278 </property>
279 </widget>
280 <widget>
281 <class>QCheckBox</class>
282 <property stdset="1">
283 <name>name</name>
284 <cstring>shared</cstring>
285 </property>
286 <property stdset="1">
287 <name>text</name>
288 <string>Request shared session</string>
289 </property>
290 </widget>
291 <widget>
292 <class>QLayoutWidget</class>
293 <property stdset="1">
294 <name>name</name>
295 <cstring>Layout3</cstring>
296 </property>
297 <hbox>
212 <property stdset="1"> 298 <property stdset="1">
213 <name>text</name> 299 <name>margin</name>
214 <string>Check for screen updates every:</string> 300 <number>0</number>
215 </property> 301 </property>
216 </widget>
217 <widget>
218 <class>QLayoutWidget</class>
219 <property stdset="1"> 302 <property stdset="1">
220 <name>name</name> 303 <name>spacing</name>
221 <cstring>Layout2</cstring> 304 <number>6</number>
222 </property> 305 </property>
223 <hbox> 306 <widget>
224 <property stdset="1"> 307 <class>QComboBox</class>
225 <name>margin</name> 308 <item>
226 <number>0</number> 309 <property>
227 </property> 310 <name>text</name>
228 <property stdset="1"> 311 <string>1</string>
229 <name>spacing</name>
230 <number>6</number>
231 </property>
232 <widget>
233 <class>QSpinBox</class>
234 <property stdset="1">
235 <name>name</name>
236 <cstring>timeBox</cstring>
237 </property>
238 <property stdset="1">
239 <name>maxValue</name>
240 <number>500</number>
241 </property>
242 <property stdset="1">
243 <name>minValue</name>
244 <number>1</number>
245 </property> 312 </property>
246 </widget> 313 </item>
247 <widget> 314 <item>
248 <class>QLabel</class> 315 <property>
249 <property stdset="1"> 316 <name>text</name>
250 <name>name</name> 317 <string>2</string>
251 <cstring>TextLabel2</cstring>
252 </property> 318 </property>
253 <property stdset="1"> 319 </item>
320 <item>
321 <property>
254 <name>text</name> 322 <name>text</name>
255 <string>Milliseconds</string> 323 <string>4</string>
256 </property> 324 </property>
257 </widget> 325 </item>
258 </hbox> 326 <property stdset="1">
259 </widget> 327 <name>name</name>
260 <widget> 328 <cstring>scaleFactor</cstring>
261 <class>QCheckBox</class> 329 </property>
262 <property stdset="1"> 330 </widget>
263 <name>name</name> 331 <widget>
264 <cstring>bit</cstring> 332 <class>QLabel</class>
265 </property> 333 <property stdset="1">
266 <property stdset="1"> 334 <name>name</name>
267 <name>text</name> 335 <cstring>TextLabel2_3</cstring>
268 <string>Request 8-bit session</string> 336 </property>
269 </property> 337 <property stdset="1">
270 </widget> 338 <name>text</name>
271 <widget> 339 <string>Scale Factor</string>
272 <class>QCheckBox</class> 340 </property>
273 <property stdset="1"> 341 </widget>
274 <name>name</name> 342 </hbox>
275 <cstring>deIconify</cstring> 343 </widget>
276 </property> 344 <spacer>
277 <property stdset="1"> 345 <property>
278 <name>text</name> 346 <name>name</name>
279 <string>Raise on bell</string> 347 <cstring>Spacer2</cstring>
280 </property> 348 </property>
281 </widget> 349 <property stdset="1">
282 <widget> 350 <name>orientation</name>
283 <class>QCheckBox</class> 351 <enum>Vertical</enum>
284 <property stdset="1"> 352 </property>
285 <name>name</name> 353 <property stdset="1">
286 <cstring>shared</cstring> 354 <name>sizeType</name>
287 </property> 355 <enum>Expanding</enum>
288 <property stdset="1"> 356 </property>
289 <name>text</name> 357 <property>
290 <string>Request shared session</string> 358 <name>sizeHint</name>
291 </property> 359 <size>
292 </widget> 360 <width>20</width>
293 <spacer> 361 <height>20</height>
294 <property> 362 </size>
295 <name>name</name> 363 </property>
296 <cstring>Spacer2</cstring> 364 </spacer>
297 </property> 365 </vbox>
298 <property stdset="1"> 366 </widget>
299 <name>orientation</name> 367 <widget>
300 <enum>Vertical</enum> 368 <class>QWidget</class>
301 </property> 369 <property stdset="1">
302 <property stdset="1"> 370 <name>name</name>
303 <name>sizeType</name> 371 <cstring>tab</cstring>
304 <enum>Expanding</enum> 372 </property>
305 </property> 373 <attribute>
306 <property> 374 <name>title</name>
307 <name>sizeHint</name> 375 <string>Encodings</string>
308 <size> 376 </attribute>
309 <width>20</width> 377 <vbox>
310 <height>20</height> 378 <property stdset="1">
311 </size> 379 <name>margin</name>
312 </property> 380 <number>11</number>
313 </spacer> 381 </property>
314 </vbox>
315 </widget>
316 <widget>
317 <class>QWidget</class>
318 <property stdset="1"> 382 <property stdset="1">
319 <name>name</name> 383 <name>spacing</name>
320 <cstring>tab</cstring> 384 <number>6</number>
321 </property> 385 </property>
322 <attribute> 386 <widget>
323 <name>title</name> 387 <class>QCheckBox</class>
324 <string>Encodings</string>
325 </attribute>
326 <vbox>
327 <property stdset="1"> 388 <property stdset="1">
328 <name>margin</name> 389 <name>name</name>
329 <number>11</number> 390 <cstring>hex</cstring>
330 </property> 391 </property>
331 <property stdset="1"> 392 <property stdset="1">
332 <name>spacing</name> 393 <name>enabled</name>
333 <number>6</number> 394 <bool>false</bool>
334 </property> 395 </property>
335 <widget> 396 <property stdset="1">
336 <class>QCheckBox</class> 397 <name>text</name>
337 <property stdset="1"> 398 <string>Hextile encoding</string>
338 <name>name</name> 399 </property>
339 <cstring>hex</cstring> 400 </widget>
340 </property> 401 <widget>
341 <property stdset="1"> 402 <class>QCheckBox</class>
342 <name>enabled</name> 403 <property stdset="1">
343 <bool>false</bool> 404 <name>name</name>
344 </property> 405 <cstring>corre</cstring>
345 <property stdset="1"> 406 </property>
346 <name>text</name> 407 <property stdset="1">
347 <string>Hextile encoding</string> 408 <name>enabled</name>
348 </property> 409 <bool>false</bool>
349 </widget> 410 </property>
350 <widget> 411 <property stdset="1">
351 <class>QCheckBox</class> 412 <name>text</name>
352 <property stdset="1"> 413 <string>CoRRE encoding</string>
353 <name>name</name> 414 </property>
354 <cstring>corre</cstring> 415 </widget>
355 </property> 416 <widget>
356 <property stdset="1"> 417 <class>QCheckBox</class>
357 <name>enabled</name> 418 <property stdset="1">
358 <bool>false</bool> 419 <name>name</name>
359 </property> 420 <cstring>rre</cstring>
360 <property stdset="1"> 421 </property>
361 <name>text</name> 422 <property stdset="1">
362 <string>CoRRE encoding</string> 423 <name>enabled</name>
363 </property> 424 <bool>false</bool>
364 </widget> 425 </property>
365 <widget> 426 <property stdset="1">
366 <class>QCheckBox</class> 427 <name>text</name>
367 <property stdset="1"> 428 <string>RRE encoding</string>
368 <name>name</name> 429 </property>
369 <cstring>rre</cstring> 430 </widget>
370 </property> 431 <widget>
371 <property stdset="1"> 432 <class>QCheckBox</class>
372 <name>enabled</name> 433 <property stdset="1">
373 <bool>false</bool> 434 <name>name</name>
374 </property> 435 <cstring>copyRect</cstring>
375 <property stdset="1"> 436 </property>
376 <name>text</name> 437 <property stdset="1">
377 <string>RRE encoding</string> 438 <name>text</name>
378 </property> 439 <string>Copy rectangle encoding</string>
379 </widget> 440 </property>
380 <widget> 441 </widget>
381 <class>QCheckBox</class> 442 <spacer>
382 <property stdset="1"> 443 <property>
383 <name>name</name> 444 <name>name</name>
384 <cstring>copyRect</cstring> 445 <cstring>Spacer3</cstring>
385 </property> 446 </property>
386 <property stdset="1"> 447 <property stdset="1">
387 <name>text</name> 448 <name>orientation</name>
388 <string>Copy rectangle encoding</string> 449 <enum>Vertical</enum>
389 </property> 450 </property>
390 </widget> 451 <property stdset="1">
391 <spacer> 452 <name>sizeType</name>
392 <property> 453 <enum>Expanding</enum>
393 <name>name</name> 454 </property>
394 <cstring>Spacer3</cstring> 455 <property>
395 </property> 456 <name>sizeHint</name>
396 <property stdset="1"> 457 <size>
397 <name>orientation</name> 458 <width>20</width>
398 <enum>Vertical</enum> 459 <height>20</height>
399 </property> 460 </size>
400 <property stdset="1"> 461 </property>
401 <name>sizeType</name> 462 </spacer>
402 <enum>Expanding</enum> 463 </vbox>
403 </property>
404 <property>
405 <name>sizeHint</name>
406 <size>
407 <width>20</width>
408 <height>20</height>
409 </size>
410 </property>
411 </spacer>
412 </vbox>
413 </widget>
414 </widget> 464 </widget>
415 </vbox> 465 </widget>
416</widget> 466</widget>
417<tabstops> 467<tabstops>
418 <tabstop>TabWidget3</tabstop> 468 <tabstop>TabWidget3</tabstop>
419 <tabstop>serverHostname</tabstop> 469 <tabstop>serverHostname</tabstop>