diff options
Diffstat (limited to 'protocols/AimOscar/src/theme.cpp')
-rw-r--r-- | protocols/AimOscar/src/theme.cpp | 270 |
1 files changed, 0 insertions, 270 deletions
diff --git a/protocols/AimOscar/src/theme.cpp b/protocols/AimOscar/src/theme.cpp deleted file mode 100644 index 762c841a39..0000000000 --- a/protocols/AimOscar/src/theme.cpp +++ /dev/null @@ -1,270 +0,0 @@ -/*
-Plugin of Miranda IM for communicating with users of the AIM protocol.
-Copyright (c) 2008-2009 Boris Krasnovskiy
-Copyright (C) 2005-2006 Aaron Myles Landwehr
-
-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, see <http://www.gnu.org/licenses/>.
-*/
-#include "stdafx.h"
-
-/////////////////////////////////////////////////////////////////////////////////////////
-// Icons init
-
-static IconItem iconList[] =
-{
- { LPGEN("ICQ"), "icq", IDI_ICQ },
- { LPGEN("Add"), "add", IDI_ADD },
- { LPGEN("Block"), "block", IDI_BLOCK },
- { LPGEN("Profile"), "profile", IDI_PROFILE },
- { LPGEN("AOL mail"), "mail", IDI_MAIL },
- { LPGEN("AIM icon"), "aim", IDI_AIM },
- { LPGEN("Hiptop"), "hiptop", IDI_HIPTOP },
- { LPGEN("AOL bot"), "bot", IDI_BOT },
- { LPGEN("Admin"), "admin", IDI_ADMIN },
- { LPGEN("Confirmed"), "confirm", IDI_CONFIRMED },
- { LPGEN("Not confirmed"), "uconfirm", IDI_UNCONFIRMED },
- { LPGEN("Blocked list"), "away", IDI_AWAY },
- { LPGEN("Idle"), "idle", IDI_IDLE },
- { LPGEN("AOL"), "aol", IDI_AOL },
-
- { LPGEN("Foreground color"), "foreclr", IDI_FOREGROUNDCOLOR },
- { LPGEN("Background color"), "backclr", IDI_BACKGROUNDCOLOR },
- { LPGEN("Bold"), "bold", IDI_BOLD },
- { LPGEN("Not bold"), "nbold", IDI_NBOLD },
- { LPGEN("Italic"), "italic", IDI_ITALIC },
- { LPGEN("Not italic"), "nitalic", IDI_NITALIC },
- { LPGEN("Underline"), "undrln", IDI_UNDERLINE },
- { LPGEN("Not underline"), "nundrln", IDI_NUNDERLINE },
- { LPGEN("Subscript"), "sub_scrpt", IDI_SUBSCRIPT },
- { LPGEN("Not subscript"), "nsub_scrpt", IDI_NSUBSCRIPT },
- { LPGEN("Superscript"), "sup_scrpt", IDI_SUPERSCRIPT },
- { LPGEN("Not superscript"), "nsup_scrpt", IDI_NSUPERSCRIPT },
- { LPGEN("Normal script"), "norm_scrpt", IDI_NORMALSCRIPT },
- { LPGEN("Not normal script"), "nnorm_scrpt", IDI_NNORMALSCRIPT }
-};
-
-void InitIcons(void)
-{
- Icon_Register(hInstance, "Protocols/AIM", iconList, 14, "AIM");
- Icon_Register(hInstance, "Protocols/AIM/" LPGEN("Profile editor"), iconList + 14, 14, "AIM");
-}
-
-HICON LoadIconEx(const char *name, bool big)
-{
- char szSettingName[100];
- mir_snprintf(szSettingName, "AIM_%s", name);
- return IcoLib_GetIcon(szSettingName, big);
-}
-
-HANDLE GetIconHandle(const char *name)
-{
- for (int i = 0; i < _countof(iconList); i++)
- if (!mir_strcmp(iconList[i].szName, name))
- return iconList[i].hIcolib;
-
- return nullptr;
-}
-
-void ReleaseIconEx(const char *name, bool big)
-{
- char szSettingName[100];
- mir_snprintf(szSettingName, "%s_%s", "AIM", name);
- IcoLib_Release(szSettingName, big);
-}
-
-/////////////////////////////////////////////////////////////////////////////////////////
-// Extra Icons
-
-extern OBJLIST<CAimProto> g_Instances;
-
-static HANDLE bot_icon, icq_icon, aol_icon, hiptop_icon;
-static HANDLE admin_icon, confirmed_icon, unconfirmed_icon;
-
-static HANDLE hExtraAT, hExtraES;
-
-static const char* extra_AT_icon_name[5] =
-{
- "uconfirm",
- "confirm",
- "icq",
- "aol",
- "admin",
-};
-
-static const char* extra_ES_icon_name[2] =
-{
- "bot",
- "hiptop",
-};
-
-static void set_AT_icon(CAimProto* ppro, MCONTACT hContact)
-{
- if (ppro->isChatRoom(hContact)) return;
-
- unsigned i = ppro->getByte(hContact, AIM_KEY_AC, 0) - 1;
- ExtraIcon_SetIcon(hExtraAT, hContact, (i < 5) ? GetIconHandle(extra_AT_icon_name[i]) : nullptr);
-}
-
-static void set_ES_icon(CAimProto* ppro, MCONTACT hContact)
-{
- if (ppro->isChatRoom(hContact)) return;
-
- unsigned i = ppro->getByte(hContact, AIM_KEY_ET, 0) - 1;
- ExtraIcon_SetIcon(hExtraAT, hContact, (i < 2) ? GetIconHandle(extra_ES_icon_name[i]) : nullptr);
-}
-
-void set_contact_icon(CAimProto* ppro, MCONTACT hContact)
-{
- if (!ppro->getByte(AIM_KEY_AT, 0)) set_AT_icon(ppro, hContact);
- if (!ppro->getByte(AIM_KEY_ES, 0)) set_ES_icon(ppro, hContact);
-}
-
-void remove_AT_icons(CAimProto* ppro)
-{
- for (MCONTACT hContact = db_find_first(ppro->m_szModuleName); hContact; hContact = db_find_next(hContact, ppro->m_szModuleName))
- if (!ppro->isChatRoom(hContact))
- ExtraIcon_Clear(hExtraAT, hContact);
-}
-
-void remove_ES_icons(CAimProto* ppro)
-{
- for (MCONTACT hContact = db_find_first(ppro->m_szModuleName); hContact; hContact = db_find_next(hContact, ppro->m_szModuleName))
- if (!ppro->isChatRoom(hContact))
- ExtraIcon_Clear(hExtraES, hContact);
-}
-
-void add_AT_icons(CAimProto* ppro)
-{
- for (MCONTACT hContact = db_find_first(ppro->m_szModuleName); hContact; hContact = db_find_next(hContact, ppro->m_szModuleName))
- set_AT_icon(ppro, hContact);
-}
-
-void add_ES_icons(CAimProto* ppro)
-{
- for (MCONTACT hContact = db_find_first(ppro->m_szModuleName); hContact; hContact = db_find_next(hContact, ppro->m_szModuleName))
- set_ES_icon(ppro, hContact);
-}
-
-void InitExtraIcons(void)
-{
- hExtraAT = ExtraIcon_RegisterIcolib("aimaccounttype", LPGEN("AIM account type"), "AIM_aol");
- hExtraES = ExtraIcon_RegisterIcolib("aimextstatus", LPGEN("AIM extended status"), "AIM_hiptop");
-}
-
-/////////////////////////////////////////////////////////////////////////////////////////
-// OnPreBuildContactMenu
-
-int CAimProto::OnPreBuildContactMenu(WPARAM hContact, LPARAM)
-{
- bool bIsChatRoom = isChatRoom(hContact);
-
- //see if we should add the html away message context menu items
- Menu_ShowItem(m_hHTMLAwayContextMenuItem, getWord(hContact, AIM_KEY_ST, ID_STATUS_OFFLINE) == ID_STATUS_AWAY && !bIsChatRoom);
- Menu_ShowItem(m_hAddToServerListContextMenuItem, !getBuddyId(hContact, 1) && m_state != 0 && !bIsChatRoom);
-
- ptrA id(getStringA(hContact, AIM_KEY_SN));
- if (id == NULL)
- return 0;
-
- switch (m_pd_mode) {
- case 1:
- Menu_ModifyItem(m_hBlockContextMenuItem, LPGENW("&Block"));
- break;
-
- case 2:
- Menu_ModifyItem(m_hBlockContextMenuItem, LPGENW("&Unblock"));
- break;
-
- case 3:
- Menu_ModifyItem(m_hBlockContextMenuItem, m_allow_list.find_id(id) ? LPGENW("&Block") : LPGENW("&Unblock"));
- break;
-
- case 4:
- Menu_ModifyItem(m_hBlockContextMenuItem, m_block_list.find_id(id) ? LPGENW("&Unblock") : LPGENW("&Block"));
- break;
-
- default:
- Menu_ShowItem(m_hBlockContextMenuItem, false);
- break;
- }
- return 0;
-}
-
-void CAimProto::InitMainMenus(void)
-{
- CMenuItem mi;
- mi.root = Menu_GetProtocolRoot(this);
-
- mi.pszService = "/ManageAccount";
- CreateProtoService(mi.pszService, &CAimProto::ManageAccount);
- mi.position = 201001;
- mi.hIcolibItem = GetIconHandle("aim");
- mi.name.a = LPGEN("Manage account");
- m_hMainMenu[0] = Menu_AddProtoMenuItem(&mi, m_szModuleName);
-
- mi.pszService = "/InstantIdle";
- CreateProtoService(mi.pszService, &CAimProto::InstantIdle);
- mi.position = 201002;
- mi.hIcolibItem = GetIconHandle("idle");
- mi.name.a = LPGEN("Instant idle");
- m_hMainMenu[1] = Menu_AddProtoMenuItem(&mi, m_szModuleName);
-
- mi.pszService = "/JoinChatRoom";
- CreateProtoService(mi.pszService, &CAimProto::JoinChatUI);
- mi.position = 201003;
- mi.hIcolibItem = GetIconHandle("aol");
- mi.name.a = LPGEN("Join chat room");
- m_hMainMenu[2] = Menu_AddProtoMenuItem(&mi, m_szModuleName);
-}
-
-void CAimProto::InitContactMenus(void)
-{
- CMenuItem mi;
-
- SET_UID(mi, 0xb961e2af, 0x87a, 0x4fbf, 0xb5, 0x32, 0x6, 0xe2, 0x18, 0xad, 0x29, 0xac);
- CreateProtoService("/GetHTMLAwayMsg", &CAimProto::GetHTMLAwayMsg);
- mi.pszService = "/GetHTMLAwayMsg";
- mi.position = -2000006000;
- mi.hIcolibItem = GetIconHandle("away");
- mi.name.a = LPGEN("Read &HTML away message");
- mi.flags = CMIF_NOTOFFLINE | CMIF_HIDDEN;
- m_hHTMLAwayContextMenuItem = Menu_AddContactMenuItem(&mi, m_szModuleName);
-
- SET_UID(mi, 0x7f7e4c24, 0x821c, 0x450f, 0x93, 0x76, 0xbe, 0x65, 0xe9, 0x2f, 0xb6, 0xc2);
- CreateProtoService("/GetProfile", &CAimProto::GetProfile);
- mi.pszService = "/GetProfile";
- mi.position = -2000005090;
- mi.hIcolibItem = GetIconHandle("profile");
- mi.name.a = LPGEN("Read profile");
- mi.flags = CMIF_NOTOFFLINE;
- Menu_AddContactMenuItem(&mi, m_szModuleName);
-
- SET_UID(mi, 0x3928ba10, 0x69bc, 0x4ec9, 0x96, 0x48, 0xa4, 0x1b, 0xbe, 0x58, 0x4a, 0x7e);
- CreateProtoService("/AddToServerList", &CAimProto::AddToServerList);
- mi.pszService = "/AddToServerList";
- mi.position = -2000005080;
- mi.hIcolibItem = GetIconHandle("add");
- mi.name.a = LPGEN("Add to server list");
- mi.flags = CMIF_NOTONLINE | CMIF_HIDDEN;
- m_hAddToServerListContextMenuItem = Menu_AddContactMenuItem(&mi, m_szModuleName);
-
- SET_UID(mi, 0xc6169b8f, 0x53ab, 0x4242, 0xbe, 0x90, 0xe2, 0x4a, 0xa5, 0x73, 0x88, 0x32);
- CreateProtoService("/BlockCommand", &CAimProto::BlockBuddy);
- mi.pszService = "/BlockCommand";
- mi.position = -2000005060;
- mi.hIcolibItem = GetIconHandle("block");
- mi.name.a = LPGEN("&Block");
- mi.flags = CMIF_HIDDEN;
- m_hBlockContextMenuItem = Menu_AddContactMenuItem(&mi, m_szModuleName);
-}
|