summaryrefslogtreecommitdiff
authormickeyl <mickeyl>2003-10-27 19:06:54 (UTC)
committer mickeyl <mickeyl>2003-10-27 19:06:54 (UTC)
commitf0a15a9866f9eddfe10596e63a1e6300b92b9e3f (patch) (side-by-side diff)
tree8e2829bdd6ba17db418fa5ef19b3e7a06f4003e2
parentdf9d9d818c9667ba8e614e5c09f0e121e9225dfd (diff)
downloadopie-f0a15a9866f9eddfe10596e63a1e6300b92b9e3f.zip
opie-f0a15a9866f9eddfe10596e63a1e6300b92b9e3f.tar.gz
opie-f0a15a9866f9eddfe10596e63a1e6300b92b9e3f.tar.bz2
merge noncore/comm/*
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/comm/keypebble/keypebble.pro8
-rw-r--r--noncore/comm/keypebble/krfbdecoder.cpp7
-rw-r--r--noncore/comm/keypebble/kvnc.cpp2
-rw-r--r--noncore/comm/keypebble/kvnc.h3
-rw-r--r--noncore/comm/keypebble/main.cpp11
5 files changed, 15 insertions, 16 deletions
diff --git a/noncore/comm/keypebble/keypebble.pro b/noncore/comm/keypebble/keypebble.pro
index 7af60f9..b3cb172 100644
--- a/noncore/comm/keypebble/keypebble.pro
+++ b/noncore/comm/keypebble/keypebble.pro
@@ -1,55 +1,55 @@
-TEMPLATE = app
-CONFIG += qt warn_on release
-DESTDIR = $(OPIEDIR)/bin
+CONFIG += qt warn_on release quick-app
HEADERS = d3des.h \
krfbbuffer.h \
krfbcanvas.h \
krfbconnection.h \
krfbdecoder.h \
krfblogin.h \
krfbserver.h \
krfbserverinfo.h \
kvnc.h \
kvncconndlg.h \
kvncbookmarkdlg.h \
vncauth.h
SOURCES = d3des.c \
vncauth.c \
krfbbuffer.cpp \
krfbcanvas.cpp \
krfbconnection.cpp \
krfbdecoder.cpp \
krfblogin.cpp \
krfbserver.cpp \
kvnc.cpp \
kvncconndlg.cpp \
kvncbookmarkdlg.cpp \
main.cpp
INTERFACES = kvncconndlgbase.ui \
kvncbookmarkdlgbase.ui
-TARGET = keypebble
+
INCLUDEPATH += $(OPIEDIR)/include
DEPENDPATH += $(OPIEDIR)/include
LIBS += -lqpe
+TARGET = keypebble
+
TRANSLATIONS = ../../../i18n/de/keypebble.ts \
../../../i18n/nl/keypebble.ts \
../../../i18n/da/keypebble.ts \
../../../i18n/xx/keypebble.ts \
../../../i18n/en/keypebble.ts \
../../../i18n/es/keypebble.ts \
../../../i18n/fr/keypebble.ts \
../../../i18n/hu/keypebble.ts \
../../../i18n/ja/keypebble.ts \
../../../i18n/ko/keypebble.ts \
../../../i18n/no/keypebble.ts \
../../../i18n/pl/keypebble.ts \
../../../i18n/pt/keypebble.ts \
../../../i18n/pt_BR/keypebble.ts \
../../../i18n/sl/keypebble.ts \
../../../i18n/zh_CN/keypebble.ts \
../../../i18n/zh_TW/keypebble.ts
include ( $(OPIEDIR)/include.pro )
diff --git a/noncore/comm/keypebble/krfbdecoder.cpp b/noncore/comm/keypebble/krfbdecoder.cpp
index 33418ae..dc90d9c 100644
--- a/noncore/comm/keypebble/krfbdecoder.cpp
+++ b/noncore/comm/keypebble/krfbdecoder.cpp
@@ -289,97 +289,97 @@ void KRFBDecoder::decidePixelFormat()
format->blueShift = info->blueShift;
}
else {
if ( chosenDepth == 8 ) {
format->bpp = 8;
format->bigEndian = true;
format->trueColor = true;
format->redMax = 7;
format->greenMax = 7;
format->blueMax = 3;
format->redShift = 0;
format->greenShift = 3;
format->blueShift = 6;
}
}
format->redMax = Swap16IfLE( format->redMax );
format->greenMax = Swap16IfLE( format->greenMax );
format->blueMax = Swap16IfLE( format->blueMax );
}
void KRFBDecoder::sendPixelFormat()
{
static char padding[3];
con->write( &SetPixelFormatId, 1 );
con->write( padding, 3 );
con->write( &(format->bpp), 1 );
con->write( &(format->depth), 1 );
con->write( &(format->bigEndian), 1 );
con->write( &(format->trueColor), 1 );
con->write( &(format->redMax), 2 );
con->write( &(format->greenMax), 2 );
con->write( &(format->blueMax), 2 );
con->write( &(format->redShift), 1 );
con->write( &(format->greenShift), 1 );
con->write( &(format->blueShift), 1 );
con->write( format->padding, 3 ); // Padding
}
void KRFBDecoder::sendAllowedEncodings()
{
static CARD8 padding[1];
con->write( &SetEncodingsId, 1 );
con->write( padding, 1 );
- static CARD16 noEncodings = con->options()->encodings();
+ CARD16 noEncodings = con->options()->encodings();
noEncodings = Swap16IfLE( noEncodings );
con->write( &noEncodings, 2 );
if ( con->options()->corre )
con->write( &CorreEncoding, 4 );
if ( con->options()->hexTile )
con->write( &HexTileEncoding, 4 );
if ( con->options()->rre )
con->write( &RreEncoding, 4 );
if ( con->options()->copyrect )
con->write( &CopyRectEncoding, 4 );
// We always support this
con->write( &RawEncoding, 4 );
}
void KRFBDecoder::sendUpdateRequest( bool incremental )
{
if ( currentState != Idle )
return;
con->write( &UpdateRequestId, 1 );
con->write( &incremental, 1 );
static CARD16 x = 0, y = 0;
static CARD16 w = Swap16IfLE( info->width );
static CARD16 h = Swap16IfLE( info->height );
con->write( &x, 2 );
con->write( &y, 2 );
con->write( &w, 2 );
con->write( &h, 2 );
// Now wait for the update
currentState = AwaitingUpdate;
connect( con, SIGNAL( gotEnoughData() ), SLOT( gotUpdateHeader() ) );
con->waitForData( UpdateHeaderLength );
}
void KRFBDecoder::gotUpdateHeader()
{
assert( currentState == AwaitingUpdate );
// qWarning( "Got update header" );
disconnect( con, SIGNAL( gotEnoughData() ),
this, SLOT( gotUpdateHeader() ) );
CARD8 msgType;
@@ -514,98 +514,101 @@ void KRFBDecoder::getRawRectChunk( int lines )
this->lines = lines;
CARD32 count = lines * w * format->bpp / 8;
// Wait for server init
// qWarning( "Waiting for raw rect chunk, %ld", count );
currentState = AwaitingRawRectChunk;
connect( con, SIGNAL( gotEnoughData() ), SLOT( gotRawRectChunk() ) );
con->waitForData( count );
}
void KRFBDecoder::gotRawRectChunk()
{
assert( currentState == AwaitingRawRectChunk );
disconnect( con, SIGNAL( gotEnoughData() ),
this, SLOT( gotRawRectChunk() ) );
// qWarning( "Got raw rect chunk" );
//
// Read the rect data and copy it to the buffer.
//
// TODO: Replace this!
int count = lines * w * format->bpp / 8;
char *hack = new char[ count ];
con->read( hack, count );
buf->drawRawRectChunk( hack, x, y, w, lines );
delete hack;
// /TODO:
h = h - lines;
y = y + lines;
if ( h > 0 ) {
handleRawRect();
}
else {
noRects--;
// qWarning( "There are %d rects left", noRects );
if ( noRects ) {
currentState = AwaitingRectHeader;
connect( con, SIGNAL( gotEnoughData() ), SLOT( gotRectHeader() ) );
con->waitForData( RectHeaderLength );
}
- else
+ else {
+ // we are now ready for the next update - no need to wait for the timer
currentState = Idle;
+ sendUpdateRequest (1);
+ }
}
}
//
// Copy Rectangle Encoding
//
void KRFBDecoder::handleCopyRect()
{
currentState = AwaitingCopyRectPos;
connect( con, SIGNAL( gotEnoughData() ), SLOT( gotCopyRectPos() ) );
con->waitForData( CopyRectPosLength );
}
void KRFBDecoder::gotCopyRectPos()
{
disconnect( con, SIGNAL( gotEnoughData() ),
this, SLOT( gotCopyRectPos() ) );
CARD16 srcX;
CARD16 srcY;
con->read( &srcX, 2 );
con->read( &srcY, 2 );
srcX = Swap16IfLE( srcX );
srcY = Swap16IfLE( srcY );
buf->copyRect( srcX, srcY, x, y, w, h );
noRects--;
// qWarning( "There are %d rects left", noRects );
if ( noRects ) {
currentState = AwaitingRectHeader;
connect( con, SIGNAL( gotEnoughData() ), SLOT( gotRectHeader() ) );
con->waitForData( RectHeaderLength );
}
else
currentState = Idle;
}
void KRFBDecoder::handleRRERect()
{
qWarning( "RRE not implemented" );
}
diff --git a/noncore/comm/keypebble/kvnc.cpp b/noncore/comm/keypebble/kvnc.cpp
index 48a442c..c89dec5 100644
--- a/noncore/comm/keypebble/kvnc.cpp
+++ b/noncore/comm/keypebble/kvnc.cpp
@@ -11,97 +11,97 @@
#include <qtimer.h>
#include <qmessagebox.h>
#include <qspinbox.h>
#include <qlistbox.h>
#include <qlineedit.h>
#include <qpe/qpeapplication.h>
#include <qpe/global.h>
#include <qpe/qpetoolbar.h>
#include <qpe/resource.h>
#include <assert.h>
#include "kvnc.h"
#include "krfbcanvas.h"
#include "krfbconnection.h"
#include "kvncconndlg.h"
#include "krfbserver.h"
static int u_id = 1;
static int get_unique_id()
{
return u_id++;
}
/* XPM */
static char * menu_xpm[] = {
"12 12 5 1",
" c None",
". c #000000",
"+ c #FFFDAD",
"@ c #FFFF00",
"# c #E5E100",
" ",
" ",
" ......... ",
" .+++++++. ",
" .+@@@@#. ",
" .+@@@#. ",
" .+@@#. ",
" .+@#. ",
" .+#. ",
" .+. ",
" .. ",
" "};
const int StatusTextId = 0;
-KVNC::KVNC( const char *name ) : QMainWindow( 0, name ,WStyle_ContextHelp)
+KVNC::KVNC( QWidget *parent, const char *name, WFlags f) : QMainWindow( 0, name ,WStyle_ContextHelp)
{
setCaption( tr("VNC Viewer") );
fullscreen = false;
stack = new QWidgetStack( this );
setCentralWidget( stack );
bookmarkSelector=new KVNCBookmarkDlg();
stack->addWidget(bookmarkSelector,get_unique_id());
stack->raiseWidget( bookmarkSelector );
canvas = new KRFBCanvas( stack, "canvas" );
stack->addWidget(canvas,get_unique_id());
setCentralWidget( stack );
connect( bookmarkSelector->bookmarkList, SIGNAL(clicked(QListBoxItem *)),
this, SLOT(openConnection(QListBoxItem *)) );
connect( canvas->connection(), SIGNAL(statusChanged(const QString &)),
this, SLOT(statusMessage(const QString &)) );
connect( canvas->connection(), SIGNAL(error(const QString &)),
this, SLOT(error(const QString &)) );
connect( canvas->connection(), SIGNAL(connected()), this, SLOT(connected()) );
connect( canvas->connection(), SIGNAL(loggedIn()), this, SLOT(loggedIn()) );
connect( canvas->connection(), SIGNAL(disconnected()), this, SLOT(disconnected()) );
setupActions();
cornerButton = new QPushButton( this );
cornerButton->setPixmap( QPixmap( (const char**)menu_xpm ) );
connect( cornerButton, SIGNAL(pressed()), this, SLOT(showMenu()) );
canvas->setCornerWidget( cornerButton );
stack->raiseWidget( bookmarkSelector );
bar= new QToolBar( this );
setToolBarsMovable( false );
setRightJustification(false);
QAction *n = new QAction( tr( "New Connection" ), Resource::loadPixmap( "new" ),
QString::null, 0, this, 0 );
connect( n, SIGNAL( activated() ),
this, SLOT( newConnection() ) );
n->addTo( bar );
QAction *o = new QAction( tr( "Open Bookmark" ), Resource::loadPixmap( "fileopen" ),
diff --git a/noncore/comm/keypebble/kvnc.h b/noncore/comm/keypebble/kvnc.h
index 51c7151..7b7cc91 100644
--- a/noncore/comm/keypebble/kvnc.h
+++ b/noncore/comm/keypebble/kvnc.h
@@ -1,69 +1,70 @@
// -*- c++ -*-
#ifndef KVNC_H
#define KVNC_H
#include <qmainwindow.h>
#include <qtoolbar.h>
#include <qwidgetstack.h>
#include "kvncbookmarkdlg.h"
class QAction;
class KRFBCanvas;
class QPushButton;
class QToolBar;
/**
* Top level window for Keystone.
*
* @author Richard Moore, rich@kde.org
* @version $Id$
*/
class KVNC : public QMainWindow
{
Q_OBJECT
public:
- KVNC( const char *name = 0 );
+ KVNC( QWidget *parent = 0, const char *name = 0, WFlags f = 0 );
~KVNC();
public slots:
void newConnection();
void deleteBookmark();
void openConnection(QListBoxItem *);
void openConnection(QString);
void openConnection(void);
void toggleFullScreen();
void closeConnection();
+ static QString appName() { return QString::fromLatin1("keypebble"); }
protected:
void setupActions();
protected slots:
void showMenu();
void connected();
void loggedIn();
void disconnected();
void statusMessage( const QString & );
void error( const QString & );
private:
bool fullscreen;
KRFBCanvas *canvas;
QPopupMenu *cornerMenu;
QPushButton *cornerButton;
QAction *fullScreenAction;
QAction *optionsAction;
QAction *disconnectAction;
QAction *ctlAltDelAction;;
QAction *connectAction;
QAction *rightClickAction;
QAction *doubleClickAction;
QToolBar * bar;
KVNCBookmarkDlg * bookmarkSelector;
QWidgetStack * stack;
KRFBServer * curServer;
};
#endif // KVNC_H
diff --git a/noncore/comm/keypebble/main.cpp b/noncore/comm/keypebble/main.cpp
index bc7782c..11f67fc 100644
--- a/noncore/comm/keypebble/main.cpp
+++ b/noncore/comm/keypebble/main.cpp
@@ -1,15 +1,10 @@
-#include <qurl.h>
+
#include <qpe/qpeapplication.h>
#include "kvnc.h"
+#include <opie/oapplicationfactory.h>
-int main( int argc, char **argv )
-{
- QPEApplication app( argc, argv );
- KVNC *view = new KVNC( "Keypebble" );
- app.showMainWidget( view );
- return app.exec();
-}
+OPIE_EXPORT_APP( OApplicationFactory<KVNC> )