summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGluzskiy Alexandr <sss123next@list.ru>2010-10-08 10:12:07 +0300
committerGluzskiy Alexandr <sss123next@list.ru>2010-10-08 10:12:07 +0300
commitfc6b9e74816401ad364ff0e675767a30c84d9896 (patch)
tree165aba20abfb07fe380224044c3f00647a678e05
parentd43354bf06f8f1b404d5b26d35fe5e758da12ab1 (diff)
added ability to remove conflicting filters
-rw-r--r--new_gpg.rc2
-rw-r--r--options.cpp6
-rw-r--r--resource.h3
-rw-r--r--utilities.cpp13
4 files changed, 22 insertions, 2 deletions
diff --git a/new_gpg.rc b/new_gpg.rc
index 4925e14..8ccaf14 100644
--- a/new_gpg.rc
+++ b/new_gpg.rc
@@ -325,6 +325,8 @@ BEGIN
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,175,181,10
LTEXT "Статический",IDC_CURRENT_KEY,97,196,116,8
CONTROL "Encrypt file transfers",IDC_FILE_TRANSFERS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,185,137,10
+ PUSHBUTTON "*Remove filters",IDC_REMOVE_FILTERS,155,135,59,14
+ LTEXT "* - need restart",IDC_STATIC,222,137,52,8
END
IDD_OPT_GPG_BIN DIALOGEX 0, 0, 282, 214
diff --git a/options.cpp b/options.cpp
index 28eb55a..15dffb5 100644
--- a/options.cpp
+++ b/options.cpp
@@ -356,7 +356,11 @@ static BOOL CALLBACK DlgProcGpgOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARA
SetDlgItemText(hwndDlg, IDC_LOG_FILE_EDIT, tmp);
mir_free(tmp);
}
- break;
+ break;
+ case IDC_REMOVE_FILTERS:
+ void SecureIM_cleanup();
+ SecureIM_cleanup();
+ break;
default:
break;
}
diff --git a/resource.h b/resource.h
index 3c850b3..afef0d0 100644
--- a/resource.h
+++ b/resource.h
@@ -68,6 +68,7 @@
#define IDC_DEFAULT_PASSWORD 1055
#define IDC_KEYSERVER 1058
#define IDC_FILE_TRANSFERS 1061
+#define IDC_REMOVE_FILTERS 1062
// Next default values for new objects
//
@@ -75,7 +76,7 @@
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 114
#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1062
+#define _APS_NEXT_CONTROL_VALUE 1063
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
diff --git a/utilities.cpp b/utilities.cpp
index 2ad4cf2..70bb870 100644
--- a/utilities.cpp
+++ b/utilities.cpp
@@ -755,3 +755,16 @@ const bool StriStr(const char *str, const char *substr)
return i;
}
+
+void SecureIM_cleanup()
+{
+ for (HANDLE hContact = (HANDLE)CallService(MS_DB_CONTACT_FINDFIRST, 0, 0); hContact; hContact = (HANDLE)CallService(MS_DB_CONTACT_FINDNEXT, (WPARAM)hContact, 0))
+ {
+ if(CallService(MS_PROTO_ISPROTOONCONTACT, (WPARAM)hContact, (LPARAM)"SecureIM"))
+ CallService(MS_PROTO_REMOVEFROMCONTACT, (WPARAM)hContact, (LPARAM)"SecureIM");
+ if(CallService(MS_PROTO_ISPROTOONCONTACT, (WPARAM)hContact, (LPARAM)"OTR"))
+ CallService(MS_PROTO_REMOVEFROMCONTACT, (WPARAM)hContact, (LPARAM)"OTR");
+ if(CallService(MS_PROTO_ISPROTOONCONTACT, (WPARAM)hContact, (LPARAM)"GnuPGPlugin"))
+ CallService(MS_PROTO_REMOVEFROMCONTACT, (WPARAM)hContact, (LPARAM)"GnuPGPlugin");
+ }
+} \ No newline at end of file