summaryrefslogtreecommitdiff
authorbrad <brad>2004-03-21 12:42:10 (UTC)
committer brad <brad>2004-03-21 12:42:10 (UTC)
commitde722623b49574659f6ef5b065076cb1609f81dd (patch) (unidiff)
tree0d2ca78cfe42c71787a3e160b245285e18d900d3
parent2560326d09f90f0afce24577cafbfd4c1f5e4b23 (diff)
downloadopie-de722623b49574659f6ef5b065076cb1609f81dd.zip
opie-de722623b49574659f6ef5b065076cb1609f81dd.tar.gz
opie-de722623b49574659f6ef5b065076cb1609f81dd.tar.bz2
Fixes for graffiti handling. Contains a dirty hack that will be rectified when I commit the Graffiti charset.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--inputmethods/handwriting/qimpenchar.h2
-rw-r--r--inputmethods/handwriting/qimpenprofile.cpp3
-rw-r--r--inputmethods/handwriting/qimpensetup.cpp17
-rw-r--r--inputmethods/handwriting/qimpensetup.h1
4 files changed, 19 insertions, 4 deletions
diff --git a/inputmethods/handwriting/qimpenchar.h b/inputmethods/handwriting/qimpenchar.h
index e4e7645..92ee2c1 100644
--- a/inputmethods/handwriting/qimpenchar.h
+++ b/inputmethods/handwriting/qimpenchar.h
@@ -112,17 +112,17 @@ public:
112 QString description() const { return desc; } 112 QString description() const { return desc; }
113 void setTitle( const QString &t ) { csTitle = t; } 113 void setTitle( const QString &t ) { csTitle = t; }
114 QString title() const { return csTitle; } 114 QString title() const { return csTitle; }
115 115
116 QIMPenCharMatchList match( QIMPenChar *ch ); 116 QIMPenCharMatchList match( QIMPenChar *ch );
117 void addChar( QIMPenChar *ch ); 117 void addChar( QIMPenChar *ch );
118 void removeChar( QIMPenChar *ch ); 118 void removeChar( QIMPenChar *ch );
119 QIMPenChar *at( int i ); 119 QIMPenChar *at( int i );
120 void setHidden ( const bool &b ) { phidden = &b; } 120 void setHidden ( const bool &b ) { phidden = b; }
121 bool hidden() const { return phidden; } 121 bool hidden() const { return phidden; }
122 122
123 unsigned maximumStrokes() const { return maxStrokes; } 123 unsigned maximumStrokes() const { return maxStrokes; }
124 124
125 void up( QIMPenChar *ch ); 125 void up( QIMPenChar *ch );
126 void down( QIMPenChar *ch ); 126 void down( QIMPenChar *ch );
127 127
128 enum Domain { System, User }; 128 enum Domain { System, User };
diff --git a/inputmethods/handwriting/qimpenprofile.cpp b/inputmethods/handwriting/qimpenprofile.cpp
index b1a6592..67343c3 100644
--- a/inputmethods/handwriting/qimpenprofile.cpp
+++ b/inputmethods/handwriting/qimpenprofile.cpp
@@ -137,16 +137,17 @@ void QIMPenProfile::loadData()
137 s = config.readEntry( "Lowercase" ); 137 s = config.readEntry( "Lowercase" );
138 if ( !s.isEmpty() ) { 138 if ( !s.isEmpty() ) {
139 if ( mono() ) { 139 if ( mono() ) {
140 cs = new QIMPenCharSet ( baseDir + "qimpen/" + s ); 140 cs = new QIMPenCharSet ( baseDir + "qimpen/" + s );
141 cs->load( Global::applicationFileName("qimpen",s), QIMPenCharSet::User ); 141 cs->load( Global::applicationFileName("qimpen",s), QIMPenCharSet::User );
142 if ( !cs->isEmpty() ) { 142 if ( !cs->isEmpty() ) {
143 cs->setTitle( cs->title().upper() ); 143 cs->setTitle( cs->title().upper() );
144 cs->setType( QIMPenCharSet::Upper ); 144 cs->setType( QIMPenCharSet::Upper );
145 cs->setDescription( "Hidden uppercase" );
145 cs->setHidden ( true ); 146 cs->setHidden ( true );
146 QIMPenCharIterator it( cs->characters() ); 147 QIMPenCharIterator it( cs->characters() );
147 for ( ; it.current(); ++it ) { 148 for ( ; it.current(); ++it ) {
148 uint ch = it.current()->character(); 149 uint ch = it.current()->character();
149 if ( ch >= 'a' && ch <= 'z' ) 150 if ( ch >= 'a' && ch <= 'z' )
150 it.current()->setCharacter( QChar(ch).upper() ); 151 it.current()->setCharacter( QChar(ch).upper() );
151 } 152 }
152 if ( combining ) 153 if ( combining )
@@ -154,16 +155,18 @@ void QIMPenProfile::loadData()
154 sets.append( cs ); 155 sets.append( cs );
155 } else { 156 } else {
156 delete cs; 157 delete cs;
157 } 158 }
158 } 159 }
159 cs = new QIMPenCharSet( baseDir + "qimpen/" + s ); 160 cs = new QIMPenCharSet( baseDir + "qimpen/" + s );
160 cs->load( Global::applicationFileName("qimpen",s), QIMPenCharSet::User ); 161 cs->load( Global::applicationFileName("qimpen",s), QIMPenCharSet::User );
161 if ( !cs->isEmpty() ) { 162 if ( !cs->isEmpty() ) {
163 if ( mono () )
164 cs->setDescription( "Latin Characters" );
162 if ( combining ) 165 if ( combining )
163 combining->addCombined( cs ); 166 combining->addCombined( cs );
164 sets.append( cs ); 167 sets.append( cs );
165 } else { 168 } else {
166 delete cs; 169 delete cs;
167 } 170 }
168 } 171 }
169 // numeric (may comtain punctuation and symbols) 172 // numeric (may comtain punctuation and symbols)
diff --git a/inputmethods/handwriting/qimpensetup.cpp b/inputmethods/handwriting/qimpensetup.cpp
index d1297a9..3f4841d 100644
--- a/inputmethods/handwriting/qimpensetup.cpp
+++ b/inputmethods/handwriting/qimpensetup.cpp
@@ -321,17 +321,17 @@ QIMPenEdit::QIMPenEdit( QIMPenProfile *p, QWidget *parent,
321 321
322 QGridLayout *gl = new QGridLayout( tvb, 4, 2 ); 322 QGridLayout *gl = new QGridLayout( tvb, 4, 2 );
323 gl->setRowStretch( 1, 1 ); 323 gl->setRowStretch( 1, 1 );
324 gl->addRowSpacing( 2, 35 ); 324 gl->addRowSpacing( 2, 35 );
325 gl->addRowSpacing( 3, 35 ); 325 gl->addRowSpacing( 3, 35 );
326 326
327 charSetCombo = new QComboBox( this ); 327 charSetCombo = new QComboBox( this );
328 gl->addMultiCellWidget( charSetCombo, 0, 0, 0, 1 ); 328 gl->addMultiCellWidget( charSetCombo, 0, 0, 0, 1 );
329 connect( charSetCombo, SIGNAL(activated(int)), SLOT(selectCharSet(int))); 329 connect( charSetCombo, SIGNAL(activated(int)), SLOT(selectCharSetVisible(int)));
330 QIMPenCharSetIterator it( profile->charSets() ); 330 QIMPenCharSetIterator it( profile->charSets() );
331 for ( ; it.current(); ++it ) { 331 for ( ; it.current(); ++it ) {
332 charSetCombo->insertItem( it.current()->description() ); 332 charSetCombo->insertItem( it.current()->description() );
333 } 333 }
334 334
335 charList = new QListBox( this ); 335 charList = new QListBox( this );
336 charList->setMinimumHeight( charList->sizeHint().height() ); 336 charList->setMinimumHeight( charList->sizeHint().height() );
337 connect( charList, SIGNAL(highlighted(int)), SLOT(selectChar(int)) ); 337 connect( charList, SIGNAL(highlighted(int)), SLOT(selectChar(int)) );
@@ -383,33 +383,33 @@ QIMPenEdit::QIMPenEdit( QIMPenProfile *p, QWidget *parent,
383 pb = new QPushButton( tr("OK"), this ); 383 pb = new QPushButton( tr("OK"), this );
384 connect( pb, SIGNAL(clicked()), SLOT(accept()) ); 384 connect( pb, SIGNAL(clicked()), SLOT(accept()) );
385 hb->addWidget( pb ); 385 hb->addWidget( pb );
386 386
387 pb = new QPushButton( tr("Cancel"), this ); 387 pb = new QPushButton( tr("Cancel"), this );
388 connect( pb, SIGNAL(clicked()), SLOT(reject()) ); 388 connect( pb, SIGNAL(clicked()), SLOT(reject()) );
389 hb->addWidget( pb ); 389 hb->addWidget( pb );
390#endif 390#endif
391 selectCharSet( 0 ); 391 selectCharSetVisible( 0 );
392 charList->setFocus(); 392 charList->setFocus();
393 393
394 resize( minimumSize() ); 394 resize( minimumSize() );
395 enableButtons(); 395 enableButtons();
396} 396}
397 397
398void QIMPenEdit::setProfile( QIMPenProfile *p ) 398void QIMPenEdit::setProfile( QIMPenProfile *p )
399{ 399{
400 profile = p; 400 profile = p;
401 charSetCombo->clear(); 401 charSetCombo->clear();
402 QIMPenCharSetIterator it( profile->charSets() ); 402 QIMPenCharSetIterator it( profile->charSets() );
403 for ( ; it.current(); ++it ) { 403 for ( ; it.current(); ++it ) {
404 if ( ! it.current()->hidden() ) 404 if ( ! it.current()->hidden() )
405 charSetCombo->insertItem( it.current()->description() ); 405 charSetCombo->insertItem( it.current()->description() );
406 } 406 }
407 selectCharSet( 0 ); 407 selectCharSetVisible( 0 );
408 charList->setFocus(); 408 charList->setFocus();
409 enableButtons(); 409 enableButtons();
410} 410}
411 411
412void QIMPenEdit::selectCharSet( QIMPenCharSet *c ) 412void QIMPenEdit::selectCharSet( QIMPenCharSet *c )
413{ 413{
414 int i = 0; 414 int i = 0;
415 QIMPenCharSetIterator it( profile->charSets() ); 415 QIMPenCharSetIterator it( profile->charSets() );
@@ -544,16 +544,27 @@ void QIMPenEdit::selectChar( int i )
544 break; 544 break;
545 } 545 }
546 } 546 }
547 if ( !it.current() ) 547 if ( !it.current() )
548 setCurrentChar( 0 ); 548 setCurrentChar( 0 );
549 inputChar->clear(); 549 inputChar->clear();
550} 550}
551 551
552void QIMPenEdit::selectCharSetVisible( int c )
553{
554 int i = 0;
555 QIMPenCharSetIterator it( profile->charSets() );
556 for ( ; it.current(); ++it, i++ ) {
557 if ( charSetCombo->text( c ) == it.current()->description() ) {
558 selectCharSet( i );
559 }
560 }
561}
562
552void QIMPenEdit::selectCharSet( int i ) 563void QIMPenEdit::selectCharSet( int i )
553{ 564{
554 if ( currentSet ) 565 if ( currentSet )
555 pw->removeCharSet( 0 ); 566 pw->removeCharSet( 0 );
556 currentSet = profile->charSets().at( i ); 567 currentSet = profile->charSets().at( i );
557 fillCharList(); 568 fillCharList();
558 pw->insertCharSet( currentSet ); 569 pw->insertCharSet( currentSet );
559 inputChar->clear(); 570 inputChar->clear();
diff --git a/inputmethods/handwriting/qimpensetup.h b/inputmethods/handwriting/qimpensetup.h
index 5d3064b..93b981b 100644
--- a/inputmethods/handwriting/qimpensetup.h
+++ b/inputmethods/handwriting/qimpensetup.h
@@ -95,16 +95,17 @@ protected:
95 void setCurrentChar( QIMPenChar * ); 95 void setCurrentChar( QIMPenChar * );
96 96
97protected slots: 97protected slots:
98 void prevChar(); 98 void prevChar();
99 void nextChar(); 99 void nextChar();
100 void clearChar(); 100 void clearChar();
101 void selectChar( int ); 101 void selectChar( int );
102 void selectCharSet( int ); 102 void selectCharSet( int );
103 void selectCharSetVisible( int );
103 void addChar(); 104 void addChar();
104 void addNewChar(); 105 void addNewChar();
105 void removeChar(); 106 void removeChar();
106 void defaultChars(); 107 void defaultChars();
107 void newStroke( QIMPenStroke * ); 108 void newStroke( QIMPenStroke * );
108 109
109protected: 110protected:
110 QIMPenWidget *pw; 111 QIMPenWidget *pw;