-rw-r--r-- | core/pim/addressbook/TODO | 8 | ||||
-rw-r--r-- | core/pim/addressbook/addressbook.cpp | 30 | ||||
-rw-r--r-- | core/pim/addressbook/addressbook.h | 5 | ||||
-rw-r--r-- | core/pim/addressbook/contacteditor.cpp | 2 | ||||
-rw-r--r-- | core/pim/addressbook/version.h | 2 |
5 files changed, 38 insertions, 9 deletions
diff --git a/core/pim/addressbook/TODO b/core/pim/addressbook/TODO index da9b9c2..a3cffa7 100644 --- a/core/pim/addressbook/TODO +++ b/core/pim/addressbook/TODO | |||
@@ -7,26 +7,21 @@ Feature requests: | |||
7 | (Maybe using gsmtool. And we may | 7 | (Maybe using gsmtool. And we may |
8 | add a library class for this) | 8 | add a library class for this) |
9 | - dial with dtmfdial in case it's installed and there's no mobile | 9 | - dial with dtmfdial in case it's installed and there's no mobile |
10 | - 3rd column for 2. Contact | 10 | - 3rd column for 2. Contact |
11 | - Implementing additional Views (Phonebook, ...) | 11 | - Implementing additional Views (Phonebook, ...) |
12 | - Birthday & Anniversary Reminder | 12 | - Birthday & Anniversary Reminder |
13 | - Beaming of multiple contacts (current list/ by search or by category) | 13 | - Beaming of multiple contacts (current list/ by search or by category) |
14 | - Configure the letter-picker: lastname/fullname search | 14 | - Configure the letter-picker: lastname/fullname search |
15 | - User center of the joypad to switch back from card to listview ! | 15 | - Optionally put scrollbars left. |
16 | 16 | ||
17 | Known Bugs: | 17 | Known Bugs: |
18 | ----------- | 18 | ----------- |
19 | 19 | ||
20 | Bugs but not in addressbook: | ||
21 | ----------------------------- | ||
22 | - VCARD: If umlaut (äöüß) in address, the parser gets confused.. | ||
23 | |||
24 | |||
25 | Urgent: | 20 | Urgent: |
26 | -------- | 21 | -------- |
27 | - Category is on the wrong position after changing to personal and back to normal | 22 | - Category is on the wrong position after changing to personal and back to normal |
28 | ( Temporarily workaround: Category is never deactivated.. :S ) | 23 | ( Temporarily workaround: Category is never deactivated.. :S ) |
29 | 24 | ||
30 | 25 | ||
31 | Important: | 26 | Important: |
32 | ---------- | 27 | ---------- |
@@ -109,8 +104,9 @@ Fixed/Ready: | |||
109 | - Store last settings of combo-boxes | 104 | - Store last settings of combo-boxes |
110 | - Personal and Business Web-page is not editable | 105 | - Personal and Business Web-page is not editable |
111 | - Default Email-button: A lot of problems: | 106 | - Default Email-button: A lot of problems: |
112 | If on second tab: The combo chooser is on the top left of the screen ! :( | 107 | If on second tab: The combo chooser is on the top left of the screen ! :( |
113 | - Default Email-Button: Sometimes not hiding the textfields completely | 108 | - Default Email-Button: Sometimes not hiding the textfields completely |
114 | - Fix handling of 3 Firstnames | 109 | - Fix handling of 3 Firstnames |
115 | - Cursor-UP/Down: Should additionally scroll cardview if it is too large | 110 | - Cursor-UP/Down: Should additionally scroll cardview if it is too large |
116 | (behaviour should be selectable by configuration) | 111 | (behaviour should be selectable by configuration) |
112 | - User center of the joypad to switch back from card to listview ! | ||
diff --git a/core/pim/addressbook/addressbook.cpp b/core/pim/addressbook/addressbook.cpp index a5bf19b..89a3312 100644 --- a/core/pim/addressbook/addressbook.cpp +++ b/core/pim/addressbook/addressbook.cpp | |||
@@ -204,16 +204,22 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name, | |||
204 | edit->insertSeparator(); | 204 | edit->insertSeparator(); |
205 | 205 | ||
206 | a = new QAction( tr("Import vCard"), Resource::loadPixmap( "addressbook/fileimport"), QString::null, | 206 | a = new QAction( tr("Import vCard"), Resource::loadPixmap( "addressbook/fileimport"), QString::null, |
207 | 0, this, 0); | 207 | 0, this, 0); |
208 | actionPersonal = a; | 208 | actionPersonal = a; |
209 | connect( a, SIGNAL( activated() ), this, SLOT( importvCard() ) ); | 209 | connect( a, SIGNAL( activated() ), this, SLOT( importvCard() ) ); |
210 | a->addTo( edit ); | 210 | a->addTo( edit ); |
211 | 211 | ||
212 | a = new QAction( tr("Export vCard"), Resource::loadPixmap( "addressbook/fileexport"), QString::null, | ||
213 | 0, this, 0); | ||
214 | actionPersonal = a; | ||
215 | connect( a, SIGNAL( activated() ), this, SLOT( exportvCard() ) ); | ||
216 | a->addTo( edit ); | ||
217 | |||
212 | edit->insertSeparator(); | 218 | edit->insertSeparator(); |
213 | 219 | ||
214 | a = new QAction( tr("My Personal Details"), Resource::loadPixmap( "addressbook/identity" ), | 220 | a = new QAction( tr("My Personal Details"), Resource::loadPixmap( "addressbook/identity" ), |
215 | QString::null, 0, this, 0 , TRUE ); | 221 | QString::null, 0, this, 0 , TRUE ); |
216 | actionPersonal = a; | 222 | actionPersonal = a; |
217 | connect( a, SIGNAL( activated() ), this, SLOT( slotPersonalView() ) ); | 223 | connect( a, SIGNAL( activated() ), this, SLOT( slotPersonalView() ) ); |
218 | a->addTo( edit ); | 224 | a->addTo( edit ); |
219 | 225 | ||
@@ -326,16 +332,40 @@ void AddressbookWindow::slotSetFont( int size ) | |||
326 | 332 | ||
327 | void AddressbookWindow::importvCard() { | 333 | void AddressbookWindow::importvCard() { |
328 | QString str = OFileDialog::getOpenFileName( 1,"/");//,"", "*", this ); | 334 | QString str = OFileDialog::getOpenFileName( 1,"/");//,"", "*", this ); |
329 | if(!str.isEmpty() ){ | 335 | if(!str.isEmpty() ){ |
330 | setDocument((const QString&) str ); | 336 | setDocument((const QString&) str ); |
331 | } | 337 | } |
332 | 338 | ||
333 | } | 339 | } |
340 | void AddressbookWindow::exportvCard() | ||
341 | { | ||
342 | qWarning(" void AddressbookWindow::exportvCard()"); | ||
343 | QString filename = OFileDialog::getSaveFileName( 1,"/home/"); //,"", "*", this ); | ||
344 | if( !filename.isEmpty() && ( filename[filename.length()-1] != '/' ) ){ | ||
345 | qWarning(" Save to file %s, (%d)", filename.latin1(), filename.length()-1 ); | ||
346 | OContact curCont = m_abView->currentEntry(); | ||
347 | if ( !curCont.isEmpty() ){ | ||
348 | OContactAccessBackend* vcard_backend = new OContactAccessBackend_VCard( QString::null, | ||
349 | filename ); | ||
350 | OContactAccess* access = new OContactAccess ( "addressbook_exp", QString::null , vcard_backend, true ); | ||
351 | if ( access ){ | ||
352 | access->add( curCont ); | ||
353 | access->save(); | ||
354 | } | ||
355 | delete access; | ||
356 | }else | ||
357 | QMessageBox::critical( 0, "Export VCard", | ||
358 | QString( tr( "You have to select a contact !") ) ); | ||
359 | |||
360 | }else | ||
361 | QMessageBox::critical( 0, "Export VCard", | ||
362 | QString( tr( "You have to set a filename !") ) ); | ||
363 | } | ||
334 | 364 | ||
335 | void AddressbookWindow::setDocument( const QString &filename ) | 365 | void AddressbookWindow::setDocument( const QString &filename ) |
336 | { | 366 | { |
337 | qWarning( "void AddressbookWindow::setDocument( %s )", filename.latin1() ); | 367 | qWarning( "void AddressbookWindow::setDocument( %s )", filename.latin1() ); |
338 | 368 | ||
339 | if ( filename.find(".vcf") != int(filename.length()) - 4 ){ | 369 | if ( filename.find(".vcf") != int(filename.length()) - 4 ){ |
340 | 370 | ||
341 | 371 | ||
diff --git a/core/pim/addressbook/addressbook.h b/core/pim/addressbook/addressbook.h index 69fe2f8..f7a560a 100644 --- a/core/pim/addressbook/addressbook.h +++ b/core/pim/addressbook/addressbook.h | |||
@@ -16,17 +16,17 @@ | |||
16 | ** Contact info@trolltech.com if any conditions of this licensing are | 16 | ** Contact info@trolltech.com if any conditions of this licensing are |
17 | ** not clear to you. | 17 | ** not clear to you. |
18 | ** | 18 | ** |
19 | **********************************************************************/ | 19 | **********************************************************************/ |
20 | #ifndef Addressbook_H | 20 | #ifndef Addressbook_H |
21 | #define Addressbook_H | 21 | #define Addressbook_H |
22 | 22 | ||
23 | // Remove this for OPIE releae 1.0 ! | 23 | // Remove this for OPIE releae 1.0 ! |
24 | #define __DEBUG_RELEASE | 24 | // #define __DEBUG_RELEASE |
25 | 25 | ||
26 | #include <qmainwindow.h> | 26 | #include <qmainwindow.h> |
27 | #include <qvaluelist.h> | 27 | #include <qvaluelist.h> |
28 | #include <qstringlist.h> | 28 | #include <qstringlist.h> |
29 | #include <qlineedit.h> | 29 | #include <qlineedit.h> |
30 | #include "ofloatbar.h" | 30 | #include "ofloatbar.h" |
31 | #include "abview.h" | 31 | #include "abview.h" |
32 | #include "abconfig.h" | 32 | #include "abconfig.h" |
@@ -60,21 +60,22 @@ protected: | |||
60 | bool save(); | 60 | bool save(); |
61 | 61 | ||
62 | public slots: | 62 | public slots: |
63 | void flush(); | 63 | void flush(); |
64 | void reload(); | 64 | void reload(); |
65 | void appMessage(const QCString &, const QByteArray &); | 65 | void appMessage(const QCString &, const QByteArray &); |
66 | void setDocument( const QString & ); | 66 | void setDocument( const QString & ); |
67 | #ifdef __DEBUG_RELEASE | 67 | #ifdef __DEBUG_RELEASE |
68 | void slotSave(); | 68 | // void slotSave(); |
69 | #endif | 69 | #endif |
70 | 70 | ||
71 | private slots: | 71 | private slots: |
72 | void importvCard(); | 72 | void importvCard(); |
73 | void exportvCard(); | ||
73 | void slotListNew(); | 74 | void slotListNew(); |
74 | /* void slotListView(); */ | 75 | /* void slotListView(); */ |
75 | void slotListDelete(); | 76 | void slotListDelete(); |
76 | void slotViewBack(); | 77 | void slotViewBack(); |
77 | void slotViewEdit(); | 78 | void slotViewEdit(); |
78 | void slotPersonalView(); | 79 | void slotPersonalView(); |
79 | void listIsEmpty( bool ); | 80 | void listIsEmpty( bool ); |
80 | /* void slotSettings(); */ | 81 | /* void slotSettings(); */ |
diff --git a/core/pim/addressbook/contacteditor.cpp b/core/pim/addressbook/contacteditor.cpp index df97b85..f33ee0a 100644 --- a/core/pim/addressbook/contacteditor.cpp +++ b/core/pim/addressbook/contacteditor.cpp | |||
@@ -1251,17 +1251,19 @@ void ContactEditor::cleanupFields() { | |||
1251 | txtTmp->setText(""); | 1251 | txtTmp->setText(""); |
1252 | 1252 | ||
1253 | } | 1253 | } |
1254 | 1254 | ||
1255 | void ContactEditor::setEntry( const OContact &entry ) { | 1255 | void ContactEditor::setEntry( const OContact &entry ) { |
1256 | 1256 | ||
1257 | initializing = true; | 1257 | initializing = true; |
1258 | 1258 | ||
1259 | // Cleanup and activate the general Page .. | ||
1259 | cleanupFields(); | 1260 | cleanupFields(); |
1261 | tabMain->setCurrentPage( 0 ); | ||
1260 | 1262 | ||
1261 | ent = entry; | 1263 | ent = entry; |
1262 | 1264 | ||
1263 | emails = QStringList(ent.emailList()); | 1265 | emails = QStringList(ent.emailList()); |
1264 | defaultEmail = ent.defaultEmail(); | 1266 | defaultEmail = ent.defaultEmail(); |
1265 | if (defaultEmail.isEmpty()) defaultEmail = emails[0]; | 1267 | if (defaultEmail.isEmpty()) defaultEmail = emails[0]; |
1266 | qDebug("default email=%s",defaultEmail.latin1()); | 1268 | qDebug("default email=%s",defaultEmail.latin1()); |
1267 | 1269 | ||
diff --git a/core/pim/addressbook/version.h b/core/pim/addressbook/version.h index d590a86..c0465b5 100644 --- a/core/pim/addressbook/version.h +++ b/core/pim/addressbook/version.h | |||
@@ -1,10 +1,10 @@ | |||
1 | #ifndef _VERSION_H_ | 1 | #ifndef _VERSION_H_ |
2 | #define _VERSION_H_ | 2 | #define _VERSION_H_ |
3 | 3 | ||
4 | #define MAINVERSION "0" | 4 | #define MAINVERSION "0" |
5 | #define SUBVERSION "9" | 5 | #define SUBVERSION "9" |
6 | #define PATCHVERSION "3" | 6 | #define PATCHVERSION "4" |
7 | 7 | ||
8 | #define APPNAME "OPIE_ADDRESSBOOK" | 8 | #define APPNAME "OPIE_ADDRESSBOOK" |
9 | 9 | ||
10 | #endif | 10 | #endif |