summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/addressbook/TODO5
-rw-r--r--core/pim/addressbook/addressbook.cpp4
-rw-r--r--core/pim/addressbook/opie-addressbook.control2
3 files changed, 5 insertions, 6 deletions
diff --git a/core/pim/addressbook/TODO b/core/pim/addressbook/TODO
index a9f65de..df55b2d 100644
--- a/core/pim/addressbook/TODO
+++ b/core/pim/addressbook/TODO
@@ -1,110 +1,109 @@
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- Beaming of multiple contacts (current list/ by search or by category)
15 15
16Known Bugs: 16Known Bugs:
17----------- 17-----------
18- Language not English (tested with german opie-translation): 18- Language not English (tested with german opie-translation):
19 1. Configure nicht übersetzt (alles leer). 19 1. Configure nicht übersetzt (alles leer).
20 2. Contacteditor nur teilweise übersetzt. 20 2. Contacteditor nur teilweise übersetzt.
21 3. Kategorie-Picker geht nicht. 21 3. Kategorie-Picker geht nicht.
22 22
23 23
24Bugs but not in addressbook: 24Bugs but not in addressbook:
25----------------------------- 25-----------------------------
26- VCARD: If umlaut (äöüß) in address, the parser gets confused.. 26- VCARD: If umlaut (äöüß) in address, the parser gets confused..
27 27
28- 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))
29 29
30 30
31Urgent: 31Urgent:
32-------- 32--------
33- Implement Button Pics
34
35ContactEditor: 33ContactEditor:
36- Contact-Editor is temporarely reenabled. Wait for replacement. 34- Contact-Editor is temporarely reenabled. Wait for replacement.
37- Redesign of Contacteditor 35- Redesign of Contacteditor
38- Store last settings of combo-boxes 36- Store last settings of combo-boxes
39- Category is on the wrong position after changing to personal and back to normal 37- Category is on the wrong position after changing to personal and back to normal
40 ( Temporarily workaround: Category is never deactivated.. :S ) 38 ( Temporarily workaround: Category is never deactivated.. :S )
41- Personal and Business Web-page is not editable 39- Personal and Business Web-page is not editable
42 40
43Important: 41Important:
44---------- 42----------
45 43
46- Implement a picker/combo for the default email. 44- Implement a picker/combo for the default email.
47- After search (Started with Return): KeyFocus should be on Tabelle 45- After search (Started with Return): KeyFocus should be on Tabelle
48 46
49- Add a dialog to accept and optionally edit received contacts by IRDA.
50- "What's this" should be added (Deleyed after Feature Freeze) 47- "What's this" should be added (Deleyed after Feature Freeze)
51 48
52Less important: 49Less important:
53--------------- 50---------------
54- Reload if contacts were changed externally 51- Reload if contacts were changed externally
55- Overview window cleanup needed.. 52- Overview window cleanup needed..
56- The picker (alphabetical sort widget) should be 53- The picker (alphabetical sort widget) should be
57 placed verticaly or horizontally (configurable) 54 placed verticaly or horizontally (configurable)
58- Find a smart solution for activating/deactivating the "send email" event 55- Find a smart solution for activating/deactivating the "send email" event
59 56
60Should be Fixed (not absolute sure, need further validation): 57Should be Fixed (not absolute sure, need further validation):
61------------------------------------------------------------- 58-------------------------------------------------------------
62 59
63 60
64Fixed: 61Fixed:
65------- 62-------
66- Syncing: abtable not reloaded after sync. 63- Syncing: abtable not reloaded after sync.
67- Find widget should be replaced by something like 64- Find widget should be replaced by something like
68 qpdf has. 65 qpdf has.
69- Adding a configuration dialog 66- Adding a configuration dialog
70- Picker: Activated letter schould be more visible 67- Picker: Activated letter schould be more visible
71- Advanced handling of cursor keys (search..) 68- Advanced handling of cursor keys (search..)
72- Mail-Icon is missing 69- Mail-Icon is missing
73- Use opie-mail insted of qt-mail if possible. 70- Use opie-mail insted of qt-mail if possible.
74- Font menu is invisible using german translation 71- Font menu is invisible using german translation
75- Personal contact editor: Disable categories 72- Personal contact editor: Disable categories
76- "Nonenglish" translation bug has to be fixed. 73- "Nonenglish" translation bug has to be fixed.
77- contacteditor: Birthday, annyversary, ... : Use Dateselector 74- contacteditor: Birthday, annyversary, ... : Use Dateselector
78- The names of the countries are sorted by there english names, only.. 75- The names of the countries are sorted by there english names, only..
79 Even if they are translated.. :S 76 Even if they are translated.. :S
80- Cursor keys should work in detail-view (ablabel) 77- Cursor keys should work in detail-view (ablabel)
81 -> Ablabel should be removed and Abtable should be increased with 78 -> Ablabel should be removed and Abtable should be increased with
82 different views (as started by darwin zins).. 79 different views (as started by darwin zins)..
83- Use advanced database functions in abtable to decrease 80- Use advanced database functions in abtable to decrease
84 memory footprint and to make everything more easy ! 81 memory footprint and to make everything more easy !
85 (abtable should store Iterator for selected Category) 82 (abtable should store Iterator for selected Category)
86- Abtable: Configure Contact column (internally already available, 83- Abtable: Configure Contact column (internally already available,
87 need configuration) 84 need configuration)
88- Select of primary contact (see #274 on mantis) 85- Select of primary contact (see #274 on mantis)
89- Category-select does not work completely: "Unfiled" is always in listview .. 86- Category-select does not work completely: "Unfiled" is always in listview ..
90- Return from Contacteditor: Category resettet to all 87- Return from Contacteditor: Category resettet to all
91- Personal Details not working 88- Personal Details not working
92- If category changed, the letterpicker should be resetted 89- If category changed, the letterpicker should be resetted
93- There should be some icons for List and Cardview 90- There should be some icons for List and Cardview
94- If in Cardview and a category change removes all entries: 91- If in Cardview and a category change removes all entries:
95 There are already entries in Cardview after up/down 92 There are already entries in Cardview after up/down
96- Personal Details: Anniversary zeigt Fantasie-Werte 93- Personal Details: Anniversary zeigt Fantasie-Werte
97- Unfiled shown just in Category "All" and "Unfiled". 94- Unfiled shown just in Category "All" and "Unfiled".
98- After finising search and after Edit: Clear Picker 95- After finising search and after Edit: Clear Picker
99- After Edit: Table position back to edited entry. 96- After Edit: Table position back to edited entry.
100- Optimize Table Update... 97- Optimize Table Update...
101- Change MyDialog to Config 98- Change MyDialog to Config
102- Store position and state of toolbar 99- Store position and state of toolbar
103- Searchwidget closed: Selected user is jumping 100- Searchwidget closed: Selected user is jumping
104- Wenn suchen beendet, dann dauert das Tabellenupdate (was überhaupt überflüssig ist) 101- Wenn suchen beendet, dann dauert das Tabellenupdate (was überhaupt überflüssig ist)
105 zu lange.. 102 zu lange..
106- VCARD: Import of Anniversary does not work correctly (currently disabled) 103- VCARD: Import of Anniversary does not work correctly (currently disabled)
107- Name order selected in "contacteditor" not used in list view. 104- Name order selected in "contacteditor" not used in list view.
108- OK-Key does not switch from Detailview (ablable) to Listview 105- OK-Key does not switch from Detailview (ablable) to Listview
109- Receiving of beams should open a dialog 106- Receiving of beams should open a dialog
110- Fix start of opie-mail 107- Fix start of opie-mail
108- Implement Button Pics
109- Add a dialog to accept and optionally edit received contacts by IRDA.
diff --git a/core/pim/addressbook/addressbook.cpp b/core/pim/addressbook/addressbook.cpp
index 68fcf1e..ea87e51 100644
--- a/core/pim/addressbook/addressbook.cpp
+++ b/core/pim/addressbook/addressbook.cpp
@@ -59,168 +59,168 @@
59#include <qdatetime.h> 59#include <qdatetime.h>
60 60
61#include <stdlib.h> 61#include <stdlib.h>
62#include <sys/stat.h> 62#include <sys/stat.h>
63#include <sys/types.h> 63#include <sys/types.h>
64#include <fcntl.h> 64#include <fcntl.h>
65#include <unistd.h> 65#include <unistd.h>
66 66
67 67
68#include "picker.h" 68#include "picker.h"
69#include "configdlg.h" 69#include "configdlg.h"
70 70
71extern QString addressbookPersonalVCardName(); 71extern QString addressbookPersonalVCardName();
72 72
73AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name, 73AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name,
74 WFlags f ) 74 WFlags f )
75 : QMainWindow( parent, name, f ), 75 : QMainWindow( parent, name, f ),
76 catMenu (0l), 76 catMenu (0l),
77 abEditor(0l), 77 abEditor(0l),
78 syncing(FALSE), 78 syncing(FALSE),
79 m_tableViewButton(0l), 79 m_tableViewButton(0l),
80 m_cardViewButton(0l) 80 m_cardViewButton(0l)
81{ 81{
82 isLoading = true; 82 isLoading = true;
83 83
84 m_config.load(); 84 m_config.load();
85 85
86 setCaption( tr("Contacts") ); 86 setCaption( tr("Contacts") );
87 setIcon( Resource::loadPixmap( "AddressBook" ) ); 87 setIcon( Resource::loadPixmap( "AddressBook" ) );
88 88
89 // Settings for Main Menu 89 // Settings for Main Menu
90 setToolBarsMovable( true ); 90 setToolBarsMovable( true );
91 setRightJustification( true ); 91 setRightJustification( true );
92 92
93 // Create Toolbar 93 // Create Toolbar
94 listTools = new QPEToolBar( this, "list operations" ); 94 listTools = new QPEToolBar( this, "list operations" );
95 listTools->setHorizontalStretchable( true ); 95 listTools->setHorizontalStretchable( true );
96 addToolBar( listTools ); 96 addToolBar( listTools );
97 moveToolBar( listTools, m_config.getToolBarPos() ); 97 moveToolBar( listTools, m_config.getToolBarPos() );
98 98
99 QPEMenuBar *mbList = new QPEMenuBar( this ); 99 QPEMenuBar *mbList = new QPEMenuBar( this );
100 mbList->setMargin( 0 ); 100 mbList->setMargin( 0 );
101 101
102 QPopupMenu *edit = new QPopupMenu( mbList ); 102 QPopupMenu *edit = new QPopupMenu( mbList );
103 mbList->insertItem( tr( "Contact" ), edit ); 103 mbList->insertItem( tr( "Contact" ), edit );
104 104
105 105
106 // View Icons 106 // View Icons
107 m_tableViewButton = new QAction( tr( "List" ), Resource::loadPixmap( "datebook/weeklst" ), 107 m_tableViewButton = new QAction( tr( "List" ), Resource::loadPixmap( "addressbook/weeklst" ),
108 QString::null, 0, this, 0 ); 108 QString::null, 0, this, 0 );
109 connect( m_tableViewButton, SIGNAL( activated() ), this, SLOT( slotListView() ) ); 109 connect( m_tableViewButton, SIGNAL( activated() ), this, SLOT( slotListView() ) );
110 m_tableViewButton->setToggleAction( true ); 110 m_tableViewButton->setToggleAction( true );
111 m_tableViewButton->addTo( listTools ); 111 m_tableViewButton->addTo( listTools );
112 m_cardViewButton = new QAction( tr( "Card" ), Resource::loadPixmap( "day" ), QString::null, 0, this, 0 ); 112 m_cardViewButton = new QAction( tr( "Card" ), Resource::loadPixmap( "day" ), QString::null, 0, this, 0 );
113 connect( m_cardViewButton, SIGNAL( activated() ), this, SLOT( slotCardView() ) ); 113 connect( m_cardViewButton, SIGNAL( activated() ), this, SLOT( slotCardView() ) );
114 m_cardViewButton->setToggleAction( true ); 114 m_cardViewButton->setToggleAction( true );
115 m_cardViewButton->addTo( listTools ); 115 m_cardViewButton->addTo( listTools );
116 116
117 listTools->addSeparator(); 117 listTools->addSeparator();
118 118
119 // Other Buttons 119 // Other Buttons
120 QAction *a = new QAction( tr( "New" ), Resource::loadPixmap( "new" ), QString::null, 120 QAction *a = new QAction( tr( "New" ), Resource::loadPixmap( "new" ), QString::null,
121 0, this, 0 ); 121 0, this, 0 );
122 actionNew = a; 122 actionNew = a;
123 connect( a, SIGNAL( activated() ), this, SLOT( slotListNew() ) ); 123 connect( a, SIGNAL( activated() ), this, SLOT( slotListNew() ) );
124 a->addTo( edit ); 124 a->addTo( edit );
125 a->addTo( listTools ); 125 a->addTo( listTools );
126 126
127 a = new QAction( tr( "Edit" ), Resource::loadPixmap( "edit" ), QString::null, 127 a = new QAction( tr( "Edit" ), Resource::loadPixmap( "edit" ), QString::null,
128 0, this, 0 ); 128 0, this, 0 );
129 actionEdit = a; 129 actionEdit = a;
130 connect( a, SIGNAL( activated() ), this, SLOT( slotViewEdit() ) ); 130 connect( a, SIGNAL( activated() ), this, SLOT( slotViewEdit() ) );
131 a->addTo( edit ); 131 a->addTo( edit );
132 a->addTo( listTools ); 132 a->addTo( listTools );
133 133
134 a = new QAction( tr( "Delete" ), Resource::loadPixmap( "trash" ), QString::null, 134 a = new QAction( tr( "Delete" ), Resource::loadPixmap( "trash" ), QString::null,
135 0, this, 0 ); 135 0, this, 0 );
136 actionTrash = a; 136 actionTrash = a;
137 connect( a, SIGNAL( activated() ), this, SLOT( slotListDelete() ) ); 137 connect( a, SIGNAL( activated() ), this, SLOT( slotListDelete() ) );
138 a->addTo( edit ); 138 a->addTo( edit );
139 a->addTo( listTools ); 139 a->addTo( listTools );
140 140
141 141
142 // make it possible to go directly to businesscard via qcop call 142 // make it possible to go directly to businesscard via qcop call
143 //#if defined(Q_WS_QWS) // Why this ? (se) 143 //#if defined(Q_WS_QWS) // Why this ? (se)
144#if !defined(QT_NO_COP) 144#if !defined(QT_NO_COP)
145 QCopChannel *addressChannel = new QCopChannel("QPE/Addressbook" , this ); 145 QCopChannel *addressChannel = new QCopChannel("QPE/Addressbook" , this );
146 connect (addressChannel, SIGNAL( received(const QCString &, const QByteArray &)), 146 connect (addressChannel, SIGNAL( received(const QCString &, const QByteArray &)),
147 this, SLOT ( appMessage(const QCString &, const QByteArray &) ) ); 147 this, SLOT ( appMessage(const QCString &, const QByteArray &) ) );
148#endif 148#endif
149 // #endif 149 // #endif
150 a = new QAction( tr( "Find" ), Resource::loadPixmap( "mag" ), 150 a = new QAction( tr( "Find" ), Resource::loadPixmap( "mag" ),
151 QString::null, 0, this, 0 ); 151 QString::null, 0, this, 0 );
152 actionFind = a; 152 actionFind = a;
153 connect( a, SIGNAL(activated()), this, SLOT( slotFindOpen()) ); 153 connect( a, SIGNAL(activated()), this, SLOT( slotFindOpen()) );
154 a->addTo( edit ); 154 a->addTo( edit );
155 a->addTo( listTools ); 155 a->addTo( listTools );
156 156
157 // Much better search widget, taken from QTReader.. (se) 157 // Much better search widget, taken from QTReader.. (se)
158 searchBar = new OFloatBar( "Search", this, QMainWindow::Top, TRUE ); 158 searchBar = new OFloatBar( "Search", this, QMainWindow::Top, TRUE );
159 searchBar->setHorizontalStretchable( TRUE ); 159 searchBar->setHorizontalStretchable( TRUE );
160 searchBar->hide(); 160 searchBar->hide();
161 searchEdit = new QLineEdit( searchBar, "searchEdit" ); 161 searchEdit = new QLineEdit( searchBar, "searchEdit" );
162 162
163 // QFont f("unifont", 16 /*, QFont::Bold*/); 163 // QFont f("unifont", 16 /*, QFont::Bold*/);
164 // searchEdit->setFont( f ); 164 // searchEdit->setFont( f );
165 165
166 searchBar->setStretchableWidget( searchEdit ); 166 searchBar->setStretchableWidget( searchEdit );
167 connect( searchEdit, SIGNAL( returnPressed( ) ), 167 connect( searchEdit, SIGNAL( returnPressed( ) ),
168 this, SLOT( slotFind( ) ) ); 168 this, SLOT( slotFind( ) ) );
169 169
170 a = new QAction( tr( "Start Search" ), Resource::loadPixmap( "enter" ), QString::null, 0, this, 0 ); 170 a = new QAction( tr( "Start Search" ), Resource::loadPixmap( "enter" ), QString::null, 0, this, 0 );
171 connect( a, SIGNAL( activated() ), this, SLOT( slotFind() ) ); 171 connect( a, SIGNAL( activated() ), this, SLOT( slotFind() ) );
172 a->addTo( searchBar ); 172 a->addTo( searchBar );
173 173
174 a = new QAction( tr( "Close Find" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); 174 a = new QAction( tr( "Close Find" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 );
175 connect( a, SIGNAL( activated() ), this, SLOT( slotFindClose() ) ); 175 connect( a, SIGNAL( activated() ), this, SLOT( slotFindClose() ) );
176 a->addTo( searchBar ); 176 a->addTo( searchBar );
177 177
178 a = new QAction( tr( "Write Mail To" ), Resource::loadPixmap( "mail/sendmail" ), 178 a = new QAction( tr( "Write Mail To" ), Resource::loadPixmap( "addressbook/sendmail" ),
179 QString::null, 0, this, 0 ); 179 QString::null, 0, this, 0 );
180 //a->setEnabled( FALSE ); we got support for it now :) zecke 180 //a->setEnabled( FALSE ); we got support for it now :) zecke
181 actionMail = a; 181 actionMail = a;
182 connect( a, SIGNAL( activated() ), this, SLOT( writeMail() ) ); 182 connect( a, SIGNAL( activated() ), this, SLOT( writeMail() ) );
183 a->addTo( edit ); 183 a->addTo( edit );
184 a->addTo( listTools ); 184 a->addTo( listTools );
185 185
186 if ( Ir::supported() ) { 186 if ( Ir::supported() ) {
187 a = new QAction( tr ("Beam Entry" ), Resource::loadPixmap( "beam" ), QString::null, 187 a = new QAction( tr ("Beam Entry" ), Resource::loadPixmap( "beam" ), QString::null,
188 0, this, 0 ); 188 0, this, 0 );
189 actionBeam = a; 189 actionBeam = a;
190 connect( a, SIGNAL( activated() ), this, SLOT( slotBeam() ) ); 190 connect( a, SIGNAL( activated() ), this, SLOT( slotBeam() ) );
191 a->addTo( edit ); 191 a->addTo( edit );
192 a->addTo( listTools ); 192 a->addTo( listTools );
193 } 193 }
194 194
195 edit->insertSeparator(); 195 edit->insertSeparator();
196 196
197 a = new QAction( tr("Import vCard"), QString::null, 0, 0); 197 a = new QAction( tr("Import vCard"), QString::null, 0, 0);
198 actionPersonal = a; 198 actionPersonal = a;
199 connect( a, SIGNAL( activated() ), this, SLOT( importvCard() ) ); 199 connect( a, SIGNAL( activated() ), this, SLOT( importvCard() ) );
200 a->addTo( edit ); 200 a->addTo( edit );
201 201
202 edit->insertSeparator(); 202 edit->insertSeparator();
203 203
204 a = new QAction( tr("My Personal Details"), QString::null, 0, 0, 0, TRUE ); 204 a = new QAction( tr("My Personal Details"), QString::null, 0, 0, 0, TRUE );
205 actionPersonal = a; 205 actionPersonal = a;
206 connect( a, SIGNAL( activated() ), this, SLOT( slotPersonalView() ) ); 206 connect( a, SIGNAL( activated() ), this, SLOT( slotPersonalView() ) );
207 a->addTo( edit ); 207 a->addTo( edit );
208 208
209 209
210#ifdef __DEBUG_RELEASE 210#ifdef __DEBUG_RELEASE
211 // Remove this function for public Release ! This is only 211 // Remove this function for public Release ! This is only
212 // for debug purposes .. 212 // for debug purposes ..
213 a = new QAction( tr( "Save all Data"), QString::null, 0, 0 ); 213 a = new QAction( tr( "Save all Data"), QString::null, 0, 0 );
214 connect( a, SIGNAL( activated() ), this , SLOT( slotSave() ) ); 214 connect( a, SIGNAL( activated() ), this , SLOT( slotSave() ) );
215 a->addTo( edit ); 215 a->addTo( edit );
216#endif 216#endif
217 a = new QAction( tr( "Config" ), Resource::loadPixmap( "today/config" ), QString::null, 217 a = new QAction( tr( "Config" ), Resource::loadPixmap( "today/config" ), QString::null,
218 0, this, 0 ); 218 0, this, 0 );
219 connect( a, SIGNAL( activated() ), this, SLOT( slotConfig() ) ); 219 connect( a, SIGNAL( activated() ), this, SLOT( slotConfig() ) );
220 a->addTo( edit ); 220 a->addTo( edit );
221 221
222 // Create Views 222 // Create Views
223 listContainer = new QWidget( this ); 223 listContainer = new QWidget( this );
224 QVBoxLayout *vb = new QVBoxLayout( listContainer ); 224 QVBoxLayout *vb = new QVBoxLayout( listContainer );
225 225
226 m_abView = new AbView( listContainer, m_config.orderList() ); 226 m_abView = new AbView( listContainer, m_config.orderList() );
diff --git a/core/pim/addressbook/opie-addressbook.control b/core/pim/addressbook/opie-addressbook.control
index 48542e7..f8fd7aa 100644
--- a/core/pim/addressbook/opie-addressbook.control
+++ b/core/pim/addressbook/opie-addressbook.control
@@ -1,10 +1,10 @@
1Files: bin/addressbook apps/1Pim/addressbook.desktop 1Files: bin/addressbook apps/1Pim/addressbook.desktop pics/addressbook/*.png
2Priority: optional 2Priority: optional
3Section: opie/applications 3Section: opie/applications
4Conflicts: qpe-tkcaddressbook 4Conflicts: qpe-tkcaddressbook
5Maintainer: Stefan Eilers <eilers.stefan@epost.de> 5Maintainer: Stefan Eilers <eilers.stefan@epost.de>
6Architecture: arm 6Architecture: arm
7Version: $QPE_VERSION-$SUB_VERSION 7Version: $QPE_VERSION-$SUB_VERSION
8Depends: opie-base ($QPE_VERSION), libopie ($QPE_VERSION) 8Depends: opie-base ($QPE_VERSION), libopie ($QPE_VERSION)
9Description: Contacts 9Description: Contacts
10 A simple addressbook for the Opie environment. 10 A simple addressbook for the Opie environment.