summaryrefslogtreecommitdiff
path: root/icons.cpp
diff options
context:
space:
mode:
authorGluzskiy Alexandr <sss123next@list.ru>2011-01-29 15:17:51 +0300
committerGluzskiy Alexandr <sss123next@list.ru>2011-01-29 15:17:51 +0300
commit4d9fce6f544f0c6782a7ade4900afd3e1c6c9c52 (patch)
tree286cf4e530cec23e62e1a629857b4366ddd9862f /icons.cpp
parent8142cedd8b857edd99a92f328e8b692b32bfeba6 (diff)
Better metacontacts handling\nFixed subkey length in keygen
Diffstat (limited to 'icons.cpp')
-rw-r--r--icons.cpp288
1 files changed, 144 insertions, 144 deletions
diff --git a/icons.cpp b/icons.cpp
index 96c4f50..1f4d353 100644
--- a/icons.cpp
+++ b/icons.cpp
@@ -1,144 +1,144 @@
-// Copyright © 2010 SecureIM developers (baloo and others), sss
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-#include "commonheaders.h"
-
-HANDLE IconLibDefine(TCHAR* desc, TCHAR* section, char* ident, HICON icon, char* def_file, int def_idx, int size)
-{
- SKINICONDESC sid = {0};
- HANDLE hIcon;
-
- if(!size)
- size = 16;
-
- sid.cbSize = SKINICONDESC_SIZE;
- sid.ptszSection = section;
- sid.ptszDescription = desc;
- sid.flags = SIDF_TCHAR;
-
- sid.pszName = ident;
- sid.pszDefaultFile = def_file;
- sid.iDefaultIndex = def_idx;
- sid.hDefaultIcon = icon;
- sid.cx = sid.cy = size;
-
- hIcon = (HANDLE)CallService(MS_SKIN2_ADDICON, 0, (LPARAM)&sid);
-
- return hIcon;
-}
-
-
-void InitIconLib()
-{
- extern HINSTANCE hInst;
- char lib[MAX_PATH];
- GetModuleFileNameA(hInst, lib, MAX_PATH);
- TCHAR *module = mir_a2t(szGPGModuleName);
-
- IconLibDefine(_T("Secured"), module, "secured", NULL, lib, -IDI_SECURED,0);
- IconLibDefine(_T("Unsecured"), module, "unsecured", NULL, lib, -IDI_UNSECURED,0);
- mir_free(module);
-}
-
-
-
-
-
-HICON IconLibGetIcon(const char* ident)
-{
- return (HICON)CallService(MS_SKIN2_GETICON, 0, (LPARAM)ident);
-}
-
-
-
-void IconLibReleaseIcon(const char* ident)
-{
- CallService(MS_SKIN2_RELEASEICON, 0, (LPARAM)ident);
-}
-
-
-
-HANDLE IconLibHookIconsChanged(MIRANDAHOOK hook)
-{
- return HookEvent(ME_SKIN2_ICONSCHANGED, hook);
-}
-
-
-void setClistIcon(HANDLE hContact)
-{
- bool enabled = isContactSecured(hContact);
- extern HANDLE g_hCLIcon;
- HANDLE hMC = metaGetContact(hContact);
- if(g_hCLIcon && enabled)
- { // обновить иконки в clist
- HICON icon = IconLibGetIcon("secured");
- IconExtraColumn iec = {0};
- iec.cbSize = sizeof(iec);
- iec.hImage = (HANDLE)CallService(MS_CLIST_EXTRA_ADD_ICON, (WPARAM)icon, (LPARAM)0);
- ExtraIcon_SetIcon(g_hCLIcon, hContact, iec.hImage);
- if(hMC)
- ExtraIcon_SetIcon(g_hCLIcon, hMC, iec.hImage);
- }
- else
- {
- ExtraIcon_SetIcon(g_hCLIcon, hContact, (HANDLE)0); // is it right ? hmm.., at least working....
- if(hMC)
- ExtraIcon_SetIcon(g_hCLIcon, hMC, (HANDLE)0);
- }
-}
-
-void setSrmmIcon(HANDLE hContact)
-{
- hContact = metaGetCurrent(hContact);
- bool enabled = isContactSecured(hContact);
- HANDLE hMC = metaGetContact(hContact);
- if(ServiceExists(MS_MSG_MODIFYICON))
- { // обновить иконки в srmm
- StatusIconData sid = {0};
- sid.cbSize = sizeof(sid);
- sid.szModule = szGPGModuleName;
- sid.hIcon = IconLibGetIcon("secured");
- sid.dwId = 0x00000001;
- sid.flags = enabled?0:MBF_HIDDEN;
- CallService(MS_MSG_MODIFYICON, (WPARAM)hContact, (LPARAM)&sid);
- if( hMC )
- CallService(MS_MSG_MODIFYICON, (WPARAM)hMC, (LPARAM)&sid);
- ZeroMemory(&sid, sizeof(sid));
- sid.cbSize = sizeof(sid);
- sid.szModule = szGPGModuleName;
- sid.hIcon = IconLibGetIcon("unsecured");
- sid.dwId = 0x00000002;
- sid.flags = enabled?MBF_HIDDEN:0;
- CallService(MS_MSG_MODIFYICON, (WPARAM)hContact, (LPARAM)&sid);
- if( hMC )
- CallService(MS_MSG_MODIFYICON, (WPARAM)hMC, (LPARAM)&sid);
- }
-}
-
-
-void RefreshContactListIcons()
-{
- HANDLE hContact;
- extern HANDLE g_hCLIcon;
- CallService(MS_CLUI_LISTBEGINREBUILD,0,0);
- hContact = (HANDLE)CallService(MS_DB_CONTACT_FINDFIRST, 0, 0);
- while (hContact)
- {
- setClistIcon(hContact);
- hContact = (HANDLE)CallService(MS_DB_CONTACT_FINDNEXT, (WPARAM)hContact, 0);
- }
- CallService(MS_CLUI_LISTENDREBUILD,0,0);
-}
+// Copyright © 2010 SecureIM developers (baloo and others), sss
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+#include "commonheaders.h"
+
+HANDLE IconLibDefine(TCHAR* desc, TCHAR* section, char* ident, HICON icon, char* def_file, int def_idx, int size)
+{
+ SKINICONDESC sid = {0};
+ HANDLE hIcon;
+
+ if(!size)
+ size = 16;
+
+ sid.cbSize = SKINICONDESC_SIZE;
+ sid.ptszSection = section;
+ sid.ptszDescription = desc;
+ sid.flags = SIDF_TCHAR;
+
+ sid.pszName = ident;
+ sid.pszDefaultFile = def_file;
+ sid.iDefaultIndex = def_idx;
+ sid.hDefaultIcon = icon;
+ sid.cx = sid.cy = size;
+
+ hIcon = (HANDLE)CallService(MS_SKIN2_ADDICON, 0, (LPARAM)&sid);
+
+ return hIcon;
+}
+
+
+void InitIconLib()
+{
+ extern HINSTANCE hInst;
+ char lib[MAX_PATH];
+ GetModuleFileNameA(hInst, lib, MAX_PATH);
+ TCHAR *module = mir_a2t(szGPGModuleName);
+
+ IconLibDefine(_T("Secured"), module, "secured", NULL, lib, -IDI_SECURED,0);
+ IconLibDefine(_T("Unsecured"), module, "unsecured", NULL, lib, -IDI_UNSECURED,0);
+ mir_free(module);
+}
+
+
+
+
+
+HICON IconLibGetIcon(const char* ident)
+{
+ return (HICON)CallService(MS_SKIN2_GETICON, 0, (LPARAM)ident);
+}
+
+
+
+void IconLibReleaseIcon(const char* ident)
+{
+ CallService(MS_SKIN2_RELEASEICON, 0, (LPARAM)ident);
+}
+
+
+
+HANDLE IconLibHookIconsChanged(MIRANDAHOOK hook)
+{
+ return HookEvent(ME_SKIN2_ICONSCHANGED, hook);
+}
+
+
+void setClistIcon(HANDLE hContact)
+{
+ bool enabled = isContactSecured(hContact);
+ extern HANDLE g_hCLIcon;
+ HANDLE hMC = metaGetContact(hContact);
+ if(g_hCLIcon && enabled)
+ { // обновить иконки в clist
+ HICON icon = IconLibGetIcon("secured");
+ IconExtraColumn iec = {0};
+ iec.cbSize = sizeof(iec);
+ iec.hImage = (HANDLE)CallService(MS_CLIST_EXTRA_ADD_ICON, (WPARAM)icon, (LPARAM)0);
+ ExtraIcon_SetIcon(g_hCLIcon, hContact, iec.hImage);
+ if(hMC)
+ ExtraIcon_SetIcon(g_hCLIcon, hMC, iec.hImage);
+ }
+ else
+ {
+ ExtraIcon_SetIcon(g_hCLIcon, hContact, (HANDLE)0); // is it right ? hmm.., at least working....
+ if(hMC)
+ ExtraIcon_SetIcon(g_hCLIcon, hMC, (HANDLE)0);
+ }
+}
+
+void setSrmmIcon(HANDLE hContact)
+{
+ hContact = metaGetCurrent(hContact);
+ bool enabled = isContactSecured(hContact);
+ HANDLE hMC = metaGetContact(hContact);
+ if(ServiceExists(MS_MSG_MODIFYICON))
+ { // обновить иконки в srmm
+ StatusIconData sid = {0};
+ sid.cbSize = sizeof(sid);
+ sid.szModule = szGPGModuleName;
+ sid.hIcon = IconLibGetIcon("secured");
+ sid.dwId = 0x00000001;
+ sid.flags = enabled?0:MBF_HIDDEN;
+ CallService(MS_MSG_MODIFYICON, (WPARAM)hContact, (LPARAM)&sid);
+ if( hMC )
+ CallService(MS_MSG_MODIFYICON, (WPARAM)hMC, (LPARAM)&sid);
+ ZeroMemory(&sid, sizeof(sid));
+ sid.cbSize = sizeof(sid);
+ sid.szModule = szGPGModuleName;
+ sid.hIcon = IconLibGetIcon("unsecured");
+ sid.dwId = 0x00000002;
+ sid.flags = enabled?MBF_HIDDEN:0;
+ CallService(MS_MSG_MODIFYICON, (WPARAM)hContact, (LPARAM)&sid);
+ if( hMC )
+ CallService(MS_MSG_MODIFYICON, (WPARAM)hMC, (LPARAM)&sid);
+ }
+}
+
+
+void RefreshContactListIcons()
+{
+ HANDLE hContact;
+ extern HANDLE g_hCLIcon;
+ CallService(MS_CLUI_LISTBEGINREBUILD,0,0);
+ hContact = (HANDLE)CallService(MS_DB_CONTACT_FINDFIRST, 0, 0);
+ while (hContact)
+ {
+ setClistIcon(hContact);
+ hContact = (HANDLE)CallService(MS_DB_CONTACT_FINDNEXT, (WPARAM)hContact, 0);
+ }
+ CallService(MS_CLUI_LISTENDREBUILD,0,0);
+}