summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/pim/addressbook/TODO7
-rw-r--r--core/pim/addressbook/abtable.cpp20
-rw-r--r--core/pim/addressbook/addressbook.cpp43
-rw-r--r--core/pim/addressbook/addressbook.h3
-rw-r--r--core/pim/addressbook/configdlg.cpp16
-rw-r--r--core/pim/addressbook/configdlg.h4
-rw-r--r--core/pim/addressbook/configdlg_base.ui105
-rw-r--r--core/pim/addressbook/opie-addressbook.control2
-rw-r--r--core/pim/addressbook/picker.cpp12
9 files changed, 197 insertions, 15 deletions
diff --git a/core/pim/addressbook/TODO b/core/pim/addressbook/TODO
index 796dc49..80ec2d9 100644
--- a/core/pim/addressbook/TODO
+++ b/core/pim/addressbook/TODO
@@ -1,19 +1,20 @@
1Stuff todo until OPIE 1.0 : 1Stuff todo until OPIE 1.0 :
2 2
3Pending bugfixes from previous work:
4
3Urgent: 5Urgent:
4 6
5- Font menu is invisible using german translation 7- Font menu is invisible using german translation
6 8
7Important: 9Important:
8 10
11- Overview window cleanup needed..
9- Cursor keys should work in detail-view (ablabel) 12- Cursor keys should work in detail-view (ablabel)
10- "What's this" should be added 13- "What's this" should be added
11- Store last settings of combo-boxes 14- Store last settings of combo-boxes
12- Mail-Icon is missing
13- Overview window cleanup needed..
14- Finishing of new View functions (List, Phonebook...) 15- Finishing of new View functions (List, Phonebook...)
15- The names of the countries are sorted by there english names, only.. 16- The names of the countries are sorted by there english names, only..
16 Even if they are translated.. :S 17 Even if they are translated.. :S
17- Reload if contacts were changed externally 18- Reload if contacts were changed externally
18 19
19Less important: 20Less important:
@@ -31,6 +32,8 @@ Fixed:
31- Syncing: abtable not reloaded after sync. 32- Syncing: abtable not reloaded after sync.
32- Find widget should be replaced by something like 33- Find widget should be replaced by something like
33 qpdf has. 34 qpdf has.
34- Adding a configuration dialog 35- Adding a configuration dialog
35- Picker: Activated letter schould be more visible 36- Picker: Activated letter schould be more visible
36- Advanced handling of cursor keys (search..) 37- Advanced handling of cursor keys (search..)
38- Mail-Icon is missing
39- Use opie-mail insted of qt-mail if possible.
diff --git a/core/pim/addressbook/abtable.cpp b/core/pim/addressbook/abtable.cpp
index 97b26db..4feadeb 100644
--- a/core/pim/addressbook/abtable.cpp
+++ b/core/pim/addressbook/abtable.cpp
@@ -683,47 +683,59 @@ void AbTable::slotDoFind( const QString &findString, bool caseSensitive, bool us
683 AbTableItem *ati; 683 AbTableItem *ati;
684 QRegExp r( findString ); 684 QRegExp r( findString );
685 r.setCaseSensitive( caseSensitive ); 685 r.setCaseSensitive( caseSensitive );
686 r.setWildcard( !useRegExp ); 686 r.setWildcard( !useRegExp );
687 rows = numRows(); 687 rows = numRows();
688 static bool wrapAround = true; 688 static bool wrapAround = true;
689 bool try_again = false;
689 690
691 // We will loop until we found an entry or found nothing.
692 do {
690 if ( !backwards ) { 693 if ( !backwards ) {
691 for ( row = currFindRow + 1; row < rows; row++ ) { 694 for ( row = currFindRow + 1; row < rows; row++ ) {
692 ati = static_cast<AbTableItem*>( item(row, 0) ); 695 ati = static_cast<AbTableItem*>( item(row, 0) );
693 if ( contactCompare( contactList[ati], r, category ) ) 696 if ( contactCompare( contactList[ati], r, category ) ){
697 try_again = false;
694 break; 698 break;
695 } 699 }
700 }
696 } else { 701 } else {
697 for ( row = currFindRow - 1; row > -1; row-- ) { 702 for ( row = currFindRow - 1; row > -1; row-- ) {
698 ati = static_cast<AbTableItem*>( item(row, 0) ); 703 ati = static_cast<AbTableItem*>( item(row, 0) );
699 if ( contactCompare( contactList[ati], r, category ) ) 704 if ( contactCompare( contactList[ati], r, category ) ){
705 try_again = false;
700 break; 706 break;
701 } 707 }
702 } 708 }
709 }
703 if ( row >= rows || row < 0 ) { 710 if ( row >= rows || row < 0 ) {
704 if ( row < 0 ) 711 if ( row < 0 )
705 currFindRow = rows; 712 currFindRow = rows;
706 else 713 else
707 currFindRow = -1; 714 currFindRow = -1;
708 715
709 if ( wrapAround ) 716 if ( wrapAround ){
710 emit signalWrapAround(); 717 emit signalWrapAround();
711 else 718 try_again = true;
719 }else{
712 emit signalNotFound(); 720 emit signalNotFound();
721 try_again = false;
722 }
713 723
714 wrapAround = !wrapAround; 724 wrapAround = !wrapAround;
715 } else { 725 } else {
716 currFindRow = row; 726 currFindRow = row;
717 QTableSelection foundSelection; 727 QTableSelection foundSelection;
718 foundSelection.init( currFindRow, 0 ); 728 foundSelection.init( currFindRow, 0 );
719 foundSelection.expandTo( currFindRow, numCols() - 1 ); 729 foundSelection.expandTo( currFindRow, numCols() - 1 );
720 addSelection( foundSelection ); 730 addSelection( foundSelection );
721 setCurrentCell( currFindRow, 0 /* numCols() - 1 */ ); 731 setCurrentCell( currFindRow, 0 /* numCols() - 1 */ );
722 wrapAround = true; 732 wrapAround = true;
733 try_again = false;
723 } 734 }
735 } while ( try_again );
724} 736}
725 737
726static bool contactCompare( const OContact &cnt, const QRegExp &r, int category ) 738static bool contactCompare( const OContact &cnt, const QRegExp &r, int category )
727{ 739{
728 bool returnMe; 740 bool returnMe;
729 QArray<int> cats; 741 QArray<int> cats;
diff --git a/core/pim/addressbook/addressbook.cpp b/core/pim/addressbook/addressbook.cpp
index 3466801..39d8321 100644
--- a/core/pim/addressbook/addressbook.cpp
+++ b/core/pim/addressbook/addressbook.cpp
@@ -77,23 +77,29 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name,
77 WFlags f ) 77 WFlags f )
78 : QMainWindow( parent, name, f ), 78 : QMainWindow( parent, name, f ),
79 abEditor(0), 79 abEditor(0),
80 useRegExp(false), 80 useRegExp(false),
81 doNotifyWrapAround(true), 81 doNotifyWrapAround(true),
82 caseSensitive(false), 82 caseSensitive(false),
83 m_useQtMail(true),
84 m_useOpieMail(false),
83 bAbEditFirstTime(TRUE), 85 bAbEditFirstTime(TRUE),
84 syncing(FALSE) 86 syncing(FALSE)
85{ 87{
86 isLoading = true; 88 isLoading = true;
87 89
88 // Read Config settings 90 // Read Config settings
89 Config cfg("AddressBook"); 91 Config cfg("AddressBook");
90 cfg.setGroup("Search"); 92 cfg.setGroup("Search");
91 useRegExp = cfg.readBoolEntry( "useRegExp" ); 93 useRegExp = cfg.readBoolEntry( "useRegExp" );
92 caseSensitive = cfg.readBoolEntry( "caseSensitive" ); 94 caseSensitive = cfg.readBoolEntry( "caseSensitive" );
93 doNotifyWrapAround = cfg.readBoolEntry( "doNotifyWrapAround" ); 95 doNotifyWrapAround = cfg.readBoolEntry( "doNotifyWrapAround" );
96 cfg.setGroup("Mail");
97 m_useQtMail = cfg.readBoolEntry( "useQtMail" );
98 m_useOpieMail=cfg.readBoolEntry( "useOpieMail" );
99
94 100
95 initFields(); 101 initFields();
96 102
97 setCaption( tr("Contacts") ); 103 setCaption( tr("Contacts") );
98 setIcon( Resource::loadPixmap( "AddressBook" ) ); 104 setIcon( Resource::loadPixmap( "AddressBook" ) );
99 105
@@ -166,13 +172,13 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name,
166 a->addTo( searchBar ); 172 a->addTo( searchBar );
167 173
168 a = new QAction( tr( "Close Find" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); 174 a = new QAction( tr( "Close Find" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 );
169 connect( a, SIGNAL( activated() ), this, SLOT( slotFindClose() ) ); 175 connect( a, SIGNAL( activated() ), this, SLOT( slotFindClose() ) );
170 a->addTo( searchBar ); 176 a->addTo( searchBar );
171 177
172 a = new QAction( tr( "Write Mail To" ), Resource::loadPixmap( "qtmail/reply" ), 178 a = new QAction( tr( "Write Mail To" ), Resource::loadPixmap( "mail/sendmail" ),
173 QString::null, 0, this, 0 ); 179 QString::null, 0, this, 0 );
174 //a->setEnabled( FALSE ); we got support for it now :) zecke 180 //a->setEnabled( FALSE ); we got support for it now :) zecke
175 actionMail = a; 181 actionMail = a;
176 connect( a, SIGNAL( activated() ), this, SLOT( writeMail() ) ); 182 connect( a, SIGNAL( activated() ), this, SLOT( writeMail() ) );
177 a->addTo( edit ); 183 a->addTo( edit );
178 a->addTo( listTools ); 184 a->addTo( listTools );
@@ -279,18 +285,22 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name,
279void AddressbookWindow::slotConfig() 285void AddressbookWindow::slotConfig()
280{ 286{
281 ConfigDlg* dlg = new ConfigDlg( this, "Config" ); 287 ConfigDlg* dlg = new ConfigDlg( this, "Config" );
282 dlg -> setUseRegExp ( useRegExp ); 288 dlg -> setUseRegExp ( useRegExp );
283 dlg -> setBeCaseSensitive( caseSensitive ); 289 dlg -> setBeCaseSensitive( caseSensitive );
284 dlg -> setSignalWrapAround( doNotifyWrapAround ); 290 dlg -> setSignalWrapAround( doNotifyWrapAround );
291 dlg -> setQtMail ( m_useQtMail );
292 dlg -> setOpieMail ( m_useOpieMail );
285 dlg -> showMaximized(); 293 dlg -> showMaximized();
286 if ( dlg -> exec() ) { 294 if ( dlg -> exec() ) {
287 qWarning ("Config Dialog accepted !"); 295 qWarning ("Config Dialog accepted !");
288 useRegExp = dlg -> useRegExp(); 296 useRegExp = dlg -> useRegExp();
289 caseSensitive = dlg -> beCaseSensitive(); 297 caseSensitive = dlg -> beCaseSensitive();
290 doNotifyWrapAround = dlg -> signalWrapAround(); 298 doNotifyWrapAround = dlg -> signalWrapAround();
299 m_useQtMail = dlg -> useQtMail();
300 m_useOpieMail= dlg -> useOpieMail();
291 } 301 }
292 302
293 delete dlg; 303 delete dlg;
294} 304}
295 305
296 306
@@ -377,12 +387,15 @@ AddressbookWindow::~AddressbookWindow()
377 cfg.writeEntry("fontSize", startFontSize); 387 cfg.writeEntry("fontSize", startFontSize);
378 388
379 cfg.setGroup("Search"); 389 cfg.setGroup("Search");
380 cfg.writeEntry("useRegExp", useRegExp); 390 cfg.writeEntry("useRegExp", useRegExp);
381 cfg.writeEntry("caseSensitive", caseSensitive); 391 cfg.writeEntry("caseSensitive", caseSensitive);
382 cfg.writeEntry("doNotifyWrapAround", doNotifyWrapAround); 392 cfg.writeEntry("doNotifyWrapAround", doNotifyWrapAround);
393 cfg.setGroup("Mail");
394 cfg.writeEntry( "useQtMail", m_useQtMail );
395 cfg.writeEntry( "useOpieMail", m_useOpieMail);
383} 396}
384 397
385void AddressbookWindow::slotUpdateToolbar() 398void AddressbookWindow::slotUpdateToolbar()
386{ 399{
387 OContact ce = abList->currentEntry(); 400 OContact ce = abList->currentEntry();
388 actionMail->setEnabled( !ce.defaultEmail().isEmpty() ); 401 actionMail->setEnabled( !ce.defaultEmail().isEmpty() );
@@ -491,14 +504,42 @@ void AddressbookWindow::slotViewEdit()
491 504
492void AddressbookWindow::writeMail() 505void AddressbookWindow::writeMail()
493{ 506{
494 OContact c = abList->currentEntry(); 507 OContact c = abList->currentEntry();
495 QString name = c.fileAs(); 508 QString name = c.fileAs();
496 QString email = c.defaultEmail(); 509 QString email = c.defaultEmail();
510
511 // I prefer the OPIE-Environment variable before the
512 // QPE-one..
513 QString basepath = QString::fromLatin1( getenv("OPIEDIR") );
514 if ( basepath.isEmpty() )
515 basepath = QString::fromLatin1( getenv("QPEDIR") );
516
517 // Try to access the preferred. If not possible, try to
518 // switch to the other one..
519 if ( m_useQtMail ){
520 qWarning ("Accessing: %s", (basepath + "/bin/qtmail").latin1());
521 if ( QFile::exists( basepath + "/bin/qtmail" ) ){
522 qWarning ("QCop");
497 QCopEnvelope e("QPE/Application/qtmail", "writeMail(QString,QString)"); 523 QCopEnvelope e("QPE/Application/qtmail", "writeMail(QString,QString)");
498 e << name << email; 524 e << name << email;
525 return;
526 } else
527 m_useOpieMail = true;
528 }
529 if ( m_useOpieMail ){
530 qWarning ("Accessing: %s", (basepath + "/bin/mail").latin1());
531 if ( QFile::exists( basepath + "/bin/mail" ) ){
532 qWarning ("QCop");
533 QCopEnvelope e("QPE/Application/mail", "writeMail(QString,QString)");
534 e << name << email;
535 return;
536 } else
537 m_useQtMail = true;
538 }
539
499} 540}
500 541
501static const char * beamfile = "/tmp/obex/contact.vcf"; 542static const char * beamfile = "/tmp/obex/contact.vcf";
502 543
503void AddressbookWindow::slotBeam() 544void AddressbookWindow::slotBeam()
504{ 545{
diff --git a/core/pim/addressbook/addressbook.h b/core/pim/addressbook/addressbook.h
index 299ed70..8027ccf 100644
--- a/core/pim/addressbook/addressbook.h
+++ b/core/pim/addressbook/addressbook.h
@@ -115,12 +115,15 @@ private:
115 OFloatBar* searchBar; 115 OFloatBar* searchBar;
116 QLineEdit* searchEdit; 116 QLineEdit* searchEdit;
117 bool useRegExp; 117 bool useRegExp;
118 bool doNotifyWrapAround; 118 bool doNotifyWrapAround;
119 bool caseSensitive; 119 bool caseSensitive;
120 120
121 bool m_useQtMail;
122 bool m_useOpieMail;
123
121 QAction *actionNew, *actionEdit, *actionTrash, *actionFind, *actionBeam, *actionPersonal, *actionMail; 124 QAction *actionNew, *actionEdit, *actionTrash, *actionFind, *actionBeam, *actionPersonal, *actionMail;
122 125
123 bool bAbEditFirstTime; 126 bool bAbEditFirstTime;
124 int viewMargin; 127 int viewMargin;
125 128
126 bool syncing; 129 bool syncing;
diff --git a/core/pim/addressbook/configdlg.cpp b/core/pim/addressbook/configdlg.cpp
index b7c3b77..c0195d1 100644
--- a/core/pim/addressbook/configdlg.cpp
+++ b/core/pim/addressbook/configdlg.cpp
@@ -12,12 +12,20 @@ bool ConfigDlg::useRegExp() const
12 return m_useRegExp->isOn(); 12 return m_useRegExp->isOn();
13} 13}
14bool ConfigDlg::useWildCards() const 14bool ConfigDlg::useWildCards() const
15{ 15{
16 return m_useWildCard->isOn(); 16 return m_useWildCard->isOn();
17} 17}
18bool ConfigDlg::useQtMail() const
19{
20 return m_useQtMail->isOn();
21}
22bool ConfigDlg::useOpieMail() const
23{
24 return m_useOpieMail->isOn();
25}
18bool ConfigDlg::beCaseSensitive() const 26bool ConfigDlg::beCaseSensitive() const
19{ 27{
20 return m_useCaseSensitive->isChecked(); 28 return m_useCaseSensitive->isChecked();
21} 29}
22bool ConfigDlg::signalWrapAround() const 30bool ConfigDlg::signalWrapAround() const
23{ 31{
@@ -36,10 +44,18 @@ void ConfigDlg::setBeCaseSensitive( bool v )
36 m_useCaseSensitive->setChecked( v ); 44 m_useCaseSensitive->setChecked( v );
37} 45}
38void ConfigDlg::setSignalWrapAround( bool v ) 46void ConfigDlg::setSignalWrapAround( bool v )
39{ 47{
40 m_signalWrapAround->setChecked( v ); 48 m_signalWrapAround->setChecked( v );
41} 49}
50void ConfigDlg::setQtMail( bool v )
51{
52 m_useQtMail->setChecked( v );
53}
54void ConfigDlg::setOpieMail( bool v )
55{
56 m_useOpieMail->setChecked( v );
57}
42 58
43 59
44 60
45 61
diff --git a/core/pim/addressbook/configdlg.h b/core/pim/addressbook/configdlg.h
index 8be469b..34e9718 100644
--- a/core/pim/addressbook/configdlg.h
+++ b/core/pim/addressbook/configdlg.h
@@ -11,15 +11,19 @@ public:
11 11
12 // Search Settings 12 // Search Settings
13 bool useRegExp() const; 13 bool useRegExp() const;
14 bool useWildCards() const; 14 bool useWildCards() const;
15 bool beCaseSensitive() const; 15 bool beCaseSensitive() const;
16 bool signalWrapAround() const; 16 bool signalWrapAround() const;
17 bool useQtMail() const;
18 bool useOpieMail() const;
17 19
18 void setUseRegExp( bool v ); 20 void setUseRegExp( bool v );
19 void setUseWildCards( bool v ); 21 void setUseWildCards( bool v );
20 void setBeCaseSensitive( bool v ); 22 void setBeCaseSensitive( bool v );
21 void setSignalWrapAround( bool v ); 23 void setSignalWrapAround( bool v );
24 void setQtMail( bool v );
25 void setOpieMail( bool v );
22}; 26};
23 27
24 28
25#endif 29#endif
diff --git a/core/pim/addressbook/configdlg_base.ui b/core/pim/addressbook/configdlg_base.ui
index e082702..d3ea12e 100644
--- a/core/pim/addressbook/configdlg_base.ui
+++ b/core/pim/addressbook/configdlg_base.ui
@@ -9,13 +9,13 @@
9 </property> 9 </property>
10 <property stdset="1"> 10 <property stdset="1">
11 <name>geometry</name> 11 <name>geometry</name>
12 <rect> 12 <rect>
13 <x>0</x> 13 <x>0</x>
14 <y>0</y> 14 <y>0</y>
15 <width>227</width> 15 <width>217</width>
16 <height>287</height> 16 <height>287</height>
17 </rect> 17 </rect>
18 </property> 18 </property>
19 <property stdset="1"> 19 <property stdset="1">
20 <name>caption</name> 20 <name>caption</name>
21 <string>MyDialog1</string> 21 <string>MyDialog1</string>
@@ -150,12 +150,115 @@
150 <height>20</height> 150 <height>20</height>
151 </size> 151 </size>
152 </property> 152 </property>
153 </spacer> 153 </spacer>
154 </vbox> 154 </vbox>
155 </widget> 155 </widget>
156 <widget>
157 <class>QWidget</class>
158 <property stdset="1">
159 <name>name</name>
160 <cstring>tab</cstring>
161 </property>
162 <attribute>
163 <name>title</name>
164 <string>Mail</string>
165 </attribute>
166 <vbox>
167 <property stdset="1">
168 <name>margin</name>
169 <number>5</number>
170 </property>
171 <property stdset="1">
172 <name>spacing</name>
173 <number>6</number>
174 </property>
175 <widget>
176 <class>QButtonGroup</class>
177 <property stdset="1">
178 <name>name</name>
179 <cstring>ButtonGroup2</cstring>
180 </property>
181 <property stdset="1">
182 <name>title</name>
183 <string>Mail</string>
184 </property>
185 <vbox>
186 <property stdset="1">
187 <name>margin</name>
188 <number>11</number>
189 </property>
190 <property stdset="1">
191 <name>spacing</name>
192 <number>6</number>
193 </property>
194 <widget>
195 <class>QRadioButton</class>
196 <property stdset="1">
197 <name>name</name>
198 <cstring>m_useQtMail</cstring>
199 </property>
200 <property stdset="1">
201 <name>text</name>
202 <string>Prefer QT-Mail </string>
203 </property>
204 <property stdset="1">
205 <name>checked</name>
206 <bool>true</bool>
207 </property>
208 </widget>
209 <widget>
210 <class>QRadioButton</class>
211 <property stdset="1">
212 <name>name</name>
213 <cstring>m_useOpieMail</cstring>
214 </property>
215 <property stdset="1">
216 <name>text</name>
217 <string>Prefer Opie-Mail</string>
218 </property>
219 </widget>
220 <widget>
221 <class>QLabel</class>
222 <property stdset="1">
223 <name>name</name>
224 <cstring>TextLabel1</cstring>
225 </property>
226 <property stdset="1">
227 <name>text</name>
228 <string>Notice: QT-Mail is just
229provided in the SHARP
230default ROM. Opie-Mail
231is provided free !</string>
232 </property>
233 </widget>
234 </vbox>
235 </widget>
236 <spacer>
237 <property>
238 <name>name</name>
239 <cstring>Spacer2</cstring>
240 </property>
241 <property stdset="1">
242 <name>orientation</name>
243 <enum>Vertical</enum>
244 </property>
245 <property stdset="1">
246 <name>sizeType</name>
247 <enum>Expanding</enum>
248 </property>
249 <property>
250 <name>sizeHint</name>
251 <size>
252 <width>20</width>
253 <height>20</height>
254 </size>
255 </property>
256 </spacer>
257 </vbox>
258 </widget>
156 </widget> 259 </widget>
157 <widget> 260 <widget>
158 <class>QLayoutWidget</class> 261 <class>QLayoutWidget</class>
159 <property stdset="1"> 262 <property stdset="1">
160 <name>name</name> 263 <name>name</name>
161 <cstring>Layout1</cstring> 264 <cstring>Layout1</cstring>
diff --git a/core/pim/addressbook/opie-addressbook.control b/core/pim/addressbook/opie-addressbook.control
index 14b0770..0a04ee6 100644
--- a/core/pim/addressbook/opie-addressbook.control
+++ b/core/pim/addressbook/opie-addressbook.control
@@ -1,9 +1,9 @@
1Files: bin/addressbook apps/1Pim/addressbook.desktop 1Files: bin/addressbook apps/1Pim/addressbook.desktop
2Priority: optional 2Priority: optional
3Section: opie/applications 3Section: opie/applications
4Maintainer: Warwick Allison <warwick@trolltech.com> 4Maintainer: Stefan Eilers <eilers.stefan@epost.de>
5Architecture: arm 5Architecture: arm
6Version: $QPE_VERSION-$SUB_VERSION 6Version: $QPE_VERSION-$SUB_VERSION
7Depends: opie-base ($QPE_VERSION) libopie 7Depends: opie-base ($QPE_VERSION) libopie
8Description: Contacts 8Description: Contacts
9 A simple addressbook for the Opie environment. 9 A simple addressbook for the Opie environment.
diff --git a/core/pim/addressbook/picker.cpp b/core/pim/addressbook/picker.cpp
index 7f4acb0..2c7dd71 100644
--- a/core/pim/addressbook/picker.cpp
+++ b/core/pim/addressbook/picker.cpp
@@ -90,15 +90,15 @@ void PickerLabel::mouseReleaseEvent( QMouseEvent* /* e */ )
90 90
91 if (lastLetter != letter1 && lastLetter != letter2 && lastLetter != letter3 && lastLetter != '\0') 91 if (lastLetter != letter1 && lastLetter != letter2 && lastLetter != letter3 && lastLetter != '\0')
92 QTimer::singleShot( 0, this, SLOT(emitClearSignal()) ); 92 QTimer::singleShot( 0, this, SLOT(emitClearSignal()) );
93 93
94 switch (currentLetter) { 94 switch (currentLetter) {
95 case 0: 95 case 0:
96 tmpStr = "<qt><u><font color=\"#7F0000\">"; 96 tmpStr = "<qt><u><b><font color=\"#FF00FF\">";
97 tmpStr += letter1; 97 tmpStr += letter1;
98 tmpStr += "</font></u>"; 98 tmpStr += "</font></b></u>";
99 tmpStr += letter2; 99 tmpStr += letter2;
100 tmpStr += letter3; 100 tmpStr += letter3;
101 tmpStr += "</qt>"; 101 tmpStr += "</qt>";
102 102
103 setText(tmpStr); 103 setText(tmpStr);
104 104
@@ -107,15 +107,15 @@ void PickerLabel::mouseReleaseEvent( QMouseEvent* /* e */ )
107 emit selectedLetter( letter1 ); 107 emit selectedLetter( letter1 );
108 break; 108 break;
109 109
110 case 1: 110 case 1:
111 tmpStr = "<qt>"; 111 tmpStr = "<qt>";
112 tmpStr += letter1; 112 tmpStr += letter1;
113 tmpStr += "<u><font color=\"#7F0000\">"; 113 tmpStr += "<u><b><font color=\"#FF00FF\">";
114 tmpStr += letter2; 114 tmpStr += letter2;
115 tmpStr += "</font></u>"; 115 tmpStr += "</font></b></u>";
116 tmpStr += letter3; 116 tmpStr += letter3;
117 tmpStr += "</qt>"; 117 tmpStr += "</qt>";
118 118
119 setText(tmpStr); 119 setText(tmpStr);
120 120
121 currentLetter++; 121 currentLetter++;
@@ -124,15 +124,15 @@ void PickerLabel::mouseReleaseEvent( QMouseEvent* /* e */ )
124 break; 124 break;
125 125
126 case 2: 126 case 2:
127 tmpStr = "<qt>"; 127 tmpStr = "<qt>";
128 tmpStr += letter1; 128 tmpStr += letter1;
129 tmpStr += letter2; 129 tmpStr += letter2;
130 tmpStr += "<u><font color=\"#7F0000\">"; 130 tmpStr += "<u><b><font color=\"#FF00FF\">";
131 tmpStr += letter3; 131 tmpStr += letter3;
132 tmpStr += "</font></u></qt>"; 132 tmpStr += "</font></b></u></qt>";
133 133
134 setText(tmpStr); 134 setText(tmpStr);
135 135
136 currentLetter++; 136 currentLetter++;
137 lastLetter = letter3; 137 lastLetter = letter3;
138 emit selectedLetter( letter3 ); 138 emit selectedLetter( letter3 );