From 56eb98aae89ed7c503b1e776625a0347786fc85c Mon Sep 17 00:00:00 2001 From: George Hazan Date: Thu, 20 Sep 2012 19:15:17 +0000 Subject: mra icons are global now git-svn-id: http://svn.miranda-ng.org/main/trunk@1611 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/MRA/Mra.cpp | 7 ++- protocols/MRA/Mra.h | 23 +++----- protocols/MRA/MraIcons.cpp | 127 ++++++++++++++++++++++++++++++++++------ protocols/MRA/MraProto.cpp | 10 +--- protocols/MRA/MraProto.h | 11 +--- protocols/MRA/Mra_functions.cpp | 55 +---------------- protocols/MRA/Mra_svcs.cpp | 50 +--------------- 7 files changed, 130 insertions(+), 153 deletions(-) (limited to 'protocols') diff --git a/protocols/MRA/Mra.cpp b/protocols/MRA/Mra.cpp index 92a361ce61..52d05db75f 100644 --- a/protocols/MRA/Mra.cpp +++ b/protocols/MRA/Mra.cpp @@ -17,9 +17,10 @@ PLUGININFOEX pluginInfoEx = { { 0xe7c48bab, 0x8ace, 0x4cb3, { 0x84, 0x46, 0xd4, 0xb7, 0x34, 0x81, 0xf4, 0x97 } } }; +void IconsLoad(); -int OnModulesLoaded (WPARAM wParam, LPARAM lParam); -int OnPreShutdown (WPARAM wParam, LPARAM lParam); +int OnModulesLoaded(WPARAM wParam, LPARAM lParam); +int OnPreShutdown(WPARAM wParam, LPARAM lParam); BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID Reserved) { @@ -76,6 +77,8 @@ extern "C" MRA_API int Load(void) { mir_getLP(&pluginInfoEx); + IconsLoad(); + size_t dwBuffLen; WCHAR szBuff[MAX_FILEPATH]; LPSTR lpszFullFileName = (LPSTR)szBuff; diff --git a/protocols/MRA/Mra.h b/protocols/MRA/Mra.h index 0d4857d2d3..0374b4afa2 100644 --- a/protocols/MRA/Mra.h +++ b/protocols/MRA/Mra.h @@ -127,10 +127,11 @@ struct MRA_ADDR_LIST // структура содержащая информацию по построению меню или расширеных иконок struct GUI_DISPLAY_ITEM { - LPSTR lpszName; // имя сервиса, оно же имя в иколибе - LPWSTR lpwszDescr; // текстовое описание отображаемое юзеру - LONG defIcon; // иконка из ресурсов - ServiceFunc lpFunc; // функция вызываемая меню + LPSTR lpszName; // имя сервиса, оно же имя в иколибе + LPWSTR lpwszDescr; // текстовое описание отображаемое юзеру + LONG defIcon; // иконка из ресурсов + ServiceFunc lpFunc; // функция вызываемая меню + HANDLE hIconHandle; }; // структура содержащая информацию о сервисах/функциях @@ -140,13 +141,9 @@ struct SERVICE_ITEM ServiceFunc lpFunc; // функция вызываемая }; -extern const GUI_DISPLAY_ITEM gdiMenuItems[]; -extern const GUI_DISPLAY_ITEM gdiContactMenuItems[]; -extern const GUI_DISPLAY_ITEM gdiExtraStatusIconsItems[]; - -extern const int gdiMenuItemsCount; -extern const int gdiContactMenuItemsCount; -extern const int gdiExtraStatusIconsItemsCount; +extern GUI_DISPLAY_ITEM gdiMenuItems[]; +extern GUI_DISPLAY_ITEM gdiContactMenuItems[]; +extern GUI_DISPLAY_ITEM gdiExtraStatusIconsItems[]; #include "proto.h" #include "MraSendCommand.h" @@ -271,8 +268,4 @@ DWORD GetMraStatusFromMiradaStatus (DWORD dwMirandaStatus, DWORD dwXStatusMi DWORD GetMiradaStatusFromMraStatus (DWORD dwMraStatus, DWORD dwXStatusMra, DWORD *pdwXStatusMir); DWORD GetMraXStatusIDFromMraUriStatus (LPSTR lpszStatusUri, size_t dwStatusUriSize); - - - - #endif // !defined(AFX_MRA_H__F58D13FF_F6F2_476C_B8F0_7B9E9357CF48__INCLUDED_) diff --git a/protocols/MRA/MraIcons.cpp b/protocols/MRA/MraIcons.cpp index d45e03bd73..9477215bff 100644 --- a/protocols/MRA/MraIcons.cpp +++ b/protocols/MRA/MraIcons.cpp @@ -1,7 +1,51 @@ #include "Mra.h" #include "MraIcons.h" -void CMraProto::AddIcoLibItems(LPWSTR lpwszRootSectionName, LPWSTR lpwszSubSectionName, const GUI_DISPLAY_ITEM *pgdiItems, size_t dwCount, HANDLE *hResult) +GUI_DISPLAY_ITEM gdiMenuItems[] = +{ + { MRA_GOTO_INBOX, MRA_GOTO_INBOX_STR, IDI_INBOX, &CMraProto::MraGotoInbox }, + { MRA_SHOW_INBOX_STATUS, MRA_SHOW_INBOX_STATUS_STR, IDI_MAIL_NOTIFY, &CMraProto::MraShowInboxStatus }, + { MRA_EDIT_PROFILE, MRA_EDIT_PROFILE_STR, IDI_PROFILE, &CMraProto::MraEditProfile }, + { MRA_MY_ALBUM, MRA_MY_ALBUM_STR, IDI_MRA_PHOTO, &CMraProto::MyAlbum }, + { MRA_MY_BLOG, MRA_MY_BLOG_STR, IDI_MRA_BLOGS, &CMraProto::MyBlog }, + { MRA_MY_BLOGSTATUS, MRA_MY_BLOGSTATUS_STR, IDI_BLOGSTATUS, &CMraProto::MyBlogStatus }, + { MRA_MY_VIDEO, MRA_MY_VIDEO_STR, IDI_MRA_VIDEO, &CMraProto::MyVideo }, + { MRA_MY_ANSWERS, MRA_MY_ANSWERS_STR, IDI_MRA_ANSWERS, &CMraProto::MyAnswers }, + { MRA_MY_WORLD, MRA_MY_WORLD_STR, IDI_MRA_WORLD, &CMraProto::MyWorld }, + { MRA_ZHUKI, MRA_ZHUKI_STR, IDI_MRA_ZHUKI, &CMraProto::MraZhuki }, + { MRA_CHAT, MRA_CHAT_STR, IDI_MRA_CHAT, &CMraProto::MraChat }, + { MRA_WEB_SEARCH, MRA_WEB_SEARCH_STR, IDI_MRA_WEB_SEARCH, &CMraProto::MraWebSearch }, + { MRA_UPD_ALL_USERS_INFO, MRA_UPD_ALL_USERS_INFO_STR, IDI_PROFILE, &CMraProto::MraUpdateAllUsersInfo }, + { MRA_CHK_USERS_AVATARS, MRA_CHK_USERS_AVATARS_STR, IDI_PROFILE, &CMraProto::MraCheckUpdatesUsersAvt }, + { MRA_REQ_AUTH_FOR_ALL, MRA_REQ_AUTH_FOR_ALL_STR, IDI_AUTHRUGUEST, &CMraProto::MraRequestAuthForAll } +}; + +GUI_DISPLAY_ITEM gdiContactMenuItems[] = +{ + { MRA_REQ_AUTH, MRA_REQ_AUTH_STR, IDI_AUTHRUGUEST, &CMraProto::MraRequestAuthorization }, + { MRA_GRANT_AUTH, MRA_GRANT_AUTH_STR, IDI_AUTHGRANT, &CMraProto::MraGrantAuthorization }, + { MRA_SEND_POSTCARD, MRA_SEND_POSTCARD_STR, IDI_MRA_POSTCARD, &CMraProto::MraSendPostcard }, + { MRA_VIEW_ALBUM, MRA_VIEW_ALBUM_STR, IDI_MRA_PHOTO, &CMraProto::MraViewAlbum }, + { MRA_READ_BLOG, MRA_READ_BLOG_STR , IDI_MRA_BLOGS, &CMraProto::MraReadBlog }, + { MRA_REPLY_BLOG_STATUS, MRA_REPLY_BLOG_STATUS_STR, IDI_BLOGSTATUS, &CMraProto::MraReplyBlogStatus }, + { MRA_VIEW_VIDEO, MRA_VIEW_VIDEO_STR, IDI_MRA_VIDEO, &CMraProto::MraViewVideo }, + { MRA_ANSWERS, MRA_ANSWERS_STR, IDI_MRA_ANSWERS, &CMraProto::MraAnswers }, + { MRA_WORLD, MRA_WORLD_STR, IDI_MRA_WORLD, &CMraProto::MraWorld }, + { MRA_SEND_NUDGE, MRA_SENDNUDGE_STR, IDI_MRA_ALARM, NULL } +}; + +GUI_DISPLAY_ITEM gdiExtraStatusIconsItems[] = +{ + { ADV_ICON_DELETED_ID, ADV_ICON_DELETED_STR, (INT_PTR)IDI_ERROR, NULL }, + { ADV_ICON_NOT_ON_SERVER_ID, ADV_ICON_NOT_ON_SERVER_STR, IDI_AUTHGRANT, NULL }, + { ADV_ICON_NOT_AUTHORIZED_ID, ADV_ICON_NOT_AUTHORIZED_STR, IDI_AUTHRUGUEST, NULL }, + { ADV_ICON_PHONE_ID, ADV_ICON_PHONE_STR, IDI_MRA_PHONE, NULL }, + { ADV_ICON_BLOGSTATUS_ID, ADV_ICON_BLOGSTATUS_STR, IDI_BLOGSTATUS, NULL }, +}; + +////////////////////////////////////////////////////////////////////////////////////// + +static void AddIcoLibItems(LPWSTR lpwszSubSectionName, GUI_DISPLAY_ITEM *pgdiItems, size_t dwCount) { char szBuff[MAX_PATH]; WCHAR wszSection[MAX_PATH], wszPath[MAX_FILEPATH]; @@ -15,16 +59,16 @@ void CMraProto::AddIcoLibItems(LPWSTR lpwszRootSectionName, LPWSTR lpwszSubSecti if (lpwszSubSectionName == NULL) lpwszSubSectionName = L""; GetModuleFileName(masMraSettings.hInstance, wszPath, SIZEOF(wszPath)); - mir_sntprintf(wszSection, SIZEOF(wszSection), L"%s%s%s", lpwszRootSectionName, m_tszUserName, lpwszSubSectionName); + mir_sntprintf(wszSection, SIZEOF(wszSection), L"Protocols/MRA/%s", lpwszSubSectionName); for (size_t i = 0;ippro->hMainMenuIcons[5])); + SendMessage(hWndDlg, WM_SETICON, ICON_BIG, (LPARAM)IconLibGetIcon(gdiMenuItems[5].hIconHandle)); // blog status message if (dat->ppro->mraGetStaticStringW(dat->hContact, DBSETTING_BLOGSTATUS, szBuff, SIZEOF(szBuff), NULL)) diff --git a/protocols/MRA/Mra_svcs.cpp b/protocols/MRA/Mra_svcs.cpp index 426343ebbd..a69220a1d8 100644 --- a/protocols/MRA/Mra_svcs.cpp +++ b/protocols/MRA/Mra_svcs.cpp @@ -1,54 +1,6 @@ #include "Mra.h" #include "proto.h" -const GUI_DISPLAY_ITEM gdiMenuItems[] = -{ - { MRA_GOTO_INBOX, MRA_GOTO_INBOX_STR, IDI_INBOX, &CMraProto::MraGotoInbox }, - { MRA_SHOW_INBOX_STATUS, MRA_SHOW_INBOX_STATUS_STR, IDI_MAIL_NOTIFY, &CMraProto::MraShowInboxStatus }, - { MRA_EDIT_PROFILE, MRA_EDIT_PROFILE_STR, IDI_PROFILE, &CMraProto::MraEditProfile }, - { MRA_MY_ALBUM, MRA_MY_ALBUM_STR, IDI_MRA_PHOTO, &CMraProto::MyAlbum }, - { MRA_MY_BLOG, MRA_MY_BLOG_STR, IDI_MRA_BLOGS, &CMraProto::MyBlog }, - { MRA_MY_BLOGSTATUS, MRA_MY_BLOGSTATUS_STR, IDI_BLOGSTATUS, &CMraProto::MyBlogStatus }, - { MRA_MY_VIDEO, MRA_MY_VIDEO_STR, IDI_MRA_VIDEO, &CMraProto::MyVideo }, - { MRA_MY_ANSWERS, MRA_MY_ANSWERS_STR, IDI_MRA_ANSWERS, &CMraProto::MyAnswers }, - { MRA_MY_WORLD, MRA_MY_WORLD_STR, IDI_MRA_WORLD, &CMraProto::MyWorld }, - { MRA_ZHUKI, MRA_ZHUKI_STR, IDI_MRA_ZHUKI, &CMraProto::MraZhuki }, - { MRA_CHAT, MRA_CHAT_STR, IDI_MRA_CHAT, &CMraProto::MraChat }, - { MRA_WEB_SEARCH, MRA_WEB_SEARCH_STR, IDI_MRA_WEB_SEARCH, &CMraProto::MraWebSearch }, - { MRA_UPD_ALL_USERS_INFO, MRA_UPD_ALL_USERS_INFO_STR, IDI_PROFILE, &CMraProto::MraUpdateAllUsersInfo }, - { MRA_CHK_USERS_AVATARS, MRA_CHK_USERS_AVATARS_STR, IDI_PROFILE, &CMraProto::MraCheckUpdatesUsersAvt }, - { MRA_REQ_AUTH_FOR_ALL, MRA_REQ_AUTH_FOR_ALL_STR, IDI_AUTHRUGUEST, &CMraProto::MraRequestAuthForAll } -}; - -const int gdiMenuItemsCount = SIZEOF(gdiMenuItems); - -const GUI_DISPLAY_ITEM gdiContactMenuItems[] = -{ - { MRA_REQ_AUTH, MRA_REQ_AUTH_STR, IDI_AUTHRUGUEST, &CMraProto::MraRequestAuthorization }, - { MRA_GRANT_AUTH, MRA_GRANT_AUTH_STR, IDI_AUTHGRANT, &CMraProto::MraGrantAuthorization }, - { MRA_SEND_POSTCARD, MRA_SEND_POSTCARD_STR, IDI_MRA_POSTCARD, &CMraProto::MraSendPostcard }, - { MRA_VIEW_ALBUM, MRA_VIEW_ALBUM_STR, IDI_MRA_PHOTO, &CMraProto::MraViewAlbum }, - { MRA_READ_BLOG, MRA_READ_BLOG_STR , IDI_MRA_BLOGS, &CMraProto::MraReadBlog }, - { MRA_REPLY_BLOG_STATUS, MRA_REPLY_BLOG_STATUS_STR, IDI_BLOGSTATUS, &CMraProto::MraReplyBlogStatus }, - { MRA_VIEW_VIDEO, MRA_VIEW_VIDEO_STR, IDI_MRA_VIDEO, &CMraProto::MraViewVideo }, - { MRA_ANSWERS, MRA_ANSWERS_STR, IDI_MRA_ANSWERS, &CMraProto::MraAnswers }, - { MRA_WORLD, MRA_WORLD_STR, IDI_MRA_WORLD, &CMraProto::MraWorld }, - { MRA_SEND_NUDGE, MRA_SENDNUDGE_STR, IDI_MRA_ALARM, NULL } -}; - -const int gdiContactMenuItemsCount = SIZEOF(gdiContactMenuItems); - -const GUI_DISPLAY_ITEM gdiExtraStatusIconsItems[] = -{ - { ADV_ICON_DELETED_ID, ADV_ICON_DELETED_STR, (INT_PTR)IDI_ERROR, NULL }, - { ADV_ICON_NOT_ON_SERVER_ID, ADV_ICON_NOT_ON_SERVER_STR, IDI_AUTHGRANT, NULL }, - { ADV_ICON_NOT_AUTHORIZED_ID, ADV_ICON_NOT_AUTHORIZED_STR, IDI_AUTHRUGUEST, NULL }, - { ADV_ICON_PHONE_ID, ADV_ICON_PHONE_STR, IDI_MRA_PHONE, NULL }, - { ADV_ICON_BLOGSTATUS_ID, ADV_ICON_BLOGSTATUS_STR, IDI_BLOGSTATUS, NULL }, -}; - -const int gdiExtraStatusIconsItemsCount = SIZEOF(gdiExtraStatusIconsItems); - const LPSTR lpcszStatusUri[] = { "", // offline // "status_0", @@ -742,7 +694,7 @@ int CMraProto::MraExtraIconsApply(WPARAM wParam, LPARAM lParam) int CMraProto::MraExtraIconsRebuild(WPARAM wParam, LPARAM lParam) { for (size_t i = 0; i < ADV_ICON_MAX; i++) - hAdvancedStatusItems[i] = (HANDLE)CallService(MS_CLIST_EXTRA_ADD_ICON, (WPARAM)IconLibGetIcon(hAdvancedStatusIcons[i]), 0); + hAdvancedStatusItems[i] = (HANDLE)CallService(MS_CLIST_EXTRA_ADD_ICON, (WPARAM)IconLibGetIcon(gdiExtraStatusIconsItems[i].hIconHandle), 0); for (size_t i = 0; i < MRA_XSTATUS_COUNT+1; i++) hXStatusAdvancedStatusItems[i] = (HANDLE)CallService(MS_CLIST_EXTRA_ADD_ICON, (WPARAM)IconLibGetIcon(hXStatusAdvancedStatusIcons[i]), 0); -- cgit v1.2.3