source: trunk/examples/network/remotecontrol/remotectrlimpl.cpp

Last change on this file was 2, checked in by dmik, 20 years ago

Imported xplatform parts of the official release 3.3.1 from Trolltech

  • Property svn:keywords set to Id
File size: 1.2 KB
Line 
1#include "remotectrlimpl.h"
2
3#include <qpushbutton.h>
4#include <qlineedit.h>
5#include <qsocket.h>
6#include <qfiledialog.h>
7#include <qcolordialog.h>
8#include <qimage.h>
9
10RemoteCtrlImpl::RemoteCtrlImpl( QSocket *s )
11{
12 socket = s;
13 connect( sImage, SIGNAL(clicked()), SLOT(sendImage()) );
14 connect( sText, SIGNAL(clicked()), SLOT(sendText()) );
15 connect( sPalette, SIGNAL(clicked()), SLOT(sendPalette()) );
16}
17
18void RemoteCtrlImpl::sendPacket( const QVariant &v )
19{
20 QByteArray ba;
21 QDataStream varDs( ba, IO_WriteOnly );
22 varDs << v;
23
24 QDataStream ds( socket );
25 ds << (Q_UINT32) ba.size();
26 socket->writeBlock( ba.data(), ba.size() );
27}
28
29void RemoteCtrlImpl::sendImage()
30{
31 QString imageName = QFileDialog::getOpenFileName( QString::null,
32 "Images (*.png *.xpm *.jpg)", this );
33 QImage image( imageName );
34 if ( !image.isNull() ) {
35 sendPacket( image );
36 }
37}
38
39void RemoteCtrlImpl::sendText()
40{
41 sendPacket( textToSend->text() );
42}
43
44void RemoteCtrlImpl::sendPalette()
45{
46 QColor col = QColorDialog::getColor( white, this );
47 if ( col.isValid() ) {
48 sendPacket( QPalette(col,col) );
49 }
50}
Note: See TracBrowser for help on using the repository browser.