Diffstat (limited to 'inputmethods/handwriting/qimpensetup.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | inputmethods/handwriting/qimpensetup.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/inputmethods/handwriting/qimpensetup.cpp b/inputmethods/handwriting/qimpensetup.cpp index 10c136d..2441102 100644 --- a/inputmethods/handwriting/qimpensetup.cpp +++ b/inputmethods/handwriting/qimpensetup.cpp @@ -90,26 +90,28 @@ QIMPenSetup::QIMPenSetup( QIMPenProfile *p, QWidget *parent, : QDialog( parent, name, modal, WFlags ), profileCombo(0), profile(p) { setCaption( tr("Setup Handwriting Input") ); QVBoxLayout *vb = new QVBoxLayout( this ); -#if 0 +#define MULTIPROFILE +#ifdef MULTIPROFILE profileList.setAutoDelete( true ); QHBoxLayout *hb = new QHBoxLayout( vb ); hb->setMargin( 6 ); QLabel *l = new QLabel( tr("Character Profile:"), this ); hb->addWidget( l ); profileCombo = new QComboBox( this ); connect( profileCombo, SIGNAL(activated(const QString &)), this, SLOT(selectProfile(const QString &)) ); hb->addWidget( profileCombo ); - loadProfiles(); #else profileList.append( profile ); #endif + + qWarning("profiles: %d", profileList.count()); QTabWidget *tw = new QTabWidget( this ); vb->addWidget( tw ); pref = new QIMPenPrefBase( this ); tw->addTab( pref, tr("Preferences") ); @@ -127,12 +129,16 @@ QIMPenSetup::QIMPenSetup( QIMPenProfile *p, QWidget *parent, multiTimeoutChanged( multiTimeout ); connect( pref->multiStrokeSlider, SIGNAL(valueChanged(int)), this, SLOT(multiTimeoutChanged(int)) ); edit = new QIMPenEdit( p, tw ); tw->addTab( edit, tr("Customize") ); +#ifdef MULTIPROFILE + loadProfiles(); +#endif + } void QIMPenSetup::loadProfiles() { QString path = QPEApplication::qpeDir() + "etc/qimpen"; QDir dir( path, "*.conf" ); @@ -142,12 +148,13 @@ void QIMPenSetup::loadProfiles() QIMPenProfile *p = new QIMPenProfile( path + "/" + *it ); profileList.append( p ); profileCombo->insertItem( p->name() ); if ( p->name() == profile->name() ) { profileCombo->setCurrentItem( profileCombo->count()-1 ); profile = p; + edit->setProfile( profile ); } } } void QIMPenSetup::styleClicked( int id ) { @@ -560,12 +567,13 @@ void QIMPenEdit::addChar() if ( !inputChar->isEmpty() ) { QIMPenChar *pc = new QIMPenChar( *inputChar ); pc->setCharacter( currentCode ); // User characters override all matching system characters. // Copy and mark deleted identical system characters. + QIMPenCharIterator it(currentSet->characters() ); QIMPenChar *sc = 0; while ( (sc = it.current()) != 0 ) { ++it; if ( sc->character() == currentCode && sc->testFlag( QIMPenChar::System ) && |