summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/addressbook/TODO8
-rw-r--r--core/pim/addressbook/addressbook.cpp30
-rw-r--r--core/pim/addressbook/addressbook.h5
-rw-r--r--core/pim/addressbook/contacteditor.cpp2
-rw-r--r--core/pim/addressbook/version.h2
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
@@ -12,16 +12,11 @@ Feature requests:
- 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
@@ -114,3 +109,4 @@ Fixed/Ready:
- 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
@@ -209,6 +209,12 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name,
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" ),
@@ -331,6 +337,30 @@ void AddressbookWindow::importvCard() {
}
}
+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 )
{
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
@@ -21,7 +21,7 @@
#define Addressbook_H
// Remove this for OPIE releae 1.0 !
-#define __DEBUG_RELEASE
+// #define __DEBUG_RELEASE
#include <qmainwindow.h>
#include <qvaluelist.h>
@@ -65,11 +65,12 @@ public slots:
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();
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
@@ -1256,7 +1256,9 @@ void ContactEditor::setEntry( const OContact &entry ) {
initializing = true;
+ // Cleanup and activate the general Page ..
cleanupFields();
+ tabMain->setCurrentPage( 0 );
ent = entry;
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
@@ -3,7 +3,7 @@
#define MAINVERSION "0"
#define SUBVERSION "9"
-#define PATCHVERSION "3"
+#define PATCHVERSION "4"
#define APPNAME "OPIE_ADDRESSBOOK"