summaryrefslogtreecommitdiff
path: root/inputmethods/pickboard/pickboard.cpp
Unidiff
Diffstat (limited to 'inputmethods/pickboard/pickboard.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--inputmethods/pickboard/pickboard.cpp25
1 files changed, 23 insertions, 2 deletions
diff --git a/inputmethods/pickboard/pickboard.cpp b/inputmethods/pickboard/pickboard.cpp
index 087144e..1611cb0 100644
--- a/inputmethods/pickboard/pickboard.cpp
+++ b/inputmethods/pickboard/pickboard.cpp
@@ -1,89 +1,110 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of Qtopia Environment. 4** This file is part of the Qtopia Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 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 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 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 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. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20#include "pickboard.h" 20#include "pickboard.h"
21#include "pickboardpicks.h" 21#include "pickboardpicks.h"
22#include "pickboardcfg.h" 22#include "pickboardcfg.h"
23 23
24#include <qpe/global.h> 24#include <qpe/global.h>
25 25
26#include <qpainter.h> 26#include <qpainter.h>
27#include <qlist.h> 27#include <qlist.h>
28#include <qbitmap.h> 28#include <qbitmap.h>
29#include <qlayout.h> 29#include <qlayout.h>
30#include <qvbox.h> 30#include <qvbox.h>
31#include <qdialog.h> 31#include <qdialog.h>
32#include <qscrollview.h> 32#include <qscrollview.h>
33#include <qpopupmenu.h> 33#include <qpopupmenu.h>
34#include <qhbuttongroup.h> 34#include <qhbuttongroup.h>
35#include <qpushbutton.h> 35#include <qpushbutton.h>
36#include <qmessagebox.h> 36#include <qmessagebox.h>
37#ifdef QWS
37#include <qwindowsystem_qws.h> 38#include <qwindowsystem_qws.h>
39#endif
40
41/*! \class Pickboard
42 \brief The Pickboard class provides an input method
43 based on a virtual keyboard combined with word-completion.
44
45 This version of Pickboard is Dual Licensed Software. However, for you to be
46 able to license the technology to others, you may require a T9(R) Text
47 Input license from Tegic Communications Corporation. More information can
48 be found at http://www.t9.com/.
49
50 \legalese
51 This version of Pickboard is Dual Licensed Software. However, for you to be
52 able to license the technology to others, you may require a T9(R) Text
53 Input license from Tegic Communications Corporation. More information can
54 be found at http://www.t9.com/.
55*/
38 56
39/* XPM */ 57/* XPM */
40static const char * const menu_xpm[]={ 58static const char * const menu_xpm[]={
41"9 9 2 1", 59"9 9 2 1",
42"a c #000000", 60"a c #000000",
43". c None", 61". c None",
44".........", 62".........",
45".........", 63".........",
46".........", 64".........",
47"....a....", 65"....a....",
48"...aaa...", 66"...aaa...",
49"..aaaaa..", 67"..aaaaa..",
50".aaaaaaa.", 68".aaaaaaa.",
51".........", 69".........",
52"........."}; 70"........."};
53 71
54class PickboardPrivate { 72class PickboardPrivate {
55public: 73public:
56 PickboardPrivate(Pickboard* parent) 74 PickboardPrivate(Pickboard* parent)
57 { 75 {
58 picks = new PickboardPicks(parent); 76 picks = new PickboardPicks(parent);
59 picks->initialise(); 77 picks->initialise();
60 menu = new QPushButton(parent); 78 menu = new QPushButton(parent);
61 menu->setSizePolicy(QSizePolicy(QSizePolicy::Minimum,QSizePolicy::Expanding)); 79 menu->setSizePolicy(QSizePolicy(QSizePolicy::Minimum,QSizePolicy::Expanding));
62 menu->setPixmap(QPixmap((const char **)menu_xpm)); 80 menu->setPixmap(QPixmap((const char **)menu_xpm));
63 QObject::connect(menu,SIGNAL(clicked()),picks,SLOT(doMenu())); 81 QObject::connect(menu,SIGNAL(clicked()),picks,SLOT(doMenu()));
64 QObject::connect(picks,SIGNAL(key(ushort,ushort,ushort,bool,bool)), 82 QObject::connect(picks,SIGNAL(key(ushort,ushort,ushort,bool,bool)),
65 parent,SIGNAL(key(ushort,ushort,ushort,bool,bool))); 83 parent,SIGNAL(key(ushort,ushort,ushort,bool,bool)));
66 } 84 }
67 85
68 PickboardPicks* picks; 86 PickboardPicks* picks;
69 QPushButton* menu; 87 QPushButton* menu;
70}; 88};
71 89
72Pickboard::Pickboard(QWidget* parent, const char* name, WFlags f) : 90Pickboard::Pickboard(QWidget* parent, const char* name, WFlags f) :
73 QFrame(parent,name,f) 91 QFrame(parent,name,f)
74{ 92{
75 (new QHBoxLayout(this))->setAutoAdd(TRUE); 93 (new QHBoxLayout(this))->setAutoAdd(TRUE);
76 d = new PickboardPrivate(this); 94 d = new PickboardPrivate(this);
95// under Win32 we may not have smallsmooth font
96#ifndef Q_OS_WIN32
77 setFont( QFont( "smallsmooth", 9 ) ); 97 setFont( QFont( "smallsmooth", 9 ) );
98#endif
78} 99}
79 100
80Pickboard::~Pickboard() 101Pickboard::~Pickboard()
81{ 102{
82 delete d; 103 delete d;
83} 104}
84 105
85void Pickboard::resetState() 106void Pickboard::resetState()
86{ 107{
87 d->picks->resetState(); 108 d->picks->resetState();
88} 109}
89 110