summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/addressbook/TODO8
-rw-r--r--core/pim/addressbook/addressbook.cpp26
2 files changed, 30 insertions, 4 deletions
diff --git a/core/pim/addressbook/TODO b/core/pim/addressbook/TODO
index 2a27efc..7e800fa 100644
--- a/core/pim/addressbook/TODO
+++ b/core/pim/addressbook/TODO
@@ -1,108 +1,110 @@
1Stuff todo until OPIE 1.0 : 1Stuff todo until OPIE 1.0 :
2=========================== 2===========================
3 3
4Feature requests: 4Feature requests:
5----------------- 5-----------------
6- Dial by mobile phone by tapping the number.. 6- Dial by mobile phone by tapping the number..
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 incase it's installed and there's no mobile 9- dial with dtmfdial incase 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- Plugin for Today for Birthdays and Anniversaries 13- Plugin for Today for Birthdays and Anniversaries
14- Beaming of multiple contacts (current list/ by search or by category)
14 15
15Known Bugs: 16Known Bugs:
16----------- 17-----------
17- Language not English (tested with german opie-translation): 18- Language not English (tested with german opie-translation):
18 1. Configure nicht übersetzt (alles leer). 19 1. Configure nicht übersetzt (alles leer).
19 2. Contacteditor nur teilweise übersetzt. 20 2. Contacteditor nur teilweise übersetzt.
20 3. Kategorie-Picker geht nicht. 21 3. Kategorie-Picker geht nicht.
21 22
22 23
23Bugs but not in addressbook: 24Bugs but not in addressbook:
24----------------------------- 25-----------------------------
25- VCARD: If umlaut (äöüß) in address, the parser gets confused.. 26- VCARD: If umlaut (äöüß) in address, the parser gets confused..
26 27
27- Exporting and reimporting of Jobtitle was reported to fail (Could not reproduce this ! (se)) 28- Exporting and reimporting of Jobtitle was reported to fail (Could not reproduce this ! (se))
28 29
29 30
30Urgent: 31Urgent:
31-------- 32--------
32- Implement Button Pics 33- Implement Button Pics
33- Fix start of opie-mail 34- Fix start of opie-mail
34 35
35ContactEditor: 36ContactEditor:
36- Contact-Editor is temporarely reenabled. Wait for replacement. 37- Contact-Editor is temporarely reenabled. Wait for replacement.
37- Redesign of Contacteditor 38- Redesign of Contacteditor
38- Store last settings of combo-boxes 39- Store last settings of combo-boxes
39- Category is on the wrong position after changing to personal and back to normal 40- Category is on the wrong position after changing to personal and back to normal
40 ( Temporarily workaround: Category is never deactivated.. :S ) 41 ( Temporarily workaround: Category is never deactivated.. :S )
41- Personal and Business Web-page is not editable 42- Personal and Business Web-page is not editable
42 43
43Important: 44Important:
44---------- 45----------
45 46
46- Implement a picker/combo for the default email. 47- Implement a picker/combo for the default email.
47- After search (Started with Return): KeyFocus should be on Tabelle 48- After search (Started with Return): KeyFocus should be on Tabelle
48 49
49- Add a dialog to accept and optionally edit received contacts by IRDA. 50- Add a dialog to accept and optionally edit received contacts by IRDA.
50- "What's this" should be added (Deleyed after Feature Freeze) 51- "What's this" should be added (Deleyed after Feature Freeze)
51 52
52Less important: 53Less important:
53--------------- 54---------------
54- Reload if contacts were changed externally 55- Reload if contacts were changed externally
55- Overview window cleanup needed.. 56- Overview window cleanup needed..
56- The picker (alphabetical sort widget) should be 57- The picker (alphabetical sort widget) should be
57 placed verticaly or horizontally (configurable) 58 placed verticaly or horizontally (configurable)
58- Find a smart solution for activating/deactivating the "send email" event 59- Find a smart solution for activating/deactivating the "send email" event
59 60
60Should be Fixed (not absolute sure, need further validation): 61Should be Fixed (not absolute sure, need further validation):
61------------------------------------------------------------- 62-------------------------------------------------------------
62- Searchwidget closed: Selected user is jumping
63- Wenn suchen beendet, dann dauert das Tabellenupdate (was überhaupt überflüssig ist)
64 zu lange..
65 63
66 64
67Fixed: 65Fixed:
68------- 66-------
69- Syncing: abtable not reloaded after sync. 67- Syncing: abtable not reloaded after sync.
70- Find widget should be replaced by something like 68- Find widget should be replaced by something like
71 qpdf has. 69 qpdf has.
72- Adding a configuration dialog 70- Adding a configuration dialog
73- Picker: Activated letter schould be more visible 71- Picker: Activated letter schould be more visible
74- Advanced handling of cursor keys (search..) 72- Advanced handling of cursor keys (search..)
75- Mail-Icon is missing 73- Mail-Icon is missing
76- Use opie-mail insted of qt-mail if possible. 74- Use opie-mail insted of qt-mail if possible.
77- Font menu is invisible using german translation 75- Font menu is invisible using german translation
78- Personal contact editor: Disable categories 76- Personal contact editor: Disable categories
79- "Nonenglish" translation bug has to be fixed. 77- "Nonenglish" translation bug has to be fixed.
80- contacteditor: Birthday, annyversary, ... : Use Dateselector 78- contacteditor: Birthday, annyversary, ... : Use Dateselector
81- The names of the countries are sorted by there english names, only.. 79- The names of the countries are sorted by there english names, only..
82 Even if they are translated.. :S 80 Even if they are translated.. :S
83- Cursor keys should work in detail-view (ablabel) 81- Cursor keys should work in detail-view (ablabel)
84 -> Ablabel should be removed and Abtable should be increased with 82 -> Ablabel should be removed and Abtable should be increased with
85 different views (as started by darwin zins).. 83 different views (as started by darwin zins)..
86- Use advanced database functions in abtable to decrease 84- Use advanced database functions in abtable to decrease
87 memory footprint and to make everything more easy ! 85 memory footprint and to make everything more easy !
88 (abtable should store Iterator for selected Category) 86 (abtable should store Iterator for selected Category)
89- Abtable: Configure Contact column (internally already available, 87- Abtable: Configure Contact column (internally already available,
90 need configuration) 88 need configuration)
91- Select of primary contact (see #274 on mantis) 89- Select of primary contact (see #274 on mantis)
92- Category-select does not work completely: "Unfiled" is always in listview .. 90- Category-select does not work completely: "Unfiled" is always in listview ..
93- Return from Contacteditor: Category resettet to all 91- Return from Contacteditor: Category resettet to all
94- Personal Details not working 92- Personal Details not working
95- If category changed, the letterpicker should be resetted 93- If category changed, the letterpicker should be resetted
96- There should be some icons for List and Cardview 94- There should be some icons for List and Cardview
97- If in Cardview and a category change removes all entries: 95- If in Cardview and a category change removes all entries:
98 There are already entries in Cardview after up/down 96 There are already entries in Cardview after up/down
99- Personal Details: Anniversary zeigt Fantasie-Werte 97- Personal Details: Anniversary zeigt Fantasie-Werte
100- Unfiled shown just in Category "All" and "Unfiled". 98- Unfiled shown just in Category "All" and "Unfiled".
101- After finising search and after Edit: Clear Picker 99- After finising search and after Edit: Clear Picker
102- After Edit: Table position back to edited entry. 100- After Edit: Table position back to edited entry.
103- Optimize Table Update... 101- Optimize Table Update...
104- Change MyDialog to Config 102- Change MyDialog to Config
105- Store position and state of toolbar 103- Store position and state of toolbar
104- Searchwidget closed: Selected user is jumping
105- Wenn suchen beendet, dann dauert das Tabellenupdate (was überhaupt überflüssig ist)
106 zu lange..
106- VCARD: Import of Anniversary does not work correctly (currently disabled) 107- VCARD: Import of Anniversary does not work correctly (currently disabled)
107- Name order selected in "contacteditor" not used in list view. 108- Name order selected in "contacteditor" not used in list view.
108- OK-Key does not switch from Detailview (ablable) to Listview 109- OK-Key does not switch from Detailview (ablable) to Listview
110- Receiving of beams should open a dialog
diff --git a/core/pim/addressbook/addressbook.cpp b/core/pim/addressbook/addressbook.cpp
index 60db2b4..e009d52 100644
--- a/core/pim/addressbook/addressbook.cpp
+++ b/core/pim/addressbook/addressbook.cpp
@@ -306,100 +306,124 @@ void AddressbookWindow::slotSetFont( int size )
306 // abList->resizeRows(); 306 // abList->resizeRows();
307 break; 307 break;
308 case 2: 308 case 2:
309 m_abView->setFont( QFont( defaultFont->family(), defaultFont->pointSize() + 2 ) ); 309 m_abView->setFont( QFont( defaultFont->family(), defaultFont->pointSize() + 2 ) );
310 currentFont = new QFont (m_abView->font()); 310 currentFont = new QFont (m_abView->font());
311 // //abList->resizeRows(currentFont->pixelSize() + 7); 311 // //abList->resizeRows(currentFont->pixelSize() + 7);
312 // abList->resizeRows(); 312 // abList->resizeRows();
313 break; 313 break;
314 } 314 }
315} 315}
316 316
317 317
318 318
319void AddressbookWindow::importvCard() { 319void AddressbookWindow::importvCard() {
320 QString str = OFileDialog::getOpenFileName( 1,"/");//,"", "*", this ); 320 QString str = OFileDialog::getOpenFileName( 1,"/");//,"", "*", this );
321 if(!str.isEmpty() ){ 321 if(!str.isEmpty() ){
322 setDocument((const QString&) str ); 322 setDocument((const QString&) str );
323 } 323 }
324 324
325} 325}
326 326
327void AddressbookWindow::setDocument( const QString &filename ) 327void AddressbookWindow::setDocument( const QString &filename )
328{ 328{
329 qWarning( "void AddressbookWindow::setDocument( %s )", filename.latin1() ); 329 qWarning( "void AddressbookWindow::setDocument( %s )", filename.latin1() );
330 330
331 if ( filename.find(".vcf") != int(filename.length()) - 4 ){ 331 if ( filename.find(".vcf") != int(filename.length()) - 4 ){
332 332
333 333
334 334
335 switch( QMessageBox::information( this, tr ( "Right file type ?" ), 335 switch( QMessageBox::information( this, tr ( "Right file type ?" ),
336 tr( "The selected file \n does not end with \".vcf\".\n Do you really want to open it?" ), 336 tr( "The selected file \n does not end with \".vcf\".\n Do you really want to open it?" ),
337 tr( "&Yes" ), tr( "&No" ), QString::null, 337 tr( "&Yes" ), tr( "&No" ), QString::null,
338 0, // Enter == button 0 338 0, // Enter == button 0
339 2 ) ) { // Escape == button 2 339 2 ) ) { // Escape == button 2
340 case 0: 340 case 0:
341 qWarning("YES clicked"); 341 qWarning("YES clicked");
342 break; 342 break;
343 case 1: 343 case 1:
344 qWarning("NO clicked"); 344 qWarning("NO clicked");
345 return; 345 return;
346 break; 346 break;
347 } 347 }
348 } 348 }
349 349
350 OContactAccessBackend* vcard_backend = new OContactAccessBackend_VCard( QString::null, 350 OContactAccessBackend* vcard_backend = new OContactAccessBackend_VCard( QString::null,
351 filename ); 351 filename );
352 OContactAccess* access = new OContactAccess ( "addressbook", QString::null , vcard_backend, true ); 352 OContactAccess* access = new OContactAccess ( "addressbook", QString::null , vcard_backend, true );
353 OContactAccess::List allList = access->allRecords(); 353 OContactAccess::List allList = access->allRecords();
354 qWarning( "Found number of contacts in File: %d", allList.count() );
354 355
356 bool doAsk = true;
355 OContactAccess::List::Iterator it; 357 OContactAccess::List::Iterator it;
356 for ( it = allList.begin(); it != allList.end(); ++it ){ 358 for ( it = allList.begin(); it != allList.end(); ++it ){
357 m_abView->addEntry( *it ); 359 qWarning("Adding Contact from: %s", (*it).fullName().latin1() );
360 if ( doAsk ){
361 switch( QMessageBox::information( this, tr ( "Add Contact ?" ),
362 tr( "Do you really want add contact for \n%1 ?" )
363 .arg( (*it).fullName().latin1() ),
364 tr( "&Yes" ), tr( "&No" ), tr( "&AllYes"),
365 0, // Enter == button 0
366 2 ) ) { // Escape == button 2
367 case 0:
368 qWarning("YES clicked");
369 m_abView->addEntry( *it );
370 break;
371 case 1:
372 qWarning("NO clicked");
373 break;
374 case 2:
375 qWarning("YesAll clicked");
376 doAsk = false;
377 break;
378 }
379 }else
380 m_abView->addEntry( *it );
381
358 } 382 }
359 383
360 delete access; 384 delete access;
361} 385}
362 386
363void AddressbookWindow::resizeEvent( QResizeEvent *e ) 387void AddressbookWindow::resizeEvent( QResizeEvent *e )
364{ 388{
365 QMainWindow::resizeEvent( e ); 389 QMainWindow::resizeEvent( e );
366 390
367 391
368} 392}
369 393
370AddressbookWindow::~AddressbookWindow() 394AddressbookWindow::~AddressbookWindow()
371{ 395{
372 ToolBarDock dock; 396 ToolBarDock dock;
373 int dummy; 397 int dummy;
374 bool bDummy; 398 bool bDummy;
375 getLocation ( listTools, dock, dummy, bDummy, dummy ); 399 getLocation ( listTools, dock, dummy, bDummy, dummy );
376 m_config.setToolBarDock( dock ); 400 m_config.setToolBarDock( dock );
377 m_config.save(); 401 m_config.save();
378} 402}
379 403
380void AddressbookWindow::slotUpdateToolbar() 404void AddressbookWindow::slotUpdateToolbar()
381{ 405{
382 OContact ce = m_abView->currentEntry(); 406 OContact ce = m_abView->currentEntry();
383 actionMail->setEnabled( !ce.defaultEmail().isEmpty() ); 407 actionMail->setEnabled( !ce.defaultEmail().isEmpty() );
384} 408}
385 409
386void AddressbookWindow::slotListNew() 410void AddressbookWindow::slotListNew()
387{ 411{
388 OContact cnt; 412 OContact cnt;
389 if( !syncing ) { 413 if( !syncing ) {
390 editEntry( NewEntry ); 414 editEntry( NewEntry );
391 } else { 415 } else {
392 QMessageBox::warning(this, tr("OContacts"), 416 QMessageBox::warning(this, tr("OContacts"),
393 tr("Can not edit data, currently syncing")); 417 tr("Can not edit data, currently syncing"));
394 } 418 }
395} 419}
396 420
397// void AddressbookWindow::slotListView() 421// void AddressbookWindow::slotListView()
398// { 422// {
399 // m_abView -> init( abList->currentEntry() ); 423 // m_abView -> init( abList->currentEntry() );
400 // // :SX mView->sync(); 424 // // :SX mView->sync();
401 // //:SXshowView(); 425 // //:SXshowView();
402// } 426// }
403 427
404void AddressbookWindow::slotListDelete() 428void AddressbookWindow::slotListDelete()
405{ 429{