diff options
-rw-r--r-- | new_gpg.rc | 2 | ||||
-rw-r--r-- | options.cpp | 6 | ||||
-rw-r--r-- | resource.h | 3 | ||||
-rw-r--r-- | utilities.cpp | 13 |
4 files changed, 22 insertions, 2 deletions
@@ -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; } @@ -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 |