summaryrefslogtreecommitdiff
path: root/plugins/SecureIM/src/svcs_srmm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/SecureIM/src/svcs_srmm.cpp')
-rw-r--r--plugins/SecureIM/src/svcs_srmm.cpp62
1 files changed, 61 insertions, 1 deletions
diff --git a/plugins/SecureIM/src/svcs_srmm.cpp b/plugins/SecureIM/src/svcs_srmm.cpp
index bebe781c3f..fd330367db 100644
--- a/plugins/SecureIM/src/svcs_srmm.cpp
+++ b/plugins/SecureIM/src/svcs_srmm.cpp
@@ -1,6 +1,6 @@
#include "commonheaders.h"
-int __cdecl onWindowEvent(WPARAM wParam, LPARAM lParam)
+int __cdecl onWindowEvent(WPARAM, LPARAM lParam)
{
MessageWindowEventData *mwd = (MessageWindowEventData *)lParam;
if (mwd->uType == MSG_WINDOW_EVT_OPEN || mwd->uType == MSG_WINDOW_EVT_OPENING)
@@ -29,5 +29,65 @@ int __cdecl onIconPressed(WPARAM wParam, LPARAM lParam)
return 0;
}
+void InitSRMMIcons()
+{
+ // add icon to srmm status icons
+ if (ServiceExists(MS_MSG_ADDICON)) {
+ StatusIconData sid = { sizeof(sid) };
+ sid.szModule = MODULENAME;
+ sid.flags = MBF_DISABLED|MBF_HIDDEN;
+ // Native
+ sid.dwId = MODE_NATIVE;
+ sid.hIcon = mode2icon(MODE_NATIVE|SECURED,3);
+ sid.hIconDisabled = mode2icon(MODE_NATIVE,3);
+ sid.szTooltip = Translate("SecureIM [Native]");
+ CallService(MS_MSG_ADDICON, 0, (LPARAM)&sid);
+ // PGP
+ sid.dwId = MODE_PGP;
+ sid.hIcon = mode2icon(MODE_PGP|SECURED,3);
+ sid.hIconDisabled = mode2icon(MODE_PGP,3);
+ sid.szTooltip = Translate("SecureIM [PGP]");
+ CallService(MS_MSG_ADDICON, 0, (LPARAM)&sid);
+ // GPG
+ sid.dwId = MODE_GPG;
+ sid.hIcon = mode2icon(MODE_GPG|SECURED,3);
+ sid.hIconDisabled = mode2icon(MODE_GPG,3);
+ sid.szTooltip = Translate("SecureIM [GPG]");
+ CallService(MS_MSG_ADDICON, 0, (LPARAM)&sid);
+ // RSAAES
+ sid.dwId = MODE_RSAAES;
+ sid.hIcon = mode2icon(MODE_RSAAES|SECURED,3);
+ sid.hIconDisabled = mode2icon(MODE_RSAAES,3);
+ sid.szTooltip = Translate("SecureIM [RSA/AES]");
+ CallService(MS_MSG_ADDICON, 0, (LPARAM)&sid);
+
+ // hook the window events so that we can can change the status of the icon
+ HookEvent(ME_MSG_WINDOWEVENT, onWindowEvent);
+ HookEvent(ME_MSG_ICONPRESSED, onIconPressed);
+ }
+}
+
+
+
+void DeinitSRMMIcons()
+{
+ // remove srmm status icons
+ if (ServiceExists(MS_MSG_REMOVEICON)) {
+ StatusIconData sid = { sizeof(sid) };
+ sid.szModule = MODULENAME;
+ // Native
+ sid.dwId = MODE_NATIVE;
+ CallService(MS_MSG_REMOVEICON, 0, (LPARAM)&sid);
+ // PGP
+ sid.dwId = MODE_PGP;
+ CallService(MS_MSG_REMOVEICON, 0, (LPARAM)&sid);
+ // GPG
+ sid.dwId = MODE_GPG;
+ CallService(MS_MSG_REMOVEICON, 0, (LPARAM)&sid);
+ // RSAAES
+ sid.dwId = MODE_RSAAES;
+ CallService(MS_MSG_REMOVEICON, 0, (LPARAM)&sid);
+ }
+}
// EOF