summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/addressbook/TODO4
-rw-r--r--core/pim/addressbook/contacteditor.cpp3
2 files changed, 5 insertions, 2 deletions
diff --git a/core/pim/addressbook/TODO b/core/pim/addressbook/TODO
index 100a6fd..654bbd2 100644
--- a/core/pim/addressbook/TODO
+++ b/core/pim/addressbook/TODO
@@ -1,46 +1,46 @@
1Stuff todo until OPIE 1.0 : 1Stuff todo until OPIE 1.0 :
2 2
3Pending bugfixes from previous work: 3Pending bugfixes from previous work:
4 4
5Urgent: 5Urgent:
6 6
7 7
8Important: 8Important:
9 9
10- Name order selected in "contacteditor" not used in list view. 10- Name order selected in "contacteditor" not used in list view.
11 11
12- Overview window cleanup needed.. 12- Overview window cleanup needed..
13- Cursor keys should work in detail-view (ablabel) 13- Cursor keys should work in detail-view (ablabel)
14 -> Ablabel should be removed and Abtable should be increased with 14 -> Ablabel should be removed and Abtable should be increased with
15 different views (as started by darwin zins).. 15 different views (as started by darwin zins)..
16- Store last settings of combo-boxes 16- Store last settings of combo-boxes
17- Finishing of new View functions (List, Phonebook...) 17- Finishing of new View functions (List, Phonebook...)
18- The names of the countries are sorted by there english names, only..
19 Even if they are translated.. :S
20- Reload if contacts were changed externally 18- Reload if contacts were changed externally
21- "What's this" should be added 19- "What's this" should be added
22 20
23Less important: 21Less important:
24 22
25- The picker (alphabetical sort widget) should be 23- The picker (alphabetical sort widget) should be
26 placed verticaly or horizontally (configurable) 24 placed verticaly or horizontally (configurable)
27- Use advanced database functions in abtable to decrease 25- Use advanced database functions in abtable to decrease
28 memory footprint and to make everything more easy ! 26 memory footprint and to make everything more easy !
29 (abtable should store Iterator for selected Category) 27 (abtable should store Iterator for selected Category)
30 28
31Should be Fixed (not absolute sure, need further validation): 29Should be Fixed (not absolute sure, need further validation):
32 30
33 31
34Fixed: 32Fixed:
35- Syncing: abtable not reloaded after sync. 33- Syncing: abtable not reloaded after sync.
36- Find widget should be replaced by something like 34- Find widget should be replaced by something like
37 qpdf has. 35 qpdf has.
38- Adding a configuration dialog 36- Adding a configuration dialog
39- Picker: Activated letter schould be more visible 37- Picker: Activated letter schould be more visible
40- Advanced handling of cursor keys (search..) 38- Advanced handling of cursor keys (search..)
41- Mail-Icon is missing 39- Mail-Icon is missing
42- Use opie-mail insted of qt-mail if possible. 40- Use opie-mail insted of qt-mail if possible.
43- Font menu is invisible using german translation 41- Font menu is invisible using german translation
44- Personal contact editor: Disable categories 42- Personal contact editor: Disable categories
45- "Nonenglish" translation bug has to be fixed. 43- "Nonenglish" translation bug has to be fixed.
46- contacteditor: Birthday, annyversary, ... : Use Dateselector 44- contacteditor: Birthday, annyversary, ... : Use Dateselector
45- The names of the countries are sorted by there english names, only..
46 Even if they are translated.. :S
diff --git a/core/pim/addressbook/contacteditor.cpp b/core/pim/addressbook/contacteditor.cpp
index a59a927..52ab0f2 100644
--- a/core/pim/addressbook/contacteditor.cpp
+++ b/core/pim/addressbook/contacteditor.cpp
@@ -1,88 +1,89 @@
1/* 1/*
2 * Copyright (c) 2002 Michael R. Crawford <mike@tuxnami.org> 2 * Copyright (c) 2002 Michael R. Crawford <mike@tuxnami.org>
3 * 3 *
4 * This file is an add-on for the OPIE Palmtop Environment 4 * This file is an add-on for the OPIE Palmtop Environment
5 * 5 *
6 * This file may be distributed and/or modified under the terms of the 6 * This file may be distributed and/or modified under the terms of the
7 * GNU General Public License version 2 as published by the Free Software 7 * GNU General Public License version 2 as published by the Free Software
8 * Foundation and appearing in the file LICENSE.GPL included in the pacakaging 8 * Foundation and appearing in the file LICENSE.GPL included in the pacakaging
9 * of this file. 9 * of this file.
10 * 10 *
11 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13 * 13 *
14 * 14 *
15 * This is a rewrite of the abeditor.h file, modified to provide a more 15 * This is a rewrite of the abeditor.h file, modified to provide a more
16 * intuitive interface to TrollTech's original Address Book editor. This 16 * intuitive interface to TrollTech's original Address Book editor. This
17 * is made to operate exactly in interface with the exception of name. 17 * is made to operate exactly in interface with the exception of name.
18 * 18 *
19 */ 19 */
20 20
21#include "contacteditor.h" 21#include "contacteditor.h"
22#include "addresspicker.h" 22#include "addresspicker.h"
23 23
24#include <qpe/categoryselect.h> 24#include <qpe/categoryselect.h>
25#include <qpe/qpeapplication.h> 25#include <qpe/qpeapplication.h>
26#include <qpe/qpedialog.h> 26#include <qpe/qpedialog.h>
27#include <qpe/timeconversion.h> 27#include <qpe/timeconversion.h>
28 28
29#include <qcombobox.h> 29#include <qcombobox.h>
30#include <qlabel.h> 30#include <qlabel.h>
31#include <qtabwidget.h> 31#include <qtabwidget.h>
32#include <qlayout.h> 32#include <qlayout.h>
33#include <qlineedit.h> 33#include <qlineedit.h>
34#include <qmultilineedit.h> 34#include <qmultilineedit.h>
35#include <qscrollview.h> 35#include <qscrollview.h>
36#include <qtoolbutton.h> 36#include <qtoolbutton.h>
37#include <qpushbutton.h> 37#include <qpushbutton.h>
38#include <qmainwindow.h> 38#include <qmainwindow.h>
39#include <qvaluelist.h> 39#include <qvaluelist.h>
40#include <qpopupmenu.h> 40#include <qpopupmenu.h>
41#include <qlistbox.h>
41 42
42static inline bool containsAlphaNum( const QString &str ); 43static inline bool containsAlphaNum( const QString &str );
43static inline bool constainsWhiteSpace( const QString &str ); 44static inline bool constainsWhiteSpace( const QString &str );
44 45
45// helper functions, convert our comma delimited list to proper 46// helper functions, convert our comma delimited list to proper
46// file format... 47// file format...
47void parseEmailFrom( const QString &txt, QString &strDefaultEmail, 48void parseEmailFrom( const QString &txt, QString &strDefaultEmail,
48 QString &strAll ); 49 QString &strAll );
49 50
50// helper convert from file format to comma delimited... 51// helper convert from file format to comma delimited...
51void parseEmailTo( const QString &strDefaultEmail, 52void parseEmailTo( const QString &strDefaultEmail,
52 const QString &strOtherEmail, QString &strBack ); 53 const QString &strOtherEmail, QString &strBack );
53 54
54 ContactEditor::ContactEditor(const OContact &entry, 55 ContactEditor::ContactEditor(const OContact &entry,
55 const QValueList<int> *newOrderedValues, 56 const QValueList<int> *newOrderedValues,
56 QStringList *slNewOrdered, 57 QStringList *slNewOrdered,
57 QWidget *parent, 58 QWidget *parent,
58 const char *name, 59 const char *name,
59 WFlags fl ) 60 WFlags fl )
60 : QDialog( parent, name, TRUE, fl ), 61 : QDialog( parent, name, TRUE, fl ),
61 orderedValues( newOrderedValues ), 62 orderedValues( newOrderedValues ),
62 slOrdered( *slNewOrdered ), 63 slOrdered( *slNewOrdered ),
63 m_personalView ( false ) 64 m_personalView ( false )
64{ 65{
65 66
66 init(); 67 init();
67 initMap(); 68 initMap();
68 setEntry( entry ); 69 setEntry( entry );
69 qDebug("finish"); 70 qDebug("finish");
70} 71}
71 72
72ContactEditor::~ContactEditor() { 73ContactEditor::~ContactEditor() {
73} 74}
74 75
75void ContactEditor::init() { 76void ContactEditor::init() {
76 77
77 useFullName = TRUE; 78 useFullName = TRUE;
78 79
79 int i = 0; 80 int i = 0;
80/** SHut up and stop leaking 81/** SHut up and stop leaking
81 slHomeAddress = new QStringList; 82 slHomeAddress = new QStringList;
82 slBusinessAddress = new QStringList; 83 slBusinessAddress = new QStringList;
83 slChooserNames = new QStringList; 84 slChooserNames = new QStringList;
84 slChooserValues = new QStringList; 85 slChooserValues = new QStringList;
85 86
86 slDynamicEntries = new QStringList; 87 slDynamicEntries = new QStringList;
87*/ 88*/
88 //*slDynamicEntries = *slOrdered; 89 //*slDynamicEntries = *slOrdered;
@@ -652,96 +653,98 @@ void ContactEditor::init() {
652 cmbCountry->insertItem( tr ( "Romania" ) ); 653 cmbCountry->insertItem( tr ( "Romania" ) );
653 cmbCountry->insertItem( tr ( "Russia" ) ); 654 cmbCountry->insertItem( tr ( "Russia" ) );
654 cmbCountry->insertItem( tr ( "Rwanda" ) ); 655 cmbCountry->insertItem( tr ( "Rwanda" ) );
655 cmbCountry->insertItem( tr ( "Saint Lucia" ) ); 656 cmbCountry->insertItem( tr ( "Saint Lucia" ) );
656 cmbCountry->insertItem( tr ( "Samoa" ) ); 657 cmbCountry->insertItem( tr ( "Samoa" ) );
657 cmbCountry->insertItem( tr ( "San Marino" ) ); 658 cmbCountry->insertItem( tr ( "San Marino" ) );
658 cmbCountry->insertItem( tr ( "Saudi Arabia" ) ); 659 cmbCountry->insertItem( tr ( "Saudi Arabia" ) );
659 cmbCountry->insertItem( tr ( "Senegal" ) ); 660 cmbCountry->insertItem( tr ( "Senegal" ) );
660 cmbCountry->insertItem( tr ( "Seychelles" ) ); 661 cmbCountry->insertItem( tr ( "Seychelles" ) );
661 cmbCountry->insertItem( tr ( "Sierra Leone" ) ); 662 cmbCountry->insertItem( tr ( "Sierra Leone" ) );
662 cmbCountry->insertItem( tr ( "Singapore" ) ); 663 cmbCountry->insertItem( tr ( "Singapore" ) );
663 cmbCountry->insertItem( tr ( "Slovakia" ) ); 664 cmbCountry->insertItem( tr ( "Slovakia" ) );
664 cmbCountry->insertItem( tr ( "Slovenia" ) ); 665 cmbCountry->insertItem( tr ( "Slovenia" ) );
665 cmbCountry->insertItem( tr ( "Solomon Islands" ) ); 666 cmbCountry->insertItem( tr ( "Solomon Islands" ) );
666 cmbCountry->insertItem( tr ( "Somalia" ) ); 667 cmbCountry->insertItem( tr ( "Somalia" ) );
667 cmbCountry->insertItem( tr ( "South Africa" ) ); 668 cmbCountry->insertItem( tr ( "South Africa" ) );
668 cmbCountry->insertItem( tr ( "Spain" ) ); 669 cmbCountry->insertItem( tr ( "Spain" ) );
669 cmbCountry->insertItem( tr ( "Sri Lanka" ) ); 670 cmbCountry->insertItem( tr ( "Sri Lanka" ) );
670 cmbCountry->insertItem( tr ( "St. Helena" ) ); 671 cmbCountry->insertItem( tr ( "St. Helena" ) );
671 cmbCountry->insertItem( tr ( "Sudan" ) ); 672 cmbCountry->insertItem( tr ( "Sudan" ) );
672 cmbCountry->insertItem( tr ( "Suriname" ) ); 673 cmbCountry->insertItem( tr ( "Suriname" ) );
673 cmbCountry->insertItem( tr ( "Swaziland" ) ); 674 cmbCountry->insertItem( tr ( "Swaziland" ) );
674 cmbCountry->insertItem( tr ( "Sweden" ) ); 675 cmbCountry->insertItem( tr ( "Sweden" ) );
675 cmbCountry->insertItem( tr ( "Switzerland" ) ); 676 cmbCountry->insertItem( tr ( "Switzerland" ) );
676 cmbCountry->insertItem( tr ( "Taiwan" ) ); 677 cmbCountry->insertItem( tr ( "Taiwan" ) );
677 cmbCountry->insertItem( tr ( "Tajikistan" ) ); 678 cmbCountry->insertItem( tr ( "Tajikistan" ) );
678 cmbCountry->insertItem( tr ( "Tanzania" ) ); 679 cmbCountry->insertItem( tr ( "Tanzania" ) );
679 cmbCountry->insertItem( tr ( "Thailand" ) ); 680 cmbCountry->insertItem( tr ( "Thailand" ) );
680 cmbCountry->insertItem( tr ( "Togo" ) ); 681 cmbCountry->insertItem( tr ( "Togo" ) );
681 cmbCountry->insertItem( tr ( "Tokelau" ) ); 682 cmbCountry->insertItem( tr ( "Tokelau" ) );
682 cmbCountry->insertItem( tr ( "Tonga" ) ); 683 cmbCountry->insertItem( tr ( "Tonga" ) );
683 cmbCountry->insertItem( tr ( "Tunisia" ) ); 684 cmbCountry->insertItem( tr ( "Tunisia" ) );
684 cmbCountry->insertItem( tr ( "Turkey" ) ); 685 cmbCountry->insertItem( tr ( "Turkey" ) );
685 cmbCountry->insertItem( tr ( "Turkmenistan" ) ); 686 cmbCountry->insertItem( tr ( "Turkmenistan" ) );
686 cmbCountry->insertItem( tr ( "Tuvalu" ) ); 687 cmbCountry->insertItem( tr ( "Tuvalu" ) );
687 cmbCountry->insertItem( tr ( "Uganda" ) ); 688 cmbCountry->insertItem( tr ( "Uganda" ) );
688 cmbCountry->insertItem( tr ( "Ukraine" ) ); 689 cmbCountry->insertItem( tr ( "Ukraine" ) );
689 cmbCountry->insertItem( tr ( "Uruguay" ) ); 690 cmbCountry->insertItem( tr ( "Uruguay" ) );
690 cmbCountry->insertItem( tr ( "Uzbekistan" ) ); 691 cmbCountry->insertItem( tr ( "Uzbekistan" ) );
691 cmbCountry->insertItem( tr ( "Vanuatu" ) ); 692 cmbCountry->insertItem( tr ( "Vanuatu" ) );
692 cmbCountry->insertItem( tr ( "Venezuela" ) ); 693 cmbCountry->insertItem( tr ( "Venezuela" ) );
693 cmbCountry->insertItem( tr ( "Viet Nam" ) ); 694 cmbCountry->insertItem( tr ( "Viet Nam" ) );
694 cmbCountry->insertItem( tr ( "Virgin Islands" ) ); 695 cmbCountry->insertItem( tr ( "Virgin Islands" ) );
695 cmbCountry->insertItem( tr ( "Western Sahara" ) ); 696 cmbCountry->insertItem( tr ( "Western Sahara" ) );
696 cmbCountry->insertItem( tr ( "Yemen" ) ); 697 cmbCountry->insertItem( tr ( "Yemen" ) );
697 cmbCountry->insertItem( tr ( "Yugoslavia" ) ); 698 cmbCountry->insertItem( tr ( "Yugoslavia" ) );
698 cmbCountry->insertItem( tr ( "Zambia" ) ); 699 cmbCountry->insertItem( tr ( "Zambia" ) );
699 cmbCountry->insertItem( tr ( "Zimbabwe" ) ); 700 cmbCountry->insertItem( tr ( "Zimbabwe" ) );
701 if (cmbCountry->listBox()!=0)
702 cmbCountry->listBox()->sort();
700 703
701 cmbCountry->setMaximumWidth( 135 ); 704 cmbCountry->setMaximumWidth( 135 );
702 705
703 gl->addMultiCellWidget( cmbCountry, 5, 5, 1, 2 ); 706 gl->addMultiCellWidget( cmbCountry, 5, 5, 1, 2 );
704 707
705 cmbChooserField4 = new QComboBox( FALSE, container ); 708 cmbChooserField4 = new QComboBox( FALSE, container );
706 cmbChooserField4->setMaximumWidth( 90 ); 709 cmbChooserField4->setMaximumWidth( 90 );
707 gl->addWidget( cmbChooserField4, 6, 0 ); 710 gl->addWidget( cmbChooserField4, 6, 0 );
708 txtChooserField4 = new QLineEdit( container ); 711 txtChooserField4 = new QLineEdit( container );
709 gl->addMultiCellWidget( txtChooserField4, 6, 6, 1, 2 ); 712 gl->addMultiCellWidget( txtChooserField4, 6, 6, 1, 2 );
710 713
711 QSpacerItem *space = new QSpacerItem(1,1, 714 QSpacerItem *space = new QSpacerItem(1,1,
712 QSizePolicy::Maximum, 715 QSizePolicy::Maximum,
713 QSizePolicy::MinimumExpanding ); 716 QSizePolicy::MinimumExpanding );
714 gl->addItem( space, 7, 0 ); 717 gl->addItem( space, 7, 0 );
715 718
716 tabMain->insertTab( tabViewport, tr( "Address" ) ); 719 tabMain->insertTab( tabViewport, tr( "Address" ) );
717 720
718 tabViewport = new QWidget ( tabMain ); 721 tabViewport = new QWidget ( tabMain );
719 722
720 vb = new QVBoxLayout( tabViewport ); 723 vb = new QVBoxLayout( tabViewport );
721 724
722 svDetails = new QScrollView( tabViewport ); 725 svDetails = new QScrollView( tabViewport );
723 vb->addWidget( svDetails, 0, 0 ); 726 vb->addWidget( svDetails, 0, 0 );
724 svDetails->setResizePolicy( QScrollView::AutoOneFit ); 727 svDetails->setResizePolicy( QScrollView::AutoOneFit );
725 svDetails->setFrameStyle( QFrame::NoFrame ); 728 svDetails->setFrameStyle( QFrame::NoFrame );
726 729
727 container = new QWidget( svDetails->viewport() ); 730 container = new QWidget( svDetails->viewport() );
728 svDetails->addChild( container ); 731 svDetails->addChild( container );
729 732
730 gl = new QGridLayout( container, 1, 2, 2, 4 ); 733 gl = new QGridLayout( container, 1, 2, 2, 4 );
731 734
732 int counter = 0; 735 int counter = 0;
733 736
734 // Birthday 737 // Birthday
735 l = new QLabel( tr("Birthday"), container ); 738 l = new QLabel( tr("Birthday"), container );
736 gl->addWidget( l, counter, 0 ); 739 gl->addWidget( l, counter, 0 );
737 740
738 QPopupMenu* m1 = new QPopupMenu( container ); 741 QPopupMenu* m1 = new QPopupMenu( container );
739 birthdayPicker = new DateBookMonth( m1, 0, TRUE ); 742 birthdayPicker = new DateBookMonth( m1, 0, TRUE );
740 m1->insertItem( birthdayPicker ); 743 m1->insertItem( birthdayPicker );
741 744
742 birthdayButton= new QToolButton( container, "buttonStart" ); 745 birthdayButton= new QToolButton( container, "buttonStart" );
743 birthdayButton->setPopup( m1 ); 746 birthdayButton->setPopup( m1 );
744 birthdayButton->setPopupDelay(0); 747 birthdayButton->setPopupDelay(0);
745 gl->addWidget( birthdayButton, counter , 1 ); 748 gl->addWidget( birthdayButton, counter , 1 );
746 connect( birthdayPicker, SIGNAL( dateClicked( int, int, int ) ), 749 connect( birthdayPicker, SIGNAL( dateClicked( int, int, int ) ),
747 this, SLOT( slotBirthdayDateChanged( int, int, int ) ) ); 750 this, SLOT( slotBirthdayDateChanged( int, int, int ) ) );