From f04d64869f3b1de54fb343f28f955584780001b8 Mon Sep 17 00:00:00 2001 From: mataes2007 Date: Sat, 26 Nov 2011 15:41:10 +0000 Subject: Project folders rename part 3 git-svn-id: http://miranda-plugins.googlecode.com/svn/trunk@215 e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb --- contacts_rate/main.cpp | 289 ------------------------------------------------- 1 file changed, 289 deletions(-) delete mode 100644 contacts_rate/main.cpp (limited to 'contacts_rate/main.cpp') diff --git a/contacts_rate/main.cpp b/contacts_rate/main.cpp deleted file mode 100644 index 41c7efa..0000000 --- a/contacts_rate/main.cpp +++ /dev/null @@ -1,289 +0,0 @@ -/*==========================================================================*/ -/* - FILE DESCRIPTION: Rate main - - AUTHOR: Kildor - GROUP: The NULL workgroup - PROJECT: Contact`s rate - PART: Main - VERSION: 1.0 - CREATED: 20.12.2006 23:11:41 - - EMAIL: kostia@ngs.ru - WWW: http://kildor.miranda.im - - COPYRIGHT: (C) 2006 The NULL workgroup. All Rights Reserved. -*/ -/*--------------------------------------------------------------------------*/ -/* - Copyright (C) 2006 The NULL workgroup - - 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 ID: $Id$ - - CHANGE LOG: - - $Log$ -*/ -#include "commonheaders.h" - -HINSTANCE g_hInst; -PLUGINLINK *pluginLink; -static HANDLE hHookModulesLoaded = NULL, hSystemOKToExit = NULL, hOptInitialise = NULL, hIcoLibIconsChanged = NULL; -static HANDLE hHookExtraIconsRebuild = NULL, hHookExtraIconsApply = NULL, hContactSettingChanged = NULL; -static HANDLE hPrebuildContactMenu = NULL; -static HANDLE hExtraIcon = NULL; -IconExtraColumn g_IECRateHigh = {0}; -IconExtraColumn g_IECRateMedium = {0}; -IconExtraColumn g_IECRateLow = {0}; -IconExtraColumn g_IECClear = {0}; -int clistIcon = 0; //Icon slot to use -byte bRate = 0; - -extern int onOptInitialise(WPARAM wParam, LPARAM lParam); - - -PLUGININFOEX pluginInfo={ - sizeof(PLUGININFOEX), - "Contact`s Rate", - PLUGIN_MAKE_VERSION(0,0,2,1), - "Show rating of contact in contact list (if presents).", - "Kildor, Thief", - "kostia@ngs.ru", - "© 2006-2009 Kostia Romanov, based on AuthState by Alexander Turyak", - "http://kildor.miranda.im/", - 0, // is not unicode - 0, //doesn't replace anything built-in - {0x45230488, 0x977b, 0x405b, {0x85, 0x6d, 0xea, 0x27, 0x6d, 0x70, 0x83, 0xb7}} -/* 45230488-977b-405b-856d-ea276d7083b7 */ - -}; - -extern "C" BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved) -{ - g_hInst = hinstDLL; - return TRUE; -} - -// плагининфо -extern "C" __declspec(dllexport) PLUGININFOEX* MirandaPluginInfoEx(DWORD mirandaVersion) -{ - if (mirandaVersion < PLUGIN_MAKE_VERSION(0, 8, 0, 29)) - { - MessageBox( NULL, TranslateT("The plugin requires Miranda IM 0.8.0.29 or later for correct applying its preferences."), TranslateT("Contact` Rate"), - MB_OK|MB_ICONWARNING|MB_SETFOREGROUND|MB_TOPMOST ); - } - - return &pluginInfo; -} - -extern "C" __declspec(dllexport) const MUUID* MirandaPluginInterfaces(void) -{ - static const MUUID interfaces[] = {MIID_CONTACTSRATE, MIID_LAST}; - return interfaces; -} - -int onSystemOKToExit(WPARAM wParam,LPARAM lParam) -{ - UnhookEvent(hHookModulesLoaded); - UnhookEvent(hHookExtraIconsRebuild); - UnhookEvent(hHookExtraIconsApply); - UnhookEvent(hOptInitialise); - UnhookEvent(hSystemOKToExit); - if (hIcoLibIconsChanged) UnhookEvent(hIcoLibIconsChanged); - if (hContactSettingChanged) - UnhookEvent(hContactSettingChanged); - - return 0; -} - -void setExtaIcon(HANDLE hContact, int bRate = -1, BOOL clear = TRUE) -{ - if (hContact == NULL) - return; - - if (bRate < 0) - bRate = DBGetContactSettingByte(hContact, "CList", "Rate", 0); - - if (hExtraIcon != NULL) - { - const char *icon; - switch(bRate) - { - case 3: icon = "rate_high"; break; - case 2: icon = "rate_medium"; break; - case 1: icon = "rate_low"; break; - default: icon = NULL; break; - } - - if (icon == NULL && !clear) - return; - - ExtraIcon_SetIcon(hExtraIcon, hContact, icon); - } - else - { - switch(bRate) - { - case 3: CallService(MS_CLIST_EXTRA_SET_ICON, (WPARAM) hContact, (LPARAM) &g_IECRateHigh); break; - case 2: CallService(MS_CLIST_EXTRA_SET_ICON, (WPARAM) hContact, (LPARAM) &g_IECRateMedium); break; - case 1: CallService(MS_CLIST_EXTRA_SET_ICON, (WPARAM) hContact, (LPARAM) &g_IECRateLow); break; - default: CallService(MS_CLIST_EXTRA_SET_ICON, (WPARAM) hContact, (LPARAM) &g_IECClear); break; - } - } -} - - -int onExtraImageApplying(WPARAM wParam, LPARAM lParam) -{ - setExtaIcon((HANDLE) wParam); - return 0; -} - - -int onExtraImageListRebuild(WPARAM wParam, LPARAM lParam) -{ - g_IECRateHigh.cbSize = sizeof(IconExtraColumn); - g_IECRateHigh.ColumnType = clistIcon; - g_IECRateMedium.cbSize = sizeof(IconExtraColumn); - g_IECRateMedium.ColumnType = clistIcon; - g_IECRateLow.cbSize = sizeof(IconExtraColumn); - g_IECRateLow.ColumnType = clistIcon; - - if (ServiceExists(MS_CLIST_EXTRA_ADD_ICON)) - { - g_IECRateHigh.hImage = (HANDLE)CallService(MS_CLIST_EXTRA_ADD_ICON, (WPARAM)(HICON) CallService(MS_SKIN2_GETICON, 0, (LPARAM)"rate_high"), (LPARAM)0); - g_IECRateMedium.hImage = (HANDLE)CallService(MS_CLIST_EXTRA_ADD_ICON, (WPARAM)(HICON) CallService(MS_SKIN2_GETICON, 0, (LPARAM)"rate_medium"), (LPARAM)0); - g_IECRateLow.hImage = (HANDLE)CallService(MS_CLIST_EXTRA_ADD_ICON, (WPARAM)(HICON) CallService(MS_SKIN2_GETICON, 0, (LPARAM)"rate_low"), (LPARAM)0); - } - return 0; -} - - -static void init_icolib (void) -{ - SKINICONDESC sid = {0}; - char szFile[MAX_PATH]; - sid.cbSize = SKINICONDESC_SIZE_V1; - int i = 0; - - sid.pszSection = Translate("Contact Rate"); - GetModuleFileNameA(g_hInst, szFile, MAX_PATH); - sid.pszDefaultFile = szFile; - - for ( i = 0; i < SIZEOF(iconList); i++ ) { - sid.pszName = iconList[i].szName; - sid.ptszDescription = iconList[i].szDescr; - sid.iDefaultIndex = -iconList[i].defIconID; - iconList[i].hIconLibItem = (HANDLE) CallService(MS_SKIN2_ADDICON, 0, (LPARAM)&sid); - } -} - - -int onModulesLoaded(WPARAM wParam,LPARAM lParam) -{ - //IcoLib support - init_icolib(); - - - // Updater support - // switch off - 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 = strlen((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://kildor.miranda.im/miranda/rate.zip"; - update.szBetaVersionURL = "http://kildor.miranda.im/miranda/rate.txt"; - update.szBetaChangelogURL = "http://kildor.miranda.im/miranda/rate_changes.txt"; - update.pbBetaVersionPrefix = (BYTE *)"Rate "; - update.cpbBetaVersionPrefix = strlen((char *)update.pbBetaVersionPrefix); - - CallService(MS_UPDATE_REGISTER, 0, (WPARAM)&update); - } - - // Extra icon support - hExtraIcon = ExtraIcon_Register("contact_rate", "Contact rate", "rate_high"); - - if (hExtraIcon != NULL) - { - // Set initial value for all contacts - HANDLE hContact = (HANDLE) CallService(MS_DB_CONTACT_FINDFIRST, 0, 0); - while (hContact != NULL) - { - setExtaIcon(hContact, -1, FALSE); - hContact = (HANDLE) CallService(MS_DB_CONTACT_FINDNEXT, (WPARAM) hContact, 0); - } - } - else - { - hOptInitialise = HookEvent(ME_OPT_INITIALISE, onOptInitialise); - 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); - } - - return 0; -} - - -int onContactSettingChanged(WPARAM wParam,LPARAM lParam) -{ - DBCONTACTWRITESETTING *cws=(DBCONTACTWRITESETTING*)lParam; - - if (wParam != NULL && !lstrcmp(cws->szModule,"CList") && !lstrcmp(cws->szSetting,"Rate")) - setExtaIcon((HANDLE)wParam, cws->value.type == DBVT_DELETED ? 0 : cws->value.bVal); - - return 0; -} - - -extern "C" int __declspec(dllexport) Load(PLUGINLINK *link) -{ - pluginLink=link; - - 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); - - 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; -} -- cgit v1.2.3