summaryrefslogtreecommitdiffabout
path: root/kaddressbook
authorzautrix <zautrix>2005-08-17 19:09:13 (UTC)
committer zautrix <zautrix>2005-08-17 19:09:13 (UTC)
commitfefa169958abb9c487205d92b54c79532b6f924a (patch) (side-by-side diff)
tree9de8347c47fb0b0fb4b39c78730352eb16d619c7 /kaddressbook
parent14f656fff72f1e7c2fedbb196fb97bbdd4fb1aac (diff)
downloadkdepimpi-fefa169958abb9c487205d92b54c79532b6f924a.zip
kdepimpi-fefa169958abb9c487205d92b54c79532b6f924a.tar.gz
kdepimpi-fefa169958abb9c487205d92b54c79532b6f924a.tar.bz2
import fix
Diffstat (limited to 'kaddressbook') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/xxportmanager.cpp47
-rw-r--r--kaddressbook/xxportmanager.h3
2 files changed, 36 insertions, 14 deletions
diff --git a/kaddressbook/xxportmanager.cpp b/kaddressbook/xxportmanager.cpp
index 89a2626..7cb67ed 100644
--- a/kaddressbook/xxportmanager.cpp
+++ b/kaddressbook/xxportmanager.cpp
@@ -126,4 +126,10 @@ void XXPortManager::slotImport( const QString &identifier, const QString &data )
KABC::AddresseeList list = obj->importContacts( data );
+ bool useUndo = ( list.count() < 25 );
+#ifdef DESKTOP_VERSION
+ useUndo = true;
+#endif
+ mShowPreview = true;
KABC::AddresseeList::Iterator it;
bool imported = false;
+ int count = 0;
for ( it = list.begin(); it != list.end(); ++it ) {
@@ -131,4 +137,7 @@ void XXPortManager::slotImport( const QString &identifier, const QString &data )
PreviewDialog dlg( *it, mCore );
- if ( !dlg.exec() )
- continue;
+ connect( &dlg, SIGNAL( closeClicked() ), this, SLOT ( noPreview()) );
+ if ( !dlg.exec() ) {
+ if ( mShowPreview )
+ continue;
+ }
}
@@ -136,6 +145,11 @@ void XXPortManager::slotImport( const QString &identifier, const QString &data )
(*it).setResource( resource );
- // We use a PwNewCommand so the user can undo it.
- PwNewCommand *command = new PwNewCommand( mCore->addressBook(), *it );
- UndoStack::instance()->push( command );
- RedoStack::instance()->clear();
+ if ( useUndo ) {
+ // We use a PwNewCommand so the user can undo it.
+ PwNewCommand *command = new PwNewCommand( mCore->addressBook(), *it );
+ UndoStack::instance()->push( command );
+ RedoStack::instance()->clear();
+ } else {
+ ++count;
+ mCore->addressBook()->insertAddressee( (*it), true, true );
+ }
imported = true;
@@ -144,3 +158,3 @@ void XXPortManager::slotImport( const QString &identifier, const QString &data )
if ( imported ) {
- KMessageBox::information( mCore, i18n( "contacts successfully imported." ) );
+ KMessageBox::information( mCore, i18n( "%1 contacts\nsuccessfully\nimported.").arg( count) );
@@ -149,3 +163,6 @@ void XXPortManager::slotImport( const QString &identifier, const QString &data )
}
-
+void XXPortManager::noPreview()
+{
+ mShowPreview = false;
+}
void XXPortManager::slotExport( const QString &identifier, const QString &data )
@@ -224,4 +241,4 @@ PreviewDialog::PreviewDialog( const KABC::Addressee &addr, QWidget *parent,
const char *name )
- : KDialogBase( Plain, i18n( "Contact Preview" ), Ok | Cancel, Ok, parent,
- name, true, true )
+ : KDialogBase( Plain, i18n( "Import this contact?" ), Ok | User1| User2, Ok, parent,
+ name, true, true ,i18n( "Import all!" ),i18n( "No" ) )
{
@@ -229,2 +246,4 @@ PreviewDialog::PreviewDialog( const KABC::Addressee &addr, QWidget *parent,
QVBoxLayout *layout = new QVBoxLayout( page, marginHint(), spacingHint() );
+ connect( this, SIGNAL( user1Clicked() ), this, SLOT ( slotClose() ) );
+ connect( this, SIGNAL( user2Clicked() ), this, SLOT ( slotCancel() ) );
@@ -232,6 +251,8 @@ PreviewDialog::PreviewDialog( const KABC::Addressee &addr, QWidget *parent,
view->setAddressee( addr );
-
layout->addWidget( view );
-
- resize( 400, 300 );
+#ifdef DESKTOP_VERSION
+ resize( 640, 480 );
+#else
+ showMaximized();
+#endif
}
diff --git a/kaddressbook/xxportmanager.h b/kaddressbook/xxportmanager.h
index f8436ed..e801d9b 100644
--- a/kaddressbook/xxportmanager.h
+++ b/kaddressbook/xxportmanager.h
@@ -65,3 +65,4 @@ class XXPortManager : public QObject
- protected slots:
+ protected slots:
+ void noPreview();
void slotImport( const QString&, const QString& );