summaryrefslogtreecommitdiff
path: root/inputmethods/handwriting
Side-by-side diff
Diffstat (limited to 'inputmethods/handwriting') (more/less context) (ignore whitespace changes)
-rw-r--r--inputmethods/handwriting/handwritingimpl.cpp3
-rw-r--r--inputmethods/handwriting/qimpenhelp.cpp43
-rw-r--r--inputmethods/handwriting/qimpeninput.cpp17
-rw-r--r--inputmethods/handwriting/qimpenprofile.cpp6
-rw-r--r--inputmethods/handwriting/qimpensetup.cpp10
5 files changed, 38 insertions, 41 deletions
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
@@ -78,18 +78,17 @@ QPixmap *HandwritingImpl::icon()
{
if ( !icn )
icn = new QPixmap( (const char **)pen_xpm );
return icn;
}
QString HandwritingImpl::name()
{
- // return qApp->translate( "InputMethods", "Handwriting" );
- return "Handwriting";
+ return qApp->translate( "InputMethods", "Handwriting" );
}
void HandwritingImpl::onKeyPress( QObject *receiver, const char *slot )
{
if ( input )
QObject::connect( input, SIGNAL(key(ushort,ushort,ushort,bool,bool)), receiver, slot );
}
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,12 +1,12 @@
/**********************************************************************
-** Copyright (C) 2000 Trolltech AS. All rights reserved.
+** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
**
-** This file is part of Qtopia Environment.
+** This file is part of the Qtopia Environment.
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
@@ -130,79 +130,74 @@ void HandwritingHelp::hideEvent( QHideEvent * )
Global::showInputMethod();
}
//---------------------------------------------------------------------------
HandwritingTrainer::HandwritingTrainer( QIMPenProfile *p, QWidget *parent, const char *name )
: QWidget( parent, name ), profile(p)
{
- QGridLayout *gl = new QGridLayout( this, 5, 2, 0, 4 );
- gl->setRowStretch( 1, 1 );
- gl->setRowStretch( 2, 1 );
+ QGridLayout *gl = new QGridLayout( this, 4, 2, 0, 4 );
gl->setColStretch( 1, 1 );
+ gl->setRowStretch(3, 1);
charSetCombo = new QComboBox( this );
gl->addMultiCellWidget( charSetCombo, 0, 0, 0, 1 );
connect( charSetCombo, SIGNAL(activated(int)), SLOT(selectCharSet(int)));
QIMPenCharSetIterator it( profile->charSets() );
for ( ; it.current(); ++it ) {
charSetCombo->insertItem( it.current()->description() );
}
charList = new QListBox( this );
charList->setHScrollBarMode( QListBox::AlwaysOff );
- charList->setFixedWidth( 80 );
+ charList->setFixedWidth(80);
connect( charList, SIGNAL(highlighted(int)), this, SLOT(selectChar(int)) );
- gl->addMultiCellWidget( charList, 1, 2, 0, 0 );
-
- QLabel *help = new QLabel( this );
- help->setAlignment( AlignLeft | AlignVCenter | WordBreak );
- gl->addWidget( help, 1, 1 );
- help->setText(
- tr( "Select a character from the list. The writing area on the left "
- "shows the reference character. Practice writing in the area on "
- "the right.") );
+ gl->addWidget(charList, 1, 0);
result = new QLabel( this );
- gl->addMultiCellWidget( result, 2, 3, 1, 1 );
+ result->setAlignment(AlignLeft | AlignVCenter | WordBreak);
+ result->setText(
+ tr( "Select a reference character from the list. Practice writing in "
+ "the area on the right."));
+ gl->addMultiCellWidget(result, 1, 2, 1, 1);
matcher = new QIMPenMatch( this );
matcher->setCharSet( currentSet );
connect( matcher, SIGNAL(noMatch()), this, SLOT(noMatch()) );
connect( matcher, SIGNAL(matchedCharacters(const QIMPenCharMatchList &)),
this, SLOT(matched(const QIMPenCharMatchList &)) );
QHBoxLayout *hb = new QHBoxLayout();
- gl->addLayout( hb, 3, 0 );
+ gl->addLayout( hb, 2, 0 );
prevBtn = new QPushButton( this );
prevBtn->setPixmap( QPixmap( (const char **)left_xpm ) );
connect( prevBtn, SIGNAL(clicked()), SLOT(prevChar()));
hb->addWidget( prevBtn );
nextBtn = new QPushButton( this );
nextBtn->setPixmap( QPixmap( (const char **)right_xpm ) );
connect( nextBtn, SIGNAL(clicked()), SLOT(nextChar()));
hb->addWidget( nextBtn );
refPw = new QIMPenWidget( this );
refPw->setReadOnly( TRUE );
- gl->addWidget( refPw, 4, 0 );
+ gl->addWidget( refPw, 3, 0 );
pracPw = new QIMPenWidget( this );
connect( matcher, SIGNAL(removeStroke()), pracPw, SLOT(removeStroke()) );
connect( pracPw, SIGNAL(beginStroke()),
this, SLOT(beginStroke()) );
connect( pracPw, SIGNAL(stroke( QIMPenStroke * )),
this, SLOT(strokeEntered( QIMPenStroke * )) );
connect( pracPw, SIGNAL(beginStroke()),
matcher, SLOT(beginStroke()) );
connect( pracPw, SIGNAL(stroke( QIMPenStroke * )),
matcher, SLOT(strokeEntered( QIMPenStroke * )) );
- gl->addWidget( pracPw, 4, 1 );
+ gl->addWidget( pracPw, 3, 1 );
redrawTimer = new QTimer( this );
connect( redrawTimer, SIGNAL(timeout()), this, SLOT(redrawChar()) );
redrawTimer->start( 5000 );
currentSet = 0;
charSetCombo->setCurrentItem( 1 );
selectCharSet( 1 );
@@ -222,22 +217,27 @@ void HandwritingTrainer::setCurrentChar( QIMPenChar *c )
{
currentChar = c;
refPw->showCharacter( currentChar );
pracPw->clear();
if ( currentChar ) {
prevBtn->setEnabled( findPrev() != 0 );
nextBtn->setEnabled( findNext() != 0 );
}
- result->setText( "" );
redrawTimer->start( 5000 );
}
void HandwritingTrainer::selectChar( int i )
{
+ static int last_char = 0;
+
+ if (last_char != i) {
+ result->setText("");
+ }
+
currentChar = 0;
currentCode = ((CharListItem *)charList->item(i))->code();
QIMPenCharIterator it(currentSet->characters() );
for ( ; it.current(); ++it ) {
if ( it.current()->character() == currentCode &&
!it.current()->testFlag( QIMPenChar::Deleted ) ) {
setCurrentChar( it.current() );
break;
@@ -247,31 +247,32 @@ void HandwritingTrainer::selectChar( int i )
setCurrentChar( 0 );
}
void HandwritingTrainer::selectCharSet( int i )
{
if ( currentSet ) {
refPw->removeCharSet( 0 );
pracPw->removeCharSet( 0 );
+ result->setText("");
}
currentSet = profile->charSets().at( i );
fillCharList();
refPw->insertCharSet( currentSet );
pracPw->insertCharSet( currentSet );
matcher->setCharSet( currentSet );
if ( charList->count() ) {
charList->setSelected( 0, TRUE );
selectChar(0);
}
}
void HandwritingTrainer::noMatch()
{
- result->setText( "No match" );
+ result->setText( tr("No match") );
}
void HandwritingTrainer::matched( const QIMPenCharMatchList &ml )
{
int maxErr = 20000 + (*ml.begin()).penChar->strokeLength(0) * 1000;
int baseErr = (*ml.begin()).penChar->strokeLength(0) * 250;
unsigned int numStrokes = (*ml.begin()).penChar->strokeCount();
QIMPenCharMatchList::ConstIterator it;
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,12 +1,12 @@
/**********************************************************************
-** Copyright (C) 2000 Trolltech AS. All rights reserved.
+** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
**
-** This file is part of Qtopia Environment.
+** This file is part of the Qtopia Environment.
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
@@ -129,18 +129,18 @@ static char * help_xpm[] = {
" #.# "};
/*!
\class QIMPenInput qimpeninput.h
Pen input widget.
*/
-QIMPenInput::QIMPenInput( QWidget *parent, const char *name, WFlags flags )
- : QFrame( parent, name, flags ), helpDlg(0), profile(0)
+QIMPenInput::QIMPenInput( QWidget *parent, const char *name, WFlags f )
+ : QFrame( parent, name, f ), helpDlg(0), profile(0)
{
setFrameStyle( Box | Plain );
profileList.setAutoDelete( true );
matcher = new QIMPenMatch( this );
connect( matcher, SIGNAL(keypress(uint)), this, SLOT(keypress(uint)) );
connect( matcher, SIGNAL(erase()), this, SLOT(erase()) );
@@ -233,53 +233,50 @@ QSize QIMPenInput::sizeHint() const
}
void QIMPenInput::loadProfiles()
{
profileList.clear();
profile = 0;
delete shortcutCharSet;
shortcutCharSet = new QIMPenCharSet();
- shortcutCharSet->setTitle( "Shortcut" );
+ shortcutCharSet->setTitle( tr("Shortcut") );
QString path = QPEApplication::qpeDir() + "etc/qimpen";
QDir dir( path, "*.conf" );
QStringList list = dir.entryList();
QStringList::Iterator it;
for ( it = list.begin(); it != list.end(); ++it ) {
QIMPenProfile *p = new QIMPenProfile( path + "/" + *it );
profileList.append( p );
if ( p->shortcut() ) {
QIMPenCharIterator it( p->shortcut()->characters() );
for ( ; it.current(); ++it ) {
shortcutCharSet->addChar( new QIMPenChar(*it.current()) );
}
}
}
-
Config config( "handwriting" );
config.setGroup( "Settings" );
QString prof = config.readEntry( "Profile", "Default" );
selectProfile( prof );
}
void QIMPenInput::selectProfile( const QString &name )
{
QListIterator<QIMPenProfile> it( profileList );
for ( ; it.current(); ++it ) {
if ( it.current()->name() == name ) {
profile = it.current();
break;
}
}
- if ( !it.current() ) {
- qWarning("No profile selected!\n");
- return;
- }
+ if ( !it.current() )
+ return;
pw->clearCharSets();
baseSets.clear();
matcher->setMultiStrokeTimeout( profile->multiStrokeTimeout() );
matcher->setWordMatchingEnabled( profile->matchWords() );
if ( !Global::fixedDawg().root() || !matcher->isWordMatchingEnabled() )
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,12 +1,12 @@
/**********************************************************************
-** Copyright (C) 2000 Trolltech AS. All rights reserved.
+** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
**
-** This file is part of Qtopia Environment.
+** This file is part of the Qtopia Environment.
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
@@ -89,17 +89,17 @@ QString QIMPenProfile::userConfig()
QString un = filename;
int pos = un.findRev( '/' );
if ( pos >= 0 )
un = un.mid( pos + 1 );
pos = un.find( '.' );
if ( pos > 0 )
un.truncate( pos );
- un = "handwriting-" + un;
+ un = "handwriting-" + un; // No tr
return un;
}
void QIMPenProfile::loadData()
{
Config config( filename, Config::File );
config.setGroup( "CharSets" );
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,12 +1,12 @@
/**********************************************************************
-** Copyright (C) 2000 Trolltech AS. All rights reserved.
+** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
**
-** This file is part of Qtopia Environment.
+** This file is part of the Qtopia Environment.
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
@@ -230,17 +230,17 @@ QIMPenInputCharDlg::QIMPenInputCharDlg( QWidget *parent, const char *name,
setCaption( tr("Enter new character") );
uni = 0;
QVBoxLayout *vb = new QVBoxLayout( this, 10 );
QHBoxLayout *hb = new QHBoxLayout();
vb->addLayout( hb );
- QLabel *label = new QLabel( "Character:", this );
+ QLabel *label = new QLabel( tr("Character:"), this );
hb->addWidget( label );
QComboBox *cb = new QComboBox( TRUE, this );
connect( cb, SIGNAL(activated(int)), SLOT(setSpecial(int)) );
connect( cb, SIGNAL(textChanged(const QString &)),
SLOT(setCharacter(const QString &)) );
addSpecial( cb );
cb->setEditText( "" );
@@ -368,21 +368,21 @@ QIMPenEdit::QIMPenEdit( QIMPenProfile *p, QWidget *parent,
pb = new QPushButton( tr("Clear"), this );
connect( pb, SIGNAL(clicked()), SLOT(clearChar()) );
gl->addWidget( pb, 3, 1 );
//--
#if !defined(Q_WS_QWS)
hb = new QHBoxLayout( tvb );
- pb = new QPushButton( "OK", this );
+ pb = new QPushButton( tr("OK"), this );
connect( pb, SIGNAL(clicked()), SLOT(accept()) );
hb->addWidget( pb );
- pb = new QPushButton( "Cancel", this );
+ pb = new QPushButton( tr("Cancel"), this );
connect( pb, SIGNAL(clicked()), SLOT(reject()) );
hb->addWidget( pb );
#endif
selectCharSet( 0 );
charList->setFocus();
resize( minimumSize() );
enableButtons();