summaryrefslogtreecommitdiffabout
path: root/kaddressbook/xxportmanager.cpp
Unidiff
Diffstat (limited to 'kaddressbook/xxportmanager.cpp') (more/less context) (show whitespace changes)
-rw-r--r--kaddressbook/xxportmanager.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/kaddressbook/xxportmanager.cpp b/kaddressbook/xxportmanager.cpp
index 7cb67ed..405f7ec 100644
--- a/kaddressbook/xxportmanager.cpp
+++ b/kaddressbook/xxportmanager.cpp
@@ -50,24 +50,25 @@ extern "C"
50 void* init_microkaddrbk_qtopia_xxport(); 50 void* init_microkaddrbk_qtopia_xxport();
51 void* init_microkaddrbk_sharpdtm_xxport(); 51 void* init_microkaddrbk_sharpdtm_xxport();
52} 52}
53#endif //KAB_EMBEDDED 53#endif //KAB_EMBEDDED
54 54
55#include <addresseeview.h> 55#include <addresseeview.h>
56 56
57#include "kabcore.h" 57#include "kabcore.h"
58#include "undocmds.h" 58#include "undocmds.h"
59#include "xxportselectdialog.h" 59#include "xxportselectdialog.h"
60 60
61#include "xxportmanager.h" 61#include "xxportmanager.h"
62#include "nameeditdialog.h"
62 63
63KURL XXPortManager::importURL = KURL(); 64KURL XXPortManager::importURL = KURL();
64QString XXPortManager::importData = QString::null; 65QString XXPortManager::importData = QString::null;
65 66
66class PreviewDialog : public KDialogBase 67class PreviewDialog : public KDialogBase
67{ 68{
68 public: 69 public:
69 PreviewDialog( const KABC::Addressee &addr, 70 PreviewDialog( const KABC::Addressee &addr,
70 QWidget *parent, const char *name = 0 ); 71 QWidget *parent, const char *name = 0 );
71}; 72};
72 73
73XXPortManager::XXPortManager( KABCore *core, QObject *parent, const char *name ) 74XXPortManager::XXPortManager( KABCore *core, QObject *parent, const char *name )
@@ -123,50 +124,56 @@ void XXPortManager::slotImport( const QString &identifier, const QString &data )
123 if ( !resource ) 124 if ( !resource )
124 return; 125 return;
125 126
126 KABC::AddresseeList list = obj->importContacts( data ); 127 KABC::AddresseeList list = obj->importContacts( data );
127 bool useUndo = ( list.count() < 25 ); 128 bool useUndo = ( list.count() < 25 );
128#ifdef DESKTOP_VERSION 129#ifdef DESKTOP_VERSION
129 useUndo = true; 130 useUndo = true;
130#endif 131#endif
131 mShowPreview = true; 132 mShowPreview = true;
132 KABC::AddresseeList::Iterator it; 133 KABC::AddresseeList::Iterator it;
133 bool imported = false; 134 bool imported = false;
134 int count = 0; 135 int count = 0;
136
137 KConfig config( locateLocal("config", "kabcrc") );
138 config.setGroup( "General" );
139 int FormattedNameType = config.readNumEntry( "FormattedNameType", 1 );
140
141
135 for ( it = list.begin(); it != list.end(); ++it ) { 142 for ( it = list.begin(); it != list.end(); ++it ) {
136 if ( mShowPreview ) { 143 if ( mShowPreview ) {
137 PreviewDialog dlg( *it, mCore ); 144 PreviewDialog dlg( *it, mCore );
138 connect( &dlg, SIGNAL( closeClicked() ), this, SLOT ( noPreview()) ); 145 connect( &dlg, SIGNAL( closeClicked() ), this, SLOT ( noPreview()) );
139 if ( !dlg.exec() ) { 146 if ( !dlg.exec() ) {
140 if ( mShowPreview ) 147 if ( mShowPreview )
141 continue; 148 continue;
142 } 149 }
143 } 150 }
144
145 (*it).setResource( resource ); 151 (*it).setResource( resource );
152 if ( (*it).formattedName().isEmpty() )
153 (*it).setFormattedName( NameEditDialog::formattedName( (*it), FormattedNameType ) );
146 if ( useUndo ) { 154 if ( useUndo ) {
155 ++count;
147 // We use a PwNewCommand so the user can undo it. 156 // We use a PwNewCommand so the user can undo it.
148 PwNewCommand *command = new PwNewCommand( mCore->addressBook(), *it ); 157 PwNewCommand *command = new PwNewCommand( mCore->addressBook(), *it );
149 UndoStack::instance()->push( command ); 158 UndoStack::instance()->push( command );
150 RedoStack::instance()->clear(); 159 RedoStack::instance()->clear();
151 } else { 160 } else {
152 ++count; 161 ++count;
153 mCore->addressBook()->insertAddressee( (*it), true, true ); 162 mCore->addressBook()->insertAddressee( (*it), true, true );
154 } 163 }
155 imported = true; 164 imported = true;
156 } 165 }
157
158 if ( imported ) { 166 if ( imported ) {
159 KMessageBox::information( mCore, i18n( "%1 contacts\nsuccessfully\nimported.").arg( count) ); 167 KMessageBox::information( mCore, i18n( "%1 contacts\nsuccessfully\nimported.").arg( count) );
160
161 emit modified(); 168 emit modified();
162 } 169 }
163} 170}
164void XXPortManager::noPreview() 171void XXPortManager::noPreview()
165{ 172{
166 mShowPreview = false; 173 mShowPreview = false;
167} 174}
168void XXPortManager::slotExport( const QString &identifier, const QString &data ) 175void XXPortManager::slotExport( const QString &identifier, const QString &data )
169{ 176{
170 XXPortObject *obj = mXXPortObjects[ identifier ]; 177 XXPortObject *obj = mXXPortObjects[ identifier ];
171 if ( !obj ) { 178 if ( !obj ) {
172 KMessageBox::error( mCore, i18n( "<qt>No export plugin available for <b>%1</b>.</qt>" ).arg( identifier ) ); 179 KMessageBox::error( mCore, i18n( "<qt>No export plugin available for <b>%1</b>.</qt>" ).arg( identifier ) );