-rw-r--r-- | core/pim/addressbook/TODO | 7 | ||||
-rw-r--r-- | core/pim/addressbook/abtable.cpp | 76 | ||||
-rw-r--r-- | core/pim/addressbook/addressbook.cpp | 47 | ||||
-rw-r--r-- | core/pim/addressbook/addressbook.h | 3 | ||||
-rw-r--r-- | core/pim/addressbook/configdlg.cpp | 16 | ||||
-rw-r--r-- | core/pim/addressbook/configdlg.h | 4 | ||||
-rw-r--r-- | core/pim/addressbook/configdlg_base.ui | 105 | ||||
-rw-r--r-- | core/pim/addressbook/opie-addressbook.control | 2 | ||||
-rw-r--r-- | core/pim/addressbook/picker.cpp | 12 |
9 files changed, 227 insertions, 45 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,4 +1,6 @@ | |||
1 | Stuff todo until OPIE 1.0 : | 1 | Stuff todo until OPIE 1.0 : |
2 | 2 | ||
3 | Pending bugfixes from previous work: | ||
4 | |||
3 | Urgent: | 5 | Urgent: |
4 | 6 | ||
@@ -7,9 +9,8 @@ Urgent: | |||
7 | Important: | 9 | Important: |
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.. |
@@ -35,2 +36,4 @@ Fixed: | |||
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 | |||
@@ -687,39 +687,51 @@ void AbTable::slotDoFind( const QString &findString, bool caseSensitive, bool us | |||
687 | rows = numRows(); | 687 | rows = numRows(); |
688 | static bool wrapAround = true; | 688 | static bool wrapAround = true; |
689 | bool try_again = false; | ||
689 | 690 | ||
690 | if ( !backwards ) { | 691 | // We will loop until we found an entry or found nothing. |
691 | for ( row = currFindRow + 1; row < rows; row++ ) { | 692 | do { |
692 | ati = static_cast<AbTableItem*>( item(row, 0) ); | 693 | if ( !backwards ) { |
693 | if ( contactCompare( contactList[ati], r, category ) ) | 694 | for ( row = currFindRow + 1; row < rows; row++ ) { |
694 | break; | 695 | ati = static_cast<AbTableItem*>( item(row, 0) ); |
696 | if ( contactCompare( contactList[ati], r, category ) ){ | ||
697 | try_again = false; | ||
698 | break; | ||
699 | } | ||
700 | } | ||
701 | } else { | ||
702 | for ( row = currFindRow - 1; row > -1; row-- ) { | ||
703 | ati = static_cast<AbTableItem*>( item(row, 0) ); | ||
704 | if ( contactCompare( contactList[ati], r, category ) ){ | ||
705 | try_again = false; | ||
706 | break; | ||
707 | } | ||
708 | } | ||
695 | } | 709 | } |
696 | } else { | 710 | if ( row >= rows || row < 0 ) { |
697 | for ( row = currFindRow - 1; row > -1; row-- ) { | 711 | if ( row < 0 ) |
698 | ati = static_cast<AbTableItem*>( item(row, 0) ); | 712 | currFindRow = rows; |
699 | if ( contactCompare( contactList[ati], r, category ) ) | 713 | else |
700 | break; | 714 | currFindRow = -1; |
715 | |||
716 | if ( wrapAround ){ | ||
717 | emit signalWrapAround(); | ||
718 | try_again = true; | ||
719 | }else{ | ||
720 | emit signalNotFound(); | ||
721 | try_again = false; | ||
722 | } | ||
723 | |||
724 | wrapAround = !wrapAround; | ||
725 | } else { | ||
726 | currFindRow = row; | ||
727 | QTableSelection foundSelection; | ||
728 | foundSelection.init( currFindRow, 0 ); | ||
729 | foundSelection.expandTo( currFindRow, numCols() - 1 ); | ||
730 | addSelection( foundSelection ); | ||
731 | setCurrentCell( currFindRow, 0 /* numCols() - 1 */ ); | ||
732 | wrapAround = true; | ||
733 | try_again = false; | ||
701 | } | 734 | } |
702 | } | 735 | } while ( try_again ); |
703 | if ( row >= rows || row < 0 ) { | ||
704 | if ( row < 0 ) | ||
705 | currFindRow = rows; | ||
706 | else | ||
707 | currFindRow = -1; | ||
708 | |||
709 | if ( wrapAround ) | ||
710 | emit signalWrapAround(); | ||
711 | else | ||
712 | emit signalNotFound(); | ||
713 | |||
714 | wrapAround = !wrapAround; | ||
715 | } else { | ||
716 | currFindRow = row; | ||
717 | QTableSelection foundSelection; | ||
718 | foundSelection.init( currFindRow, 0 ); | ||
719 | foundSelection.expandTo( currFindRow, numCols() - 1 ); | ||
720 | addSelection( foundSelection ); | ||
721 | setCurrentCell( currFindRow, 0 /* numCols() - 1 */ ); | ||
722 | wrapAround = true; | ||
723 | } | ||
724 | } | 736 | } |
725 | 737 | ||
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 | |||
@@ -81,4 +81,6 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name, | |||
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) |
@@ -92,4 +94,8 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name, | |||
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(); |
@@ -170,5 +176,5 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name, | |||
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 |
@@ -283,4 +289,6 @@ void AddressbookWindow::slotConfig() | |||
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() ) { |
@@ -289,4 +297,6 @@ void AddressbookWindow::slotConfig() | |||
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 | ||
@@ -381,4 +391,7 @@ AddressbookWindow::~AddressbookWindow() | |||
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 | ||
@@ -495,6 +508,34 @@ void AddressbookWindow::writeMail() | |||
495 | QString name = c.fileAs(); | 508 | QString name = c.fileAs(); |
496 | QString email = c.defaultEmail(); | 509 | QString email = c.defaultEmail(); |
497 | QCopEnvelope e("QPE/Application/qtmail", "writeMail(QString,QString)"); | 510 | |
498 | e << name << email; | 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"); | ||
523 | QCopEnvelope e("QPE/Application/qtmail", "writeMail(QString,QString)"); | ||
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 | ||
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 | |||
@@ -119,4 +119,7 @@ private: | |||
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 | ||
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 | |||
@@ -16,4 +16,12 @@ bool ConfigDlg::useWildCards() const | |||
16 | return m_useWildCard->isOn(); | 16 | return m_useWildCard->isOn(); |
17 | } | 17 | } |
18 | bool ConfigDlg::useQtMail() const | ||
19 | { | ||
20 | return m_useQtMail->isOn(); | ||
21 | } | ||
22 | bool ConfigDlg::useOpieMail() const | ||
23 | { | ||
24 | return m_useOpieMail->isOn(); | ||
25 | } | ||
18 | bool ConfigDlg::beCaseSensitive() const | 26 | bool ConfigDlg::beCaseSensitive() const |
19 | { | 27 | { |
@@ -40,4 +48,12 @@ void ConfigDlg::setSignalWrapAround( bool v ) | |||
40 | m_signalWrapAround->setChecked( v ); | 48 | m_signalWrapAround->setChecked( v ); |
41 | } | 49 | } |
50 | void ConfigDlg::setQtMail( bool v ) | ||
51 | { | ||
52 | m_useQtMail->setChecked( v ); | ||
53 | } | ||
54 | void ConfigDlg::setOpieMail( bool v ) | ||
55 | { | ||
56 | m_useOpieMail->setChecked( v ); | ||
57 | } | ||
42 | 58 | ||
43 | 59 | ||
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 | |||
@@ -15,4 +15,6 @@ public: | |||
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 ); |
@@ -20,4 +22,6 @@ public: | |||
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 | ||
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 | |||
@@ -13,5 +13,5 @@ | |||
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> |
@@ -154,4 +154,107 @@ | |||
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 | ||
229 | provided in the SHARP | ||
230 | default ROM. Opie-Mail | ||
231 | is 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> |
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 | |||
@@ -2,5 +2,5 @@ Files: bin/addressbook apps/1Pim/addressbook.desktop | |||
2 | Priority: optional | 2 | Priority: optional |
3 | Section: opie/applications | 3 | Section: opie/applications |
4 | Maintainer: Warwick Allison <warwick@trolltech.com> | 4 | Maintainer: Stefan Eilers <eilers.stefan@epost.de> |
5 | Architecture: arm | 5 | Architecture: arm |
6 | Version: $QPE_VERSION-$SUB_VERSION | 6 | Version: $QPE_VERSION-$SUB_VERSION |
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 | |||
@@ -94,7 +94,7 @@ void PickerLabel::mouseReleaseEvent( QMouseEvent* /* e */ ) | |||
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; |
@@ -111,7 +111,7 @@ void PickerLabel::mouseReleaseEvent( QMouseEvent* /* e */ ) | |||
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>"; |
@@ -128,7 +128,7 @@ void PickerLabel::mouseReleaseEvent( QMouseEvent* /* e */ ) | |||
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); |