summaryrefslogtreecommitdiffabout
path: root/kaddressbook/undocmds.cpp
authorzautrix <zautrix>2004-07-05 14:16:54 (UTC)
committer zautrix <zautrix>2004-07-05 14:16:54 (UTC)
commit9a90061115ee2cac8adc5b2d21e607b6c5c9b890 (patch) (side-by-side diff)
tree87efb03b00559f3a7fbb5c693d6d7b734f0d1eb7 /kaddressbook/undocmds.cpp
parentaf75333f69c6b7284a7fbe7ab63c08e10ae4541b (diff)
downloadkdepimpi-9a90061115ee2cac8adc5b2d21e607b6c5c9b890.zip
kdepimpi-9a90061115ee2cac8adc5b2d21e607b6c5c9b890.tar.gz
kdepimpi-9a90061115ee2cac8adc5b2d21e607b6c5c9b890.tar.bz2
Improved pasting of many items
Diffstat (limited to 'kaddressbook/undocmds.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/undocmds.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/kaddressbook/undocmds.cpp b/kaddressbook/undocmds.cpp
index db773be..5fbeec3 100644
--- a/kaddressbook/undocmds.cpp
+++ b/kaddressbook/undocmds.cpp
@@ -55,132 +55,133 @@ QString PwDeleteCommand::name()
{
return i18n( "Delete" );
}
void PwDeleteCommand::undo()
{
// Put it back in the document
KABC::Addressee::List::Iterator iter;
for (iter = mAddresseeList.begin(); iter != mAddresseeList.end(); ++iter)
{
mDocument->insertAddressee(*iter);
}
mAddresseeList.clear();
}
void PwDeleteCommand::redo()
{
// Just remove it from the document. This is enough to make the user
// Think the item has been deleted
KABC::Addressee a;
QStringList::Iterator iter;
for (iter = mUidList.begin(); iter != mUidList.end(); ++iter)
{
a = mDocument->findByUid(*iter);
mDocument->removeAddressee(a);
mAddresseeList.append(a);
AddresseeConfig::instance()->remove(a.uid());
}
}
/////////////////////////////////
// PwPaste Methods
PwPasteCommand::PwPasteCommand( KABCore *core, const KABC::Addressee::List &list )
: Command(), mCore( core ), mAddresseeList( list )
{
redo();
}
QString PwPasteCommand::name()
{
return i18n( "Paste" );
}
void PwPasteCommand::undo()
{
KABC::Addressee::List::Iterator it;
for ( it = mAddresseeList.begin(); it != mAddresseeList.end(); ++it )
mCore->addressBook()->removeAddressee( *it );
}
void PwPasteCommand::redo()
{
QStringList uids;
KABC::Addressee::List::Iterator it;
for ( it = mAddresseeList.begin(); it != mAddresseeList.end(); ++it ) {
/* we have to set a new uid for the contact, otherwise insertAddressee()
ignore it.
*/
(*it).setUid( KApplication::randomString( 10 ) );
uids.append( (*it).uid() );
mCore->addressBook()->insertAddressee( *it );
}
-
- QStringList::Iterator uidIt;
- for ( uidIt = uids.begin(); uidIt != uids.end(); ++uidIt )
- mCore->editContact( *uidIt );
+ if ( uids.count() < 4 ) {
+ QStringList::Iterator uidIt;
+ for ( uidIt = uids.begin(); uidIt != uids.end(); ++uidIt )
+ mCore->editContact( *uidIt );
+ }
}
/////////////////////////////////
// PwNew Methods
PwNewCommand::PwNewCommand( KABC::AddressBook *doc, const KABC::Addressee &a )
: Command(), mDocument( doc ), mA( a )
{
mDocument->insertAddressee(mA);
}
PwNewCommand::~PwNewCommand()
{
}
QString PwNewCommand::name()
{
return i18n( "New Contact" );
}
void PwNewCommand::undo()
{
mDocument->removeAddressee( mA );
}
void PwNewCommand::redo()
{
mDocument->insertAddressee( mA );
}
/////////////////////////////////
// PwEdit Methods
PwEditCommand::PwEditCommand(KABC::AddressBook *doc,
const KABC::Addressee &oldA,
const KABC::Addressee &newA )
: Command(), mDocument(doc), mOldA(oldA), mNewA(newA)
{
redo();
}
PwEditCommand::~PwEditCommand()
{
}
QString PwEditCommand::name()
{
return i18n( "Entry Edit" );
}
void PwEditCommand::undo()
{
mDocument->insertAddressee(mOldA);
}
void PwEditCommand::redo()
{
mDocument->insertAddressee(mNewA);
}
/////////////////////////////////
// PwCut Methods
PwCutCommand::PwCutCommand(KABC::AddressBook *doc, const QStringList &uidList)