-rw-r--r-- | kaddressbook/xxportmanager.cpp | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/kaddressbook/xxportmanager.cpp b/kaddressbook/xxportmanager.cpp index 4798ffe..2962951 100644 --- a/kaddressbook/xxportmanager.cpp +++ b/kaddressbook/xxportmanager.cpp | |||
@@ -120,36 +120,36 @@ void XXPortManager::slotImport( const QString &identifier, const QString &data ) | |||
120 | if ( !resource ) | 120 | if ( !resource ) |
121 | return; | 121 | return; |
122 | 122 | ||
123 | KABC::AddresseeList list = obj->importContacts( data ); | 123 | KABC::AddresseeList list = obj->importContacts( data ); |
124 | KABC::AddresseeList::Iterator it; | 124 | KABC::AddresseeList::Iterator it; |
125 | bool imported = false; | 125 | bool imported = false; |
126 | for ( it = list.begin(); it != list.end(); ++it ) { | 126 | for ( it = list.begin(); it != list.end(); ++it ) { |
127 | if ( mShowPreview ) { | 127 | if ( mShowPreview ) { |
128 | PreviewDialog dlg( *it, mCore ); | 128 | PreviewDialog dlg( *it, mCore ); |
129 | if ( !dlg.exec() ) | 129 | if ( !dlg.exec() ) |
130 | continue; | 130 | continue; |
131 | } | 131 | } |
132 | 132 | ||
133 | (*it).setResource( resource ); | 133 | (*it).setResource( resource ); |
134 | // We use a PwNewCommand so the user can undo it. | 134 | // We use a PwNewCommand so the user can undo it. |
135 | PwNewCommand *command = new PwNewCommand( mCore->addressBook(), *it ); | 135 | PwNewCommand *command = new PwNewCommand( mCore->addressBook(), *it ); |
136 | UndoStack::instance()->push( command ); | 136 | UndoStack::instance()->push( command ); |
137 | RedoStack::instance()->clear(); | 137 | RedoStack::instance()->clear(); |
138 | imported = true; | 138 | imported = true; |
139 | } | 139 | } |
140 | 140 | ||
141 | if ( imported ) { | 141 | if ( imported ) { |
142 | KMessageBox::information( mCore, i18n( "contacts successfully imported." ) ); | 142 | KMessageBox::information( mCore, i18n( "contacts successfully imported." ) ); |
143 | 143 | ||
144 | emit modified(); | 144 | emit modified(); |
145 | } | 145 | } |
146 | } | 146 | } |
147 | 147 | ||
148 | void XXPortManager::slotExport( const QString &identifier, const QString &data ) | 148 | void XXPortManager::slotExport( const QString &identifier, const QString &data ) |
149 | { | 149 | { |
150 | XXPortObject *obj = mXXPortObjects[ identifier ]; | 150 | XXPortObject *obj = mXXPortObjects[ identifier ]; |
151 | if ( !obj ) { | 151 | if ( !obj ) { |
152 | KMessageBox::error( mCore, i18n( "<qt>No export plugin available for <b>%1</b>.</qt>" ).arg( identifier ) ); | 152 | KMessageBox::error( mCore, i18n( "<qt>No export plugin available for <b>%1</b>.</qt>" ).arg( identifier ) ); |
153 | return; | 153 | return; |
154 | } | 154 | } |
155 | 155 | ||
@@ -167,59 +167,66 @@ void XXPortManager::slotExport( const QString &identifier, const QString &data ) | |||
167 | } | 167 | } |
168 | 168 | ||
169 | void XXPortManager::loadPlugins() | 169 | void XXPortManager::loadPlugins() |
170 | { | 170 | { |
171 | mXXPortObjects.clear(); | 171 | mXXPortObjects.clear(); |
172 | 172 | ||
173 | #ifndef KAB_EMBEDDED | 173 | #ifndef KAB_EMBEDDED |
174 | KTrader::OfferList plugins = KTrader::self()->query( "KAddressBook/XXPort" ); | 174 | KTrader::OfferList plugins = KTrader::self()->query( "KAddressBook/XXPort" ); |
175 | KTrader::OfferList::ConstIterator it; | 175 | KTrader::OfferList::ConstIterator it; |
176 | for ( it = plugins.begin(); it != plugins.end(); ++it ) { | 176 | for ( it = plugins.begin(); it != plugins.end(); ++it ) { |
177 | if ( !(*it)->hasServiceType( "KAddressBook/XXPort" ) ) | 177 | if ( !(*it)->hasServiceType( "KAddressBook/XXPort" ) ) |
178 | continue; | 178 | continue; |
179 | 179 | ||
180 | KLibFactory *factory = KLibLoader::self()->factory( (*it)->library().latin1() ); | 180 | KLibFactory *factory = KLibLoader::self()->factory( (*it)->library().latin1() ); |
181 | if ( !factory ) { | 181 | if ( !factory ) { |
182 | kdDebug(5720) << "XXPortManager::loadExtensions(): Factory creation failed" << endl; | 182 | kdDebug(5720) << "XXPortManager::loadExtensions(): Factory creation failed" << endl; |
183 | continue; | 183 | continue; |
184 | } | 184 | } |
185 | 185 | ||
186 | XXPortFactory *xxportFactory = static_cast<XXPortFactory*>( factory ); | 186 | XXPortFactory *xxportFactory = static_cast<XXPortFactory*>( factory ); |
187 | 187 | ||
188 | if ( !xxportFactory ) { | 188 | if ( !xxportFactory ) { |
189 | kdDebug(5720) << "XXPortManager::loadExtensions(): Cast failed" << endl; | 189 | kdDebug(5720) << "XXPortManager::loadExtensions(): Cast failed" << endl; |
190 | continue; | 190 | continue; |
191 | } | 191 | } |
192 | 192 | ||
193 | #else //KAB_EMBEDDED | 193 | #else //KAB_EMBEDDED |
194 | QList<XXPortFactory> factorylist; | 194 | QList<XXPortFactory> factorylist; |
195 | factorylist.append(static_cast<XXPortFactory*>(init_kaddrbk_csv_xxport())); | 195 | factorylist.append(static_cast<XXPortFactory*>(init_kaddrbk_csv_xxport())); |
196 | factorylist.append(static_cast<XXPortFactory*>(init_kaddrbk_kde2_xxport())); | 196 | factorylist.append(static_cast<XXPortFactory*>(init_kaddrbk_kde2_xxport())); |
197 | factorylist.append(static_cast<XXPortFactory*>(init_kaddrbk_vcard_xxport())); | 197 | factorylist.append(static_cast<XXPortFactory*>(init_kaddrbk_vcard_xxport())); |
198 | 198 | ||
199 | //add the opie import library dynamically | 199 | //add the opie import library dynamically |
200 | KLibFactory *factory = KLibLoader::self()->factory( "microkaddrbk_opie_xxport" ); | 200 | KLibFactory *factory = KLibLoader::self()->factory( "microkaddrbk_opie_xxport" ); |
201 | if ( factory ) { | 201 | if ( factory ) { |
202 | XXPortFactory *xxportFactory = static_cast<XXPortFactory*>( factory ); | 202 | XXPortFactory *xxportFactory = static_cast<XXPortFactory*>( factory ); |
203 | factorylist.append(xxportFactory); | 203 | factorylist.append(xxportFactory); |
204 | } | 204 | } |
205 | 205 | ||
206 | //add the qtopia import library dynamically | 206 | //add the qtopia import library dynamically |
207 | factory = KLibLoader::self()->factory( "microkaddrbk_qtopia_xxport" ); | 207 | factory = KLibLoader::self()->factory( "microkaddrbk_qtopia_xxport" ); |
208 | if ( factory ) { | 208 | if ( factory ) { |
209 | XXPortFactory *xxportFactory = static_cast<XXPortFactory*>( factory ); | 209 | XXPortFactory *xxportFactory = static_cast<XXPortFactory*>( factory ); |
210 | factorylist.append(xxportFactory); | 210 | factorylist.append(xxportFactory); |
211 | } | 211 | } |
212 | 212 | ||
213 | QListIterator<XXPortFactory> it(factorylist); | 213 | //add the sharp import library dynamically |
214 | factory = KLibLoader::self()->factory( "microkaddrbk_sharpdtm_xxport" ); | ||
215 | if ( factory ) { | ||
216 | XXPortFactory *xxportFactory = static_cast<XXPortFactory*>( factory ); | ||
217 | factorylist.append(xxportFactory); | ||
218 | } | ||
219 | |||
220 | QListIterator<XXPortFactory> it(factorylist); | ||
214 | for ( ; it.current(); ++it ) | 221 | for ( ; it.current(); ++it ) |
215 | { | 222 | { |
216 | XXPortFactory *xxportFactory = it.current(); | 223 | XXPortFactory *xxportFactory = it.current(); |
217 | #endif //KAB_EMBEDDED | 224 | #endif //KAB_EMBEDDED |
218 | 225 | ||
219 | XXPortObject *obj = xxportFactory->xxportObject( mCore->addressBook(), mCore ); | 226 | XXPortObject *obj = xxportFactory->xxportObject( mCore->addressBook(), mCore ); |
220 | if ( obj ) { | 227 | if ( obj ) { |
221 | mCore->addGUIClient( obj ); | 228 | mCore->addGUIClient( obj ); |
222 | mXXPortObjects.insert( obj->identifier(), obj ); | 229 | mXXPortObjects.insert( obj->identifier(), obj ); |
223 | connect( obj, SIGNAL( exportActivated( const QString&, const QString& ) ), | 230 | connect( obj, SIGNAL( exportActivated( const QString&, const QString& ) ), |
224 | this, SLOT( slotExport( const QString&, const QString& ) ) ); | 231 | this, SLOT( slotExport( const QString&, const QString& ) ) ); |
225 | connect( obj, SIGNAL( importActivated( const QString&, const QString& ) ), | 232 | connect( obj, SIGNAL( importActivated( const QString&, const QString& ) ), |
@@ -227,25 +234,25 @@ void XXPortManager::loadPlugins() | |||
227 | } | 234 | } |
228 | } | 235 | } |
229 | } | 236 | } |
230 | 237 | ||
231 | 238 | ||
232 | PreviewDialog::PreviewDialog( const KABC::Addressee &addr, QWidget *parent, | 239 | PreviewDialog::PreviewDialog( const KABC::Addressee &addr, QWidget *parent, |
233 | const char *name ) | 240 | const char *name ) |
234 | : KDialogBase( Plain, i18n( "Contact Preview" ), Ok | Cancel, Ok, parent, | 241 | : KDialogBase( Plain, i18n( "Contact Preview" ), Ok | Cancel, Ok, parent, |
235 | name, true, true ) | 242 | name, true, true ) |
236 | { | 243 | { |
237 | QWidget *page = plainPage(); | 244 | QWidget *page = plainPage(); |
238 | QVBoxLayout *layout = new QVBoxLayout( page, marginHint(), spacingHint() ); | 245 | QVBoxLayout *layout = new QVBoxLayout( page, marginHint(), spacingHint() ); |
239 | 246 | ||
240 | KPIM::AddresseeView *view = new KPIM::AddresseeView( page ); | 247 | KPIM::AddresseeView *view = new KPIM::AddresseeView( page ); |
241 | view->setAddressee( addr ); | 248 | view->setAddressee( addr ); |
242 | 249 | ||
243 | layout->addWidget( view ); | 250 | layout->addWidget( view ); |
244 | 251 | ||
245 | resize( 400, 300 ); | 252 | resize( 400, 300 ); |
246 | } | 253 | } |
247 | 254 | ||
248 | #ifndef KAB_EMBEDDED | 255 | #ifndef KAB_EMBEDDED |
249 | #include "xxportmanager.moc" | 256 | #include "xxportmanager.moc" |
250 | #endif //KAB_EMBEDDED | 257 | #endif //KAB_EMBEDDED |
251 | 258 | ||