summaryrefslogtreecommitdiff
path: root/core/applets/clipboardapplet/clipboard.cpp
Unidiff
Diffstat (limited to 'core/applets/clipboardapplet/clipboard.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/applets/clipboardapplet/clipboard.cpp80
1 files changed, 80 insertions, 0 deletions
diff --git a/core/applets/clipboardapplet/clipboard.cpp b/core/applets/clipboardapplet/clipboard.cpp
new file mode 100644
index 0000000..57beffc
--- a/dev/null
+++ b/core/applets/clipboardapplet/clipboard.cpp
@@ -0,0 +1,80 @@
1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved.
3**
4** This file is part of Qtopia Environment.
5**
6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file.
10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15**
16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you.
18**
19**********************************************************************/
20
21#include "clipboard.h"
22
23#include <qpe/resource.h>
24
25#include <qpainter.h>
26#include <qpopupmenu.h>
27#include <qwindowsystem_qws.h>
28
29
30//===========================================================================
31
32ClipboardApplet::ClipboardApplet( QWidget *parent, const char *name )
33 : QWidget( parent, name )
34{
35 setFixedWidth( 14 );
36 clipboardPixmap = Resource::loadPixmap( "clipboard" );
37 menu = 0;
38}
39
40ClipboardApplet::~ClipboardApplet()
41{
42}
43
44void ClipboardApplet::mousePressEvent( QMouseEvent *)
45{
46 if ( !menu ) {
47 menu = new QPopupMenu(this);
48 menu->insertItem(tr("Cut"));
49 menu->insertItem(tr("Copy"));
50 menu->insertItem(tr("Paste"));
51 connect(menu, SIGNAL(selected(int)), this, SLOT(action(int)));
52 }
53 menu->popup(mapToGlobal(QPoint(0,0)));
54}
55
56void ClipboardApplet::action(int i)
57{
58 ushort unicode=0;
59 int scan=0;
60
61 if ( i == 0 )
62 { unicode='X'-'@'; scan=Key_X; } // Cut
63 else if ( i == 1 )
64 { unicode='C'-'@'; scan=Key_C; } // Copy
65 else if ( i == 2 )
66 { unicode='V'-'@'; scan=Key_V; } // Paste
67
68 if ( scan ) {
69 qwsServer->processKeyEvent( unicode, scan, ControlButton, TRUE, FALSE );
70 qwsServer->processKeyEvent( unicode, scan, ControlButton, FALSE, FALSE );
71 }
72}
73
74void ClipboardApplet::paintEvent( QPaintEvent* )
75{
76 QPainter p(this);
77 p.drawPixmap( 0, 1, clipboardPixmap );
78}
79
80