summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/comm/keypebble/krfbbuffer.cpp11
-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.ui180
12 files changed, 172 insertions, 75 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
@@ -7,4 +7,6 @@
#include "krfbdecoder.h"
#include "krfbbuffer.h"
+#include "krfbconnection.h"
+#include "krfbserver.h"
#include "krfbserverinfo.h"
@@ -87,4 +89,5 @@ void KRFBBuffer::drawRawRectChunk( void *data,
QImage img( w, h, 32 );
+ int scaleFactor=decoder->con->options()->scaleFactor;
int redMax = Swap16IfLE( decoder->format->redMax );
int greenMax = Swap16IfLE( decoder->format->greenMax );
@@ -98,4 +101,5 @@ void KRFBBuffer::drawRawRectChunk( void *data,
uint r,g,b;
+
for ( int j = 0; j < h; j++ ) {
for ( int i = 0; i < w ; i++ ) {
@@ -188,7 +192,12 @@ void KRFBBuffer::drawRawRectChunk( void *data,
}
+ if (scaleFactor > 1) {
+ p.drawImage( x/scaleFactor, y/scaleFactor, img.smoothScale(w/scaleFactor,h/scaleFactor) );
+ emit updated( x/scaleFactor, y/scaleFactor, w/scaleFactor, h/scaleFactor );
+ }
+ else {
p.drawImage( x, y, img );
-
emit updated( x, y, w, h );
}
+}
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
@@ -23,5 +23,6 @@ KRFBCanvas::KRFBCanvas( QWidget *parent, const char *name )
loggedIn_ = false;
- QPEApplication::setStylusOperation(viewport(), QPEApplication::RightOnHold);
+
+ //QPEApplication::setStylusOperation(viewport(), QPEApplication::RightOnHold);
viewport()->setFocusPolicy( QWidget::StrongFocus );
@@ -105,4 +106,6 @@ void KRFBCanvas::viewportPaintEvent( QPaintEvent *e )
if ( loggedIn_ ) {
+ QPixmap p;
+
bitBlt( viewport(), r.x(), r.y(),
connection_->buffer()->pixmap(),
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
@@ -196,5 +196,5 @@ void KRFBDecoder::gotServerInit()
info->redShift, info->greenShift,info-> blueShift );
- buf->resize( info->width, info->height );
+ buf->resize( info->width/con->options()->scaleFactor, info->height /con->options()->scaleFactor);
// Wait for desktop name
@@ -643,6 +643,7 @@ void KRFBDecoder::sendMouseEvent( QMouseEvent *e )
}
- CARD16 x = Swap16IfLE( e->x() );
- CARD16 y = Swap16IfLE( e->y() );
+ // HACK: Scaling
+ CARD16 x = Swap16IfLE( e->x() * con->options()->scaleFactor );
+ CARD16 y = Swap16IfLE( e->y() * con->options()->scaleFactor );
con->write( &PointerEventId, 1 );
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
@@ -99,4 +99,7 @@ signals:
void status( const QString & );
+protected:
+ /** The connection to the server. */
+ KRFBConnection *con;
private:
State currentState;
@@ -119,6 +122,4 @@ private:
/** Where we draw the data (and the source of our events). */
KRFBBuffer *buf;
- /** The connection to the server. */
- KRFBConnection *con;
/** Info about the RFB server. */
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
@@ -10,4 +10,6 @@ KRFBServer::KRFBServer()
display=0;
+ scaleFactor=1;
+
hexTile=0;
corre=0;
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
@@ -30,4 +30,5 @@ public:
int updateRate;
+ int scaleFactor;
};
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
@@ -73,4 +73,5 @@ KVNC::KVNC( const char *name ) : QMainWindow( 0, name )
setCentralWidget( stack );
+
connect( bookmarkSelector->bookmarkList, SIGNAL(doubleClicked(QListBoxItem *)),
this, SLOT(openConnection(QListBoxItem *)) );
@@ -93,5 +94,8 @@ KVNC::KVNC( const char *name ) : QMainWindow( 0, name )
- QPEToolBar *bar = new QPEToolBar( this );
+ bar= new QToolBar( this );
+ setToolBarsMovable( false );
+ setRightJustification(false);
+
QAction *n = new QAction( tr( "New Connection" ), Resource::loadPixmap( "new" ),
@@ -236,4 +240,5 @@ void KVNC::connected()
fullScreenAction->setEnabled( true );
stack->raiseWidget(canvas);
+ bar->hide();
}
@@ -255,4 +260,5 @@ void KVNC::disconnected()
fullScreenAction->setEnabled( false );
stack->raiseWidget(bookmarkSelector);
+ bar->show();
}
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
@@ -5,5 +5,5 @@
#include <qmainwindow.h>
-#include <qurl.h>
+#include <qtoolbar.h>
#include <qwidgetstack.h>
#include "kvncbookmarkdlg.h"
@@ -58,4 +58,5 @@ private:
QAction *ctlAltDelAction;;
QAction *connectAction;
+ QToolBar * bar;
KVNCBookmarkDlg * bookmarkSelector;
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
@@ -162,4 +162,6 @@ void KVNCBookmarkDlg::readBookmarks(void)
else if (key=="updaterate")
server->updateRate=val.toInt();
+ else if (key=="scalefactor")
+ server->scaleFactor=val.toInt();
}
@@ -201,4 +203,5 @@ void KVNCBookmarkDlg::writeBookmarks(void)
t << "\tdeiconify=" << server->deIconify << '\n';
t << "\tupdaterate=" << server->updateRate << '\n';
+ t << "\tscalefactor=" << server->scaleFactor << '\n';
}
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
@@ -2,4 +2,5 @@
#include <qvbox.h>
#include <qcheckbox.h>
+#include <qcombobox.h>
#include <qspinbox.h>
#include <qlabel.h>
@@ -30,4 +31,10 @@ KVNCConnDlg::KVNCConnDlg( KRFBServer *options,
copyRect->setChecked( options->copyrect );
+ for (int i=0; i < scaleFactor->count(); ++i) {
+ if (scaleFactor->text(i).toInt()==tmpOptions.scaleFactor) {
+ scaleFactor->setCurrentItem(i);
+ }
+ }
+
// TODO
hex->setEnabled( false );
@@ -41,7 +48,10 @@ KVNCConnDlg::KVNCConnDlg( KRFBServer *options,
timeBox->setValue( options->updateRate );
+ serverPassword->setEchoMode(QLineEdit::Password);
+
+ connect(togglePassword, SIGNAL( stateChanged(int) ), this, SLOT( showPassword(int) ) );
-}
+}
KVNCConnDlg::~KVNCConnDlg()
{
@@ -67,4 +77,5 @@ void KVNCConnDlg::save()
tmpOptions.display = serverDisplay->value();
tmpOptions.name = serverBookmark->text();
+ tmpOptions.scaleFactor = scaleFactor->currentText().toInt();
if (!serverBookmark->text().isEmpty()) {
@@ -74,2 +85,10 @@ void KVNCConnDlg::save()
}
}
+
+void KVNCConnDlg::showPassword(int show)
+{
+ if (show)
+ serverPassword->setEchoMode(QLineEdit::Normal);
+ else
+ serverPassword->setEchoMode(QLineEdit::Password);
+}
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
@@ -21,4 +21,5 @@ class KVNCConnDlg : public KVNCConnDlgBase
private slots:
void save();
+ void showPassword(int);
private:
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
@@ -12,6 +12,6 @@
<x>0</x>
<y>0</y>
- <width>984</width>
- <height>676</height>
+ <width>260</width>
+ <height>242</height>
</rect>
</property>
@@ -23,13 +23,4 @@
<name>layoutMargin</name>
</property>
- <vbox>
- <property stdset="1">
- <name>margin</name>
- <number>0</number>
- </property>
- <property stdset="1">
- <name>spacing</name>
- <number>6</number>
- </property>
<widget>
<class>QTabWidget</class>
@@ -38,4 +29,13 @@
<cstring>TabWidget3</cstring>
</property>
+ <property stdset="1">
+ <name>geometry</name>
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>266</width>
+ <height>233</height>
+ </rect>
+ </property>
<widget>
<class>QWidget</class>
@@ -57,54 +57,57 @@
<number>6</number>
</property>
- <widget row="0" column="0" >
- <class>QLabel</class>
+ <widget row="2" column="1" rowspan="1" colspan="2" >
+ <class>QLineEdit</class>
<property stdset="1">
<name>name</name>
- <cstring>hostname</cstring>
+ <cstring>serverPassword</cstring>
</property>
<property stdset="1">
- <name>text</name>
- <string>Host Name:</string>
+ <name>autoMask</name>
+ <bool>true</bool>
+ </property>
+ <property stdset="1">
+ <name>echoMode</name>
+ <enum>Password</enum>
</property>
</widget>
- <widget row="1" column="0" >
- <class>QLabel</class>
+ <widget row="3" column="1" >
+ <class>QCheckBox</class>
<property stdset="1">
<name>name</name>
- <cstring>TextLabel2_2</cstring>
+ <cstring>togglePassword</cstring>
</property>
<property stdset="1">
<name>text</name>
- <string>Display Number:</string>
+ <string>Show Password</string>
</property>
</widget>
- <widget row="2" column="1" rowspan="1" colspan="2" >
- <class>QLineEdit</class>
+ <widget row="2" column="0" >
+ <class>QLabel</class>
<property stdset="1">
<name>name</name>
- <cstring>serverPassword</cstring>
+ <cstring>TextLabel3</cstring>
</property>
<property stdset="1">
- <name>autoMask</name>
- <bool>true</bool>
+ <name>text</name>
+ <string>Password:</string>
</property>
</widget>
- <widget row="1" column="1" rowspan="1" colspan="2" >
- <class>QSpinBox</class>
+ <widget row="4" column="1" rowspan="1" colspan="2" >
+ <class>QLineEdit</class>
<property stdset="1">
<name>name</name>
- <cstring>serverDisplay</cstring>
- </property>
- <property stdset="1">
- <name>maxValue</name>
- <number>500</number>
+ <cstring>serverBookmark</cstring>
</property>
+ </widget>
+ <widget row="4" column="0" >
+ <class>QLabel</class>
<property stdset="1">
- <name>minValue</name>
- <number>0</number>
+ <name>name</name>
+ <cstring>TextLabel1_2</cstring>
</property>
<property stdset="1">
- <name>value</name>
- <number>0</number>
+ <name>text</name>
+ <string>Bookmark Name:</string>
</property>
</widget>
@@ -116,31 +119,43 @@
</property>
</widget>
- <widget row="2" column="0" >
+ <widget row="0" column="0" >
<class>QLabel</class>
<property stdset="1">
<name>name</name>
- <cstring>TextLabel3</cstring>
+ <cstring>hostname</cstring>
</property>
<property stdset="1">
<name>text</name>
- <string>Password:</string>
+ <string>Host Name:</string>
</property>
</widget>
- <widget row="3" column="1" rowspan="1" colspan="2" >
- <class>QLineEdit</class>
+ <widget row="1" column="0" >
+ <class>QLabel</class>
<property stdset="1">
<name>name</name>
- <cstring>serverBookmark</cstring>
+ <cstring>TextLabel2_2</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Display Number:</string>
</property>
</widget>
- <widget row="3" column="0" >
- <class>QLabel</class>
+ <widget row="1" column="1" rowspan="1" colspan="2" >
+ <class>QSpinBox</class>
<property stdset="1">
<name>name</name>
- <cstring>TextLabel1_2</cstring>
+ <cstring>serverDisplay</cstring>
</property>
<property stdset="1">
- <name>text</name>
- <string>Bookmark Name:</string>
+ <name>maxValue</name>
+ <number>500</number>
+ </property>
+ <property stdset="1">
+ <name>minValue</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>value</name>
+ <number>0</number>
</property>
</widget>
@@ -166,21 +181,4 @@
</property>
</spacer>
- <widget row="4" column="1" >
- <class>QLayoutWidget</class>
- <property stdset="1">
- <name>name</name>
- <cstring>Layout3</cstring>
- </property>
- <hbox>
- <property stdset="1">
- <name>margin</name>
- <number>0</number>
- </property>
- <property stdset="1">
- <name>spacing</name>
- <number>6</number>
- </property>
- </hbox>
- </widget>
</grid>
</widget>
@@ -291,4 +289,57 @@
</property>
</widget>
+ <widget>
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout3</cstring>
+ </property>
+ <hbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>6</number>
+ </property>
+ <widget>
+ <class>QComboBox</class>
+ <item>
+ <property>
+ <name>text</name>
+ <string>1</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>2</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>4</string>
+ </property>
+ </item>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>scaleFactor</cstring>
+ </property>
+ </widget>
+ <widget>
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TextLabel2_3</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Scale Factor</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
<spacer>
<property>
@@ -413,5 +464,4 @@
</widget>
</widget>
- </vbox>
</widget>
<tabstops>