summaryrefslogtreecommitdiff
Unidiff
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
@@ -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
17Known Bugs: 17Known Bugs:
18----------- 18-----------
19 19
20Bugs but not in addressbook:
21-----------------------------
22- VCARD: If umlaut (äöüß) in address, the parser gets confused..
23
24
25Urgent: 20Urgent:
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
31Important: 26Important:
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
327void AddressbookWindow::importvCard() { 333void 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}
340void 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
335void AddressbookWindow::setDocument( const QString &filename ) 365void 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
62public slots: 62public 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
71private slots: 71private 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
1255void ContactEditor::setEntry( const OContact &entry ) { 1255void 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