-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 | |||
@@ -1,24 +1,27 @@ | |||
1 | Info about the changes in new versions of KDE-Pim/Pi | 1 | Info about the changes in new versions of KDE-Pim/Pi |
2 | 2 | ||
3 | ********** VERSION 2.2.1 ************ | 3 | ********** VERSION 2.2.1 ************ |
4 | 4 | ||
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! |
11 | Fixed some minor usability problems. | 14 | Fixed some minor usability problems. |
12 | Added writing of next alarm to a file for usage on pdaXrom. | 15 | Added writing of next alarm to a file for usage on pdaXrom. |
13 | 16 | ||
14 | 17 | ||
15 | ************************************* | 18 | ************************************* |
16 | 19 | ||
17 | You can find the complete changelog | 20 | You can find the complete changelog |
18 | from version 1.7.7 to 2.2.0 | 21 | from version 1.7.7 to 2.2.0 |
19 | in the source package or on | 22 | in the source package or on |
20 | 23 | ||
21 | http://www.pi-sync.net/html/changelog.html | 24 | http://www.pi-sync.net/html/changelog.html |
22 | 25 | ||
23 | 26 | ||
24 | 27 | ||
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 | |||
@@ -787,29 +787,35 @@ | |||
787 | { "Details","Details" }, | 787 | { "Details","Details" }, |
788 | { "Search:","Suche:" }, | 788 | { "Search:","Suche:" }, |
789 | { "Automatically sync with KDE-Desktop\nwhen receiving sync request","Synce automatisch mit KDE-Desktop\nwenn eine Sync-Anforderung kommt" }, | 789 | { "Automatically sync with KDE-Desktop\nwhen receiving sync request","Synce automatisch mit KDE-Desktop\nwenn eine Sync-Anforderung kommt" }, |
790 | { "Pi-Sync Port Error","Pi-Sync Port Fehler" }, | 790 | { "Pi-Sync Port Error","Pi-Sync Port Fehler" }, |
791 | { "<b>Enabling Pi-Sync failed!</b> Failed to bind or listen to the port %1! Is another instance already listening to that port?","<b>Anschalten von Pi-Sync fehlgeschlagen!</b> Fehler beim Ansprechen des Ports %1! Ist bereits eine andere Anwendung dabei diesen Port zu nutzen?" }, | 791 | { "<b>Enabling Pi-Sync failed!</b> Failed to bind or listen to the port %1! Is another instance already listening to that port?","<b>Anschalten von Pi-Sync fehlgeschlagen!</b> Fehler beim Ansprechen des Ports %1! Ist bereits eine andere Anwendung dabei diesen Port zu nutzen?" }, |
792 | { "No valid port number:\n%1","Keine gültige Port Nummer:\n%1" }, | 792 | { "No valid port number:\n%1","Keine gültige Port Nummer:\n%1" }, |
793 | { "Port number (Default: %1)\nValid range from 1 to 65535","Port Nummer (Standard: %1)\nGültiger Bereich von 1 bis 65535" }, | 793 | { "Port number (Default: %1)\nValid range from 1 to 65535","Port Nummer (Standard: %1)\nGültiger Bereich von 1 bis 65535" }, |
794 | { "Pi-Sync Error","Pi-Sync Fehler" }, | 794 | { "Pi-Sync Error","Pi-Sync Fehler" }, |
795 | { "Got send file request\nwith invalid password","Erhielt "sende Datei" Anfrage\nmit ungültigem Passwort" }, | 795 | { "Got send file request\nwith invalid password","Erhielt "sende Datei" Anfrage\nmit ungültigem Passwort" }, |
796 | { "Got receive file request\nwith invalid password","Erhielt "empfange Datei" Anfrage\nmit ungültigem Passwort" }, | 796 | { "Got receive file request\nwith invalid password","Erhielt "empfange Datei" Anfrage\nmit ungültigem Passwort" }, |
797 | { "Wrong password: Receiving remote file failed.","Falsches Passwort: Empfangen von entfernter Datei fehlgeschlagen." }, | 797 | { "Wrong password: Receiving remote file failed.","Falsches Passwort: Empfangen von entfernter Datei fehlgeschlagen." }, |
798 | { "Please close error dialog on remote.","Bitte schließe Fehler-Dialog am entfernten Rechner" }, | 798 | { "Please close error dialog on remote.","Bitte schließe Fehler-Dialog am entfernten Rechner" }, |
799 | { "Unknown error on remote.","Unbekannter Fehler am entfernten Rechner" }, | 799 | { "Unknown error on remote.","Unbekannter Fehler am entfernten Rechner" }, |
800 | { "Pi-Sync: Connected!","Pi-Sync: Verbunden!" }, | 800 | { "Pi-Sync: Connected!","Pi-Sync: Verbunden!" }, |
801 | { "Receiving file from remote...","Empfange entfernte Datei..." }, | 801 | { "Receiving file from remote...","Empfange entfernte Datei..." }, |
802 | { "Sending back synced file...","Sende synchronisierte Datei zurück..." }, | 802 | { "Sending back synced file...","Sende synchronisierte Datei zurück..." }, |
803 | { "Do you want to\nclear all sync info\nof all profiles?","Möchten Sie wirklich\ndie Sync-Info\nfür alle Profile\nlöschen?" }, | 803 | { "Do you want to\nclear all sync info\nof all profiles?","Möchten Sie wirklich\ndie Sync-Info\nfür alle Profile\nlöschen?" }, |
804 | { "Do you want to\nclear the sync\ninfo of profile\n%1?\n","Möchten Sie wirklich\ndie Sync-Info für Profil\n%1?\nlöschen" }, | 804 | { "Do you want to\nclear the sync\ninfo of profile\n%1?\n","Möchten Sie wirklich\ndie Sync-Info für Profil\n%1?\nlöschen" }, |
805 | { "Sorry, no valid port.Syncing cancelled.","Sorry, kein gültiger Port. Syncing abgebrochen." }, | 805 | { "Sorry, no valid port.Syncing cancelled.","Sorry, kein gültiger Port. Syncing abgebrochen." }, |
806 | { "Remote port number:\n(May be: 1 - 65535)","Ferne Port Nummer:\n(Darf sein: 1 - 65535)" }, | 806 | { "Remote port number:\n(May be: 1 - 65535)","Ferne Port Nummer:\n(Darf sein: 1 - 65535)" }, |
807 | { "Writing back file ...","Schreibe Datei zurück..." }, | 807 | { "Writing back file ...","Schreibe Datei zurück..." }, |
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 | { "","" }, |
814 | { "","" }, | 820 | { "","" }, |
815 | { "","" }, \ No newline at end of file | 821 | { "","" }, \ No newline at end of file |
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp index d5de9cb..b9830b1 100644 --- a/kaddressbook/kabcore.cpp +++ b/kaddressbook/kabcore.cpp | |||
@@ -1007,49 +1007,65 @@ void KABCore::beamDone( Ir *ir ) | |||
1007 | 1007 | ||
1008 | 1008 | ||
1009 | void KABCore::browse( const QString& url ) | 1009 | void KABCore::browse( const QString& url ) |
1010 | { | 1010 | { |
1011 | #ifndef KAB_EMBEDDED | 1011 | #ifndef KAB_EMBEDDED |
1012 | kapp->invokeBrowser( url ); | 1012 | kapp->invokeBrowser( url ); |
1013 | #else //KAB_EMBEDDED | 1013 | #else //KAB_EMBEDDED |
1014 | qDebug("KABCore::browse must be fixed"); | 1014 | qDebug("KABCore::browse must be fixed"); |
1015 | #endif //KAB_EMBEDDED | 1015 | #endif //KAB_EMBEDDED |
1016 | } | 1016 | } |
1017 | 1017 | ||
1018 | void KABCore::selectAllContacts() | 1018 | void KABCore::selectAllContacts() |
1019 | { | 1019 | { |
1020 | mViewManager->setSelected( QString::null, true ); | 1020 | mViewManager->setSelected( QString::null, true ); |
1021 | } | 1021 | } |
1022 | 1022 | ||
1023 | void KABCore::deleteContacts() | 1023 | void KABCore::deleteContacts() |
1024 | { | 1024 | { |
1025 | QStringList uidList = mViewManager->selectedUids(); | 1025 | QStringList uidList = mViewManager->selectedUids(); |
1026 | deleteContacts( uidList ); | 1026 | deleteContacts( uidList ); |
1027 | } | 1027 | } |
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(); |
1035 | 1051 | ||
1036 | // now if we deleted anything, refresh | 1052 | // now if we deleted anything, refresh |
1037 | setContactSelected( QString::null ); | 1053 | setContactSelected( QString::null ); |
1038 | setModified( true ); | 1054 | setModified( true ); |
1039 | } | 1055 | } |
1040 | } | 1056 | } |
1041 | 1057 | ||
1042 | void KABCore::copyContacts() | 1058 | void KABCore::copyContacts() |
1043 | { | 1059 | { |
1044 | KABC::Addressee::List addrList = mViewManager->selectedAddressees(); | 1060 | KABC::Addressee::List addrList = mViewManager->selectedAddressees(); |
1045 | 1061 | ||
1046 | QString clipText = AddresseeUtil::addresseesToClipboard( addrList ); | 1062 | QString clipText = AddresseeUtil::addresseesToClipboard( addrList ); |
1047 | 1063 | ||
1048 | kdDebug(5720) << "KABCore::copyContacts: " << clipText << endl; | 1064 | kdDebug(5720) << "KABCore::copyContacts: " << clipText << endl; |
1049 | 1065 | ||
1050 | QClipboard *cb = QApplication::clipboard(); | 1066 | QClipboard *cb = QApplication::clipboard(); |
1051 | cb->setText( clipText ); | 1067 | cb->setText( clipText ); |
1052 | } | 1068 | } |
1053 | 1069 | ||
1054 | void KABCore::cutContacts() | 1070 | void KABCore::cutContacts() |
1055 | { | 1071 | { |
@@ -1077,49 +1093,49 @@ void KABCore::pasteContacts() | |||
1077 | void KABCore::pasteContacts( KABC::Addressee::List &list ) | 1093 | void KABCore::pasteContacts( KABC::Addressee::List &list ) |
1078 | { | 1094 | { |
1079 | KABC::Resource *resource = requestResource( this ); | 1095 | KABC::Resource *resource = requestResource( this ); |
1080 | KABC::Addressee::List::Iterator it; | 1096 | KABC::Addressee::List::Iterator it; |
1081 | for ( it = list.begin(); it != list.end(); ++it ) | 1097 | for ( it = list.begin(); it != list.end(); ++it ) |
1082 | (*it).setResource( resource ); | 1098 | (*it).setResource( resource ); |
1083 | 1099 | ||
1084 | PwPasteCommand *command = new PwPasteCommand( this, list ); | 1100 | PwPasteCommand *command = new PwPasteCommand( this, list ); |
1085 | UndoStack::instance()->push( command ); | 1101 | UndoStack::instance()->push( command ); |
1086 | RedoStack::instance()->clear(); | 1102 | RedoStack::instance()->clear(); |
1087 | 1103 | ||
1088 | setModified( true ); | 1104 | setModified( true ); |
1089 | } | 1105 | } |
1090 | 1106 | ||
1091 | void KABCore::setWhoAmI() | 1107 | void KABCore::setWhoAmI() |
1092 | { | 1108 | { |
1093 | KABC::Addressee::List addrList = mViewManager->selectedAddressees(); | 1109 | KABC::Addressee::List addrList = mViewManager->selectedAddressees(); |
1094 | 1110 | ||
1095 | if ( addrList.count() > 1 ) { | 1111 | if ( addrList.count() > 1 ) { |
1096 | KMessageBox::sorry( this, i18n( "Please select only one contact." ) ); | 1112 | KMessageBox::sorry( this, i18n( "Please select only one contact." ) ); |
1097 | return; | 1113 | return; |
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() |
1105 | { | 1121 | { |
1106 | KPIM::CategoryEditDialog dlg ( KABPrefs::instance(), this, "", true ); | 1122 | KPIM::CategoryEditDialog dlg ( KABPrefs::instance(), this, "", true ); |
1107 | dlg.exec(); | 1123 | dlg.exec(); |
1108 | } | 1124 | } |
1109 | void KABCore::setCategories() | 1125 | void KABCore::setCategories() |
1110 | { | 1126 | { |
1111 | 1127 | ||
1112 | QStringList uids; | 1128 | QStringList uids; |
1113 | XXPortSelectDialog dlgx( this, false, this ); | 1129 | XXPortSelectDialog dlgx( this, false, this ); |
1114 | if ( dlgx.exec() ) | 1130 | if ( dlgx.exec() ) |
1115 | uids = dlgx.uids(); | 1131 | uids = dlgx.uids(); |
1116 | else | 1132 | else |
1117 | return; | 1133 | return; |
1118 | if ( uids.isEmpty() ) | 1134 | if ( uids.isEmpty() ) |
1119 | return; | 1135 | return; |
1120 | // qDebug("count %d ", uids.count()); | 1136 | // qDebug("count %d ", uids.count()); |
1121 | 1137 | ||
1122 | 1138 | ||
1123 | KPIM::CategorySelectDialog dlg( KABPrefs::instance(), this, "", true ); | 1139 | KPIM::CategorySelectDialog dlg( KABPrefs::instance(), this, "", true ); |
1124 | if ( !dlg.exec() ) { | 1140 | if ( !dlg.exec() ) { |
1125 | message( i18n("Setting categories cancelled") ); | 1141 | message( i18n("Setting categories cancelled") ); |
@@ -2645,49 +2661,49 @@ void KABCore::requestForBirthdayList(const QString& sourceChannel, const QString | |||
2645 | QString formattedbday; | 2661 | QString formattedbday; |
2646 | 2662 | ||
2647 | for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) | 2663 | for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) |
2648 | { | 2664 | { |
2649 | if ( ! bar.isVisible() ) | 2665 | if ( ! bar.isVisible() ) |
2650 | return; | 2666 | return; |
2651 | bar.setProgress( count++ ); | 2667 | bar.setProgress( count++ ); |
2652 | qApp->processEvents(); | 2668 | qApp->processEvents(); |
2653 | bday = (*it).birthday().date(); | 2669 | bday = (*it).birthday().date(); |
2654 | anni = (*it).custom("KADDRESSBOOK", "X-Anniversary" ); | 2670 | anni = (*it).custom("KADDRESSBOOK", "X-Anniversary" ); |
2655 | 2671 | ||
2656 | if ( bday.isValid() || !anni.isEmpty()) | 2672 | if ( bday.isValid() || !anni.isEmpty()) |
2657 | { | 2673 | { |
2658 | if (bday.isValid()) | 2674 | if (bday.isValid()) |
2659 | formattedbday = KGlobal::locale()->formatDate(bday, true, KLocale::ISODate); | 2675 | formattedbday = KGlobal::locale()->formatDate(bday, true, KLocale::ISODate); |
2660 | else | 2676 | else |
2661 | formattedbday = "NOTVALID"; | 2677 | formattedbday = "NOTVALID"; |
2662 | if (anni.isEmpty()) | 2678 | if (anni.isEmpty()) |
2663 | anni = "INVALID"; | 2679 | anni = "INVALID"; |
2664 | 2680 | ||
2665 | birthdayList.append(formattedbday); | 2681 | birthdayList.append(formattedbday); |
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() ); |
2673 | } | 2689 | } |
2674 | } | 2690 | } |
2675 | 2691 | ||
2676 | bool res = ExternalAppHandler::instance()->returnBirthdayListFromKAPI(sourceChannel, uid, birthdayList, anniversaryList, realNameList, preferredEmailList, assembledNameList, uidList); | 2692 | bool res = ExternalAppHandler::instance()->returnBirthdayListFromKAPI(sourceChannel, uid, birthdayList, anniversaryList, realNameList, preferredEmailList, assembledNameList, uidList); |
2677 | 2693 | ||
2678 | } | 2694 | } |
2679 | 2695 | ||
2680 | /* this method will be called through the QCop interface from other apps to show details of a contact. | 2696 | /* this method will be called through the QCop interface from other apps to show details of a contact. |
2681 | */ | 2697 | */ |
2682 | void KABCore::requestForDetails(const QString& sourceChannel, const QString& sessionuid, const QString& name, const QString& email, const QString& uid) | 2698 | void KABCore::requestForDetails(const QString& sourceChannel, const QString& sessionuid, const QString& name, const QString& email, const QString& uid) |
2683 | { | 2699 | { |
2684 | //qDebug("KABCore::requestForDetails %s %s %s %s %s", sourceChannel.latin1(), sessionuid.latin1(), name.latin1(), email.latin1(), uid.latin1()); | 2700 | //qDebug("KABCore::requestForDetails %s %s %s %s %s", sourceChannel.latin1(), sessionuid.latin1(), name.latin1(), email.latin1(), uid.latin1()); |
2685 | 2701 | ||
2686 | QString foundUid = QString::null; | 2702 | QString foundUid = QString::null; |
2687 | if ( ! uid.isEmpty() ) { | 2703 | if ( ! uid.isEmpty() ) { |
2688 | Addressee adrr = mAddressBook->findByUid( uid ); | 2704 | Addressee adrr = mAddressBook->findByUid( uid ); |
2689 | if ( !adrr.isEmpty() ) { | 2705 | if ( !adrr.isEmpty() ) { |
2690 | foundUid = uid; | 2706 | foundUid = uid; |
2691 | } | 2707 | } |
2692 | if ( email == "sendbacklist" ) { | 2708 | if ( email == "sendbacklist" ) { |
2693 | //qDebug("ssssssssssssssssssssssend "); | 2709 | //qDebug("ssssssssssssssssssssssend "); |
diff --git a/kaddressbook/kabprefs.cpp b/kaddressbook/kabprefs.cpp index ea254b7..42d541b 100644 --- a/kaddressbook/kabprefs.cpp +++ b/kaddressbook/kabprefs.cpp | |||
@@ -35,48 +35,49 @@ | |||
35 | #include <klocale.h> | 35 | #include <klocale.h> |
36 | #include <kstaticdeleter.h> | 36 | #include <kstaticdeleter.h> |
37 | #include <kglobalsettings.h> | 37 | #include <kglobalsettings.h> |
38 | //US#include <kdebug.h> // defines kdDebug() | 38 | //US#include <kdebug.h> // defines kdDebug() |
39 | 39 | ||
40 | #include "kabprefs.h" | 40 | #include "kabprefs.h" |
41 | 41 | ||
42 | #ifdef DESKTOP_VERSION | 42 | #ifdef DESKTOP_VERSION |
43 | #include <qapplication.h> | 43 | #include <qapplication.h> |
44 | #endif | 44 | #endif |
45 | 45 | ||
46 | KABPrefs *KABPrefs::sInstance = 0; | 46 | KABPrefs *KABPrefs::sInstance = 0; |
47 | static KStaticDeleter<KABPrefs> staticDeleterAB; | 47 | static KStaticDeleter<KABPrefs> staticDeleterAB; |
48 | 48 | ||
49 | KABPrefs::KABPrefs() | 49 | KABPrefs::KABPrefs() |
50 | : KPimPrefs("kaddressbookrc") | 50 | : KPimPrefs("kaddressbookrc") |
51 | { | 51 | { |
52 | KPrefs::setCurrentGroup( "Views" ); | 52 | KPrefs::setCurrentGroup( "Views" ); |
53 | addItemBool( "HonorSingleClick", &mHonorSingleClick, false ); | 53 | addItemBool( "HonorSingleClick", &mHonorSingleClick, false ); |
54 | 54 | ||
55 | KPrefs::setCurrentGroup( "General" ); | 55 | KPrefs::setCurrentGroup( "General" ); |
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 ); |
62 | addItemBool("SearchWithReturn",&mSearchWithReturn, false ); | 63 | addItemBool("SearchWithReturn",&mSearchWithReturn, false ); |
63 | addItemBool("AutoSearchWithWildcard",&mAutoSearchWithWildcard, false ); | 64 | addItemBool("AutoSearchWithWildcard",&mAutoSearchWithWildcard, false ); |
64 | addItemBool("HideSearchOnSwitch",&mHideSearchOnSwitch, false ); | 65 | addItemBool("HideSearchOnSwitch",&mHideSearchOnSwitch, false ); |
65 | addItemFont("DetailsFont",&mDetailsFont,KGlobalSettings::generalFont()); | 66 | addItemFont("DetailsFont",&mDetailsFont,KGlobalSettings::generalFont()); |
66 | 67 | ||
67 | 68 | ||
68 | #endif //KAB_EMBEDDED | 69 | #endif //KAB_EMBEDDED |
69 | 70 | ||
70 | KPrefs::setCurrentGroup( "MainWindow" ); | 71 | KPrefs::setCurrentGroup( "MainWindow" ); |
71 | bool m_visible = false; | 72 | bool m_visible = false; |
72 | #ifdef DESKTOP_VERSION | 73 | #ifdef DESKTOP_VERSION |
73 | m_visible = true; | 74 | m_visible = true; |
74 | #endif | 75 | #endif |
75 | addItemBool( "FullMenuBarVisible", &mFullMenuBarVisible, m_visible ); | 76 | addItemBool( "FullMenuBarVisible", &mFullMenuBarVisible, m_visible ); |
76 | addItemBool( "JumpButtonBarVisible", &mJumpButtonBarVisible, false ); | 77 | addItemBool( "JumpButtonBarVisible", &mJumpButtonBarVisible, false ); |
77 | addItemBool( "DetailsPageVisible", &mDetailsPageVisible, true ); | 78 | addItemBool( "DetailsPageVisible", &mDetailsPageVisible, true ); |
78 | addItemIntList( "ExtensionsSplitter", &mExtensionsSplitter ); | 79 | addItemIntList( "ExtensionsSplitter", &mExtensionsSplitter ); |
79 | addItemIntList( "DetailsSplitter", &mDetailsSplitter ); | 80 | addItemIntList( "DetailsSplitter", &mDetailsSplitter ); |
80 | addItemBool( "MultipleViewsAtOnce", &mMultipleViewsAtOnce, true ); | 81 | addItemBool( "MultipleViewsAtOnce", &mMultipleViewsAtOnce, true ); |
81 | 82 | ||
82 | 83 | ||
diff --git a/kaddressbook/kabprefs.h b/kaddressbook/kabprefs.h index 2bb173d..ddbc0c0 100644 --- a/kaddressbook/kabprefs.h +++ b/kaddressbook/kabprefs.h | |||
@@ -51,48 +51,49 @@ class KABPrefs : public KPimPrefs | |||
51 | bool mToolBarUp; | 51 | bool mToolBarUp; |
52 | bool mAskForQuit; | 52 | bool mAskForQuit; |
53 | 53 | ||
54 | 54 | ||
55 | /** Set preferences to default values */ | 55 | /** Set preferences to default values */ |
56 | // void usrSetDefaults(); | 56 | // void usrSetDefaults(); |
57 | 57 | ||
58 | /** Read preferences from config file */ | 58 | /** Read preferences from config file */ |
59 | // void usrReadConfig(); | 59 | // void usrReadConfig(); |
60 | 60 | ||
61 | /** Write preferences to config file */ | 61 | /** Write preferences to config file */ |
62 | // void usrWriteConfig(); | 62 | // void usrWriteConfig(); |
63 | #endif //KAB_EMBEDDED | 63 | #endif //KAB_EMBEDDED |
64 | void usrReadConfig(); | 64 | void usrReadConfig(); |
65 | 65 | ||
66 | 66 | ||
67 | // GUI | 67 | // GUI |
68 | bool mFullMenuBarVisible; | 68 | bool mFullMenuBarVisible; |
69 | bool mJumpButtonBarVisible; | 69 | bool mJumpButtonBarVisible; |
70 | bool mDetailsPageVisible; | 70 | bool mDetailsPageVisible; |
71 | bool mMultipleViewsAtOnce; | 71 | bool mMultipleViewsAtOnce; |
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 | ||
78 | // Extensions stuff | 79 | // Extensions stuff |
79 | int mCurrentExtension; | 80 | int mCurrentExtension; |
80 | QStringList mActiveExtensions; | 81 | QStringList mActiveExtensions; |
81 | 82 | ||
82 | // Views stuff | 83 | // Views stuff |
83 | QString mCurrentView; | 84 | QString mCurrentView; |
84 | QStringList mViewNames; | 85 | QStringList mViewNames; |
85 | 86 | ||
86 | // Filter | 87 | // Filter |
87 | int mCurrentFilter; | 88 | int mCurrentFilter; |
88 | 89 | ||
89 | void setCategoryDefaults(); | 90 | void setCategoryDefaults(); |
90 | QFont mDetailsFont; | 91 | QFont mDetailsFont; |
91 | 92 | ||
92 | private: | 93 | private: |
93 | KABPrefs(); | 94 | KABPrefs(); |
94 | 95 | ||
95 | static KABPrefs *sInstance; | 96 | static KABPrefs *sInstance; |
96 | }; | 97 | }; |
97 | 98 | ||
98 | #endif | 99 | #endif |
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 | |||
@@ -121,142 +121,148 @@ KABConfigWidget::KABConfigWidget( KABPrefs* prefs, QWidget *parent, const char * | |||
121 | boxLayout->setAlignment( Qt::AlignTop ); | 121 | boxLayout->setAlignment( Qt::AlignTop ); |
122 | boxLayout->setMargin(KDialog::marginHintSmall() ); | 122 | boxLayout->setMargin(KDialog::marginHintSmall() ); |
123 | boxLayout->setSpacing( KDialog::spacingHintSmall() ); | 123 | boxLayout->setSpacing( KDialog::spacingHintSmall() ); |
124 | mMenuBarBox = new QCheckBox( i18n( "Full Menu bar (restart)" ), vBox, "mremenuturn" ); | 124 | mMenuBarBox = new QCheckBox( i18n( "Full Menu bar (restart)" ), vBox, "mremenuturn" ); |
125 | boxLayout->addWidget( mMenuBarBox ); | 125 | boxLayout->addWidget( mMenuBarBox ); |
126 | mSearchReturnBox = new QCheckBox( i18n( "Search only after <return> key pressed" ), vBox, "mreturn" ); | 126 | mSearchReturnBox = new QCheckBox( i18n( "Search only after <return> key pressed" ), vBox, "mreturn" ); |
127 | boxLayout->addWidget( mSearchReturnBox ); | 127 | boxLayout->addWidget( mSearchReturnBox ); |
128 | mAutoSearchWithWildcardBox = new QCheckBox( i18n( "Search with '*' prefix (wildcard)" ), vBox, "mwildcard" ); | 128 | mAutoSearchWithWildcardBox = new QCheckBox( i18n( "Search with '*' prefix (wildcard)" ), vBox, "mwildcard" ); |
129 | boxLayout->addWidget( mAutoSearchWithWildcardBox); | 129 | boxLayout->addWidget( mAutoSearchWithWildcardBox); |
130 | mHideSearchOnSwitchBox = new QCheckBox( i18n( "Shrink searchfield in portrait view" ), vBox, "mswitch" ); | 130 | mHideSearchOnSwitchBox = new QCheckBox( i18n( "Shrink searchfield in portrait view" ), vBox, "mswitch" ); |
131 | boxLayout->addWidget( mHideSearchOnSwitchBox ); | 131 | boxLayout->addWidget( mHideSearchOnSwitchBox ); |
132 | 132 | ||
133 | #ifdef DESKTOP_VERSION | 133 | #ifdef DESKTOP_VERSION |
134 | mHideSearchOnSwitchBox->hide(); | 134 | mHideSearchOnSwitchBox->hide(); |
135 | #endif | 135 | #endif |
136 | mViewsSingleClickBox = new QCheckBox( i18n( "Show edit dialog on single click" ), vBox, "msingle" ); | 136 | mViewsSingleClickBox = new QCheckBox( i18n( "Show edit dialog on single click" ), vBox, "msingle" ); |
137 | boxLayout->addWidget( mViewsSingleClickBox ); | 137 | boxLayout->addWidget( mViewsSingleClickBox ); |
138 | 138 | ||
139 | mNameParsing = new QCheckBox( i18n( "Automatic name parsing for new contacts" ), vBox, "mparse" ); | 139 | mNameParsing = new QCheckBox( i18n( "Automatic name parsing for new contacts" ), vBox, "mparse" ); |
140 | boxLayout->addWidget( mNameParsing ); | 140 | boxLayout->addWidget( mNameParsing ); |
141 | 141 | ||
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 | ||
148 | layout->addWidget( vBox ); | 151 | layout->addWidget( vBox ); |
149 | 152 | ||
150 | tabWidget->addTab( generalPage, i18n( "General" ) ); | 153 | tabWidget->addTab( generalPage, i18n( "General" ) ); |
151 | 154 | ||
152 | // Extension page | 155 | // Extension page |
153 | QWidget *extensionPage = new QWidget( this ); | 156 | QWidget *extensionPage = new QWidget( this ); |
154 | QVBoxLayout *extensionLayout = new QVBoxLayout( extensionPage, KDialog::marginHintSmall(), | 157 | QVBoxLayout *extensionLayout = new QVBoxLayout( extensionPage, KDialog::marginHintSmall(), |
155 | KDialog::spacingHintSmall() ); | 158 | KDialog::spacingHintSmall() ); |
156 | 159 | ||
157 | //extensions groupbox | 160 | //extensions groupbox |
158 | 161 | ||
159 | QGroupBox* groupBox = new QGroupBox( 0, Qt::Vertical, i18n( "Extensions (restart)" ), extensionPage ); | 162 | QGroupBox* groupBox = new QGroupBox( 0, Qt::Vertical, i18n( "Extensions (restart)" ), extensionPage ); |
160 | boxLayout = new QVBoxLayout( groupBox->layout() ); | 163 | boxLayout = new QVBoxLayout( groupBox->layout() ); |
161 | boxLayout->setAlignment( Qt::AlignTop ); | 164 | boxLayout->setAlignment( Qt::AlignTop ); |
162 | boxLayout->setMargin(KDialog::marginHintSmall()); | 165 | boxLayout->setMargin(KDialog::marginHintSmall()); |
163 | boxLayout->setSpacing(KDialog::spacingHintSmall()); | 166 | boxLayout->setSpacing(KDialog::spacingHintSmall()); |
164 | groupBox->layout()->setMargin(1) ; | 167 | groupBox->layout()->setMargin(1) ; |
165 | groupBox->layout()->setSpacing(0); | 168 | groupBox->layout()->setSpacing(0); |
166 | mExtensionView = new KListView( groupBox ); | 169 | mExtensionView = new KListView( groupBox ); |
167 | mExtensionView->setAllColumnsShowFocus( true ); | 170 | mExtensionView->setAllColumnsShowFocus( true ); |
168 | mExtensionView->addColumn( i18n( "Name" ) ); | 171 | mExtensionView->addColumn( i18n( "Name" ) ); |
169 | mExtensionView->addColumn( i18n( "Description" ) ); | 172 | mExtensionView->addColumn( i18n( "Description" ) ); |
170 | //mExtensionView->setMaximumHeight(80); | 173 | //mExtensionView->setMaximumHeight(80); |
171 | 174 | ||
172 | boxLayout->addWidget( mExtensionView ); | 175 | boxLayout->addWidget( mExtensionView ); |
173 | 176 | ||
174 | mConfigureButton = new QPushButton( i18n( "Configure..." ), groupBox ); | 177 | mConfigureButton = new QPushButton( i18n( "Configure..." ), groupBox ); |
175 | mConfigureButton->setEnabled( false ); | 178 | mConfigureButton->setEnabled( false ); |
176 | boxLayout->addWidget( mConfigureButton ); | 179 | boxLayout->addWidget( mConfigureButton ); |
177 | 180 | ||
178 | extensionLayout->addWidget( groupBox ); | 181 | extensionLayout->addWidget( groupBox ); |
179 | 182 | ||
180 | connect( mMenuBarBox, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); | 183 | connect( mMenuBarBox, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); |
181 | connect( mNameParsing, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); | 184 | connect( mNameParsing, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); |
182 | connect( mViewsSingleClickBox, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); | 185 | connect( mViewsSingleClickBox, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); |
183 | connect( mSearchReturnBox, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); | 186 | connect( mSearchReturnBox, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); |
184 | connect( mAutoSearchWithWildcardBox, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); | 187 | connect( mAutoSearchWithWildcardBox, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); |
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* ) ), |
191 | SLOT( itemClicked( QListViewItem* ) ) ); | 195 | SLOT( itemClicked( QListViewItem* ) ) ); |
192 | connect( mConfigureButton, SIGNAL( clicked() ), | 196 | connect( mConfigureButton, SIGNAL( clicked() ), |
193 | SLOT( configureExtension() ) ); | 197 | SLOT( configureExtension() ) ); |
194 | 198 | ||
195 | tabWidget->addTab( extensionPage, i18n( "Extensions" ) ); | 199 | tabWidget->addTab( extensionPage, i18n( "Extensions" ) ); |
196 | 200 | ||
197 | // Addressee page | 201 | // Addressee page |
198 | mAddresseeWidget = new AddresseeWidget( this ); | 202 | mAddresseeWidget = new AddresseeWidget( this ); |
199 | tabWidget->addTab( mAddresseeWidget, i18n( "Contact" ) ); | 203 | tabWidget->addTab( mAddresseeWidget, i18n( "Contact" ) ); |
200 | connect( mAddresseeWidget, SIGNAL( modified() ), SLOT( modified() ) ); | 204 | connect( mAddresseeWidget, SIGNAL( modified() ), SLOT( modified() ) ); |
201 | 205 | ||
202 | } | 206 | } |
203 | 207 | ||
204 | void KABConfigWidget::usrReadConfig() | 208 | void KABConfigWidget::usrReadConfig() |
205 | { | 209 | { |
206 | KABPrefs* prefs = KABPrefs::instance(); | 210 | KABPrefs* prefs = KABPrefs::instance(); |
207 | 211 | ||
208 | bool blocked = signalsBlocked(); | 212 | bool blocked = signalsBlocked(); |
209 | blockSignals( true ); | 213 | blockSignals( true ); |
210 | mMenuBarBox->setChecked( prefs->mFullMenuBarVisible); | 214 | mMenuBarBox->setChecked( prefs->mFullMenuBarVisible); |
211 | mNameParsing->setChecked( prefs->mAutomaticNameParsing ); | 215 | mNameParsing->setChecked( prefs->mAutomaticNameParsing ); |
212 | mViewsSingleClickBox->setChecked( prefs->mHonorSingleClick ); | 216 | mViewsSingleClickBox->setChecked( prefs->mHonorSingleClick ); |
213 | mSearchReturnBox->setChecked( prefs->mSearchWithReturn ); | 217 | mSearchReturnBox->setChecked( prefs->mSearchWithReturn ); |
214 | mAutoSearchWithWildcardBox->setChecked( prefs->mAutoSearchWithWildcard ); | 218 | mAutoSearchWithWildcardBox->setChecked( prefs->mAutoSearchWithWildcard ); |
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 | ||
221 | restoreExtensionSettings(); | 226 | restoreExtensionSettings(); |
222 | 227 | ||
223 | blockSignals( blocked ); | 228 | blockSignals( blocked ); |
224 | 229 | ||
225 | } | 230 | } |
226 | 231 | ||
227 | void KABConfigWidget::usrWriteConfig() | 232 | void KABConfigWidget::usrWriteConfig() |
228 | { | 233 | { |
229 | KABPrefs* prefs = KABPrefs::instance(); | 234 | KABPrefs* prefs = KABPrefs::instance(); |
230 | prefs->mFullMenuBarVisible = mMenuBarBox->isChecked(); | 235 | prefs->mFullMenuBarVisible = mMenuBarBox->isChecked(); |
231 | prefs->mAutomaticNameParsing = mNameParsing->isChecked(); | 236 | prefs->mAutomaticNameParsing = mNameParsing->isChecked(); |
232 | prefs->mHonorSingleClick = mViewsSingleClickBox->isChecked(); | 237 | prefs->mHonorSingleClick = mViewsSingleClickBox->isChecked(); |
233 | prefs->mSearchWithReturn = mSearchReturnBox->isChecked(); | 238 | prefs->mSearchWithReturn = mSearchReturnBox->isChecked(); |
234 | prefs->mAutoSearchWithWildcard = mAutoSearchWithWildcardBox->isChecked(); | 239 | prefs->mAutoSearchWithWildcard = mAutoSearchWithWildcardBox->isChecked(); |
235 | prefs->mHideSearchOnSwitch = mHideSearchOnSwitchBox->isChecked(); | 240 | prefs->mHideSearchOnSwitch = mHideSearchOnSwitchBox->isChecked(); |
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 | ||
242 | saveExtensionSettings(); | 248 | saveExtensionSettings(); |
243 | 249 | ||
244 | } | 250 | } |
245 | 251 | ||
246 | void KABConfigWidget::restoreExtensionSettings() | 252 | void KABConfigWidget::restoreExtensionSettings() |
247 | { | 253 | { |
248 | QStringList activeExtensions = KABPrefs::instance()->mActiveExtensions; | 254 | QStringList activeExtensions = KABPrefs::instance()->mActiveExtensions; |
249 | 255 | ||
250 | mExtensionView->clear(); | 256 | mExtensionView->clear(); |
251 | 257 | ||
252 | #ifndef KAB_EMBEDDED | 258 | #ifndef KAB_EMBEDDED |
253 | KTrader::OfferList plugins = KTrader::self()->query( "KAddressBook/Extension" ); | 259 | KTrader::OfferList plugins = KTrader::self()->query( "KAddressBook/Extension" ); |
254 | KTrader::OfferList::ConstIterator it; | 260 | KTrader::OfferList::ConstIterator it; |
255 | for ( it = plugins.begin(); it != plugins.end(); ++it ) { | 261 | for ( it = plugins.begin(); it != plugins.end(); ++it ) { |
256 | if ( !(*it)->hasServiceType( "KAddressBook/Extension" ) ) | 262 | if ( !(*it)->hasServiceType( "KAddressBook/Extension" ) ) |
257 | continue; | 263 | continue; |
258 | 264 | ||
259 | ExtensionItem *item = new ExtensionItem( mExtensionView, (*it)->name() ); | 265 | ExtensionItem *item = new ExtensionItem( mExtensionView, (*it)->name() ); |
260 | item->setService( *it ); | 266 | item->setService( *it ); |
261 | if ( activeExtensions.contains( item->factory()->identifier() ) ) | 267 | if ( activeExtensions.contains( item->factory()->identifier() ) ) |
262 | item->setOn( true ); | 268 | item->setOn( true ); |
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 | |||
@@ -48,30 +48,31 @@ class KABConfigWidget : public KPrefsWidget | |||
48 | virtual void usrReadConfig(); | 48 | virtual void usrReadConfig(); |
49 | /** Implement this to write custom configuration widgets. */ | 49 | /** Implement this to write custom configuration widgets. */ |
50 | virtual void usrWriteConfig(); | 50 | virtual void usrWriteConfig(); |
51 | 51 | ||
52 | 52 | ||
53 | 53 | ||
54 | private slots: | 54 | private slots: |
55 | void configureExtension(); | 55 | void configureExtension(); |
56 | void selectionChanged( QListViewItem* ); | 56 | void selectionChanged( QListViewItem* ); |
57 | void itemClicked( QListViewItem* ); | 57 | void itemClicked( QListViewItem* ); |
58 | 58 | ||
59 | private: | 59 | private: |
60 | void restoreExtensionSettings(); | 60 | void restoreExtensionSettings(); |
61 | void saveExtensionSettings(); | 61 | void saveExtensionSettings(); |
62 | 62 | ||
63 | KListView *mExtensionView; | 63 | KListView *mExtensionView; |
64 | QCheckBox *mSearchReturnBox; | 64 | QCheckBox *mSearchReturnBox; |
65 | QCheckBox *mNameParsing; | 65 | QCheckBox *mNameParsing; |
66 | QCheckBox *mViewsSingleClickBox; | 66 | QCheckBox *mViewsSingleClickBox; |
67 | QCheckBox *mAutoSearchWithWildcardBox; | 67 | QCheckBox *mAutoSearchWithWildcardBox; |
68 | QCheckBox *mHideSearchOnSwitchBox; | 68 | QCheckBox *mHideSearchOnSwitchBox; |
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; |
75 | }; | 76 | }; |
76 | 77 | ||
77 | #endif | 78 | #endif |