diff options
author | Kirill Volinsky <mataes2007@gmail.com> | 2012-07-04 15:53:43 +0000 |
---|---|---|
committer | Kirill Volinsky <mataes2007@gmail.com> | 2012-07-04 15:53:43 +0000 |
commit | f70609f71f4e104597b1edf4db9baebec0719f03 (patch) | |
tree | 959ea37e93d083844e2ffa288ee4f22b82f09183 /plugins/AuthState/main.cpp | |
parent | 1d8520937fff9118cf0d42372d8d138146a18e48 (diff) |
AuthState:
changed folder structure
git-svn-id: http://svn.miranda-ng.org/main/trunk@760 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/AuthState/main.cpp')
-rw-r--r-- | plugins/AuthState/main.cpp | 362 |
1 files changed, 0 insertions, 362 deletions
diff --git a/plugins/AuthState/main.cpp b/plugins/AuthState/main.cpp deleted file mode 100644 index 0f168c0fe1..0000000000 --- a/plugins/AuthState/main.cpp +++ /dev/null @@ -1,362 +0,0 @@ -/*
- Authorization State plugin for Miranda-IM (www.miranda-im.org)
- (c) 2006-2010 by Thief
-
- 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
-
- File name : $URL: http://svn.miranda.im/mainrepo/authstate/trunk/main.cpp $
- Revision : $Rev: 1686 $
- Last change on : $Date: 2010-10-06 08:26:58 +0200 (Ср, 06 окт 2010) $
- Last change by : $Author: ghazan $
-
-*/
-
-#include "commonheaders.h"
-
-HINSTANCE g_hInst;
-static HANDLE hHookModulesLoaded = NULL, hSystemOKToExit = NULL, hOptInitialise = NULL, hIcoLibIconsChanged = NULL;
-static HANDLE hHookExtraIconsRebuild = NULL, hHookExtraIconsApply = NULL, hContactSettingChanged = NULL, hContactAdded = NULL;
-static HANDLE hPrebuildContactMenu = NULL, hAuthMenuSelected = NULL;
-static HANDLE hUserMenu = NULL;
-HANDLE hExtraIcon = NULL;
-int hLangpack;
-
-IconExtraColumn g_IECAuth = {0};
-IconExtraColumn g_IECGrant = {0};
-IconExtraColumn g_IECAuthGrant = {0};
-IconExtraColumn g_IECClear = {0};
-INT clistIcon = 0; //Icon slot to use
-BYTE bUseAuthIcon = 0, bUseGrantIcon = 0, bContactMenuItem = 0, bIconsForRecentContacts = 0, bUseAuthGroup = 0;
-
-enum {
-icon_none,
-icon_auth,
-icon_grant,
-icon_both
-};
-
-PLUGININFOEX pluginInfo={
- sizeof(PLUGININFOEX),
- __PLUGIN_NAME,
- PLUGIN_MAKE_VERSION(__MAJOR_VERSION, __MINOR_VERSION, __RELEASE_NUM, __BUILD_NUM),
- __DESCRIPTION,
- __AUTHOR,
- __AUTHOREMAIL,
- __COPYRIGHT,
- __AUTHORWEB,
- UNICODE_AWARE, //doesn't replace anything built-in
- {0xdace7d41, 0xdfa9, 0x4772, {0x89, 0xae, 0xa5, 0x9a, 0x61, 0x53, 0xe6, 0xb2}}
-/* DACE7D41-DFA9-4772-89AE-A59A6153E6B2 */
-};
-
-extern "C" BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved)
-{
- g_hInst = hinstDLL;
- return TRUE;
-}
-
-/* 236CBB9A-57D2-419D-B5CB-0DF5926E921C */
-#define MIID_AUTHSTATE {0x236cbb9a, 0x57d2, 0x419d, {0xb5, 0xcb, 0x0d, 0xf5, 0x92, 0x6e, 0x92, 0x1c}}
-
-extern "C" __declspec(dllexport) const MUUID* MirandaPluginInterfaces(void)
-{
- static const MUUID interfaces[] = {MIID_AUTHSTATE, MIID_LAST};
- return interfaces;
-}
-
-extern "C" __declspec(dllexport) PLUGININFOEX* MirandaPluginInfoEx(DWORD mirandaVersion)
-{
- return &pluginInfo;
-}
-
-INT_PTR getIconToUse(HANDLE hContact, LPARAM lParam)
-{
- char *proto = (char *)CallService(MS_PROTO_GETCONTACTBASEPROTO, (WPARAM)hContact, 0);
-// if (lParam == 1) return icon_none;
- if (!DBGetContactSettingByte(hContact,"AuthState","ShowIcons",!bIconsForRecentContacts)) return icon_none;
-
- if (DBGetContactSettingByte(0,"ICQ","UseServerCList",0))
- if (DBGetContactSettingWord(hContact,proto,"ServerId",1) == 0)
- return icon_both;
-
- if (bUseAuthIcon & bUseGrantIcon)
- if (DBGetContactSettingByte(hContact,proto,"Auth",0) && DBGetContactSettingByte(hContact,proto,"Grant",0))
- return icon_both;
-
- if (bUseAuthIcon)
- if (DBGetContactSettingByte(hContact,proto,"Auth",0))
- return icon_auth;
-
- if (bUseGrantIcon)
- if (DBGetContactSettingByte(hContact,proto,"Grant",0))
- return icon_grant;
- return icon_none;
-}
-
-int onExtraImageApplying(WPARAM wParam, LPARAM lParam)
-{
- if (wParam == NULL)
- return 0;
-
- int usedIcon;
- usedIcon = getIconToUse((HANDLE) wParam, lParam);
-
- if (hExtraIcon != NULL)
- {
- const char *icon;
- switch (usedIcon)
- {
- case icon_both: icon = "authgrant_icon"; break;
- case icon_grant: icon = "grant_icon"; break;
- case icon_auth: icon = "auth_icon"; break;
- default: icon = NULL; break;
- }
- ExtraIcon_SetIcon(hExtraIcon, (HANDLE)wParam, icon);
- }
- else
- {
- switch (usedIcon)
- {
- case icon_both: CallService(MS_CLIST_EXTRA_SET_ICON, wParam, (LPARAM) &g_IECAuthGrant); break;
- case icon_grant: CallService(MS_CLIST_EXTRA_SET_ICON, wParam, (LPARAM) &g_IECGrant); break;
- case icon_auth: CallService(MS_CLIST_EXTRA_SET_ICON, wParam, (LPARAM) &g_IECAuth); break;
- default: CallService(MS_CLIST_EXTRA_SET_ICON, wParam, (LPARAM) &g_IECClear); break;
- }
- }
-
- return 0;
-}
-
-int onExtraImageListRebuild(WPARAM wParam, LPARAM lParam)
-{
- g_IECAuth.cbSize = sizeof(IconExtraColumn);
- g_IECAuth.ColumnType = clistIcon;
- g_IECGrant.cbSize = sizeof(IconExtraColumn);
- g_IECGrant.ColumnType = clistIcon;
- g_IECAuthGrant.cbSize = sizeof(IconExtraColumn);
- g_IECAuthGrant.ColumnType = clistIcon;
-
- if (ServiceExists(MS_CLIST_EXTRA_ADD_ICON)) {
- g_IECAuth.hImage = (HANDLE)CallService(MS_CLIST_EXTRA_ADD_ICON, (WPARAM)(HICON) CallService(MS_SKIN2_GETICON, 0, (LPARAM)"auth_icon"), (LPARAM)0);
- g_IECGrant.hImage = (HANDLE)CallService(MS_CLIST_EXTRA_ADD_ICON, (WPARAM)(HICON) CallService(MS_SKIN2_GETICON, 0, (LPARAM)"grant_icon"), (LPARAM)0);
- g_IECAuthGrant.hImage = (HANDLE)CallService(MS_CLIST_EXTRA_ADD_ICON, (WPARAM)(HICON) CallService(MS_SKIN2_GETICON, 0, (LPARAM)"authgrant_icon"), (LPARAM)0);
- }
-
- return 0;
-}
-
-int onContactSettingChanged(WPARAM wParam,LPARAM lParam)
-{
- DBCONTACTWRITESETTING *cws=(DBCONTACTWRITESETTING*)lParam;
- char *proto = (char *)CallService(MS_PROTO_GETCONTACTBASEPROTO, wParam, 0);
- if (!proto) return 0;
-
- if (!lstrcmpA(cws->szModule,proto))
- if (!lstrcmpA(cws->szSetting,"Auth") || !lstrcmpA(cws->szSetting,"Grant") || !lstrcmpA(cws->szSetting,"ServerId"))
- onExtraImageApplying(wParam, 1);
-
- return 0;
-}
-
-int onDBContactAdded(WPARAM wParam, LPARAM lParam)
-{
- // A new contact added, mark it as recent
- DBWriteContactSettingByte((HANDLE)wParam, MODULENAME, "ShowIcons", 1);
- onExtraImageApplying(wParam, 0);
-
- return 0;
-}
-
-INT_PTR onAuthMenuSelected(WPARAM wParam, LPARAM lParam)
-{
- byte enabled = DBGetContactSettingByte((HANDLE)wParam,"AuthState","ShowIcons",1);
- DBWriteContactSettingByte((HANDLE)wParam, MODULENAME, "ShowIcons", !enabled);
-
- if (enabled)
- CallService(MS_CLIST_EXTRA_SET_ICON, (WPARAM) wParam, (LPARAM) &g_IECClear);
- else
- onExtraImageApplying(wParam, 0);
-
- return 0;
-}
-
-int onPrebuildContactMenu(WPARAM wParam, LPARAM lParam)
-{
- char *proto = (char *)CallService(MS_PROTO_GETCONTACTBASEPROTO, wParam, 0);
- if (!proto) return 0;
-
- CLISTMENUITEM mi = {0};
- mi.cbSize = sizeof(CLISTMENUITEM);
-
- if (!DBGetContactSettingByte((HANDLE)wParam,proto,"Auth",0) && !DBGetContactSettingByte((HANDLE)wParam,proto,"Grant",0) && DBGetContactSettingWord((HANDLE)wParam,proto,"ServerId",0))
- mi.flags = CMIF_TCHAR | CMIM_FLAGS | CMIF_HIDDEN;
- else
- mi.flags = CMIF_TCHAR | CMIM_FLAGS;
-
- if (DBGetContactSettingByte((HANDLE)wParam,"AuthState","ShowIcons",1))
- {
- mi.flags |= CMIF_TCHAR | CMIM_NAME;
- mi.ptszName = _T("Disable AuthState icons");
- }
- else
- {
- mi.flags |= CMIF_TCHAR | CMIM_NAME;
- mi.ptszName = _T("Enable AuthState icons");
- }
-
- CallService(MS_CLIST_MODIFYMENUITEM, (WPARAM)hUserMenu, (LPARAM)&mi);
-
- return 0;
-}
-
-int onModulesLoaded(WPARAM wParam,LPARAM lParam)
-{
- // IcoLib support
- SKINICONDESC sid = {0};
- ZeroMemory(&sid, sizeof(sid));
- TCHAR szFile[MAX_PATH];
- sid.cbSize = sizeof(sid);
- sid.flags = SIDF_ALL_TCHAR;
-
- sid.ptszSection = _T("Auth State");
- GetModuleFileName(g_hInst, szFile, MAX_PATH);
- sid.ptszDefaultFile = szFile;
-
- sid.ptszDescription = _T("Auth");
- sid.pszName = "auth_icon";
- sid.iDefaultIndex = -IDI_AUTH;
- Skin_AddIcon(&sid);
-
- sid.ptszDescription = _T("Grant");
- sid.pszName = "grant_icon";
- sid.iDefaultIndex = -IDI_GRANT;
- Skin_AddIcon(&sid);
-
- sid.ptszDescription = _T("Auth & Grant");
- sid.pszName = "authgrant_icon";
- sid.iDefaultIndex = -IDI_AUTHGRANT;
- Skin_AddIcon(&sid);
-
- // extra icons
- hExtraIcon = ExtraIcon_Register("authstate", "Auth State", "authgrant_icon");
- if (hExtraIcon != NULL)
- {
- // Set initial value for all contacts
- HANDLE hContact = (HANDLE) CallService(MS_DB_CONTACT_FINDFIRST, 0, 0);
- while (hContact != NULL)
- {
- onExtraImageApplying((WPARAM)hContact, 1);
- hContact = (HANDLE) CallService(MS_DB_CONTACT_FINDNEXT, (WPARAM) hContact, 0);
- }
- }
- else {
- hIcoLibIconsChanged = HookEvent(ME_SKIN2_ICONSCHANGED, onExtraImageListRebuild);
- hHookExtraIconsRebuild = HookEvent(ME_CLIST_EXTRA_LIST_REBUILD, onExtraImageListRebuild);
- hHookExtraIconsApply = HookEvent(ME_CLIST_EXTRA_IMAGE_APPLY, onExtraImageApplying);
- onExtraImageListRebuild(0,0);
- }
- hOptInitialise = HookEvent(ME_OPT_INITIALISE, onOptInitialise);
- if (bContactMenuItem) hPrebuildContactMenu = HookEvent(ME_CLIST_PREBUILDCONTACTMENU, onPrebuildContactMenu);
-
- // Updater support
- if (ServiceExists(MS_UPDATE_REGISTER)) {
- Update update = {0};
- char szVersion[16];
-
- update.cbSize = sizeof(Update);
-
- update.szComponentName = pluginInfo.shortName;
- update.pbVersion = (BYTE *)CreateVersionString(pluginInfo.version, szVersion);
- update.cpbVersion = lstrlenA((char *)update.pbVersion);
-
- update.szUpdateURL = UPDATER_AUTOREGISTER;
-
- // these are the three lines that matter - the archive, the page containing the version string, and the text (or data)
- // before the version that we use to locate it on the page
- // (note that if the update URL and the version URL point to standard file listing entries, the backend xml
- // data will be used to check for updates rather than the actual web page - this is not true for beta urls)
- update.szBetaUpdateURL = "http://thief.miranda.im/authstate.zip";
- update.szBetaVersionURL = "http://thief.miranda.im/updater/authstate_version.txt";
- update.szBetaChangelogURL = "http://thief.miranda.im";
- update.pbBetaVersionPrefix = (BYTE *)"AuthState ";
-
- update.cpbBetaVersionPrefix = lstrlenA((char *)update.pbBetaVersionPrefix);
-
- CallService(MS_UPDATE_REGISTER, 0, (WPARAM)&update);
- }
-
- return 0;
-}
-
-int onSystemOKToExit(WPARAM wParam,LPARAM lParam)
-{
- UnhookEvent(hHookModulesLoaded);
- UnhookEvent(hHookExtraIconsRebuild);
- UnhookEvent(hHookExtraIconsApply);
- UnhookEvent(hOptInitialise);
- UnhookEvent(hSystemOKToExit);
- UnhookEvent(hContactSettingChanged);
- if (hIcoLibIconsChanged) UnhookEvent(hIcoLibIconsChanged);
- if (hContactAdded) UnhookEvent(hContactAdded);
- if (hPrebuildContactMenu)
- {
- UnhookEvent(hPrebuildContactMenu);
- UnhookEvent(hUserMenu);
- }
- DestroyServiceFunction(hAuthMenuSelected);
-
- return 0;
-}
-
-extern "C" int __declspec(dllexport) Load(void)
-{
- mir_getLP(&pluginInfo);
-
- hHookModulesLoaded = HookEvent(ME_SYSTEM_MODULESLOADED, onModulesLoaded);
- hSystemOKToExit = HookEvent(ME_SYSTEM_OKTOEXIT,onSystemOKToExit);
- hContactSettingChanged = HookEvent(ME_DB_CONTACT_SETTINGCHANGED, onContactSettingChanged);
-
- clistIcon = DBGetContactSettingByte(NULL, MODULENAME, "AdvancedIcon", DefaultSlot);
- bUseAuthIcon = DBGetContactSettingByte(NULL, MODULENAME, "EnableAuthIcon", 1);
- bUseGrantIcon = DBGetContactSettingByte(NULL, MODULENAME, "EnableGrantIcon", 1);
- bContactMenuItem = DBGetContactSettingByte(NULL, MODULENAME, "MenuItem", 0);
- bIconsForRecentContacts = DBGetContactSettingByte(NULL, MODULENAME, "EnableOnlyForRecent", 0);
-
- hContactAdded = HookEvent(ME_DB_CONTACT_ADDED, onDBContactAdded);
-
- if (bContactMenuItem)
- {
- hAuthMenuSelected = CreateServiceFunction("AuthState/MenuItem", onAuthMenuSelected);
-
- CLISTMENUITEM mi = {0};
- mi.cbSize = sizeof(CLISTMENUITEM);
- mi.position = -1999901005;
- mi.flags = CMIF_TCHAR;
- mi.ptszName = _T("Enable AuthState icons");
- mi.pszService = "AuthState/MenuItem";
- hUserMenu = Menu_AddContactMenuItem(&mi);
- }
-
- g_IECClear.cbSize = sizeof(IconExtraColumn);
- g_IECClear.ColumnType = clistIcon;
- g_IECClear.hImage = (HANDLE) -1;
-
- return 0;
-}
-
-extern "C" int __declspec(dllexport) Unload(void)
-{
- return 0;
-}
|