-rw-r--r-- | bin/kdepim/WhatsNew.txt | 3 | ||||
-rw-r--r-- | bin/kdepim/kaddressbook/germantranslation.txt | 6 | ||||
-rw-r--r-- | kaddressbook/kabcore.cpp | 20 | ||||
-rw-r--r-- | kaddressbook/kabprefs.cpp | 1 | ||||
-rw-r--r-- | kaddressbook/kabprefs.h | 1 | ||||
-rw-r--r-- | kaddressbook/kcmconfigs/kabconfigwidget.cpp | 6 | ||||
-rw-r--r-- | kaddressbook/kcmconfigs/kabconfigwidget.h | 1 |
7 files changed, 36 insertions, 2 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt index 59ef12f..2e5cf50 100644 --- a/bin/kdepim/WhatsNew.txt +++ b/bin/kdepim/WhatsNew.txt | |||
@@ -5,6 +5,9 @@ Info about the changes in new versions of KDE-Pim/Pi | |||
5 | KO/Pi: | 5 | KO/Pi: |
6 | Fixed a problem displaying very long allday events in agenda view in single day mode. | 6 | Fixed a problem displaying very long allday events in agenda view in single day mode. |
7 | 7 | ||
8 | KA/Pi: | ||
9 | Added a config option to turn on asking before a contact is deleted. | ||
10 | |||
8 | ********** VERSION 2.2.0 ************ | 11 | ********** VERSION 2.2.0 ************ |
9 | 12 | ||
10 | New stable release! | 13 | New stable release! |
diff --git a/bin/kdepim/kaddressbook/germantranslation.txt b/bin/kdepim/kaddressbook/germantranslation.txt index e874b85..f369169 100644 --- a/bin/kdepim/kaddressbook/germantranslation.txt +++ b/bin/kdepim/kaddressbook/germantranslation.txt | |||
@@ -808,6 +808,12 @@ | |||
808 | { "Sending back file ...","Sende Datei zurück..." }, | 808 | { "Sending back file ...","Sende Datei zurück..." }, |
809 | { "Eeek, there I am ticklish!","Huch, da bin ich kitzlig!" }, | 809 | { "Eeek, there I am ticklish!","Huch, da bin ich kitzlig!" }, |
810 | { "Save using LOCAL storage","Speichere nutze LOCAL Pfad" }, | 810 | { "Save using LOCAL storage","Speichere nutze LOCAL Pfad" }, |
811 | { "...and %1 more\ncontact(s) selected","...und noch %1 Kontakte\n mehr ausgewählt" }, | ||
812 | { "Do you really\nwant to delete the\nsetected contact(s)?\n\n","Möchten Sie wirklich\ndie ausgewählten\nKontakte löschen?\n\n" }, | ||
813 | { "","" }, | ||
814 | { "","" }, | ||
815 | { "","" }, | ||
816 | { "","" }, | ||
811 | { "","" }, | 817 | { "","" }, |
812 | { "","" }, | 818 | { "","" }, |
813 | { "","" }, | 819 | { "","" }, |
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp index d5de9cb..b9830b1 100644 --- a/kaddressbook/kabcore.cpp +++ b/kaddressbook/kabcore.cpp | |||
@@ -1028,7 +1028,23 @@ void KABCore::deleteContacts() | |||
1028 | 1028 | ||
1029 | void KABCore::deleteContacts( const QStringList &uids ) | 1029 | void KABCore::deleteContacts( const QStringList &uids ) |
1030 | { | 1030 | { |
1031 | |||
1031 | if ( uids.count() > 0 ) { | 1032 | if ( uids.count() > 0 ) { |
1033 | |||
1034 | if ( KABPrefs::instance()->mAskForDelete ) { | ||
1035 | int count = uids.count(); | ||
1036 | if ( count > 5 ) count = 5; | ||
1037 | QString cNames; | ||
1038 | int i; | ||
1039 | for ( i = 0; i < count ; ++i ) { | ||
1040 | cNames += KGlobal::formatMessage( mAddressBook->findByUid( uids[i] ).realName() ,0) + "\n"; | ||
1041 | } | ||
1042 | if ( uids.count() > 5 ) | ||
1043 | cNames += i18n("...and %1 more\ncontact(s) selected").arg( uids.count() - 5 ); | ||
1044 | QString text = i18n( "Do you really\nwant to delete the\nsetected contact(s)?\n\n" ) + cNames ; | ||
1045 | if ( KMessageBox::questionYesNo( this, text ) != KMessageBox::Yes ) | ||
1046 | return; | ||
1047 | } | ||
1032 | PwDeleteCommand *command = new PwDeleteCommand( mAddressBook, uids ); | 1048 | PwDeleteCommand *command = new PwDeleteCommand( mAddressBook, uids ); |
1033 | UndoStack::instance()->push( command ); | 1049 | UndoStack::instance()->push( command ); |
1034 | RedoStack::instance()->clear(); | 1050 | RedoStack::instance()->clear(); |
@@ -1098,7 +1114,7 @@ void KABCore::setWhoAmI() | |||
1098 | } | 1114 | } |
1099 | 1115 | ||
1100 | QString text( i18n( "<qt>Do you really want to use <b>%1</b> as your new personal contact?</qt>" ) ); | 1116 | QString text( i18n( "<qt>Do you really want to use <b>%1</b> as your new personal contact?</qt>" ) ); |
1101 | if ( KMessageBox::questionYesNo( this, text.arg( addrList[ 0 ].assembledName() ) ) == KMessageBox::Yes ) | 1117 | if ( KMessageBox::questionYesNo( this, text.arg( addrList[ 0 ].realName() ) ) == KMessageBox::Yes ) |
1102 | static_cast<KABC::StdAddressBook*>( KABC::StdAddressBook::self() )->setWhoAmI( addrList[ 0 ] ); | 1118 | static_cast<KABC::StdAddressBook*>( KABC::StdAddressBook::self() )->setWhoAmI( addrList[ 0 ] ); |
1103 | } | 1119 | } |
1104 | void KABCore::editCategories() | 1120 | void KABCore::editCategories() |
@@ -2666,7 +2682,7 @@ void KABCore::requestForBirthdayList(const QString& sourceChannel, const QString | |||
2666 | anniversaryList.append(anni); //should be ISODate | 2682 | anniversaryList.append(anni); //should be ISODate |
2667 | realNameList.append((*it).realName()); | 2683 | realNameList.append((*it).realName()); |
2668 | preferredEmailList.append((*it).preferredEmail()); | 2684 | preferredEmailList.append((*it).preferredEmail()); |
2669 | assembledNameList.append((*it).assembledName()); | 2685 | assembledNameList.append((*it).realName()); |
2670 | uidList.append((*it).uid()); | 2686 | uidList.append((*it).uid()); |
2671 | 2687 | ||
2672 | //qDebug("found birthday in KA/Pi: %s,%s,%s,%s: %s, %s", (*it).realName().latin1(), (*it).preferredEmail().latin1(), (*it).assembledName().latin1(), (*it).uid().latin1(), formattedbday.latin1(), anni.latin1() ); | 2688 | //qDebug("found birthday in KA/Pi: %s,%s,%s,%s: %s, %s", (*it).realName().latin1(), (*it).preferredEmail().latin1(), (*it).assembledName().latin1(), (*it).uid().latin1(), formattedbday.latin1(), anni.latin1() ); |
diff --git a/kaddressbook/kabprefs.cpp b/kaddressbook/kabprefs.cpp index ea254b7..42d541b 100644 --- a/kaddressbook/kabprefs.cpp +++ b/kaddressbook/kabprefs.cpp | |||
@@ -56,6 +56,7 @@ KABPrefs::KABPrefs() | |||
56 | addItemBool( "AutomaticNameParsing", &mAutomaticNameParsing, true ); | 56 | addItemBool( "AutomaticNameParsing", &mAutomaticNameParsing, true ); |
57 | addItemInt( "CurrentIncSearchField", &mCurrentIncSearchField, 0 ); | 57 | addItemInt( "CurrentIncSearchField", &mCurrentIncSearchField, 0 ); |
58 | #ifdef KAB_EMBEDDED | 58 | #ifdef KAB_EMBEDDED |
59 | addItemBool("AskForDelete",&mAskForDelete,true); | ||
59 | addItemBool("AskForQuit",&mAskForQuit,true); | 60 | addItemBool("AskForQuit",&mAskForQuit,true); |
60 | addItemBool("ToolBarHor",&mToolBarHor, true ); | 61 | addItemBool("ToolBarHor",&mToolBarHor, true ); |
61 | addItemBool("ToolBarUp",&mToolBarUp, false ); | 62 | addItemBool("ToolBarUp",&mToolBarUp, false ); |
diff --git a/kaddressbook/kabprefs.h b/kaddressbook/kabprefs.h index 2bb173d..ddbc0c0 100644 --- a/kaddressbook/kabprefs.h +++ b/kaddressbook/kabprefs.h | |||
@@ -72,6 +72,7 @@ class KABPrefs : public KPimPrefs | |||
72 | bool mSearchWithReturn; | 72 | bool mSearchWithReturn; |
73 | bool mAutoSearchWithWildcard; | 73 | bool mAutoSearchWithWildcard; |
74 | bool mHideSearchOnSwitch; | 74 | bool mHideSearchOnSwitch; |
75 | bool mAskForDelete; | ||
75 | QValueList<int> mExtensionsSplitter; | 76 | QValueList<int> mExtensionsSplitter; |
76 | QValueList<int> mDetailsSplitter; | 77 | QValueList<int> mDetailsSplitter; |
77 | 78 | ||
diff --git a/kaddressbook/kcmconfigs/kabconfigwidget.cpp b/kaddressbook/kcmconfigs/kabconfigwidget.cpp index 1b4652a..9e4db74 100644 --- a/kaddressbook/kcmconfigs/kabconfigwidget.cpp +++ b/kaddressbook/kcmconfigs/kabconfigwidget.cpp | |||
@@ -142,6 +142,9 @@ KABConfigWidget::KABConfigWidget( KABPrefs* prefs, QWidget *parent, const char * | |||
142 | mMultipleViewsAtOnce = new QCheckBox( i18n( "Display List and Details at once (restart)" ), vBox, "mdisplay" ); | 142 | mMultipleViewsAtOnce = new QCheckBox( i18n( "Display List and Details at once (restart)" ), vBox, "mdisplay" ); |
143 | boxLayout->addWidget( mMultipleViewsAtOnce ); | 143 | boxLayout->addWidget( mMultipleViewsAtOnce ); |
144 | 144 | ||
145 | mAskForDelete = new QCheckBox( i18n( "Ask before delete contact" ), vBox, "mdel" ); | ||
146 | boxLayout->addWidget( mAskForDelete ); | ||
147 | |||
145 | mAskForQuit = new QCheckBox( i18n( "Show exit confirmation" ), vBox, "mquit" ); | 148 | mAskForQuit = new QCheckBox( i18n( "Show exit confirmation" ), vBox, "mquit" ); |
146 | boxLayout->addWidget( mAskForQuit ); | 149 | boxLayout->addWidget( mAskForQuit ); |
147 | 150 | ||
@@ -185,6 +188,7 @@ KABConfigWidget::KABConfigWidget( KABPrefs* prefs, QWidget *parent, const char * | |||
185 | connect( mHideSearchOnSwitchBox, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); | 188 | connect( mHideSearchOnSwitchBox, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); |
186 | connect( mMultipleViewsAtOnce, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); | 189 | connect( mMultipleViewsAtOnce, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); |
187 | connect( mAskForQuit, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); | 190 | connect( mAskForQuit, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); |
191 | connect( mAskForDelete, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); | ||
188 | connect( mExtensionView, SIGNAL( selectionChanged( QListViewItem* ) ), | 192 | connect( mExtensionView, SIGNAL( selectionChanged( QListViewItem* ) ), |
189 | SLOT( selectionChanged( QListViewItem* ) ) ); | 193 | SLOT( selectionChanged( QListViewItem* ) ) ); |
190 | connect( mExtensionView, SIGNAL( clicked( QListViewItem* ) ), | 194 | connect( mExtensionView, SIGNAL( clicked( QListViewItem* ) ), |
@@ -215,6 +219,7 @@ void KABConfigWidget::usrReadConfig() | |||
215 | mHideSearchOnSwitchBox->setChecked( prefs->mHideSearchOnSwitch ); | 219 | mHideSearchOnSwitchBox->setChecked( prefs->mHideSearchOnSwitch ); |
216 | mMultipleViewsAtOnce->setChecked( prefs->mMultipleViewsAtOnce ); | 220 | mMultipleViewsAtOnce->setChecked( prefs->mMultipleViewsAtOnce ); |
217 | mAskForQuit->setChecked( prefs->mAskForQuit ); | 221 | mAskForQuit->setChecked( prefs->mAskForQuit ); |
222 | mAskForDelete->setChecked( prefs->mAskForDelete ); | ||
218 | 223 | ||
219 | mAddresseeWidget->restoreSettings(); | 224 | mAddresseeWidget->restoreSettings(); |
220 | 225 | ||
@@ -236,6 +241,7 @@ void KABConfigWidget::usrWriteConfig() | |||
236 | 241 | ||
237 | prefs->mMultipleViewsAtOnce = mMultipleViewsAtOnce->isChecked(); | 242 | prefs->mMultipleViewsAtOnce = mMultipleViewsAtOnce->isChecked(); |
238 | prefs->mAskForQuit = mAskForQuit->isChecked(); | 243 | prefs->mAskForQuit = mAskForQuit->isChecked(); |
244 | prefs->mAskForDelete = mAskForDelete->isChecked(); | ||
239 | 245 | ||
240 | mAddresseeWidget->saveSettings(); | 246 | mAddresseeWidget->saveSettings(); |
241 | 247 | ||
diff --git a/kaddressbook/kcmconfigs/kabconfigwidget.h b/kaddressbook/kcmconfigs/kabconfigwidget.h index a172e97..f2a6b1b 100644 --- a/kaddressbook/kcmconfigs/kabconfigwidget.h +++ b/kaddressbook/kcmconfigs/kabconfigwidget.h | |||
@@ -69,6 +69,7 @@ class KABConfigWidget : public KPrefsWidget | |||
69 | QCheckBox *mMultipleViewsAtOnce; | 69 | QCheckBox *mMultipleViewsAtOnce; |
70 | QCheckBox *mAskForQuit; | 70 | QCheckBox *mAskForQuit; |
71 | QCheckBox *mMenuBarBox; | 71 | QCheckBox *mMenuBarBox; |
72 | QCheckBox *mAskForDelete; | ||
72 | QPushButton *mConfigureButton; | 73 | QPushButton *mConfigureButton; |
73 | 74 | ||
74 | AddresseeWidget *mAddresseeWidget; | 75 | AddresseeWidget *mAddresseeWidget; |