-rw-r--r-- | inputmethods/dvorak/dvorakimpl.cpp | 3 | ||||
-rw-r--r-- | inputmethods/handwriting/handwritingimpl.cpp | 3 | ||||
-rw-r--r-- | inputmethods/handwriting/qimpenhelp.cpp | 43 | ||||
-rw-r--r-- | inputmethods/handwriting/qimpeninput.cpp | 17 | ||||
-rw-r--r-- | inputmethods/handwriting/qimpenprofile.cpp | 6 | ||||
-rw-r--r-- | inputmethods/handwriting/qimpensetup.cpp | 10 | ||||
-rw-r--r-- | inputmethods/jumpx/keyboardimpl.cpp | 3 | ||||
-rw-r--r-- | inputmethods/keyboard/keyboardimpl.cpp | 3 | ||||
-rw-r--r-- | inputmethods/kjumpx/keyboardimpl.cpp | 3 | ||||
-rw-r--r-- | inputmethods/pickboard/pickboardimpl.cpp | 3 | ||||
-rw-r--r-- | inputmethods/unikeyboard/unikeyboardimpl.cpp | 3 |
11 files changed, 44 insertions, 53 deletions
diff --git a/inputmethods/dvorak/dvorakimpl.cpp b/inputmethods/dvorak/dvorakimpl.cpp index d58b6b9..3c83464 100644 --- a/inputmethods/dvorak/dvorakimpl.cpp +++ b/inputmethods/dvorak/dvorakimpl.cpp | |||
@@ -55,77 +55,76 @@ static char * opti_xpm[] = { | |||
55 | " .+++.+++.+++.+++.+++.+++. ", | 55 | " .+++.+++.+++.+++.+++.+++. ", |
56 | " .+@@.+@@.+@@.+@@.+@@.+@@. ", | 56 | " .+@@.+@@.+@@.+@@.+@@.+@@. ", |
57 | " ......................... ", | 57 | " ......................... ", |
58 | " .+++.+++.+++.+++.+++.+++. ", | 58 | " .+++.+++.+++.+++.+++.+++. ", |
59 | " .+@@.+@@.+@@.+@@.+@@.+@@. ", | 59 | " .+@@.+@@.+@@.+@@.+@@.+@@. ", |
60 | " ......................... ", | 60 | " ......................... ", |
61 | " .+++.+++.+++.+++.+++.+++. ", | 61 | " .+++.+++.+++.+++.+++.+++. ", |
62 | " .+@@.+@@.+@@.+@@.+@@.+@@. ", | 62 | " .+@@.+@@.+@@.+@@.+@@.+@@. ", |
63 | " ......................... ", | 63 | " ......................... ", |
64 | " .+++.+++.+++.+++.+++.+++. ", | 64 | " .+++.+++.+++.+++.+++.+++. ", |
65 | " .+@@.+@@.+@@.+@@.+@@.+@@. ", | 65 | " .+@@.+@@.+@@.+@@.+@@.+@@. ", |
66 | " ......................... "}; | 66 | " ......................... "}; |
67 | 67 | ||
68 | 68 | ||
69 | 69 | ||
70 | KeyboardImpl::KeyboardImpl() | 70 | KeyboardImpl::KeyboardImpl() |
71 | : input(0), icn(0), ref(0) | 71 | : input(0), icn(0), ref(0) |
72 | { | 72 | { |
73 | } | 73 | } |
74 | 74 | ||
75 | KeyboardImpl::~KeyboardImpl() | 75 | KeyboardImpl::~KeyboardImpl() |
76 | { | 76 | { |
77 | delete input; | 77 | delete input; |
78 | delete icn; | 78 | delete icn; |
79 | } | 79 | } |
80 | 80 | ||
81 | QWidget *KeyboardImpl::inputMethod( QWidget *parent, Qt::WFlags f ) | 81 | QWidget *KeyboardImpl::inputMethod( QWidget *parent, Qt::WFlags f ) |
82 | { | 82 | { |
83 | if ( !input ) | 83 | if ( !input ) |
84 | input = new Keyboard( parent, "Keyboard", f ); | 84 | input = new Keyboard( parent, "Keyboard", f ); |
85 | return input; | 85 | return input; |
86 | } | 86 | } |
87 | 87 | ||
88 | void KeyboardImpl::resetState() | 88 | void KeyboardImpl::resetState() |
89 | { | 89 | { |
90 | if ( input ) | 90 | if ( input ) |
91 | input->resetState(); | 91 | input->resetState(); |
92 | } | 92 | } |
93 | 93 | ||
94 | QPixmap *KeyboardImpl::icon() | 94 | QPixmap *KeyboardImpl::icon() |
95 | { | 95 | { |
96 | if ( !icn ) | 96 | if ( !icn ) |
97 | icn = new QPixmap( (const char **)kb_xpm ); | 97 | icn = new QPixmap( (const char **)kb_xpm ); |
98 | return icn; | 98 | return icn; |
99 | } | 99 | } |
100 | 100 | ||
101 | QString KeyboardImpl::name() | 101 | QString KeyboardImpl::name() |
102 | { | 102 | { |
103 | // return qApp->translate( "InputMethods", "Dvorak" ); | 103 | return qApp->translate( "InputMethods", "Dvorak" ); |
104 | return "Dvorak"; | ||
105 | } | 104 | } |
106 | 105 | ||
107 | void KeyboardImpl::onKeyPress( QObject *receiver, const char *slot ) | 106 | void KeyboardImpl::onKeyPress( QObject *receiver, const char *slot ) |
108 | { | 107 | { |
109 | if ( input ) | 108 | if ( input ) |
110 | QObject::connect( input, SIGNAL(key(ushort,ushort,ushort,bool,bool)), receiver, slot ); | 109 | QObject::connect( input, SIGNAL(key(ushort,ushort,ushort,bool,bool)), receiver, slot ); |
111 | } | 110 | } |
112 | 111 | ||
113 | #ifndef QT_NO_COMPONENT | 112 | #ifndef QT_NO_COMPONENT |
114 | QRESULT KeyboardImpl::queryInterface( const QUuid &uuid, QUnknownInterface **iface ) | 113 | QRESULT KeyboardImpl::queryInterface( const QUuid &uuid, QUnknownInterface **iface ) |
115 | { | 114 | { |
116 | *iface = 0; | 115 | *iface = 0; |
117 | if ( uuid == IID_QUnknown ) | 116 | if ( uuid == IID_QUnknown ) |
118 | *iface = this; | 117 | *iface = this; |
119 | else if ( uuid == IID_InputMethod ) | 118 | else if ( uuid == IID_InputMethod ) |
120 | *iface = this; | 119 | *iface = this; |
121 | 120 | ||
122 | if ( *iface ) | 121 | if ( *iface ) |
123 | (*iface)->addRef(); | 122 | (*iface)->addRef(); |
124 | return QS_OK; | 123 | return QS_OK; |
125 | } | 124 | } |
126 | 125 | ||
127 | Q_EXPORT_INTERFACE() | 126 | Q_EXPORT_INTERFACE() |
128 | { | 127 | { |
129 | Q_CREATE_INSTANCE( KeyboardImpl ) | 128 | Q_CREATE_INSTANCE( KeyboardImpl ) |
130 | } | 129 | } |
131 | #endif | 130 | #endif |
diff --git a/inputmethods/handwriting/handwritingimpl.cpp b/inputmethods/handwriting/handwritingimpl.cpp index 0ea140c..c39e1aa 100644 --- a/inputmethods/handwriting/handwritingimpl.cpp +++ b/inputmethods/handwriting/handwritingimpl.cpp | |||
@@ -38,77 +38,76 @@ static const char * pen_xpm[] = { | |||
38 | "* c #A3732C", | 38 | "* c #A3732C", |
39 | " . ", | 39 | " . ", |
40 | " .+. ", | 40 | " .+. ", |
41 | " .@#$. ", | 41 | " .@#$. ", |
42 | " .@%&. ", | 42 | " .@%&. ", |
43 | " .@%&. ", | 43 | " .@%&. ", |
44 | " . .@%&. ", | 44 | " . .@%&. ", |
45 | " . .@%&. ", | 45 | " . .@%&. ", |
46 | " . .@%&. ", | 46 | " . .@%&. ", |
47 | " ... ... .. .@%&. ", | 47 | " ... ... .. .@%&. ", |
48 | " . . . . . .*.&. ", | 48 | " . . . . . .*.&. ", |
49 | " . . . . . .**. ", | 49 | " . . . . . .**. ", |
50 | " ... ... .. ... ", | 50 | " ... ... .. ... ", |
51 | " "}; | 51 | " "}; |
52 | 52 | ||
53 | HandwritingImpl::HandwritingImpl() | 53 | HandwritingImpl::HandwritingImpl() |
54 | : input(0), icn(0), ref(0) | 54 | : input(0), icn(0), ref(0) |
55 | { | 55 | { |
56 | } | 56 | } |
57 | 57 | ||
58 | HandwritingImpl::~HandwritingImpl() | 58 | HandwritingImpl::~HandwritingImpl() |
59 | { | 59 | { |
60 | delete input; | 60 | delete input; |
61 | delete icn; | 61 | delete icn; |
62 | } | 62 | } |
63 | 63 | ||
64 | QWidget *HandwritingImpl::inputMethod( QWidget *parent, Qt::WFlags f ) | 64 | QWidget *HandwritingImpl::inputMethod( QWidget *parent, Qt::WFlags f ) |
65 | { | 65 | { |
66 | if ( !input ) | 66 | if ( !input ) |
67 | input = new QIMPenInput( parent, "Handwriting", f ); | 67 | input = new QIMPenInput( parent, "Handwriting", f ); |
68 | return input; | 68 | return input; |
69 | } | 69 | } |
70 | 70 | ||
71 | void HandwritingImpl::resetState() | 71 | void HandwritingImpl::resetState() |
72 | { | 72 | { |
73 | if ( input ) | 73 | if ( input ) |
74 | input->resetState(); | 74 | input->resetState(); |
75 | } | 75 | } |
76 | 76 | ||
77 | QPixmap *HandwritingImpl::icon() | 77 | QPixmap *HandwritingImpl::icon() |
78 | { | 78 | { |
79 | if ( !icn ) | 79 | if ( !icn ) |
80 | icn = new QPixmap( (const char **)pen_xpm ); | 80 | icn = new QPixmap( (const char **)pen_xpm ); |
81 | return icn; | 81 | return icn; |
82 | } | 82 | } |
83 | 83 | ||
84 | QString HandwritingImpl::name() | 84 | QString HandwritingImpl::name() |
85 | { | 85 | { |
86 | // return qApp->translate( "InputMethods", "Handwriting" ); | 86 | return qApp->translate( "InputMethods", "Handwriting" ); |
87 | return "Handwriting"; | ||
88 | } | 87 | } |
89 | 88 | ||
90 | void HandwritingImpl::onKeyPress( QObject *receiver, const char *slot ) | 89 | void HandwritingImpl::onKeyPress( QObject *receiver, const char *slot ) |
91 | { | 90 | { |
92 | if ( input ) | 91 | if ( input ) |
93 | QObject::connect( input, SIGNAL(key(ushort,ushort,ushort,bool,bool)), receiver, slot ); | 92 | QObject::connect( input, SIGNAL(key(ushort,ushort,ushort,bool,bool)), receiver, slot ); |
94 | } | 93 | } |
95 | 94 | ||
96 | #ifndef QT_NO_COMPONENT | 95 | #ifndef QT_NO_COMPONENT |
97 | QRESULT HandwritingImpl::queryInterface( const QUuid &uuid, QUnknownInterface **iface ) | 96 | QRESULT HandwritingImpl::queryInterface( const QUuid &uuid, QUnknownInterface **iface ) |
98 | { | 97 | { |
99 | *iface = 0; | 98 | *iface = 0; |
100 | if ( uuid == IID_QUnknown ) | 99 | if ( uuid == IID_QUnknown ) |
101 | *iface = this; | 100 | *iface = this; |
102 | else if ( uuid == IID_InputMethod ) | 101 | else if ( uuid == IID_InputMethod ) |
103 | *iface = this; | 102 | *iface = this; |
104 | 103 | ||
105 | if ( *iface ) | 104 | if ( *iface ) |
106 | (*iface)->addRef(); | 105 | (*iface)->addRef(); |
107 | return QS_OK; | 106 | return QS_OK; |
108 | } | 107 | } |
109 | 108 | ||
110 | Q_EXPORT_INTERFACE() | 109 | Q_EXPORT_INTERFACE() |
111 | { | 110 | { |
112 | Q_CREATE_INSTANCE( HandwritingImpl ) | 111 | Q_CREATE_INSTANCE( HandwritingImpl ) |
113 | } | 112 | } |
114 | #endif | 113 | #endif |
diff --git a/inputmethods/handwriting/qimpenhelp.cpp b/inputmethods/handwriting/qimpenhelp.cpp index 5ee46a2..a294301 100644 --- a/inputmethods/handwriting/qimpenhelp.cpp +++ b/inputmethods/handwriting/qimpenhelp.cpp | |||
@@ -1,52 +1,52 @@ | |||
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 | 20 | ||
21 | #include "qimpenwidget.h" | 21 | #include "qimpenwidget.h" |
22 | #include "qimpencombining.h" | 22 | #include "qimpencombining.h" |
23 | #include "qimpenmatch.h" | 23 | #include "qimpenmatch.h" |
24 | #include "qimpenhelp.h" | 24 | #include "qimpenhelp.h" |
25 | 25 | ||
26 | #include <qpe/qpeapplication.h> | 26 | #include <qpe/qpeapplication.h> |
27 | #include <qpe/global.h> | 27 | #include <qpe/global.h> |
28 | #include <qpe/config.h> | 28 | #include <qpe/config.h> |
29 | #include <qpe/stringutil.h> | 29 | #include <qpe/stringutil.h> |
30 | 30 | ||
31 | #include <qtextview.h> | 31 | #include <qtextview.h> |
32 | #include <qlabel.h> | 32 | #include <qlabel.h> |
33 | #include <qlistbox.h> | 33 | #include <qlistbox.h> |
34 | #include <qcombobox.h> | 34 | #include <qcombobox.h> |
35 | #include <qpushbutton.h> | 35 | #include <qpushbutton.h> |
36 | #include <qlayout.h> | 36 | #include <qlayout.h> |
37 | #include <qtimer.h> | 37 | #include <qtimer.h> |
38 | #include <qtextstream.h> | 38 | #include <qtextstream.h> |
39 | 39 | ||
40 | /* XPM */ | 40 | /* XPM */ |
41 | static const char * const left_xpm[] = { | 41 | static const char * const left_xpm[] = { |
42 | "16 16 2 1", | 42 | "16 16 2 1", |
43 | " c None", | 43 | " c None", |
44 | ". c #000000", | 44 | ". c #000000", |
45 | " ", | 45 | " ", |
46 | " ", | 46 | " ", |
47 | " ", | 47 | " ", |
48 | " . ", | 48 | " . ", |
49 | " .. ", | 49 | " .. ", |
50 | " ... ", | 50 | " ... ", |
51 | " .... ", | 51 | " .... ", |
52 | " ..... ", | 52 | " ..... ", |
@@ -90,228 +90,229 @@ public: | |||
90 | { | 90 | { |
91 | _code = c; | 91 | _code = c; |
92 | } | 92 | } |
93 | 93 | ||
94 | uint code() const { return _code; } | 94 | uint code() const { return _code; } |
95 | 95 | ||
96 | protected: | 96 | protected: |
97 | uint _code; | 97 | uint _code; |
98 | }; | 98 | }; |
99 | 99 | ||
100 | HandwritingHelp::HandwritingHelp( QIMPenProfile *p, QWidget *parent, const char *name, WFlags f ) | 100 | HandwritingHelp::HandwritingHelp( QIMPenProfile *p, QWidget *parent, const char *name, WFlags f ) |
101 | : QTabWidget( parent, name, f ) | 101 | : QTabWidget( parent, name, f ) |
102 | { | 102 | { |
103 | setCaption( tr("Handwriting Help") ); | 103 | setCaption( tr("Handwriting Help") ); |
104 | QTextView *help = new QTextView( this ); | 104 | QTextView *help = new QTextView( this ); |
105 | help->setFrameStyle( QFrame::NoFrame ); | 105 | help->setFrameStyle( QFrame::NoFrame ); |
106 | help->setText( | 106 | help->setText( |
107 | tr( "<ul><li>When you start to use the handwriting recogniser " | 107 | tr( "<ul><li>When you start to use the handwriting recogniser " |
108 | "write slowly, accurately and firmly." | 108 | "write slowly, accurately and firmly." |
109 | "<li>Use the guide lines when drawing your characters." | 109 | "<li>Use the guide lines when drawing your characters." |
110 | "<li>When drawing a character with multiple strokes, each " | 110 | "<li>When drawing a character with multiple strokes, each " |
111 | "successive stroke must be drawn before the grayed strokes are erased." | 111 | "successive stroke must be drawn before the grayed strokes are erased." |
112 | "<li>Practice your handwriting using the handwriting trainer." | 112 | "<li>Practice your handwriting using the handwriting trainer." |
113 | "<li>When adding your own character templates make sure they " | 113 | "<li>When adding your own character templates make sure they " |
114 | "are sufficiently different from other characters' templates." | 114 | "are sufficiently different from other characters' templates." |
115 | "</ul>") ); | 115 | "</ul>") ); |
116 | 116 | ||
117 | addTab( help, tr("Tips") ); | 117 | addTab( help, tr("Tips") ); |
118 | 118 | ||
119 | HandwritingTrainer *trainer = new HandwritingTrainer( p, this ); | 119 | HandwritingTrainer *trainer = new HandwritingTrainer( p, this ); |
120 | addTab( trainer, tr("Trainer") ); | 120 | addTab( trainer, tr("Trainer") ); |
121 | } | 121 | } |
122 | 122 | ||
123 | void HandwritingHelp::showEvent( QShowEvent * ) | 123 | void HandwritingHelp::showEvent( QShowEvent * ) |
124 | { | 124 | { |
125 | Global::hideInputMethod(); | 125 | Global::hideInputMethod(); |
126 | } | 126 | } |
127 | 127 | ||
128 | void HandwritingHelp::hideEvent( QHideEvent * ) | 128 | void HandwritingHelp::hideEvent( QHideEvent * ) |
129 | { | 129 | { |
130 | Global::showInputMethod(); | 130 | Global::showInputMethod(); |
131 | } | 131 | } |
132 | 132 | ||
133 | //--------------------------------------------------------------------------- | 133 | //--------------------------------------------------------------------------- |
134 | 134 | ||
135 | HandwritingTrainer::HandwritingTrainer( QIMPenProfile *p, QWidget *parent, const char *name ) | 135 | HandwritingTrainer::HandwritingTrainer( QIMPenProfile *p, QWidget *parent, const char *name ) |
136 | : QWidget( parent, name ), profile(p) | 136 | : QWidget( parent, name ), profile(p) |
137 | { | 137 | { |
138 | QGridLayout *gl = new QGridLayout( this, 5, 2, 0, 4 ); | 138 | QGridLayout *gl = new QGridLayout( this, 4, 2, 0, 4 ); |
139 | gl->setRowStretch( 1, 1 ); | ||
140 | gl->setRowStretch( 2, 1 ); | ||
141 | gl->setColStretch( 1, 1 ); | 139 | gl->setColStretch( 1, 1 ); |
140 | gl->setRowStretch(3, 1); | ||
142 | 141 | ||
143 | charSetCombo = new QComboBox( this ); | 142 | charSetCombo = new QComboBox( this ); |
144 | gl->addMultiCellWidget( charSetCombo, 0, 0, 0, 1 ); | 143 | gl->addMultiCellWidget( charSetCombo, 0, 0, 0, 1 ); |
145 | connect( charSetCombo, SIGNAL(activated(int)), SLOT(selectCharSet(int))); | 144 | connect( charSetCombo, SIGNAL(activated(int)), SLOT(selectCharSet(int))); |
146 | QIMPenCharSetIterator it( profile->charSets() ); | 145 | QIMPenCharSetIterator it( profile->charSets() ); |
147 | for ( ; it.current(); ++it ) { | 146 | for ( ; it.current(); ++it ) { |
148 | charSetCombo->insertItem( it.current()->description() ); | 147 | charSetCombo->insertItem( it.current()->description() ); |
149 | } | 148 | } |
150 | 149 | ||
151 | charList = new QListBox( this ); | 150 | charList = new QListBox( this ); |
152 | charList->setHScrollBarMode( QListBox::AlwaysOff ); | 151 | charList->setHScrollBarMode( QListBox::AlwaysOff ); |
153 | charList->setFixedWidth( 80 ); | 152 | charList->setFixedWidth(80); |
154 | connect( charList, SIGNAL(highlighted(int)), this, SLOT(selectChar(int)) ); | 153 | connect( charList, SIGNAL(highlighted(int)), this, SLOT(selectChar(int)) ); |
155 | gl->addMultiCellWidget( charList, 1, 2, 0, 0 ); | 154 | gl->addWidget(charList, 1, 0); |
156 | |||
157 | QLabel *help = new QLabel( this ); | ||
158 | help->setAlignment( AlignLeft | AlignVCenter | WordBreak ); | ||
159 | gl->addWidget( help, 1, 1 ); | ||
160 | help->setText( | ||
161 | tr( "Select a character from the list. The writing area on the left " | ||
162 | "shows the reference character. Practice writing in the area on " | ||
163 | "the right.") ); | ||
164 | 155 | ||
165 | result = new QLabel( this ); | 156 | result = new QLabel( this ); |
166 | gl->addMultiCellWidget( result, 2, 3, 1, 1 ); | 157 | result->setAlignment(AlignLeft | AlignVCenter | WordBreak); |
158 | result->setText( | ||
159 | tr( "Select a reference character from the list. Practice writing in " | ||
160 | "the area on the right.")); | ||
161 | gl->addMultiCellWidget(result, 1, 2, 1, 1); | ||
167 | 162 | ||
168 | matcher = new QIMPenMatch( this ); | 163 | matcher = new QIMPenMatch( this ); |
169 | matcher->setCharSet( currentSet ); | 164 | matcher->setCharSet( currentSet ); |
170 | connect( matcher, SIGNAL(noMatch()), this, SLOT(noMatch()) ); | 165 | connect( matcher, SIGNAL(noMatch()), this, SLOT(noMatch()) ); |
171 | connect( matcher, SIGNAL(matchedCharacters(const QIMPenCharMatchList &)), | 166 | connect( matcher, SIGNAL(matchedCharacters(const QIMPenCharMatchList &)), |
172 | this, SLOT(matched(const QIMPenCharMatchList &)) ); | 167 | this, SLOT(matched(const QIMPenCharMatchList &)) ); |
173 | 168 | ||
174 | QHBoxLayout *hb = new QHBoxLayout(); | 169 | QHBoxLayout *hb = new QHBoxLayout(); |
175 | gl->addLayout( hb, 3, 0 ); | 170 | gl->addLayout( hb, 2, 0 ); |
176 | prevBtn = new QPushButton( this ); | 171 | prevBtn = new QPushButton( this ); |
177 | prevBtn->setPixmap( QPixmap( (const char **)left_xpm ) ); | 172 | prevBtn->setPixmap( QPixmap( (const char **)left_xpm ) ); |
178 | connect( prevBtn, SIGNAL(clicked()), SLOT(prevChar())); | 173 | connect( prevBtn, SIGNAL(clicked()), SLOT(prevChar())); |
179 | hb->addWidget( prevBtn ); | 174 | hb->addWidget( prevBtn ); |
180 | 175 | ||
181 | nextBtn = new QPushButton( this ); | 176 | nextBtn = new QPushButton( this ); |
182 | nextBtn->setPixmap( QPixmap( (const char **)right_xpm ) ); | 177 | nextBtn->setPixmap( QPixmap( (const char **)right_xpm ) ); |
183 | connect( nextBtn, SIGNAL(clicked()), SLOT(nextChar())); | 178 | connect( nextBtn, SIGNAL(clicked()), SLOT(nextChar())); |
184 | hb->addWidget( nextBtn ); | 179 | hb->addWidget( nextBtn ); |
185 | 180 | ||
186 | refPw = new QIMPenWidget( this ); | 181 | refPw = new QIMPenWidget( this ); |
187 | refPw->setReadOnly( TRUE ); | 182 | refPw->setReadOnly( TRUE ); |
188 | gl->addWidget( refPw, 4, 0 ); | 183 | gl->addWidget( refPw, 3, 0 ); |
189 | 184 | ||
190 | pracPw = new QIMPenWidget( this ); | 185 | pracPw = new QIMPenWidget( this ); |
191 | connect( matcher, SIGNAL(removeStroke()), pracPw, SLOT(removeStroke()) ); | 186 | connect( matcher, SIGNAL(removeStroke()), pracPw, SLOT(removeStroke()) ); |
192 | connect( pracPw, SIGNAL(beginStroke()), | 187 | connect( pracPw, SIGNAL(beginStroke()), |
193 | this, SLOT(beginStroke()) ); | 188 | this, SLOT(beginStroke()) ); |
194 | connect( pracPw, SIGNAL(stroke( QIMPenStroke * )), | 189 | connect( pracPw, SIGNAL(stroke( QIMPenStroke * )), |
195 | this, SLOT(strokeEntered( QIMPenStroke * )) ); | 190 | this, SLOT(strokeEntered( QIMPenStroke * )) ); |
196 | connect( pracPw, SIGNAL(beginStroke()), | 191 | connect( pracPw, SIGNAL(beginStroke()), |
197 | matcher, SLOT(beginStroke()) ); | 192 | matcher, SLOT(beginStroke()) ); |
198 | connect( pracPw, SIGNAL(stroke( QIMPenStroke * )), | 193 | connect( pracPw, SIGNAL(stroke( QIMPenStroke * )), |
199 | matcher, SLOT(strokeEntered( QIMPenStroke * )) ); | 194 | matcher, SLOT(strokeEntered( QIMPenStroke * )) ); |
200 | gl->addWidget( pracPw, 4, 1 ); | 195 | gl->addWidget( pracPw, 3, 1 ); |
201 | 196 | ||
202 | redrawTimer = new QTimer( this ); | 197 | redrawTimer = new QTimer( this ); |
203 | connect( redrawTimer, SIGNAL(timeout()), this, SLOT(redrawChar()) ); | 198 | connect( redrawTimer, SIGNAL(timeout()), this, SLOT(redrawChar()) ); |
204 | redrawTimer->start( 5000 ); | 199 | redrawTimer->start( 5000 ); |
205 | 200 | ||
206 | currentSet = 0; | 201 | currentSet = 0; |
207 | charSetCombo->setCurrentItem( 1 ); | 202 | charSetCombo->setCurrentItem( 1 ); |
208 | selectCharSet( 1 ); | 203 | selectCharSet( 1 ); |
209 | } | 204 | } |
210 | 205 | ||
211 | HandwritingTrainer::~HandwritingTrainer() | 206 | HandwritingTrainer::~HandwritingTrainer() |
212 | { | 207 | { |
213 | } | 208 | } |
214 | 209 | ||
215 | void HandwritingTrainer::showEvent( QShowEvent * ) | 210 | void HandwritingTrainer::showEvent( QShowEvent * ) |
216 | { | 211 | { |
217 | redrawChar(); | 212 | redrawChar(); |
218 | redrawTimer->start( 5000 ); | 213 | redrawTimer->start( 5000 ); |
219 | } | 214 | } |
220 | 215 | ||
221 | void HandwritingTrainer::setCurrentChar( QIMPenChar *c ) | 216 | void HandwritingTrainer::setCurrentChar( QIMPenChar *c ) |
222 | { | 217 | { |
223 | currentChar = c; | 218 | currentChar = c; |
224 | refPw->showCharacter( currentChar ); | 219 | refPw->showCharacter( currentChar ); |
225 | pracPw->clear(); | 220 | pracPw->clear(); |
226 | if ( currentChar ) { | 221 | if ( currentChar ) { |
227 | prevBtn->setEnabled( findPrev() != 0 ); | 222 | prevBtn->setEnabled( findPrev() != 0 ); |
228 | nextBtn->setEnabled( findNext() != 0 ); | 223 | nextBtn->setEnabled( findNext() != 0 ); |
229 | } | 224 | } |
230 | result->setText( "" ); | ||
231 | redrawTimer->start( 5000 ); | 225 | redrawTimer->start( 5000 ); |
232 | } | 226 | } |
233 | 227 | ||
234 | void HandwritingTrainer::selectChar( int i ) | 228 | void HandwritingTrainer::selectChar( int i ) |
235 | { | 229 | { |
230 | static int last_char = 0; | ||
231 | |||
232 | if (last_char != i) { | ||
233 | result->setText(""); | ||
234 | } | ||
235 | |||
236 | currentChar = 0; | 236 | currentChar = 0; |
237 | currentCode = ((CharListItem *)charList->item(i))->code(); | 237 | currentCode = ((CharListItem *)charList->item(i))->code(); |
238 | QIMPenCharIterator it(currentSet->characters() ); | 238 | QIMPenCharIterator it(currentSet->characters() ); |
239 | for ( ; it.current(); ++it ) { | 239 | for ( ; it.current(); ++it ) { |
240 | if ( it.current()->character() == currentCode && | 240 | if ( it.current()->character() == currentCode && |
241 | !it.current()->testFlag( QIMPenChar::Deleted ) ) { | 241 | !it.current()->testFlag( QIMPenChar::Deleted ) ) { |
242 | setCurrentChar( it.current() ); | 242 | setCurrentChar( it.current() ); |
243 | break; | 243 | break; |
244 | } | 244 | } |
245 | } | 245 | } |
246 | if ( !it.current() ) | 246 | if ( !it.current() ) |
247 | setCurrentChar( 0 ); | 247 | setCurrentChar( 0 ); |
248 | } | 248 | } |
249 | 249 | ||
250 | void HandwritingTrainer::selectCharSet( int i ) | 250 | void HandwritingTrainer::selectCharSet( int i ) |
251 | { | 251 | { |
252 | if ( currentSet ) { | 252 | if ( currentSet ) { |
253 | refPw->removeCharSet( 0 ); | 253 | refPw->removeCharSet( 0 ); |
254 | pracPw->removeCharSet( 0 ); | 254 | pracPw->removeCharSet( 0 ); |
255 | result->setText(""); | ||
255 | } | 256 | } |
256 | currentSet = profile->charSets().at( i ); | 257 | currentSet = profile->charSets().at( i ); |
257 | fillCharList(); | 258 | fillCharList(); |
258 | refPw->insertCharSet( currentSet ); | 259 | refPw->insertCharSet( currentSet ); |
259 | pracPw->insertCharSet( currentSet ); | 260 | pracPw->insertCharSet( currentSet ); |
260 | matcher->setCharSet( currentSet ); | 261 | matcher->setCharSet( currentSet ); |
261 | if ( charList->count() ) { | 262 | if ( charList->count() ) { |
262 | charList->setSelected( 0, TRUE ); | 263 | charList->setSelected( 0, TRUE ); |
263 | selectChar(0); | 264 | selectChar(0); |
264 | } | 265 | } |
265 | } | 266 | } |
266 | 267 | ||
267 | void HandwritingTrainer::noMatch() | 268 | void HandwritingTrainer::noMatch() |
268 | { | 269 | { |
269 | result->setText( "No match" ); | 270 | result->setText( tr("No match") ); |
270 | } | 271 | } |
271 | 272 | ||
272 | void HandwritingTrainer::matched( const QIMPenCharMatchList &ml ) | 273 | void HandwritingTrainer::matched( const QIMPenCharMatchList &ml ) |
273 | { | 274 | { |
274 | int maxErr = 20000 + (*ml.begin()).penChar->strokeLength(0) * 1000; | 275 | int maxErr = 20000 + (*ml.begin()).penChar->strokeLength(0) * 1000; |
275 | int baseErr = (*ml.begin()).penChar->strokeLength(0) * 250; | 276 | int baseErr = (*ml.begin()).penChar->strokeLength(0) * 250; |
276 | unsigned int numStrokes = (*ml.begin()).penChar->strokeCount(); | 277 | unsigned int numStrokes = (*ml.begin()).penChar->strokeCount(); |
277 | QIMPenCharMatchList::ConstIterator it; | 278 | QIMPenCharMatchList::ConstIterator it; |
278 | /* | 279 | /* |
279 | for ( it = ml.begin(); it != ml.end(); ++it ) { | 280 | for ( it = ml.begin(); it != ml.end(); ++it ) { |
280 | if ( (*it).penChar->strokeCount() == numStrokes ) { | 281 | if ( (*it).penChar->strokeCount() == numStrokes ) { |
281 | if ( (*it).error > maxErr ) | 282 | if ( (*it).error > maxErr ) |
282 | maxErr = (*it).error; | 283 | maxErr = (*it).error; |
283 | } | 284 | } |
284 | } | 285 | } |
285 | */ | 286 | */ |
286 | int i; | 287 | int i; |
287 | QString res; | 288 | QString res; |
288 | QTextStream ts(&res, IO_WriteOnly); | 289 | QTextStream ts(&res, IO_WriteOnly); |
289 | ts << "<qt>" << tr("Matched: "); | 290 | ts << "<qt>" << tr("Matched: "); |
290 | for ( i = 0, it = ml.begin(); it != ml.end() && i < 4; ++it, i++ ) { | 291 | for ( i = 0, it = ml.begin(); it != ml.end() && i < 4; ++it, i++ ) { |
291 | if ( (*it).penChar->strokeCount() == numStrokes ) { | 292 | if ( (*it).penChar->strokeCount() == numStrokes ) { |
292 | int rate = 100 - ( ((*it).error - baseErr) * 100 ) / maxErr; | 293 | int rate = 100 - ( ((*it).error - baseErr) * 100 ) / maxErr; |
293 | if ( it != ml.begin() ) { | 294 | if ( it != ml.begin() ) { |
294 | if ( rate < -10 ) | 295 | if ( rate < -10 ) |
295 | continue; | 296 | continue; |
296 | ts << "<br>"; | 297 | ts << "<br>"; |
297 | ts << tr("Similar to: "); | 298 | ts << tr("Similar to: "); |
298 | } | 299 | } |
299 | ts << "<big>"; | 300 | ts << "<big>"; |
300 | if ( (*it).penChar->character() == currentChar->character() ) | 301 | if ( (*it).penChar->character() == currentChar->character() ) |
301 | ts << "<b>"; | 302 | ts << "<b>"; |
302 | ts << Qtopia::escapeString((*it).penChar->name()); | 303 | ts << Qtopia::escapeString((*it).penChar->name()); |
303 | ts << " (" << rateString(rate) << ")"; | 304 | ts << " (" << rateString(rate) << ")"; |
304 | if ( (*it).penChar->character() == currentChar->character() ) | 305 | if ( (*it).penChar->character() == currentChar->character() ) |
305 | ts << "</b>"; | 306 | ts << "</b>"; |
306 | ts << "</big>"; | 307 | ts << "</big>"; |
307 | } | 308 | } |
308 | } | 309 | } |
309 | ts << "</qt>"; | 310 | ts << "</qt>"; |
310 | result->setText( res ); | 311 | result->setText( res ); |
311 | } | 312 | } |
312 | 313 | ||
313 | QString HandwritingTrainer::rateString( int rate ) const | 314 | QString HandwritingTrainer::rateString( int rate ) const |
314 | { | 315 | { |
315 | if ( rate < 1 ) | 316 | if ( rate < 1 ) |
316 | rate = 1; | 317 | rate = 1; |
317 | if ( rate > 100 ) | 318 | if ( rate > 100 ) |
diff --git a/inputmethods/handwriting/qimpeninput.cpp b/inputmethods/handwriting/qimpeninput.cpp index 6a21931..3f7a347 100644 --- a/inputmethods/handwriting/qimpeninput.cpp +++ b/inputmethods/handwriting/qimpeninput.cpp | |||
@@ -1,52 +1,52 @@ | |||
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 | 20 | ||
21 | #include "qimpenwidget.h" | 21 | #include "qimpenwidget.h" |
22 | #include "qimpensetup.h" | 22 | #include "qimpensetup.h" |
23 | #include "qimpeninput.h" | 23 | #include "qimpeninput.h" |
24 | #include "qimpencombining.h" | 24 | #include "qimpencombining.h" |
25 | #include "qimpenwordpick.h" | 25 | #include "qimpenwordpick.h" |
26 | #include "qimpenmatch.h" | 26 | #include "qimpenmatch.h" |
27 | #include "qimpenhelp.h" | 27 | #include "qimpenhelp.h" |
28 | 28 | ||
29 | #include <qpe/qpeapplication.h> | 29 | #include <qpe/qpeapplication.h> |
30 | #include <qpe/qdawg.h> | 30 | #include <qpe/qdawg.h> |
31 | #include <qpe/config.h> | 31 | #include <qpe/config.h> |
32 | #include <qpe/global.h> | 32 | #include <qpe/global.h> |
33 | 33 | ||
34 | #include <qlayout.h> | 34 | #include <qlayout.h> |
35 | #include <qpushbutton.h> | 35 | #include <qpushbutton.h> |
36 | #include <qlabel.h> | 36 | #include <qlabel.h> |
37 | #include <qtimer.h> | 37 | #include <qtimer.h> |
38 | #include <qdir.h> | 38 | #include <qdir.h> |
39 | 39 | ||
40 | #include <limits.h> | 40 | #include <limits.h> |
41 | 41 | ||
42 | // We'll use little pixmaps for the buttons to save screen space. | 42 | // We'll use little pixmaps for the buttons to save screen space. |
43 | 43 | ||
44 | /* XPM */ | 44 | /* XPM */ |
45 | static const char * const pen_xpm[] = { | 45 | static const char * const pen_xpm[] = { |
46 | "12 12 4 1", | 46 | "12 12 4 1", |
47 | " c None", | 47 | " c None", |
48 | ".c #000000", | 48 | ".c #000000", |
49 | "+c #FFFFFF", | 49 | "+c #FFFFFF", |
50 | "@c #808080", | 50 | "@c #808080", |
51 | " . ", | 51 | " . ", |
52 | " .+. ", | 52 | " .+. ", |
@@ -89,98 +89,98 @@ static char * enter_xpm[] = { | |||
89 | "12 12 5 1", | 89 | "12 12 5 1", |
90 | " c None", | 90 | " c None", |
91 | ".c #333333", | 91 | ".c #333333", |
92 | "+c #000000", | 92 | "+c #000000", |
93 | "@c #FFFFFF", | 93 | "@c #FFFFFF", |
94 | "#c #666666", | 94 | "#c #666666", |
95 | " ", | 95 | " ", |
96 | " .+. ", | 96 | " .+. ", |
97 | " +@+ ", | 97 | " +@+ ", |
98 | " . +@+ ", | 98 | " . +@+ ", |
99 | " ++ +@+ ", | 99 | " ++ +@+ ", |
100 | " +@#++++@+ ", | 100 | " +@#++++@+ ", |
101 | " +@@@@@@@@+ ", | 101 | " +@@@@@@@@+ ", |
102 | " +@#+++++. ", | 102 | " +@#+++++. ", |
103 | " ++ ", | 103 | " ++ ", |
104 | " . ", | 104 | " . ", |
105 | " ", | 105 | " ", |
106 | " "}; | 106 | " "}; |
107 | 107 | ||
108 | 108 | ||
109 | 109 | ||
110 | /* XPM */ | 110 | /* XPM */ |
111 | static char * help_xpm[] = { | 111 | static char * help_xpm[] = { |
112 | "12 12 5 1", | 112 | "12 12 5 1", |
113 | " c None", | 113 | " c None", |
114 | ".c #000000", | 114 | ".c #000000", |
115 | "+c #FFFFFF", | 115 | "+c #FFFFFF", |
116 | "@c #666666", | 116 | "@c #666666", |
117 | "#c #333333", | 117 | "#c #333333", |
118 | " ", | 118 | " ", |
119 | " ... ", | 119 | " ... ", |
120 | " .+++. ", | 120 | " .+++. ", |
121 | " .+..@+. ", | 121 | " .+..@+. ", |
122 | " #.# .+. ", | 122 | " #.# .+. ", |
123 | " .+. ", | 123 | " .+. ", |
124 | " .+. ", | 124 | " .+. ", |
125 | " .+. ", | 125 | " .+. ", |
126 | " .+. ", | 126 | " .+. ", |
127 | " #.# ", | 127 | " #.# ", |
128 | " .+. ", | 128 | " .+. ", |
129 | " #.# "}; | 129 | " #.# "}; |
130 | 130 | ||
131 | 131 | ||
132 | /*! | 132 | /*! |
133 | \class QIMPenInput qimpeninput.h | 133 | \class QIMPenInput qimpeninput.h |
134 | 134 | ||
135 | Pen input widget. | 135 | Pen input widget. |
136 | */ | 136 | */ |
137 | QIMPenInput::QIMPenInput( QWidget *parent, const char *name, WFlags flags ) | 137 | QIMPenInput::QIMPenInput( QWidget *parent, const char *name, WFlags f ) |
138 | : QFrame( parent, name, flags ), helpDlg(0), profile(0) | 138 | : QFrame( parent, name, f ), helpDlg(0), profile(0) |
139 | { | 139 | { |
140 | setFrameStyle( Box | Plain ); | 140 | setFrameStyle( Box | Plain ); |
141 | 141 | ||
142 | profileList.setAutoDelete( true ); | 142 | profileList.setAutoDelete( true ); |
143 | 143 | ||
144 | matcher = new QIMPenMatch( this ); | 144 | matcher = new QIMPenMatch( this ); |
145 | connect( matcher, SIGNAL(keypress(uint)), this, SLOT(keypress(uint)) ); | 145 | connect( matcher, SIGNAL(keypress(uint)), this, SLOT(keypress(uint)) ); |
146 | connect( matcher, SIGNAL(erase()), this, SLOT(erase()) ); | 146 | connect( matcher, SIGNAL(erase()), this, SLOT(erase()) ); |
147 | 147 | ||
148 | QGridLayout *gl = new QGridLayout( this, 5, 2, 1, 0 ); | 148 | QGridLayout *gl = new QGridLayout( this, 5, 2, 1, 0 ); |
149 | gl->setColStretch( 0, 1 ); | 149 | gl->setColStretch( 0, 1 ); |
150 | 150 | ||
151 | wordPicker = new QIMPenWordPick( this ); | 151 | wordPicker = new QIMPenWordPick( this ); |
152 | connect( wordPicker, SIGNAL(wordClicked(const QString &)), | 152 | connect( wordPicker, SIGNAL(wordClicked(const QString &)), |
153 | this, SLOT(wordPicked(const QString &)) ); | 153 | this, SLOT(wordPicked(const QString &)) ); |
154 | connect( matcher, SIGNAL(matchedCharacters(const QIMPenCharMatchList &)), | 154 | connect( matcher, SIGNAL(matchedCharacters(const QIMPenCharMatchList &)), |
155 | this, SLOT(matchedCharacters(const QIMPenCharMatchList &)) ); | 155 | this, SLOT(matchedCharacters(const QIMPenCharMatchList &)) ); |
156 | connect( matcher, SIGNAL(matchedWords(const QIMPenMatch::MatchWordList&)), | 156 | connect( matcher, SIGNAL(matchedWords(const QIMPenMatch::MatchWordList&)), |
157 | wordPicker, SLOT(setWords(const QIMPenMatch::MatchWordList&)) ); | 157 | wordPicker, SLOT(setWords(const QIMPenMatch::MatchWordList&)) ); |
158 | QFont f("smallsmooth",9); | 158 | QFont f("smallsmooth",9); |
159 | QFontInfo fi( f ); | 159 | QFontInfo fi( f ); |
160 | wordPicker->setFont( f ); | 160 | wordPicker->setFont( f ); |
161 | wordPicker->setBackgroundColor( white ); | 161 | wordPicker->setBackgroundColor( white ); |
162 | gl->addMultiCellWidget( wordPicker, 0, 0, 0, 1 ); | 162 | gl->addMultiCellWidget( wordPicker, 0, 0, 0, 1 ); |
163 | if ( !Global::fixedDawg().root() || !matcher->isWordMatchingEnabled() ) | 163 | if ( !Global::fixedDawg().root() || !matcher->isWordMatchingEnabled() ) |
164 | wordPicker->hide(); | 164 | wordPicker->hide(); |
165 | 165 | ||
166 | pw = new QIMPenWidget( this ); | 166 | pw = new QIMPenWidget( this ); |
167 | gl->addMultiCellWidget( pw, 1, 4, 0, 0 ); | 167 | gl->addMultiCellWidget( pw, 1, 4, 0, 0 ); |
168 | 168 | ||
169 | int bh = pw->sizeHint().height()/4; | 169 | int bh = pw->sizeHint().height()/4; |
170 | 170 | ||
171 | QPushButton *b = new QPushButton( this ); | 171 | QPushButton *b = new QPushButton( this ); |
172 | b->setFocusPolicy( NoFocus ); | 172 | b->setFocusPolicy( NoFocus ); |
173 | b->setPixmap( QPixmap( (const char **)bs_xpm ) ); | 173 | b->setPixmap( QPixmap( (const char **)bs_xpm ) ); |
174 | b->setFixedHeight(pw->sizeHint().height()-3*bh); // left-over space goes here | 174 | b->setFixedHeight(pw->sizeHint().height()-3*bh); // left-over space goes here |
175 | b->setAutoRepeat( TRUE ); | 175 | b->setAutoRepeat( TRUE ); |
176 | gl->addWidget( b, 1, 1 ); | 176 | gl->addWidget( b, 1, 1 ); |
177 | connect( b, SIGNAL(clicked()), SLOT(backspace())); | 177 | connect( b, SIGNAL(clicked()), SLOT(backspace())); |
178 | 178 | ||
179 | b = new QPushButton( this ); | 179 | b = new QPushButton( this ); |
180 | b->setFocusPolicy( NoFocus ); | 180 | b->setFocusPolicy( NoFocus ); |
181 | b->setPixmap( QPixmap( (const char **)enter_xpm ) ); | 181 | b->setPixmap( QPixmap( (const char **)enter_xpm ) ); |
182 | b->setFixedHeight(bh); | 182 | b->setFixedHeight(bh); |
183 | b->setAutoRepeat( TRUE ); | 183 | b->setAutoRepeat( TRUE ); |
184 | gl->addWidget( b, 2, 1 ); | 184 | gl->addWidget( b, 2, 1 ); |
185 | connect( b, SIGNAL(clicked()), SLOT(enter())); | 185 | connect( b, SIGNAL(clicked()), SLOT(enter())); |
186 | 186 | ||
@@ -193,133 +193,130 @@ QIMPenInput::QIMPenInput( QWidget *parent, const char *name, WFlags flags ) | |||
193 | 193 | ||
194 | QPixmap pm( (const char **)pen_xpm ); | 194 | QPixmap pm( (const char **)pen_xpm ); |
195 | setupBtn = new QPushButton( this ); | 195 | setupBtn = new QPushButton( this ); |
196 | setupBtn->setFocusPolicy( NoFocus ); | 196 | setupBtn->setFocusPolicy( NoFocus ); |
197 | setupBtn->setPixmap( pm ); | 197 | setupBtn->setPixmap( pm ); |
198 | setupBtn->setFixedHeight(bh); | 198 | setupBtn->setFixedHeight(bh); |
199 | gl->addWidget( setupBtn, 4, 1 ); | 199 | gl->addWidget( setupBtn, 4, 1 ); |
200 | connect( setupBtn, SIGNAL(clicked()), SLOT(setup())); | 200 | connect( setupBtn, SIGNAL(clicked()), SLOT(setup())); |
201 | 201 | ||
202 | connect( matcher, SIGNAL(removeStroke()), pw, SLOT(removeStroke()) ); | 202 | connect( matcher, SIGNAL(removeStroke()), pw, SLOT(removeStroke()) ); |
203 | connect( pw, SIGNAL(changeCharSet( QIMPenCharSet * )), | 203 | connect( pw, SIGNAL(changeCharSet( QIMPenCharSet * )), |
204 | matcher, SLOT(setCharSet( QIMPenCharSet * )) ); | 204 | matcher, SLOT(setCharSet( QIMPenCharSet * )) ); |
205 | connect( pw, SIGNAL(changeCharSet( int )), | 205 | connect( pw, SIGNAL(changeCharSet( int )), |
206 | this, SLOT(selectCharSet( int )) ); | 206 | this, SLOT(selectCharSet( int )) ); |
207 | connect( pw, SIGNAL(beginStroke()), | 207 | connect( pw, SIGNAL(beginStroke()), |
208 | matcher, SLOT(beginStroke()) ); | 208 | matcher, SLOT(beginStroke()) ); |
209 | connect( pw, SIGNAL(stroke( QIMPenStroke * )), | 209 | connect( pw, SIGNAL(stroke( QIMPenStroke * )), |
210 | this, SLOT(strokeEntered( QIMPenStroke * )) ); | 210 | this, SLOT(strokeEntered( QIMPenStroke * )) ); |
211 | connect( pw, SIGNAL(stroke( QIMPenStroke * )), | 211 | connect( pw, SIGNAL(stroke( QIMPenStroke * )), |
212 | matcher, SLOT(strokeEntered( QIMPenStroke * )) ); | 212 | matcher, SLOT(strokeEntered( QIMPenStroke * )) ); |
213 | 213 | ||
214 | shortcutCharSet = 0; | 214 | shortcutCharSet = 0; |
215 | currCharSet = 0; | 215 | currCharSet = 0; |
216 | setupDlg = 0; | 216 | setupDlg = 0; |
217 | profile = 0; | 217 | profile = 0; |
218 | mode = Normal; | 218 | mode = Normal; |
219 | 219 | ||
220 | loadProfiles(); | 220 | loadProfiles(); |
221 | } | 221 | } |
222 | 222 | ||
223 | QIMPenInput::~QIMPenInput() | 223 | QIMPenInput::~QIMPenInput() |
224 | { | 224 | { |
225 | delete (HandwritingHelp*) helpDlg; | 225 | delete (HandwritingHelp*) helpDlg; |
226 | } | 226 | } |
227 | 227 | ||
228 | QSize QIMPenInput::sizeHint() const | 228 | QSize QIMPenInput::sizeHint() const |
229 | { | 229 | { |
230 | int fw = frameWidth(); | 230 | int fw = frameWidth(); |
231 | int ps = wordPicker->isHidden() ? 0 : wordPicker->sizeHint().height(); | 231 | int ps = wordPicker->isHidden() ? 0 : wordPicker->sizeHint().height(); |
232 | return pw->sizeHint() + QSize( fw*2, fw*2+ps ); | 232 | return pw->sizeHint() + QSize( fw*2, fw*2+ps ); |
233 | } | 233 | } |
234 | 234 | ||
235 | void QIMPenInput::loadProfiles() | 235 | void QIMPenInput::loadProfiles() |
236 | { | 236 | { |
237 | profileList.clear(); | 237 | profileList.clear(); |
238 | profile = 0; | 238 | profile = 0; |
239 | delete shortcutCharSet; | 239 | delete shortcutCharSet; |
240 | shortcutCharSet = new QIMPenCharSet(); | 240 | shortcutCharSet = new QIMPenCharSet(); |
241 | shortcutCharSet->setTitle( "Shortcut" ); | 241 | shortcutCharSet->setTitle( tr("Shortcut") ); |
242 | QString path = QPEApplication::qpeDir() + "etc/qimpen"; | 242 | QString path = QPEApplication::qpeDir() + "etc/qimpen"; |
243 | QDir dir( path, "*.conf" ); | 243 | QDir dir( path, "*.conf" ); |
244 | QStringList list = dir.entryList(); | 244 | QStringList list = dir.entryList(); |
245 | QStringList::Iterator it; | 245 | QStringList::Iterator it; |
246 | for ( it = list.begin(); it != list.end(); ++it ) { | 246 | for ( it = list.begin(); it != list.end(); ++it ) { |
247 | QIMPenProfile *p = new QIMPenProfile( path + "/" + *it ); | 247 | QIMPenProfile *p = new QIMPenProfile( path + "/" + *it ); |
248 | profileList.append( p ); | 248 | profileList.append( p ); |
249 | if ( p->shortcut() ) { | 249 | if ( p->shortcut() ) { |
250 | QIMPenCharIterator it( p->shortcut()->characters() ); | 250 | QIMPenCharIterator it( p->shortcut()->characters() ); |
251 | for ( ; it.current(); ++it ) { | 251 | for ( ; it.current(); ++it ) { |
252 | shortcutCharSet->addChar( new QIMPenChar(*it.current()) ); | 252 | shortcutCharSet->addChar( new QIMPenChar(*it.current()) ); |
253 | } | 253 | } |
254 | } | 254 | } |
255 | } | 255 | } |
256 | 256 | ||
257 | |||
258 | Config config( "handwriting" ); | 257 | Config config( "handwriting" ); |
259 | config.setGroup( "Settings" ); | 258 | config.setGroup( "Settings" ); |
260 | QString prof = config.readEntry( "Profile", "Default" ); | 259 | QString prof = config.readEntry( "Profile", "Default" ); |
261 | selectProfile( prof ); | 260 | selectProfile( prof ); |
262 | } | 261 | } |
263 | 262 | ||
264 | void QIMPenInput::selectProfile( const QString &name ) | 263 | void QIMPenInput::selectProfile( const QString &name ) |
265 | { | 264 | { |
266 | QListIterator<QIMPenProfile> it( profileList ); | 265 | QListIterator<QIMPenProfile> it( profileList ); |
267 | for ( ; it.current(); ++it ) { | 266 | for ( ; it.current(); ++it ) { |
268 | if ( it.current()->name() == name ) { | 267 | if ( it.current()->name() == name ) { |
269 | profile = it.current(); | 268 | profile = it.current(); |
270 | break; | 269 | break; |
271 | } | 270 | } |
272 | } | 271 | } |
273 | 272 | ||
274 | if ( !it.current() ) { | 273 | if ( !it.current() ) |
275 | qWarning("No profile selected!\n"); | 274 | return; |
276 | return; | ||
277 | } | ||
278 | 275 | ||
279 | pw->clearCharSets(); | 276 | pw->clearCharSets(); |
280 | baseSets.clear(); | 277 | baseSets.clear(); |
281 | 278 | ||
282 | matcher->setMultiStrokeTimeout( profile->multiStrokeTimeout() ); | 279 | matcher->setMultiStrokeTimeout( profile->multiStrokeTimeout() ); |
283 | matcher->setWordMatchingEnabled( profile->matchWords() ); | 280 | matcher->setWordMatchingEnabled( profile->matchWords() ); |
284 | 281 | ||
285 | if ( !Global::fixedDawg().root() || !matcher->isWordMatchingEnabled() ) | 282 | if ( !Global::fixedDawg().root() || !matcher->isWordMatchingEnabled() ) |
286 | wordPicker->hide(); | 283 | wordPicker->hide(); |
287 | else | 284 | else |
288 | wordPicker->show(); | 285 | wordPicker->show(); |
289 | 286 | ||
290 | if ( profile->uppercase() && profile->style() == QIMPenProfile::BothCases ) { | 287 | if ( profile->uppercase() && profile->style() == QIMPenProfile::BothCases ) { |
291 | baseSets.append( profile->uppercase() ); | 288 | baseSets.append( profile->uppercase() ); |
292 | pw->insertCharSet( profile->uppercase() ); | 289 | pw->insertCharSet( profile->uppercase() ); |
293 | } | 290 | } |
294 | 291 | ||
295 | if ( profile->lowercase() ) { | 292 | if ( profile->lowercase() ) { |
296 | baseSets.append( profile->lowercase() ); | 293 | baseSets.append( profile->lowercase() ); |
297 | pw->insertCharSet( profile->lowercase(), profile->style() == QIMPenProfile::BothCases ? 1 : 2 ); | 294 | pw->insertCharSet( profile->lowercase(), profile->style() == QIMPenProfile::BothCases ? 1 : 2 ); |
298 | } | 295 | } |
299 | 296 | ||
300 | if ( profile->numeric() ) { | 297 | if ( profile->numeric() ) { |
301 | baseSets.append( profile->numeric() ); | 298 | baseSets.append( profile->numeric() ); |
302 | pw->insertCharSet( profile->numeric() ); | 299 | pw->insertCharSet( profile->numeric() ); |
303 | } | 300 | } |
304 | 301 | ||
305 | if ( helpDlg ) | 302 | if ( helpDlg ) |
306 | delete (HandwritingHelp*) helpDlg; | 303 | delete (HandwritingHelp*) helpDlg; |
307 | } | 304 | } |
308 | 305 | ||
309 | void QIMPenInput::wordPicked( const QString &w ) | 306 | void QIMPenInput::wordPicked( const QString &w ) |
310 | { | 307 | { |
311 | int bs = matcher->word().length(); | 308 | int bs = matcher->word().length(); |
312 | for ( int i = 0; i < bs; i++ ) | 309 | for ( int i = 0; i < bs; i++ ) |
313 | keypress( Qt::Key_Backspace << 16 ); | 310 | keypress( Qt::Key_Backspace << 16 ); |
314 | 311 | ||
315 | for ( unsigned int i = 0; i < w.length(); i++ ) | 312 | for ( unsigned int i = 0; i < w.length(); i++ ) |
316 | keypress( w[i].unicode() ); | 313 | keypress( w[i].unicode() ); |
317 | 314 | ||
318 | matcher->resetState(); | 315 | matcher->resetState(); |
319 | wordPicker->clear(); | 316 | wordPicker->clear(); |
320 | } | 317 | } |
321 | 318 | ||
322 | void QIMPenInput::selectCharSet( int idx ) | 319 | void QIMPenInput::selectCharSet( int idx ) |
323 | { | 320 | { |
324 | if ( mode == Switch ) { | 321 | if ( mode == Switch ) { |
325 | //qDebug( "Switch back to normal" ); | 322 | //qDebug( "Switch back to normal" ); |
diff --git a/inputmethods/handwriting/qimpenprofile.cpp b/inputmethods/handwriting/qimpenprofile.cpp index 4b5bb83..3b1b5e9 100644 --- a/inputmethods/handwriting/qimpenprofile.cpp +++ b/inputmethods/handwriting/qimpenprofile.cpp | |||
@@ -1,145 +1,145 @@ | |||
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 | 20 | ||
21 | #include "qimpencombining.h" | 21 | #include "qimpencombining.h" |
22 | #include "qimpenprofile.h" | 22 | #include "qimpenprofile.h" |
23 | 23 | ||
24 | #include <qpe/qpeapplication.h> | 24 | #include <qpe/qpeapplication.h> |
25 | #include <qpe/config.h> | 25 | #include <qpe/config.h> |
26 | #include <qpe/global.h> | 26 | #include <qpe/global.h> |
27 | 27 | ||
28 | 28 | ||
29 | QIMPenProfile::QIMPenProfile( const QString &fn ) | 29 | QIMPenProfile::QIMPenProfile( const QString &fn ) |
30 | : filename( fn ) | 30 | : filename( fn ) |
31 | { | 31 | { |
32 | sets.setAutoDelete( true ); | 32 | sets.setAutoDelete( true ); |
33 | 33 | ||
34 | Config config( filename, Config::File ); | 34 | Config config( filename, Config::File ); |
35 | config.setGroup( "Handwriting" ); | 35 | config.setGroup( "Handwriting" ); |
36 | 36 | ||
37 | pname = config.readEntry( "Name" ); | 37 | pname = config.readEntry( "Name" ); |
38 | pdesc = config.readEntry( "Description" ); | 38 | pdesc = config.readEntry( "Description" ); |
39 | 39 | ||
40 | tstyle = config.readBoolEntry( "CanSelectStyle", false ); | 40 | tstyle = config.readBoolEntry( "CanSelectStyle", false ); |
41 | 41 | ||
42 | wordMatch = config.readBoolEntry( "MatchWords", true ); | 42 | wordMatch = config.readBoolEntry( "MatchWords", true ); |
43 | 43 | ||
44 | config.setGroup( "Settings" ); | 44 | config.setGroup( "Settings" ); |
45 | 45 | ||
46 | pstyle = BothCases; | 46 | pstyle = BothCases; |
47 | QString s = config.readEntry( "Style", "BothCases" ); | 47 | QString s = config.readEntry( "Style", "BothCases" ); |
48 | if ( s == "ToggleCases" ) | 48 | if ( s == "ToggleCases" ) |
49 | pstyle = ToggleCases; | 49 | pstyle = ToggleCases; |
50 | 50 | ||
51 | msTimeout = config.readNumEntry( "MultiTimeout", 500 ); | 51 | msTimeout = config.readNumEntry( "MultiTimeout", 500 ); |
52 | 52 | ||
53 | // Read user configuration | 53 | // Read user configuration |
54 | Config usrConfig( userConfig() ); | 54 | Config usrConfig( userConfig() ); |
55 | usrConfig.setGroup( "Settings" ); | 55 | usrConfig.setGroup( "Settings" ); |
56 | msTimeout = usrConfig.readNumEntry( "MultiTimeout", msTimeout ); | 56 | msTimeout = usrConfig.readNumEntry( "MultiTimeout", msTimeout ); |
57 | 57 | ||
58 | if ( tstyle && usrConfig.hasKey( "Style" ) ) { | 58 | if ( tstyle && usrConfig.hasKey( "Style" ) ) { |
59 | pstyle = BothCases; | 59 | pstyle = BothCases; |
60 | QString s = usrConfig.readEntry( "Style", "BothCases" ); | 60 | QString s = usrConfig.readEntry( "Style", "BothCases" ); |
61 | if ( s == "ToggleCases" ) | 61 | if ( s == "ToggleCases" ) |
62 | pstyle = ToggleCases; | 62 | pstyle = ToggleCases; |
63 | } | 63 | } |
64 | } | 64 | } |
65 | 65 | ||
66 | void QIMPenProfile::setStyle( Style s ) | 66 | void QIMPenProfile::setStyle( Style s ) |
67 | { | 67 | { |
68 | if ( tstyle && s != pstyle ) { | 68 | if ( tstyle && s != pstyle ) { |
69 | pstyle = s; | 69 | pstyle = s; |
70 | Config config( userConfig() ); | 70 | Config config( userConfig() ); |
71 | config.setGroup( "Settings" ); | 71 | config.setGroup( "Settings" ); |
72 | QString s = pstyle == ToggleCases ? "ToggleCases" : "BothCases"; | 72 | QString s = pstyle == ToggleCases ? "ToggleCases" : "BothCases"; |
73 | config.writeEntry( "Style", s ); | 73 | config.writeEntry( "Style", s ); |
74 | } | 74 | } |
75 | } | 75 | } |
76 | 76 | ||
77 | void QIMPenProfile::setMultiStrokeTimeout( int t ) | 77 | void QIMPenProfile::setMultiStrokeTimeout( int t ) |
78 | { | 78 | { |
79 | if ( t != msTimeout ) { | 79 | if ( t != msTimeout ) { |
80 | msTimeout = t; | 80 | msTimeout = t; |
81 | Config config( userConfig() ); | 81 | Config config( userConfig() ); |
82 | config.setGroup( "Settings" ); | 82 | config.setGroup( "Settings" ); |
83 | config.writeEntry( "MultiTimeout", msTimeout ); | 83 | config.writeEntry( "MultiTimeout", msTimeout ); |
84 | } | 84 | } |
85 | } | 85 | } |
86 | 86 | ||
87 | QString QIMPenProfile::userConfig() | 87 | QString QIMPenProfile::userConfig() |
88 | { | 88 | { |
89 | QString un = filename; | 89 | QString un = filename; |
90 | int pos = un.findRev( '/' ); | 90 | int pos = un.findRev( '/' ); |
91 | if ( pos >= 0 ) | 91 | if ( pos >= 0 ) |
92 | un = un.mid( pos + 1 ); | 92 | un = un.mid( pos + 1 ); |
93 | pos = un.find( '.' ); | 93 | pos = un.find( '.' ); |
94 | if ( pos > 0 ) | 94 | if ( pos > 0 ) |
95 | un.truncate( pos ); | 95 | un.truncate( pos ); |
96 | 96 | ||
97 | un = "handwriting-" + un; | 97 | un = "handwriting-" + un; // No tr |
98 | 98 | ||
99 | return un; | 99 | return un; |
100 | } | 100 | } |
101 | 101 | ||
102 | void QIMPenProfile::loadData() | 102 | void QIMPenProfile::loadData() |
103 | { | 103 | { |
104 | Config config( filename, Config::File ); | 104 | Config config( filename, Config::File ); |
105 | config.setGroup( "CharSets" ); | 105 | config.setGroup( "CharSets" ); |
106 | 106 | ||
107 | QString baseDir = QPEApplication::qpeDir(); | 107 | QString baseDir = QPEApplication::qpeDir(); |
108 | baseDir += "/etc/"; | 108 | baseDir += "/etc/"; |
109 | // accents | 109 | // accents |
110 | QIMPenCombining *combining = 0; | 110 | QIMPenCombining *combining = 0; |
111 | QString s = config.readEntry( "Combining" ); | 111 | QString s = config.readEntry( "Combining" ); |
112 | if ( !s.isEmpty() ) { | 112 | if ( !s.isEmpty() ) { |
113 | combining = new QIMPenCombining( baseDir + "qimpen/" + s ); | 113 | combining = new QIMPenCombining( baseDir + "qimpen/" + s ); |
114 | if ( combining->isEmpty() ) { | 114 | if ( combining->isEmpty() ) { |
115 | delete combining; | 115 | delete combining; |
116 | combining = 0; | 116 | combining = 0; |
117 | } | 117 | } |
118 | } | 118 | } |
119 | // uppercase latin1 | 119 | // uppercase latin1 |
120 | QIMPenCharSet *cs = 0; | 120 | QIMPenCharSet *cs = 0; |
121 | s = config.readEntry( "Uppercase" ); | 121 | s = config.readEntry( "Uppercase" ); |
122 | if ( !s.isEmpty() ) { | 122 | if ( !s.isEmpty() ) { |
123 | cs = new QIMPenCharSet( baseDir + "qimpen/" + s ); | 123 | cs = new QIMPenCharSet( baseDir + "qimpen/" + s ); |
124 | cs->load( Global::applicationFileName("qimpen",s), QIMPenCharSet::User ); | 124 | cs->load( Global::applicationFileName("qimpen",s), QIMPenCharSet::User ); |
125 | if ( !cs->isEmpty() ) { | 125 | if ( !cs->isEmpty() ) { |
126 | if ( combining ) | 126 | if ( combining ) |
127 | combining->addCombined( cs ); | 127 | combining->addCombined( cs ); |
128 | sets.append( cs ); | 128 | sets.append( cs ); |
129 | } else { | 129 | } else { |
130 | delete cs; | 130 | delete cs; |
131 | } | 131 | } |
132 | } | 132 | } |
133 | // lowercase latin1 | 133 | // lowercase latin1 |
134 | s = config.readEntry( "Lowercase" ); | 134 | s = config.readEntry( "Lowercase" ); |
135 | if ( !s.isEmpty() ) { | 135 | if ( !s.isEmpty() ) { |
136 | cs = new QIMPenCharSet( baseDir + "qimpen/" + s ); | 136 | cs = new QIMPenCharSet( baseDir + "qimpen/" + s ); |
137 | cs->load( Global::applicationFileName("qimpen",s), QIMPenCharSet::User ); | 137 | cs->load( Global::applicationFileName("qimpen",s), QIMPenCharSet::User ); |
138 | if ( !cs->isEmpty() ) { | 138 | if ( !cs->isEmpty() ) { |
139 | if ( combining ) | 139 | if ( combining ) |
140 | combining->addCombined( cs ); | 140 | combining->addCombined( cs ); |
141 | sets.append( cs ); | 141 | sets.append( cs ); |
142 | } else { | 142 | } else { |
143 | delete cs; | 143 | delete cs; |
144 | } | 144 | } |
145 | } | 145 | } |
diff --git a/inputmethods/handwriting/qimpensetup.cpp b/inputmethods/handwriting/qimpensetup.cpp index 2c06fbc..5d49e03 100644 --- a/inputmethods/handwriting/qimpensetup.cpp +++ b/inputmethods/handwriting/qimpensetup.cpp | |||
@@ -1,52 +1,52 @@ | |||
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 | 20 | ||
21 | #include "qimpenwidget.h" | 21 | #include "qimpenwidget.h" |
22 | #include "qimpenprefbase.h" | 22 | #include "qimpenprefbase.h" |
23 | #include "qimpensetup.h" | 23 | #include "qimpensetup.h" |
24 | 24 | ||
25 | #include <qpe/qpeapplication.h> | 25 | #include <qpe/qpeapplication.h> |
26 | #include <qpe/config.h> | 26 | #include <qpe/config.h> |
27 | 27 | ||
28 | #include <qcombobox.h> | 28 | #include <qcombobox.h> |
29 | #include <qlistbox.h> | 29 | #include <qlistbox.h> |
30 | #include <qlabel.h> | 30 | #include <qlabel.h> |
31 | #include <qpushbutton.h> | 31 | #include <qpushbutton.h> |
32 | #include <qlayout.h> | 32 | #include <qlayout.h> |
33 | #include <qpixmap.h> | 33 | #include <qpixmap.h> |
34 | #include <qbuttongroup.h> | 34 | #include <qbuttongroup.h> |
35 | #include <qslider.h> | 35 | #include <qslider.h> |
36 | #include <qtabwidget.h> | 36 | #include <qtabwidget.h> |
37 | #include <qdir.h> | 37 | #include <qdir.h> |
38 | #include <qmessagebox.h> | 38 | #include <qmessagebox.h> |
39 | 39 | ||
40 | 40 | ||
41 | /* XPM */ | 41 | /* XPM */ |
42 | static const char * const left_xpm[] = { | 42 | static const char * const left_xpm[] = { |
43 | "16 16 2 1", | 43 | "16 16 2 1", |
44 | " c None", | 44 | " c None", |
45 | ".c #000000", | 45 | ".c #000000", |
46 | " ", | 46 | " ", |
47 | " ", | 47 | " ", |
48 | " ", | 48 | " ", |
49 | " . ", | 49 | " . ", |
50 | " .. ", | 50 | " .. ", |
51 | " ... ", | 51 | " ... ", |
52 | " .... ", | 52 | " .... ", |
@@ -190,97 +190,97 @@ void QIMPenSetup::accept() | |||
190 | // Save current profile | 190 | // Save current profile |
191 | if ( profileCombo ) { | 191 | if ( profileCombo ) { |
192 | Config config( "handwriting" ); | 192 | Config config( "handwriting" ); |
193 | config.setGroup( "Settings" ); | 193 | config.setGroup( "Settings" ); |
194 | config.writeEntry( "Profile", profileCombo->currentText() ); | 194 | config.writeEntry( "Profile", profileCombo->currentText() ); |
195 | } | 195 | } |
196 | // Save charsets | 196 | // Save charsets |
197 | bool ok = TRUE; | 197 | bool ok = TRUE; |
198 | for ( int i = 0; i < (int)profileList.count(); i++ ) { | 198 | for ( int i = 0; i < (int)profileList.count(); i++ ) { |
199 | QIMPenProfile *prof = profileList.at(i); | 199 | QIMPenProfile *prof = profileList.at(i); |
200 | QIMPenCharSetIterator it(prof->charSets()); | 200 | QIMPenCharSetIterator it(prof->charSets()); |
201 | for ( ; it.current(); ++it ) { | 201 | for ( ; it.current(); ++it ) { |
202 | if ( !(it.current()->save( QIMPenCharSet::User )) ) { | 202 | if ( !(it.current()->save( QIMPenCharSet::User )) ) { |
203 | ok = FALSE; | 203 | ok = FALSE; |
204 | break; | 204 | break; |
205 | } | 205 | } |
206 | } | 206 | } |
207 | } | 207 | } |
208 | if ( !ok ) { | 208 | if ( !ok ) { |
209 | if ( QMessageBox::critical( 0, tr( "Out of space" ), | 209 | if ( QMessageBox::critical( 0, tr( "Out of space" ), |
210 | tr("Unable to save information.\n" | 210 | tr("Unable to save information.\n" |
211 | "Free up some space\n" | 211 | "Free up some space\n" |
212 | "and try again.\n" | 212 | "and try again.\n" |
213 | "\nQuit anyway?"), | 213 | "\nQuit anyway?"), |
214 | QMessageBox::Yes|QMessageBox::Escape, | 214 | QMessageBox::Yes|QMessageBox::Escape, |
215 | QMessageBox::No|QMessageBox::Default ) | 215 | QMessageBox::No|QMessageBox::Default ) |
216 | != QMessageBox::No ) { | 216 | != QMessageBox::No ) { |
217 | QDialog::accept(); | 217 | QDialog::accept(); |
218 | } | 218 | } |
219 | } else { | 219 | } else { |
220 | QDialog::accept(); | 220 | QDialog::accept(); |
221 | } | 221 | } |
222 | } | 222 | } |
223 | 223 | ||
224 | //--------------------------------------------------------------------------- | 224 | //--------------------------------------------------------------------------- |
225 | 225 | ||
226 | QIMPenInputCharDlg::QIMPenInputCharDlg( QWidget *parent, const char *name, | 226 | QIMPenInputCharDlg::QIMPenInputCharDlg( QWidget *parent, const char *name, |
227 | bool modal, int WFlags) | 227 | bool modal, int WFlags) |
228 | : QDialog( parent, name, modal, WFlags ) | 228 | : QDialog( parent, name, modal, WFlags ) |
229 | { | 229 | { |
230 | setCaption( tr("Enter new character") ); | 230 | setCaption( tr("Enter new character") ); |
231 | uni = 0; | 231 | uni = 0; |
232 | 232 | ||
233 | QVBoxLayout *vb = new QVBoxLayout( this, 10 ); | 233 | QVBoxLayout *vb = new QVBoxLayout( this, 10 ); |
234 | 234 | ||
235 | QHBoxLayout *hb = new QHBoxLayout(); | 235 | QHBoxLayout *hb = new QHBoxLayout(); |
236 | vb->addLayout( hb ); | 236 | vb->addLayout( hb ); |
237 | 237 | ||
238 | QLabel *label = new QLabel( "Character:", this ); | 238 | QLabel *label = new QLabel( tr("Character:"), this ); |
239 | hb->addWidget( label ); | 239 | hb->addWidget( label ); |
240 | 240 | ||
241 | QComboBox *cb = new QComboBox( TRUE, this ); | 241 | QComboBox *cb = new QComboBox( TRUE, this ); |
242 | connect( cb, SIGNAL(activated(int)), SLOT(setSpecial(int)) ); | 242 | connect( cb, SIGNAL(activated(int)), SLOT(setSpecial(int)) ); |
243 | connect( cb, SIGNAL(textChanged(const QString &)), | 243 | connect( cb, SIGNAL(textChanged(const QString &)), |
244 | SLOT(setCharacter(const QString &)) ); | 244 | SLOT(setCharacter(const QString &)) ); |
245 | addSpecial( cb ); | 245 | addSpecial( cb ); |
246 | cb->setEditText( "" ); | 246 | cb->setEditText( "" ); |
247 | hb->addWidget( cb ); | 247 | hb->addWidget( cb ); |
248 | 248 | ||
249 | hb = new QHBoxLayout(); | 249 | hb = new QHBoxLayout(); |
250 | vb->addLayout( hb ); | 250 | vb->addLayout( hb ); |
251 | 251 | ||
252 | QPushButton *pb = new QPushButton( "OK", this ); | 252 | QPushButton *pb = new QPushButton( "OK", this ); |
253 | connect( pb, SIGNAL(clicked()), SLOT(accept())); | 253 | connect( pb, SIGNAL(clicked()), SLOT(accept())); |
254 | hb->addWidget( pb ); | 254 | hb->addWidget( pb ); |
255 | pb = new QPushButton( "Cancel", this ); | 255 | pb = new QPushButton( "Cancel", this ); |
256 | connect( pb, SIGNAL(clicked()), SLOT(reject())); | 256 | connect( pb, SIGNAL(clicked()), SLOT(reject())); |
257 | hb->addWidget( pb ); | 257 | hb->addWidget( pb ); |
258 | 258 | ||
259 | cb->setFocus(); | 259 | cb->setFocus(); |
260 | } | 260 | } |
261 | 261 | ||
262 | void QIMPenInputCharDlg::addSpecial( QComboBox *cb ) | 262 | void QIMPenInputCharDlg::addSpecial( QComboBox *cb ) |
263 | { | 263 | { |
264 | int i = 0; | 264 | int i = 0; |
265 | while ( qimpen_specialKeys[i].code != Key_unknown ) { | 265 | while ( qimpen_specialKeys[i].code != Key_unknown ) { |
266 | cb->insertItem( qimpen_specialKeys[i].name ); | 266 | cb->insertItem( qimpen_specialKeys[i].name ); |
267 | i++; | 267 | i++; |
268 | } | 268 | } |
269 | } | 269 | } |
270 | 270 | ||
271 | void QIMPenInputCharDlg::setSpecial( int sp ) | 271 | void QIMPenInputCharDlg::setSpecial( int sp ) |
272 | { | 272 | { |
273 | uni = qimpen_specialKeys[sp].code << 16; | 273 | uni = qimpen_specialKeys[sp].code << 16; |
274 | } | 274 | } |
275 | 275 | ||
276 | void QIMPenInputCharDlg::setCharacter( const QString &string ) | 276 | void QIMPenInputCharDlg::setCharacter( const QString &string ) |
277 | { | 277 | { |
278 | uni = string[0].unicode(); | 278 | uni = string[0].unicode(); |
279 | } | 279 | } |
280 | 280 | ||
281 | //--------------------------------------------------------------------------- | 281 | //--------------------------------------------------------------------------- |
282 | 282 | ||
283 | class CharListItem : public QListBoxText | 283 | class CharListItem : public QListBoxText |
284 | { | 284 | { |
285 | public: | 285 | public: |
286 | CharListItem( const QString &text, uint c ) | 286 | CharListItem( const QString &text, uint c ) |
@@ -328,101 +328,101 @@ QIMPenEdit::QIMPenEdit( QIMPenProfile *p, QWidget *parent, | |||
328 | charList = new QListBox( this ); | 328 | charList = new QListBox( this ); |
329 | charList->setMinimumHeight( charList->sizeHint().height() ); | 329 | charList->setMinimumHeight( charList->sizeHint().height() ); |
330 | connect( charList, SIGNAL(highlighted(int)), SLOT(selectChar(int)) ); | 330 | connect( charList, SIGNAL(highlighted(int)), SLOT(selectChar(int)) ); |
331 | gl->addWidget( charList, 1, 0 ); | 331 | gl->addWidget( charList, 1, 0 ); |
332 | 332 | ||
333 | pw = new QIMPenWidget( this ); | 333 | pw = new QIMPenWidget( this ); |
334 | pw->setFixedHeight( 75 ); | 334 | pw->setFixedHeight( 75 ); |
335 | gl->addMultiCellWidget( pw, 2, 3, 0, 0 ); | 335 | gl->addMultiCellWidget( pw, 2, 3, 0, 0 ); |
336 | connect( pw, SIGNAL(stroke(QIMPenStroke *)), | 336 | connect( pw, SIGNAL(stroke(QIMPenStroke *)), |
337 | SLOT(newStroke(QIMPenStroke *)) ); | 337 | SLOT(newStroke(QIMPenStroke *)) ); |
338 | 338 | ||
339 | QVBoxLayout *vb = new QVBoxLayout(); | 339 | QVBoxLayout *vb = new QVBoxLayout(); |
340 | gl->addLayout( vb, 1, 1 ); | 340 | gl->addLayout( vb, 1, 1 ); |
341 | newBtn = new QPushButton( tr("New..."), this ); | 341 | newBtn = new QPushButton( tr("New..."), this ); |
342 | connect( newBtn, SIGNAL(clicked()), SLOT(addNewChar()) ); | 342 | connect( newBtn, SIGNAL(clicked()), SLOT(addNewChar()) ); |
343 | vb->addWidget( newBtn ); | 343 | vb->addWidget( newBtn ); |
344 | 344 | ||
345 | addBtn = new QPushButton( tr("Add"), this ); | 345 | addBtn = new QPushButton( tr("Add"), this ); |
346 | connect( addBtn, SIGNAL(clicked()), SLOT(addChar()) ); | 346 | connect( addBtn, SIGNAL(clicked()), SLOT(addChar()) ); |
347 | vb->addWidget( addBtn ); | 347 | vb->addWidget( addBtn ); |
348 | 348 | ||
349 | removeBtn = new QPushButton( tr("Remove"), this ); | 349 | removeBtn = new QPushButton( tr("Remove"), this ); |
350 | connect( removeBtn, SIGNAL(clicked()), SLOT(removeChar()) ); | 350 | connect( removeBtn, SIGNAL(clicked()), SLOT(removeChar()) ); |
351 | vb->addWidget( removeBtn ); | 351 | vb->addWidget( removeBtn ); |
352 | 352 | ||
353 | QPushButton *pb = new QPushButton( tr("Default"), this ); | 353 | QPushButton *pb = new QPushButton( tr("Default"), this ); |
354 | connect( pb, SIGNAL(clicked()), SLOT(defaultChars()) ); | 354 | connect( pb, SIGNAL(clicked()), SLOT(defaultChars()) ); |
355 | vb->addWidget( pb ); | 355 | vb->addWidget( pb ); |
356 | 356 | ||
357 | QHBoxLayout *hb = new QHBoxLayout(); | 357 | QHBoxLayout *hb = new QHBoxLayout(); |
358 | gl->addLayout( hb, 2, 1 ); | 358 | gl->addLayout( hb, 2, 1 ); |
359 | prevBtn = new QPushButton( this ); | 359 | prevBtn = new QPushButton( this ); |
360 | prevBtn->setPixmap( QPixmap( (const char **)left_xpm ) ); | 360 | prevBtn->setPixmap( QPixmap( (const char **)left_xpm ) ); |
361 | connect( prevBtn, SIGNAL(clicked()), SLOT(prevChar())); | 361 | connect( prevBtn, SIGNAL(clicked()), SLOT(prevChar())); |
362 | hb->addWidget( prevBtn ); | 362 | hb->addWidget( prevBtn ); |
363 | 363 | ||
364 | nextBtn = new QPushButton( this ); | 364 | nextBtn = new QPushButton( this ); |
365 | nextBtn->setPixmap( QPixmap( (const char **)right_xpm ) ); | 365 | nextBtn->setPixmap( QPixmap( (const char **)right_xpm ) ); |
366 | connect( nextBtn, SIGNAL(clicked()), SLOT(nextChar())); | 366 | connect( nextBtn, SIGNAL(clicked()), SLOT(nextChar())); |
367 | hb->addWidget( nextBtn ); | 367 | hb->addWidget( nextBtn ); |
368 | 368 | ||
369 | pb = new QPushButton( tr("Clear"), this ); | 369 | pb = new QPushButton( tr("Clear"), this ); |
370 | connect( pb, SIGNAL(clicked()), SLOT(clearChar()) ); | 370 | connect( pb, SIGNAL(clicked()), SLOT(clearChar()) ); |
371 | gl->addWidget( pb, 3, 1 ); | 371 | gl->addWidget( pb, 3, 1 ); |
372 | 372 | ||
373 | //-- | 373 | //-- |
374 | #if !defined(Q_WS_QWS) | 374 | #if !defined(Q_WS_QWS) |
375 | hb = new QHBoxLayout( tvb ); | 375 | hb = new QHBoxLayout( tvb ); |
376 | pb = new QPushButton( "OK", this ); | 376 | pb = new QPushButton( tr("OK"), this ); |
377 | connect( pb, SIGNAL(clicked()), SLOT(accept()) ); | 377 | connect( pb, SIGNAL(clicked()), SLOT(accept()) ); |
378 | hb->addWidget( pb ); | 378 | hb->addWidget( pb ); |
379 | 379 | ||
380 | pb = new QPushButton( "Cancel", this ); | 380 | pb = new QPushButton( tr("Cancel"), this ); |
381 | connect( pb, SIGNAL(clicked()), SLOT(reject()) ); | 381 | connect( pb, SIGNAL(clicked()), SLOT(reject()) ); |
382 | hb->addWidget( pb ); | 382 | hb->addWidget( pb ); |
383 | #endif | 383 | #endif |
384 | selectCharSet( 0 ); | 384 | selectCharSet( 0 ); |
385 | charList->setFocus(); | 385 | charList->setFocus(); |
386 | 386 | ||
387 | resize( minimumSize() ); | 387 | resize( minimumSize() ); |
388 | enableButtons(); | 388 | enableButtons(); |
389 | } | 389 | } |
390 | 390 | ||
391 | void QIMPenEdit::setProfile( QIMPenProfile *p ) | 391 | void QIMPenEdit::setProfile( QIMPenProfile *p ) |
392 | { | 392 | { |
393 | profile = p; | 393 | profile = p; |
394 | charSetCombo->clear(); | 394 | charSetCombo->clear(); |
395 | QIMPenCharSetIterator it( profile->charSets() ); | 395 | QIMPenCharSetIterator it( profile->charSets() ); |
396 | for ( ; it.current(); ++it ) { | 396 | for ( ; it.current(); ++it ) { |
397 | charSetCombo->insertItem( it.current()->description() ); | 397 | charSetCombo->insertItem( it.current()->description() ); |
398 | } | 398 | } |
399 | selectCharSet( 0 ); | 399 | selectCharSet( 0 ); |
400 | charList->setFocus(); | 400 | charList->setFocus(); |
401 | enableButtons(); | 401 | enableButtons(); |
402 | } | 402 | } |
403 | 403 | ||
404 | void QIMPenEdit::selectCharSet( QIMPenCharSet *c ) | 404 | void QIMPenEdit::selectCharSet( QIMPenCharSet *c ) |
405 | { | 405 | { |
406 | int i = 0; | 406 | int i = 0; |
407 | QIMPenCharSetIterator it( profile->charSets() ); | 407 | QIMPenCharSetIterator it( profile->charSets() ); |
408 | for ( ; it.current(); ++it, i++ ) { | 408 | for ( ; it.current(); ++it, i++ ) { |
409 | if ( it.current() == c ) { | 409 | if ( it.current() == c ) { |
410 | charSetCombo->setCurrentItem( i ); | 410 | charSetCombo->setCurrentItem( i ); |
411 | selectCharSet( i ); | 411 | selectCharSet( i ); |
412 | } | 412 | } |
413 | } | 413 | } |
414 | } | 414 | } |
415 | 415 | ||
416 | 416 | ||
417 | /*! | 417 | /*! |
418 | Fill the character list box with the characters. Duplicates are not | 418 | Fill the character list box with the characters. Duplicates are not |
419 | inserted. | 419 | inserted. |
420 | */ | 420 | */ |
421 | void QIMPenEdit::fillCharList() | 421 | void QIMPenEdit::fillCharList() |
422 | { | 422 | { |
423 | charList->clear(); | 423 | charList->clear(); |
424 | QIMPenCharIterator it( currentSet->characters() ); | 424 | QIMPenCharIterator it( currentSet->characters() ); |
425 | CharListItem *li = 0; | 425 | CharListItem *li = 0; |
426 | for ( ; it.current(); ++it ) { | 426 | for ( ; it.current(); ++it ) { |
427 | uint ch = it.current()->character(); | 427 | uint ch = it.current()->character(); |
428 | QString n = it.current()->name(); | 428 | QString n = it.current()->name(); |
diff --git a/inputmethods/jumpx/keyboardimpl.cpp b/inputmethods/jumpx/keyboardimpl.cpp index 004f0b0..92abb09 100644 --- a/inputmethods/jumpx/keyboardimpl.cpp +++ b/inputmethods/jumpx/keyboardimpl.cpp | |||
@@ -22,77 +22,76 @@ static const char * icon_xpm[] = { | |||
22 | " ... ... ... ... ... ... ", | 22 | " ... ... ... ... ... ... ", |
23 | ". . . . . . . ", | 23 | ". . . . . . . ", |
24 | ". . . . . . . ", | 24 | ". . . . . . . ", |
25 | ". . . . . . . ", | 25 | ". . . . . . . ", |
26 | " ....... ... ... ....... ", | 26 | " ....... ... ... ....... ", |
27 | ". . . . . ", | 27 | ". . . . . ", |
28 | ". . . . . ", | 28 | ". . . . . ", |
29 | ". . . . . ", | 29 | ". . . . . ", |
30 | " ....... ... ... ....... ", | 30 | " ....... ... ... ....... ", |
31 | ". . . . . . . ", | 31 | ". . . . . . . ", |
32 | ". . . . . . . ", | 32 | ". . . . . . . ", |
33 | ". . . . . . . ", | 33 | ". . . . . . . ", |
34 | " ... ... ... ... ... ... "}; | 34 | " ... ... ... ... ... ... "}; |
35 | 35 | ||
36 | 36 | ||
37 | KeyboardImpl::KeyboardImpl() | 37 | KeyboardImpl::KeyboardImpl() |
38 | : input(0), icn(0), ref(0) | 38 | : input(0), icn(0), ref(0) |
39 | { | 39 | { |
40 | } | 40 | } |
41 | 41 | ||
42 | KeyboardImpl::~KeyboardImpl() | 42 | KeyboardImpl::~KeyboardImpl() |
43 | { | 43 | { |
44 | delete input; | 44 | delete input; |
45 | delete icn; | 45 | delete icn; |
46 | } | 46 | } |
47 | 47 | ||
48 | QWidget *KeyboardImpl::inputMethod( QWidget *parent, Qt::WFlags f ) | 48 | QWidget *KeyboardImpl::inputMethod( QWidget *parent, Qt::WFlags f ) |
49 | { | 49 | { |
50 | if ( !input ) | 50 | if ( !input ) |
51 | input = new Keyboard( parent, "Keyboard", f ); | 51 | input = new Keyboard( parent, "Keyboard", f ); |
52 | return input; | 52 | return input; |
53 | } | 53 | } |
54 | 54 | ||
55 | void KeyboardImpl::resetState() | 55 | void KeyboardImpl::resetState() |
56 | { | 56 | { |
57 | if ( input ) | 57 | if ( input ) |
58 | input->resetState(); | 58 | input->resetState(); |
59 | } | 59 | } |
60 | 60 | ||
61 | QPixmap *KeyboardImpl::icon() | 61 | QPixmap *KeyboardImpl::icon() |
62 | { | 62 | { |
63 | if ( !icn ) | 63 | if ( !icn ) |
64 | icn = new QPixmap( (const char **)icon_xpm ); | 64 | icn = new QPixmap( (const char **)icon_xpm ); |
65 | return icn; | 65 | return icn; |
66 | } | 66 | } |
67 | 67 | ||
68 | QString KeyboardImpl::name() | 68 | QString KeyboardImpl::name() |
69 | { | 69 | { |
70 | // return qApp->translate( "InputMethods", "JumpX" ); | 70 | return qApp->translate( "InputMethods", "JumpX" ); |
71 | return "JumpX"; | ||
72 | } | 71 | } |
73 | 72 | ||
74 | void KeyboardImpl::onKeyPress( QObject *receiver, const char *slot ) | 73 | void KeyboardImpl::onKeyPress( QObject *receiver, const char *slot ) |
75 | { | 74 | { |
76 | if ( input ) | 75 | if ( input ) |
77 | QObject::connect( input, SIGNAL(key(ushort,ushort,ushort,bool,bool)), receiver, slot ); | 76 | QObject::connect( input, SIGNAL(key(ushort,ushort,ushort,bool,bool)), receiver, slot ); |
78 | } | 77 | } |
79 | 78 | ||
80 | #ifndef QT_NO_COMPONENT | 79 | #ifndef QT_NO_COMPONENT |
81 | QRESULT KeyboardImpl::queryInterface( const QUuid &uuid, QUnknownInterface **iface ) | 80 | QRESULT KeyboardImpl::queryInterface( const QUuid &uuid, QUnknownInterface **iface ) |
82 | { | 81 | { |
83 | *iface = 0; | 82 | *iface = 0; |
84 | if ( uuid == IID_QUnknown ) | 83 | if ( uuid == IID_QUnknown ) |
85 | *iface = this; | 84 | *iface = this; |
86 | else if ( uuid == IID_InputMethod ) | 85 | else if ( uuid == IID_InputMethod ) |
87 | *iface = this; | 86 | *iface = this; |
88 | 87 | ||
89 | if ( *iface ) | 88 | if ( *iface ) |
90 | (*iface)->addRef(); | 89 | (*iface)->addRef(); |
91 | return QS_OK; | 90 | return QS_OK; |
92 | } | 91 | } |
93 | 92 | ||
94 | Q_EXPORT_INTERFACE() | 93 | Q_EXPORT_INTERFACE() |
95 | { | 94 | { |
96 | Q_CREATE_INSTANCE( KeyboardImpl ) | 95 | Q_CREATE_INSTANCE( KeyboardImpl ) |
97 | } | 96 | } |
98 | #endif | 97 | #endif |
diff --git a/inputmethods/keyboard/keyboardimpl.cpp b/inputmethods/keyboard/keyboardimpl.cpp index 56e6870..bc96402 100644 --- a/inputmethods/keyboard/keyboardimpl.cpp +++ b/inputmethods/keyboard/keyboardimpl.cpp | |||
@@ -55,77 +55,76 @@ static char * opti_xpm[] = { | |||
55 | " .+++.+++.+++.+++.+++.+++. ", | 55 | " .+++.+++.+++.+++.+++.+++. ", |
56 | " .+@@.+@@.+@@.+@@.+@@.+@@. ", | 56 | " .+@@.+@@.+@@.+@@.+@@.+@@. ", |
57 | " ......................... ", | 57 | " ......................... ", |
58 | " .+++.+++.+++.+++.+++.+++. ", | 58 | " .+++.+++.+++.+++.+++.+++. ", |
59 | " .+@@.+@@.+@@.+@@.+@@.+@@. ", | 59 | " .+@@.+@@.+@@.+@@.+@@.+@@. ", |
60 | " ......................... ", | 60 | " ......................... ", |
61 | " .+++.+++.+++.+++.+++.+++. ", | 61 | " .+++.+++.+++.+++.+++.+++. ", |
62 | " .+@@.+@@.+@@.+@@.+@@.+@@. ", | 62 | " .+@@.+@@.+@@.+@@.+@@.+@@. ", |
63 | " ......................... ", | 63 | " ......................... ", |
64 | " .+++.+++.+++.+++.+++.+++. ", | 64 | " .+++.+++.+++.+++.+++.+++. ", |
65 | " .+@@.+@@.+@@.+@@.+@@.+@@. ", | 65 | " .+@@.+@@.+@@.+@@.+@@.+@@. ", |
66 | " ......................... "}; | 66 | " ......................... "}; |
67 | 67 | ||
68 | 68 | ||
69 | 69 | ||
70 | KeyboardImpl::KeyboardImpl() | 70 | KeyboardImpl::KeyboardImpl() |
71 | : input(0), icn(0), ref(0) | 71 | : input(0), icn(0), ref(0) |
72 | { | 72 | { |
73 | } | 73 | } |
74 | 74 | ||
75 | KeyboardImpl::~KeyboardImpl() | 75 | KeyboardImpl::~KeyboardImpl() |
76 | { | 76 | { |
77 | delete input; | 77 | delete input; |
78 | delete icn; | 78 | delete icn; |
79 | } | 79 | } |
80 | 80 | ||
81 | QWidget *KeyboardImpl::inputMethod( QWidget *parent, Qt::WFlags f ) | 81 | QWidget *KeyboardImpl::inputMethod( QWidget *parent, Qt::WFlags f ) |
82 | { | 82 | { |
83 | if ( !input ) | 83 | if ( !input ) |
84 | input = new Keyboard( parent, "Keyboard", f ); | 84 | input = new Keyboard( parent, "Keyboard", f ); |
85 | return input; | 85 | return input; |
86 | } | 86 | } |
87 | 87 | ||
88 | void KeyboardImpl::resetState() | 88 | void KeyboardImpl::resetState() |
89 | { | 89 | { |
90 | if ( input ) | 90 | if ( input ) |
91 | input->resetState(); | 91 | input->resetState(); |
92 | } | 92 | } |
93 | 93 | ||
94 | QPixmap *KeyboardImpl::icon() | 94 | QPixmap *KeyboardImpl::icon() |
95 | { | 95 | { |
96 | if ( !icn ) | 96 | if ( !icn ) |
97 | icn = new QPixmap( (const char **)kb_xpm ); | 97 | icn = new QPixmap( (const char **)kb_xpm ); |
98 | return icn; | 98 | return icn; |
99 | } | 99 | } |
100 | 100 | ||
101 | QString KeyboardImpl::name() | 101 | QString KeyboardImpl::name() |
102 | { | 102 | { |
103 | // return qApp->translate( "InputMethods", "Keyboard" ); | 103 | return qApp->translate( "InputMethods", "Keyboard" ); |
104 | return "Keyboard"; | ||
105 | } | 104 | } |
106 | 105 | ||
107 | void KeyboardImpl::onKeyPress( QObject *receiver, const char *slot ) | 106 | void KeyboardImpl::onKeyPress( QObject *receiver, const char *slot ) |
108 | { | 107 | { |
109 | if ( input ) | 108 | if ( input ) |
110 | QObject::connect( input, SIGNAL(key(ushort,ushort,ushort,bool,bool)), receiver, slot ); | 109 | QObject::connect( input, SIGNAL(key(ushort,ushort,ushort,bool,bool)), receiver, slot ); |
111 | } | 110 | } |
112 | 111 | ||
113 | #ifndef QT_NO_COMPONENT | 112 | #ifndef QT_NO_COMPONENT |
114 | QRESULT KeyboardImpl::queryInterface( const QUuid &uuid, QUnknownInterface **iface ) | 113 | QRESULT KeyboardImpl::queryInterface( const QUuid &uuid, QUnknownInterface **iface ) |
115 | { | 114 | { |
116 | *iface = 0; | 115 | *iface = 0; |
117 | if ( uuid == IID_QUnknown ) | 116 | if ( uuid == IID_QUnknown ) |
118 | *iface = this; | 117 | *iface = this; |
119 | else if ( uuid == IID_InputMethod ) | 118 | else if ( uuid == IID_InputMethod ) |
120 | *iface = this; | 119 | *iface = this; |
121 | 120 | ||
122 | if ( *iface ) | 121 | if ( *iface ) |
123 | (*iface)->addRef(); | 122 | (*iface)->addRef(); |
124 | return QS_OK; | 123 | return QS_OK; |
125 | } | 124 | } |
126 | 125 | ||
127 | Q_EXPORT_INTERFACE() | 126 | Q_EXPORT_INTERFACE() |
128 | { | 127 | { |
129 | Q_CREATE_INSTANCE( KeyboardImpl ) | 128 | Q_CREATE_INSTANCE( KeyboardImpl ) |
130 | } | 129 | } |
131 | #endif | 130 | #endif |
diff --git a/inputmethods/kjumpx/keyboardimpl.cpp b/inputmethods/kjumpx/keyboardimpl.cpp index dbae2b4..5d8e0d3 100644 --- a/inputmethods/kjumpx/keyboardimpl.cpp +++ b/inputmethods/kjumpx/keyboardimpl.cpp | |||
@@ -22,77 +22,76 @@ static char * icon_xpm[] = { | |||
22 | " ... ... ... ... ... ... ", | 22 | " ... ... ... ... ... ... ", |
23 | ". . . . . ", | 23 | ". . . . . ", |
24 | ". . ... .. . . ", | 24 | ". . ... .. . . ", |
25 | ". . .. . . ", | 25 | ". . .. . . ", |
26 | " ...... ...... ... .... ", | 26 | " ...... ...... ... .... ", |
27 | ". .. .. .. . ", | 27 | ". .. .. .. . ", |
28 | ". .. .. .. . ", | 28 | ". .. .. .. . ", |
29 | ". ... .. . ", | 29 | ". ... .. . ", |
30 | " ...... .. ...... ", | 30 | " ...... .. ...... ", |
31 | ". . .. . . ", | 31 | ". . .. . . ", |
32 | ". . ....... . . ", | 32 | ". . ....... . . ", |
33 | ". . . . . ", | 33 | ". . . . . ", |
34 | " ... ... ... ... ... ... "}; | 34 | " ... ... ... ... ... ... "}; |
35 | 35 | ||
36 | 36 | ||
37 | KeyboardImpl::KeyboardImpl() | 37 | KeyboardImpl::KeyboardImpl() |
38 | : input(0), icn(0), ref(0) | 38 | : input(0), icn(0), ref(0) |
39 | { | 39 | { |
40 | } | 40 | } |
41 | 41 | ||
42 | KeyboardImpl::~KeyboardImpl() | 42 | KeyboardImpl::~KeyboardImpl() |
43 | { | 43 | { |
44 | delete input; | 44 | delete input; |
45 | delete icn; | 45 | delete icn; |
46 | } | 46 | } |
47 | 47 | ||
48 | QWidget *KeyboardImpl::inputMethod( QWidget *parent, Qt::WFlags f ) | 48 | QWidget *KeyboardImpl::inputMethod( QWidget *parent, Qt::WFlags f ) |
49 | { | 49 | { |
50 | if ( !input ) | 50 | if ( !input ) |
51 | input = new Keyboard( parent, "Keyboard", f ); | 51 | input = new Keyboard( parent, "Keyboard", f ); |
52 | return input; | 52 | return input; |
53 | } | 53 | } |
54 | 54 | ||
55 | void KeyboardImpl::resetState() | 55 | void KeyboardImpl::resetState() |
56 | { | 56 | { |
57 | if ( input ) | 57 | if ( input ) |
58 | input->resetState(); | 58 | input->resetState(); |
59 | } | 59 | } |
60 | 60 | ||
61 | QPixmap *KeyboardImpl::icon() | 61 | QPixmap *KeyboardImpl::icon() |
62 | { | 62 | { |
63 | if ( !icn ) | 63 | if ( !icn ) |
64 | icn = new QPixmap( (const char **)icon_xpm ); | 64 | icn = new QPixmap( (const char **)icon_xpm ); |
65 | return icn; | 65 | return icn; |
66 | } | 66 | } |
67 | 67 | ||
68 | QString KeyboardImpl::name() | 68 | QString KeyboardImpl::name() |
69 | { | 69 | { |
70 | // return qApp->translate( "InputMethods", "KJumpX" ); | 70 | return qApp->translate( "InputMethods", "KJumpX" ); |
71 | return "KJumpX"; | ||
72 | } | 71 | } |
73 | 72 | ||
74 | void KeyboardImpl::onKeyPress( QObject *receiver, const char *slot ) | 73 | void KeyboardImpl::onKeyPress( QObject *receiver, const char *slot ) |
75 | { | 74 | { |
76 | if ( input ) | 75 | if ( input ) |
77 | QObject::connect( input, SIGNAL(key(ushort,ushort,ushort,bool,bool)), receiver, slot ); | 76 | QObject::connect( input, SIGNAL(key(ushort,ushort,ushort,bool,bool)), receiver, slot ); |
78 | } | 77 | } |
79 | 78 | ||
80 | #ifndef QT_NO_COMPONENT | 79 | #ifndef QT_NO_COMPONENT |
81 | QRESULT KeyboardImpl::queryInterface( const QUuid &uuid, QUnknownInterface **iface ) | 80 | QRESULT KeyboardImpl::queryInterface( const QUuid &uuid, QUnknownInterface **iface ) |
82 | { | 81 | { |
83 | *iface = 0; | 82 | *iface = 0; |
84 | if ( uuid == IID_QUnknown ) | 83 | if ( uuid == IID_QUnknown ) |
85 | *iface = this; | 84 | *iface = this; |
86 | else if ( uuid == IID_InputMethod ) | 85 | else if ( uuid == IID_InputMethod ) |
87 | *iface = this; | 86 | *iface = this; |
88 | 87 | ||
89 | if ( *iface ) | 88 | if ( *iface ) |
90 | (*iface)->addRef(); | 89 | (*iface)->addRef(); |
91 | return QS_OK; | 90 | return QS_OK; |
92 | } | 91 | } |
93 | 92 | ||
94 | Q_EXPORT_INTERFACE() | 93 | Q_EXPORT_INTERFACE() |
95 | { | 94 | { |
96 | Q_CREATE_INSTANCE( KeyboardImpl ) | 95 | Q_CREATE_INSTANCE( KeyboardImpl ) |
97 | } | 96 | } |
98 | #endif | 97 | #endif |
diff --git a/inputmethods/pickboard/pickboardimpl.cpp b/inputmethods/pickboard/pickboardimpl.cpp index 617acff..a4e8f02 100644 --- a/inputmethods/pickboard/pickboardimpl.cpp +++ b/inputmethods/pickboard/pickboardimpl.cpp | |||
@@ -25,78 +25,77 @@ | |||
25 | 25 | ||
26 | /* XPM */ | 26 | /* XPM */ |
27 | static const char * pb_xpm[]={ | 27 | static const char * pb_xpm[]={ |
28 | "28 7 2 1", | 28 | "28 7 2 1", |
29 | "# c #303030", | 29 | "# c #303030", |
30 | " c None", | 30 | " c None", |
31 | " ########################## ", | 31 | " ########################## ", |
32 | " # # # # # # # ", | 32 | " # # # # # # # ", |
33 | " # # # # # # # ", | 33 | " # # # # # # # ", |
34 | " ########################## ", | 34 | " ########################## ", |
35 | " # # # # # # ", | 35 | " # # # # # # ", |
36 | " # # # # # # ", | 36 | " # # # # # # ", |
37 | " ########################## "}; | 37 | " ########################## "}; |
38 | 38 | ||
39 | 39 | ||
40 | PickboardImpl::PickboardImpl() | 40 | PickboardImpl::PickboardImpl() |
41 | : pickboard(0), icn(0), ref(0) | 41 | : pickboard(0), icn(0), ref(0) |
42 | { | 42 | { |
43 | } | 43 | } |
44 | 44 | ||
45 | PickboardImpl::~PickboardImpl() | 45 | PickboardImpl::~PickboardImpl() |
46 | { | 46 | { |
47 | delete pickboard; | 47 | delete pickboard; |
48 | delete icn; | 48 | delete icn; |
49 | } | 49 | } |
50 | 50 | ||
51 | QWidget *PickboardImpl::inputMethod( QWidget *parent, Qt::WFlags f ) | 51 | QWidget *PickboardImpl::inputMethod( QWidget *parent, Qt::WFlags f ) |
52 | { | 52 | { |
53 | if ( !pickboard ) | 53 | if ( !pickboard ) |
54 | pickboard = new Pickboard( parent, "pickboard", f ); | 54 | pickboard = new Pickboard( parent, "pickboard", f ); |
55 | return pickboard; | 55 | return pickboard; |
56 | } | 56 | } |
57 | 57 | ||
58 | void PickboardImpl::resetState() | 58 | void PickboardImpl::resetState() |
59 | { | 59 | { |
60 | if ( pickboard ) | 60 | if ( pickboard ) |
61 | pickboard->resetState(); | 61 | pickboard->resetState(); |
62 | } | 62 | } |
63 | 63 | ||
64 | QPixmap *PickboardImpl::icon() | 64 | QPixmap *PickboardImpl::icon() |
65 | { | 65 | { |
66 | if ( !icn ) | 66 | if ( !icn ) |
67 | icn = new QPixmap( (const char **)pb_xpm ); | 67 | icn = new QPixmap( (const char **)pb_xpm ); |
68 | return icn; | 68 | return icn; |
69 | } | 69 | } |
70 | 70 | ||
71 | QString PickboardImpl::name() | 71 | QString PickboardImpl::name() |
72 | { | 72 | { |
73 | // return qApp->translate( "InputMethods", "Pickboard" ); | 73 | return qApp->translate( "InputMethods", "Pickboard" ); |
74 | return "Pickboard"; | ||
75 | } | 74 | } |
76 | 75 | ||
77 | void PickboardImpl::onKeyPress( QObject *receiver, const char *slot ) | 76 | void PickboardImpl::onKeyPress( QObject *receiver, const char *slot ) |
78 | { | 77 | { |
79 | if ( pickboard ) | 78 | if ( pickboard ) |
80 | QObject::connect( pickboard, SIGNAL(key(ushort,ushort,ushort,bool,bool)), receiver, slot ); | 79 | QObject::connect( pickboard, SIGNAL(key(ushort,ushort,ushort,bool,bool)), receiver, slot ); |
81 | } | 80 | } |
82 | 81 | ||
83 | #ifndef QT_NO_COMPONENT | 82 | #ifndef QT_NO_COMPONENT |
84 | QRESULT PickboardImpl::queryInterface( const QUuid &uuid, QUnknownInterface **iface ) | 83 | QRESULT PickboardImpl::queryInterface( const QUuid &uuid, QUnknownInterface **iface ) |
85 | { | 84 | { |
86 | *iface = 0; | 85 | *iface = 0; |
87 | if ( uuid == IID_QUnknown ) | 86 | if ( uuid == IID_QUnknown ) |
88 | *iface = this; | 87 | *iface = this; |
89 | else if ( uuid == IID_InputMethod ) | 88 | else if ( uuid == IID_InputMethod ) |
90 | *iface = this; | 89 | *iface = this; |
91 | 90 | ||
92 | if ( *iface ) | 91 | if ( *iface ) |
93 | (*iface)->addRef(); | 92 | (*iface)->addRef(); |
94 | return QS_OK; | 93 | return QS_OK; |
95 | } | 94 | } |
96 | 95 | ||
97 | Q_EXPORT_INTERFACE() | 96 | Q_EXPORT_INTERFACE() |
98 | { | 97 | { |
99 | Q_CREATE_INSTANCE( PickboardImpl ) | 98 | Q_CREATE_INSTANCE( PickboardImpl ) |
100 | } | 99 | } |
101 | #endif | 100 | #endif |
102 | 101 | ||
diff --git a/inputmethods/unikeyboard/unikeyboardimpl.cpp b/inputmethods/unikeyboard/unikeyboardimpl.cpp index aa05b31..fe601e0 100644 --- a/inputmethods/unikeyboard/unikeyboardimpl.cpp +++ b/inputmethods/unikeyboard/unikeyboardimpl.cpp | |||
@@ -30,77 +30,76 @@ static const char * uni_xpm[]={ | |||
30 | ". c None", | 30 | ". c None", |
31 | "............................", | 31 | "............................", |
32 | "...####....#####.....####...", | 32 | "...####....#####.....####...", |
33 | "...####....######....####...", | 33 | "...####....######....####...", |
34 | "...####....#######..........", | 34 | "...####....#######..........", |
35 | "...####....########..####...", | 35 | "...####....########..####...", |
36 | "...####....####.####.####...", | 36 | "...####....####.####.####...", |
37 | "...####....####..########...", | 37 | "...####....####..########...", |
38 | "...####....####...#######...", | 38 | "...####....####...#######...", |
39 | "...####....####....######...", | 39 | "...####....####....######...", |
40 | "...#####..#####.....#####...", | 40 | "...#####..#####.....#####...", |
41 | "....##########.......####...", | 41 | "....##########.......####...", |
42 | "......######..........###...", | 42 | "......######..........###...", |
43 | "............................"}; | 43 | "............................"}; |
44 | 44 | ||
45 | UniKeyboardImpl::UniKeyboardImpl() | 45 | UniKeyboardImpl::UniKeyboardImpl() |
46 | : input(0), icn(0), ref(0) | 46 | : input(0), icn(0), ref(0) |
47 | { | 47 | { |
48 | } | 48 | } |
49 | 49 | ||
50 | UniKeyboardImpl::~UniKeyboardImpl() | 50 | UniKeyboardImpl::~UniKeyboardImpl() |
51 | { | 51 | { |
52 | delete input; | 52 | delete input; |
53 | delete icn; | 53 | delete icn; |
54 | } | 54 | } |
55 | 55 | ||
56 | QWidget *UniKeyboardImpl::inputMethod( QWidget *parent, Qt::WFlags f ) | 56 | QWidget *UniKeyboardImpl::inputMethod( QWidget *parent, Qt::WFlags f ) |
57 | { | 57 | { |
58 | if ( !input ) | 58 | if ( !input ) |
59 | input = new UniKeyboard( parent, "UniKeyboard", f ); | 59 | input = new UniKeyboard( parent, "UniKeyboard", f ); |
60 | return input; | 60 | return input; |
61 | } | 61 | } |
62 | 62 | ||
63 | void UniKeyboardImpl::resetState() | 63 | void UniKeyboardImpl::resetState() |
64 | { | 64 | { |
65 | if ( input ) | 65 | if ( input ) |
66 | input->resetState(); | 66 | input->resetState(); |
67 | } | 67 | } |
68 | 68 | ||
69 | QPixmap *UniKeyboardImpl::icon() | 69 | QPixmap *UniKeyboardImpl::icon() |
70 | { | 70 | { |
71 | if ( !icn ) | 71 | if ( !icn ) |
72 | icn = new QPixmap( (const char **)uni_xpm ); | 72 | icn = new QPixmap( (const char **)uni_xpm ); |
73 | return icn; | 73 | return icn; |
74 | } | 74 | } |
75 | 75 | ||
76 | QString UniKeyboardImpl::name() | 76 | QString UniKeyboardImpl::name() |
77 | { | 77 | { |
78 | // return qApp->translate( "InputMethods", "Unicode" ); | 78 | return qApp->translate( "InputMethods", "Unicode" ); |
79 | return "Unicode"; | ||
80 | } | 79 | } |
81 | 80 | ||
82 | void UniKeyboardImpl::onKeyPress( QObject *receiver, const char *slot ) | 81 | void UniKeyboardImpl::onKeyPress( QObject *receiver, const char *slot ) |
83 | { | 82 | { |
84 | if ( input ) | 83 | if ( input ) |
85 | QObject::connect( input, SIGNAL(key(ushort,ushort,ushort,bool,bool)), receiver, slot ); | 84 | QObject::connect( input, SIGNAL(key(ushort,ushort,ushort,bool,bool)), receiver, slot ); |
86 | } | 85 | } |
87 | 86 | ||
88 | QRESULT UniKeyboardImpl::queryInterface( const QUuid &uuid, QUnknownInterface **iface ) | 87 | QRESULT UniKeyboardImpl::queryInterface( const QUuid &uuid, QUnknownInterface **iface ) |
89 | { | 88 | { |
90 | *iface = 0; | 89 | *iface = 0; |
91 | if ( uuid == IID_QUnknown ) | 90 | if ( uuid == IID_QUnknown ) |
92 | *iface = this; | 91 | *iface = this; |
93 | else if ( uuid == IID_InputMethod ) | 92 | else if ( uuid == IID_InputMethod ) |
94 | *iface = this; | 93 | *iface = this; |
95 | 94 | ||
96 | if ( *iface ) | 95 | if ( *iface ) |
97 | (*iface)->addRef(); | 96 | (*iface)->addRef(); |
98 | return QS_OK; | 97 | return QS_OK; |
99 | } | 98 | } |
100 | 99 | ||
101 | Q_EXPORT_INTERFACE() | 100 | Q_EXPORT_INTERFACE() |
102 | { | 101 | { |
103 | Q_CREATE_INSTANCE( UniKeyboardImpl ) | 102 | Q_CREATE_INSTANCE( UniKeyboardImpl ) |
104 | } | 103 | } |
105 | 104 | ||
106 | 105 | ||