-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 @@ -9,22 +9,17 @@ Feature requests: - dial with dtmfdial in case it's installed and there's no mobile - 3rd column for 2. Contact - Implementing additional Views (Phonebook, ...) - Birthday & Anniversary Reminder - Beaming of multiple contacts (current list/ by search or by category) - Configure the letter-picker: lastname/fullname search -- User center of the joypad to switch back from card to listview ! +- Optionally put scrollbars left. Known Bugs: ----------- -Bugs but not in addressbook: ------------------------------ -- VCARD: If umlaut (äöüß) in address, the parser gets confused.. - - Urgent: -------- - Category is on the wrong position after changing to personal and back to normal ( Temporarily workaround: Category is never deactivated.. :S ) @@ -111,6 +106,7 @@ Fixed/Ready: - Default Email-button: A lot of problems: If on second tab: The combo chooser is on the top left of the screen ! :( - Default Email-Button: Sometimes not hiding the textfields completely - Fix handling of 3 Firstnames - Cursor-UP/Down: Should additionally scroll cardview if it is too large (behaviour should be selectable by configuration) +- 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 @@ -206,12 +206,18 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name, a = new QAction( tr("Import vCard"), Resource::loadPixmap( "addressbook/fileimport"), QString::null, 0, this, 0); actionPersonal = a; connect( a, SIGNAL( activated() ), this, SLOT( importvCard() ) ); a->addTo( edit ); + a = new QAction( tr("Export vCard"), Resource::loadPixmap( "addressbook/fileexport"), QString::null, + 0, this, 0); + actionPersonal = a; + connect( a, SIGNAL( activated() ), this, SLOT( exportvCard() ) ); + a->addTo( edit ); + edit->insertSeparator(); a = new QAction( tr("My Personal Details"), Resource::loadPixmap( "addressbook/identity" ), QString::null, 0, this, 0 , TRUE ); actionPersonal = a; connect( a, SIGNAL( activated() ), this, SLOT( slotPersonalView() ) ); @@ -328,12 +334,36 @@ void AddressbookWindow::importvCard() { QString str = OFileDialog::getOpenFileName( 1,"/");//,"", "*", this ); if(!str.isEmpty() ){ setDocument((const QString&) str ); } } +void AddressbookWindow::exportvCard() +{ + qWarning(" void AddressbookWindow::exportvCard()"); + QString filename = OFileDialog::getSaveFileName( 1,"/home/"); //,"", "*", this ); + if( !filename.isEmpty() && ( filename[filename.length()-1] != '/' ) ){ + qWarning(" Save to file %s, (%d)", filename.latin1(), filename.length()-1 ); + OContact curCont = m_abView->currentEntry(); + if ( !curCont.isEmpty() ){ + OContactAccessBackend* vcard_backend = new OContactAccessBackend_VCard( QString::null, + filename ); + OContactAccess* access = new OContactAccess ( "addressbook_exp", QString::null , vcard_backend, true ); + if ( access ){ + access->add( curCont ); + access->save(); + } + delete access; + }else + QMessageBox::critical( 0, "Export VCard", + QString( tr( "You have to select a contact !") ) ); + + }else + QMessageBox::critical( 0, "Export VCard", + QString( tr( "You have to set a filename !") ) ); +} void AddressbookWindow::setDocument( const QString &filename ) { qWarning( "void AddressbookWindow::setDocument( %s )", filename.latin1() ); if ( filename.find(".vcf") != int(filename.length()) - 4 ){ 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 @@ -18,13 +18,13 @@ ** **********************************************************************/ #ifndef Addressbook_H #define Addressbook_H // Remove this for OPIE releae 1.0 ! -#define __DEBUG_RELEASE +// #define __DEBUG_RELEASE #include <qmainwindow.h> #include <qvaluelist.h> #include <qstringlist.h> #include <qlineedit.h> #include "ofloatbar.h" @@ -62,17 +62,18 @@ protected: public slots: void flush(); void reload(); void appMessage(const QCString &, const QByteArray &); void setDocument( const QString & ); #ifdef __DEBUG_RELEASE - void slotSave(); + // void slotSave(); #endif private slots: void importvCard(); + void exportvCard(); void slotListNew(); /* void slotListView(); */ void slotListDelete(); void slotViewBack(); void slotViewEdit(); void slotPersonalView(); 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 @@ -1253,13 +1253,15 @@ void ContactEditor::cleanupFields() { } void ContactEditor::setEntry( const OContact &entry ) { initializing = true; + // Cleanup and activate the general Page .. cleanupFields(); + tabMain->setCurrentPage( 0 ); ent = entry; emails = QStringList(ent.emailList()); defaultEmail = ent.defaultEmail(); if (defaultEmail.isEmpty()) defaultEmail = emails[0]; 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 @@ #ifndef _VERSION_H_ #define _VERSION_H_ #define MAINVERSION "0" #define SUBVERSION "9" -#define PATCHVERSION "3" +#define PATCHVERSION "4" #define APPNAME "OPIE_ADDRESSBOOK" #endif |