summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/addressbook/addressbook.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/core/pim/addressbook/addressbook.cpp b/core/pim/addressbook/addressbook.cpp
index d4b9f43..0276231 100644
--- a/core/pim/addressbook/addressbook.cpp
+++ b/core/pim/addressbook/addressbook.cpp
@@ -5,385 +5,386 @@
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 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging 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** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** OContact info@trolltech.com if any conditions of this licensing are 16** OContact 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 20
21#define QTOPIA_INTERNAL_FD 21#define QTOPIA_INTERNAL_FD
22 22
23#include "contacteditor.h" 23#include "contacteditor.h"
24#include "ablabel.h" 24#include "ablabel.h"
25#include "abview.h" 25#include "abview.h"
26#include "abtable.h" 26#include "abtable.h"
27// #include "addresssettings.h" 27// #include "addresssettings.h"
28#include "addressbook.h" 28#include "addressbook.h"
29 29
30 30
31#include <opie/ofileselector.h> 31#include <opie/ofileselector.h>
32#include <opie/ofiledialog.h> 32#include <opie/ofiledialog.h>
33#include <opie/ocontact.h> 33#include <opie/ocontact.h>
34#include <opie/ocontactaccessbackend_vcard.h> 34#include <opie/ocontactaccessbackend_vcard.h>
35 35
36#include <qpe/resource.h> 36#include <qpe/resource.h>
37#include <qpe/ir.h> 37#include <qpe/ir.h>
38#include <qpe/qpemessagebox.h> 38#include <qpe/qpemessagebox.h>
39#include <qpe/qcopenvelope_qws.h> 39#include <qpe/qcopenvelope_qws.h>
40#include <qpe/qpetoolbar.h> 40#include <qpe/qpetoolbar.h>
41#include <qpe/qpemenubar.h> 41#include <qpe/qpemenubar.h>
42// #include <qtoolbar.h> 42// #include <qtoolbar.h>
43// #include <qmenubar.h> 43// #include <qmenubar.h>
44#include <qpe/qpeapplication.h> 44#include <qpe/qpeapplication.h>
45#include <qpe/config.h> 45#include <qpe/config.h>
46 46
47#include <qaction.h> 47#include <qaction.h>
48#include <qdialog.h> 48#include <qdialog.h>
49#include <qdir.h> 49#include <qdir.h>
50#include <qfile.h> 50#include <qfile.h>
51#include <qimage.h> 51#include <qimage.h>
52#include <qlayout.h> 52#include <qlayout.h>
53#include <qmessagebox.h> 53#include <qmessagebox.h>
54#include <qpixmap.h> 54#include <qpixmap.h>
55#include <qpopupmenu.h> 55#include <qpopupmenu.h>
56#include <qstringlist.h> 56#include <qstringlist.h>
57#include <qtoolbutton.h> 57#include <qtoolbutton.h>
58#include <qwhatsthis.h> 58#include <qwhatsthis.h>
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( "addressbook/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( "addressbook/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"), Resource::loadPixmap( "addressbook/fileimport"), QString::null,
198 0, this, 0);
198 actionPersonal = a; 199 actionPersonal = a;
199 connect( a, SIGNAL( activated() ), this, SLOT( importvCard() ) ); 200 connect( a, SIGNAL( activated() ), this, SLOT( importvCard() ) );
200 a->addTo( edit ); 201 a->addTo( edit );
201 202
202 edit->insertSeparator(); 203 edit->insertSeparator();
203 204
204 a = new QAction( tr("My Personal Details"), Resource::loadPixmap( "addressbook/identity" ), 205 a = new QAction( tr("My Personal Details"), Resource::loadPixmap( "addressbook/identity" ),
205 QString::null, 0, this, 0 , TRUE ); 206 QString::null, 0, this, 0 , TRUE );
206 actionPersonal = a; 207 actionPersonal = a;
207 connect( a, SIGNAL( activated() ), this, SLOT( slotPersonalView() ) ); 208 connect( a, SIGNAL( activated() ), this, SLOT( slotPersonalView() ) );
208 a->addTo( edit ); 209 a->addTo( edit );
209 210
210 211
211#ifdef __DEBUG_RELEASE 212#ifdef __DEBUG_RELEASE
212 // Remove this function for public Release ! This is only 213 // Remove this function for public Release ! This is only
213 // for debug purposes .. 214 // for debug purposes ..
214 a = new QAction( tr( "Save all Data"), QString::null, 0, 0 ); 215 a = new QAction( tr( "Save all Data"), QString::null, 0, 0 );
215 connect( a, SIGNAL( activated() ), this , SLOT( slotSave() ) ); 216 connect( a, SIGNAL( activated() ), this , SLOT( slotSave() ) );
216 a->addTo( edit ); 217 a->addTo( edit );
217#endif 218#endif
218 a = new QAction( tr( "Config" ), Resource::loadPixmap( "addressbook/configure" ), QString::null, 219 a = new QAction( tr( "Config" ), Resource::loadPixmap( "addressbook/configure" ), QString::null,
219 0, this, 0 ); 220 0, this, 0 );
220 connect( a, SIGNAL( activated() ), this, SLOT( slotConfig() ) ); 221 connect( a, SIGNAL( activated() ), this, SLOT( slotConfig() ) );
221 a->addTo( edit ); 222 a->addTo( edit );
222 223
223 // Create Views 224 // Create Views
224 listContainer = new QWidget( this ); 225 listContainer = new QWidget( this );
225 QVBoxLayout *vb = new QVBoxLayout( listContainer ); 226 QVBoxLayout *vb = new QVBoxLayout( listContainer );
226 227
227 m_abView = new AbView( listContainer, m_config.orderList() ); 228 m_abView = new AbView( listContainer, m_config.orderList() );
228 vb->addWidget( m_abView ); 229 vb->addWidget( m_abView );
229 // abList->setHScrollBarMode( QScrollView::AlwaysOff ); 230 // abList->setHScrollBarMode( QScrollView::AlwaysOff );
230 connect( m_abView, SIGNAL( signalViewSwitched ( int ) ), 231 connect( m_abView, SIGNAL( signalViewSwitched ( int ) ),
231 this, SLOT( slotViewSwitched( int ) ) ); 232 this, SLOT( slotViewSwitched( int ) ) );
232 233
233 234
234 QObject::connect( m_abView, SIGNAL(signalNotFound()), this, SLOT(slotNotFound()) ); 235 QObject::connect( m_abView, SIGNAL(signalNotFound()), this, SLOT(slotNotFound()) );
235 236
236 m_abView->load(); 237 m_abView->load();
237 238
238 // Letter Picker 239 // Letter Picker
239 pLabel = new LetterPicker( listContainer ); 240 pLabel = new LetterPicker( listContainer );
240 connect(pLabel, SIGNAL(letterClicked(char)), this, SLOT(slotSetLetter(char))); 241 connect(pLabel, SIGNAL(letterClicked(char)), this, SLOT(slotSetLetter(char)));
241 connect(m_abView, SIGNAL( signalClearLetterPicker() ), pLabel, SLOT( clear() ) ); 242 connect(m_abView, SIGNAL( signalClearLetterPicker() ), pLabel, SLOT( clear() ) );
242 243
243 vb->addWidget( pLabel ); 244 vb->addWidget( pLabel );
244 245
245 // Category Menu 246 // Category Menu
246 catMenu = new QPopupMenu( this ); 247 catMenu = new QPopupMenu( this );
247 catMenu->setCheckable( TRUE ); 248 catMenu->setCheckable( TRUE );
248 connect( catMenu, SIGNAL(activated(int)), this, SLOT(slotSetCategory(int)) ); 249 connect( catMenu, SIGNAL(activated(int)), this, SLOT(slotSetCategory(int)) );
249 populateCategories(); 250 populateCategories();
250 mbList->insertItem( tr("View"), catMenu ); 251 mbList->insertItem( tr("View"), catMenu );
251 252
252 defaultFont = new QFont( m_abView->font() ); 253 defaultFont = new QFont( m_abView->font() );
253 slotSetFont(m_config.fontSize()); 254 slotSetFont(m_config.fontSize());
254 m_curFontSize = m_config.fontSize(); 255 m_curFontSize = m_config.fontSize();
255 256
256 setCentralWidget(listContainer); 257 setCentralWidget(listContainer);
257 258
258 // qDebug("adressbook contrsuction: t=%d", t.elapsed() ); 259 // qDebug("adressbook contrsuction: t=%d", t.elapsed() );
259 260
260 261
261 isLoading = false; 262 isLoading = false;
262} 263}
263 264
264 265
265void AddressbookWindow::slotConfig() 266void AddressbookWindow::slotConfig()
266{ 267{
267 ConfigDlg* dlg = new ConfigDlg( this, "Config" ); 268 ConfigDlg* dlg = new ConfigDlg( this, "Config" );
268 dlg -> setConfig( m_config ); 269 dlg -> setConfig( m_config );
269 dlg -> showMaximized(); 270 dlg -> showMaximized();
270 if ( dlg -> exec() ) { 271 if ( dlg -> exec() ) {
271 qWarning ("Config Dialog accepted!"); 272 qWarning ("Config Dialog accepted!");
272 m_config = dlg -> getConfig(); 273 m_config = dlg -> getConfig();
273 if ( m_curFontSize != m_config.fontSize() ){ 274 if ( m_curFontSize != m_config.fontSize() ){
274 qWarning("Font was changed!"); 275 qWarning("Font was changed!");
275 m_curFontSize = m_config.fontSize(); 276 m_curFontSize = m_config.fontSize();
276 emit slotSetFont( m_curFontSize ); 277 emit slotSetFont( m_curFontSize );
277 } 278 }
278 m_abView -> setListOrder( m_config.orderList() ); 279 m_abView -> setListOrder( m_config.orderList() );
279 } 280 }
280 281
281 delete dlg; 282 delete dlg;
282} 283}
283 284
284 285
285void AddressbookWindow::slotSetFont( int size ) 286void AddressbookWindow::slotSetFont( int size )
286{ 287{
287 qWarning("void AddressbookWindow::slotSetFont( %d )", size); 288 qWarning("void AddressbookWindow::slotSetFont( %d )", size);
288 289
289 if (size > 2 || size < 0) 290 if (size > 2 || size < 0)
290 size = 1; 291 size = 1;
291 292
292 m_config.setFontSize( size ); 293 m_config.setFontSize( size );
293 294
294 QFont *currentFont; 295 QFont *currentFont;
295 296
296 switch (size) { 297 switch (size) {
297 case 0: 298 case 0:
298 m_abView->setFont( QFont( defaultFont->family(), defaultFont->pointSize() - 2 ) ); 299 m_abView->setFont( QFont( defaultFont->family(), defaultFont->pointSize() - 2 ) );
299 currentFont = new QFont (m_abView->font()); 300 currentFont = new QFont (m_abView->font());
300 // abList->resizeRows(currentFont->pixelSize() + 7); :SX 301 // abList->resizeRows(currentFont->pixelSize() + 7); :SX
301 // abList->resizeRows(); 302 // abList->resizeRows();
302 break; 303 break;
303 case 1: 304 case 1:
304 m_abView->setFont( *defaultFont ); 305 m_abView->setFont( *defaultFont );
305 currentFont = new QFont (m_abView->font()); 306 currentFont = new QFont (m_abView->font());
306 // // abList->resizeRows(currentFont->pixelSize() + 7); 307 // // abList->resizeRows(currentFont->pixelSize() + 7);
307 // abList->resizeRows(); 308 // abList->resizeRows();
308 break; 309 break;
309 case 2: 310 case 2:
310 m_abView->setFont( QFont( defaultFont->family(), defaultFont->pointSize() + 2 ) ); 311 m_abView->setFont( QFont( defaultFont->family(), defaultFont->pointSize() + 2 ) );
311 currentFont = new QFont (m_abView->font()); 312 currentFont = new QFont (m_abView->font());
312 // //abList->resizeRows(currentFont->pixelSize() + 7); 313 // //abList->resizeRows(currentFont->pixelSize() + 7);
313 // abList->resizeRows(); 314 // abList->resizeRows();
314 break; 315 break;
315 } 316 }
316} 317}
317 318
318 319
319 320
320void AddressbookWindow::importvCard() { 321void AddressbookWindow::importvCard() {
321 QString str = OFileDialog::getOpenFileName( 1,"/");//,"", "*", this ); 322 QString str = OFileDialog::getOpenFileName( 1,"/");//,"", "*", this );
322 if(!str.isEmpty() ){ 323 if(!str.isEmpty() ){
323 setDocument((const QString&) str ); 324 setDocument((const QString&) str );
324 } 325 }
325 326
326} 327}
327 328
328void AddressbookWindow::setDocument( const QString &filename ) 329void AddressbookWindow::setDocument( const QString &filename )
329{ 330{
330 qWarning( "void AddressbookWindow::setDocument( %s )", filename.latin1() ); 331 qWarning( "void AddressbookWindow::setDocument( %s )", filename.latin1() );
331 332
332 if ( filename.find(".vcf") != int(filename.length()) - 4 ){ 333 if ( filename.find(".vcf") != int(filename.length()) - 4 ){
333 334
334 335
335 336
336 switch( QMessageBox::information( this, tr ( "Right file type ?" ), 337 switch( QMessageBox::information( this, tr ( "Right file type ?" ),
337 tr( "The selected file \n does not end with \".vcf\".\n Do you really want to open it?" ), 338 tr( "The selected file \n does not end with \".vcf\".\n Do you really want to open it?" ),
338 tr( "&Yes" ), tr( "&No" ), QString::null, 339 tr( "&Yes" ), tr( "&No" ), QString::null,
339 0, // Enter == button 0 340 0, // Enter == button 0
340 2 ) ) { // Escape == button 2 341 2 ) ) { // Escape == button 2
341 case 0: 342 case 0:
342 qWarning("YES clicked"); 343 qWarning("YES clicked");
343 break; 344 break;
344 case 1: 345 case 1:
345 qWarning("NO clicked"); 346 qWarning("NO clicked");
346 return; 347 return;
347 break; 348 break;
348 } 349 }
349 } 350 }
350 351
351 OContactAccessBackend* vcard_backend = new OContactAccessBackend_VCard( QString::null, 352 OContactAccessBackend* vcard_backend = new OContactAccessBackend_VCard( QString::null,
352 filename ); 353 filename );
353 OContactAccess* access = new OContactAccess ( "addressbook", QString::null , vcard_backend, true ); 354 OContactAccess* access = new OContactAccess ( "addressbook", QString::null , vcard_backend, true );
354 OContactAccess::List allList = access->allRecords(); 355 OContactAccess::List allList = access->allRecords();
355 qWarning( "Found number of contacts in File: %d", allList.count() ); 356 qWarning( "Found number of contacts in File: %d", allList.count() );
356 357
357 if ( !allList.count() ) { 358 if ( !allList.count() ) {
358 QMessageBox::information( this, "Import VCard", 359 QMessageBox::information( this, "Import VCard",
359 "It was impossible to import\nthe VCard.\n" 360 "It was impossible to import\nthe VCard.\n"
360 "The VCard may be corrupted!" ); 361 "The VCard may be corrupted!" );
361 } 362 }
362 363
363 bool doAsk = true; 364 bool doAsk = true;
364 OContactAccess::List::Iterator it; 365 OContactAccess::List::Iterator it;
365 for ( it = allList.begin(); it != allList.end(); ++it ){ 366 for ( it = allList.begin(); it != allList.end(); ++it ){
366 qWarning("Adding Contact from: %s", (*it).fullName().latin1() ); 367 qWarning("Adding Contact from: %s", (*it).fullName().latin1() );
367 if ( doAsk ){ 368 if ( doAsk ){
368 switch( QMessageBox::information( this, tr ( "Add Contact?" ), 369 switch( QMessageBox::information( this, tr ( "Add Contact?" ),
369 tr( "Do you really want add contact for \n%1?" ) 370 tr( "Do you really want add contact for \n%1?" )
370 .arg( (*it).fullName().latin1() ), 371 .arg( (*it).fullName().latin1() ),
371 tr( "&Yes" ), tr( "&No" ), tr( "&All Yes"), 372 tr( "&Yes" ), tr( "&No" ), tr( "&All Yes"),
372 0, // Enter == button 0 373 0, // Enter == button 0
373 2 ) ) { // Escape == button 2 374 2 ) ) { // Escape == button 2
374 case 0: 375 case 0:
375 qWarning("YES clicked"); 376 qWarning("YES clicked");
376 m_abView->addEntry( *it ); 377 m_abView->addEntry( *it );
377 break; 378 break;
378 case 1: 379 case 1:
379 qWarning("NO clicked"); 380 qWarning("NO clicked");
380 break; 381 break;
381 case 2: 382 case 2:
382 qWarning("YesAll clicked"); 383 qWarning("YesAll clicked");
383 doAsk = false; 384 doAsk = false;
384 break; 385 break;
385 } 386 }
386 }else 387 }else
387 m_abView->addEntry( *it ); 388 m_abView->addEntry( *it );
388 389
389 } 390 }