File: remotectrlimpl.cpp

package info (click to toggle)
qt-x11-free 3%3A3.3.8b-7
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 82,260 kB
  • ctags: 72,611
  • sloc: cpp: 456,781; ansic: 129,082; sh: 11,455; yacc: 2,947; xml: 766; makefile: 566; perl: 495; lex: 458; sql: 29; lisp: 13
file content (50 lines) | stat: -rw-r--r-- 1,143 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include "remotectrlimpl.h"

#include <qpushbutton.h>
#include <qlineedit.h>
#include <qsocket.h>
#include <qfiledialog.h>
#include <qcolordialog.h>
#include <qimage.h>

RemoteCtrlImpl::RemoteCtrlImpl( QSocket *s )
{
    socket = s;
    connect( sImage, SIGNAL(clicked()), SLOT(sendImage()) );
    connect( sText, SIGNAL(clicked()), SLOT(sendText()) );
    connect( sPalette, SIGNAL(clicked()), SLOT(sendPalette()) );
}

void RemoteCtrlImpl::sendPacket( const QVariant &v )
{
    QByteArray ba;
    QDataStream varDs( ba, IO_WriteOnly );
    varDs << v;

    QDataStream ds( socket );
    ds << (Q_UINT32) ba.size();
    socket->writeBlock( ba.data(), ba.size() );
}

void RemoteCtrlImpl::sendImage()
{
    QString imageName = QFileDialog::getOpenFileName( QString::null,
	    "Images (*.png *.xpm *.jpg)", this );
    QImage image( imageName );
    if ( !image.isNull() ) {
	sendPacket( image );
    }
}

void RemoteCtrlImpl::sendText()
{
    sendPacket( textToSend->text() );
}

void RemoteCtrlImpl::sendPalette()
{
    QColor col = QColorDialog::getColor( white, this );
    if ( col.isValid() ) {
	sendPacket( QPalette(col,col) );
    }
}