From c4582dd65b444e5dae29ada7cc3f6c9a9c20edf3 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sun, 2 Dec 2012 18:19:49 +0000 Subject: new easy standard way of registering icons: Icon_Register git-svn-id: http://svn.miranda-ng.org/main/trunk@2601 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/AimOscar/src/theme.cpp | 64 +++------- protocols/FacebookRM/src/theme.cpp | 76 +++--------- protocols/Gadu-Gadu/src/icolib.cpp | 31 +---- protocols/IRCG/src/irc.h | 3 +- protocols/IRCG/src/ircproto.cpp | 1 - protocols/IRCG/src/main.cpp | 4 +- protocols/IRCG/src/options.cpp | 76 ++++-------- protocols/JabberG/src/jabber_icolib.cpp | 212 ++++++++++---------------------- protocols/JabberG/src/jabber_proto.cpp | 1 - protocols/JabberG/src/jabber_proto.h | 2 +- protocols/MSN/src/msn_opts.cpp | 57 +++------ protocols/Omegle/src/theme.cpp | 46 +------ protocols/Tlen/src/tlen.cpp | 67 +++------- protocols/Twitter/src/theme.cpp | 65 ++-------- protocols/Xfire/src/main.cpp | 14 +-- protocols/Yahoo/src/icolib.cpp | 28 +---- 16 files changed, 180 insertions(+), 567 deletions(-) (limited to 'protocols') diff --git a/protocols/AimOscar/src/theme.cpp b/protocols/AimOscar/src/theme.cpp index 69fbe08a0f..45bb443376 100644 --- a/protocols/AimOscar/src/theme.cpp +++ b/protocols/AimOscar/src/theme.cpp @@ -26,15 +26,7 @@ along with this program. If not, see . ///////////////////////////////////////////////////////////////////////////////////////// // Icons init -struct _tag_iconList -{ - const char* szDescr; - const char* szName; - int defIconID; - const char* szSection; - HANDLE hIcolib; -} -static iconList[] = +static IconItem iconList[] = { { LPGEN("ICQ"), "icq", IDI_ICQ }, { LPGEN("Add"), "add", IDI_ADD }, @@ -51,48 +43,26 @@ static iconList[] = { LPGEN("Idle"), "idle", IDI_IDLE }, { LPGEN("AOL"), "aol", IDI_AOL }, - { LPGEN("Foreground Color"), "foreclr", IDI_FOREGROUNDCOLOR, LPGEN("Profile Editor") }, - { LPGEN("Background Color"), "backclr", IDI_BACKGROUNDCOLOR, LPGEN("Profile Editor") }, - { LPGEN("Bold"), "bold", IDI_BOLD, LPGEN("Profile Editor") }, - { LPGEN("Not Bold"), "nbold", IDI_NBOLD, LPGEN("Profile Editor") }, - { LPGEN("Italic"), "italic", IDI_ITALIC, LPGEN("Profile Editor") }, - { LPGEN("Not Italic"), "nitalic", IDI_NITALIC, LPGEN("Profile Editor") }, - { LPGEN("Underline"), "undrln", IDI_UNDERLINE, LPGEN("Profile Editor") }, - { LPGEN("Not Underline"), "nundrln", IDI_NUNDERLINE, LPGEN("Profile Editor") }, - { LPGEN("Subscript"), "sub_scrpt", IDI_SUBSCRIPT, LPGEN("Profile Editor") }, - { LPGEN("Not Subscript"), "nsub_scrpt", IDI_NSUBSCRIPT, LPGEN("Profile Editor") }, - { LPGEN("Superscript"), "sup_scrpt", IDI_SUPERSCRIPT, LPGEN("Profile Editor") }, - { LPGEN("Not Superscript"), "nsup_scrpt", IDI_NSUPERSCRIPT, LPGEN("Profile Editor") }, - { LPGEN("Normal Script"), "norm_scrpt", IDI_NORMALSCRIPT, LPGEN("Profile Editor") }, - { LPGEN("Not Normal Script"), "nnorm_scrpt", IDI_NNORMALSCRIPT, LPGEN("Profile Editor") }, + { 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) { - TCHAR szFile[MAX_PATH]; - GetModuleFileName(hInstance, szFile, SIZEOF(szFile)); - - char szSettingName[100]; - char szSectionName[100]; - - SKINICONDESC sid = { sizeof(sid) }; - sid.ptszDefaultFile = szFile; - sid.pszName = szSettingName; - sid.pszSection = szSectionName; - sid.flags = SIDF_PATH_TCHAR; - - for (int i = 0; i < SIZEOF(iconList); i++) { - mir_snprintf(szSettingName, sizeof(szSettingName), "AIM_%s", iconList[i].szName); - - if (iconList[i].szSection) - mir_snprintf(szSectionName, sizeof(szSectionName), "%s/%s/%s", LPGEN("Protocols"), LPGEN("AIM"), iconList[i].szSection); - else - mir_snprintf(szSectionName, sizeof(szSectionName), "%s/%s", LPGEN("Protocols"), LPGEN("AIM")); - - sid.pszDescription = (char*)iconList[i].szDescr; - sid.iDefaultIndex = -iconList[i].defIconID; - iconList[i].hIcolib = Skin_AddIcon(&sid); - } + Icon_Register(hInstance, "Protocols/AIM", iconList, 14, "AIM"); + Icon_Register(hInstance, "Protocols/AIM/Profile Editor", iconList+14, 14, "AIM"); } HICON LoadIconEx(const char* name, bool big) diff --git a/protocols/FacebookRM/src/theme.cpp b/protocols/FacebookRM/src/theme.cpp index 78e21a18f1..e29f5f727d 100644 --- a/protocols/FacebookRM/src/theme.cpp +++ b/protocols/FacebookRM/src/theme.cpp @@ -24,85 +24,41 @@ along with this program. If not, see . extern OBJLIST g_Instances; -struct +static IconItem icons[] = { - const char* name; - char* descr; - int defIconID; - const char* section; -} -static const icons[] = -{ - { "facebook", LPGEN("Facebook Icon"), IDI_FACEBOOK }, - { "mind", LPGEN("Mind"), IDI_MIND }, + { LPGEN("Facebook Icon"), "facebook", IDI_FACEBOOK }, + { LPGEN("Mind"), "mind", IDI_MIND }, - { "authRevoke", LPGEN("Cancel friendship"), IDI_AUTH_REVOKE }, - { "authRevokeReq", LPGEN("Cancel friendship request"), IDI_AUTH_REVOKE }, - { "authAsk", LPGEN("Request friendship"), IDI_AUTH_ASK }, - { "authGrant", LPGEN("Approve friendship"), IDI_AUTH_GRANT }, + { LPGEN("Cancel friendship"), "authRevoke", IDI_AUTH_REVOKE }, + { LPGEN("Cancel friendship request"), "authRevokeReq", IDI_AUTH_REVOKE }, + { LPGEN("Request friendship"), "authAsk", IDI_AUTH_ASK }, + { LPGEN("Approve friendship"), "authGrant", IDI_AUTH_GRANT }, - { "homepage", LPGEN("Visit Profile"), 0, "core_main_2" }, + { LPGEN("Visit Profile"), "homepage", 0 }, }; -static HANDLE hIconLibItem[SIZEOF(icons)]; - // TODO: uninit void InitIcons(void) { - TCHAR szFile[MAX_PATH]; - GetModuleFileName(g_hInstance, szFile, SIZEOF(szFile)); - - char setting_name[100]; - char section_name[100]; - - SKINICONDESC sid = { sizeof(sid) }; - sid.ptszDefaultFile = szFile; - sid.cx = sid.cy = 16; - sid.pszName = setting_name; - sid.pszSection = section_name; - sid.flags = SIDF_PATH_TCHAR; - - for (int i=0; i g_Instances; diff --git a/protocols/MSN/src/msn_opts.cpp b/protocols/MSN/src/msn_opts.cpp index bac6553e8f..30e74d4d36 100644 --- a/protocols/MSN/src/msn_opts.cpp +++ b/protocols/MSN/src/msn_opts.cpp @@ -27,52 +27,25 @@ along with this program. If not, see . ///////////////////////////////////////////////////////////////////////////////////////// // Icons init -struct _tag_iconList +static IconItem iconList[] = { - const char* szDescr; - const char* szName; - int defIconID; -} -static const iconList[] = -{ - { LPGEN("Protocol icon"), "main", IDI_MSN }, - { LPGEN("Hotmail Inbox"), "inbox", IDI_INBOX }, - { LPGEN("Profile"), "profile", IDI_PROFILE }, - { LPGEN("MSN Services"), "services", IDI_SERVICES }, - { LPGEN("Block user"), "block", IDI_MSNBLOCK }, - { LPGEN("Invite to chat"), "invite", IDI_INVITE }, - { LPGEN("Start Netmeeting"), "netmeeting", IDI_NETMEETING }, - { LPGEN("Contact list"), "list_fl", IDI_LIST_FL }, - { LPGEN("Allowed list"), "list_al", IDI_LIST_AL }, - { LPGEN("Blocked list"), "list_bl", IDI_LIST_BL }, - { LPGEN("Relative list"), "list_rl", IDI_LIST_RL }, - { LPGEN("Local list"), "list_lc", IDI_LIST_LC }, + { LPGEN("Protocol icon"), "main", IDI_MSN }, + { LPGEN("Hotmail Inbox"), "inbox", IDI_INBOX }, + { LPGEN("Profile"), "profile", IDI_PROFILE }, + { LPGEN("MSN Services"), "services", IDI_SERVICES }, + { LPGEN("Block user"), "block", IDI_MSNBLOCK }, + { LPGEN("Invite to chat"), "invite", IDI_INVITE }, + { LPGEN("Start Netmeeting"), "netmeeting", IDI_NETMEETING }, + { LPGEN("Contact list"), "list_fl", IDI_LIST_FL }, + { LPGEN("Allowed list"), "list_al", IDI_LIST_AL }, + { LPGEN("Blocked list"), "list_bl", IDI_LIST_BL }, + { LPGEN("Relative list"), "list_rl", IDI_LIST_RL }, + { LPGEN("Local list"), "list_lc", IDI_LIST_LC }, }; -HANDLE hIconLibItem[SIZEOF(iconList)]; - - void MsnInitIcons(void) { - TCHAR szFile[MAX_PATH]; - GetModuleFileName(hInst, szFile, SIZEOF(szFile)); - - char szSectionName[100]; - mir_snprintf(szSectionName, sizeof(szSectionName), "%s/%s", LPGEN("Protocols"), LPGEN("MSN")); - - SKINICONDESC sid = { sizeof(sid) }; - sid.ptszDefaultFile = szFile; - sid.pszSection = szSectionName; - sid.flags = SIDF_PATH_TCHAR; - - for (int i = 0; i < SIZEOF(iconList); i++) { - char szSettingName[100]; - mir_snprintf(szSettingName, sizeof(szSettingName), "MSN_%s", iconList[i].szName); - sid.pszName = szSettingName; - sid.pszDescription = (char*)iconList[i].szDescr; - sid.iDefaultIndex = -iconList[i].defIconID; - hIconLibItem[i] = Skin_AddIcon(&sid); - } + Icon_Register(hInst, "Protocols/MSN", iconList, SIZEOF(iconList), "MSN"); } HICON LoadIconEx(const char* name, bool big) @@ -86,7 +59,7 @@ HANDLE GetIconHandle(int iconId) { for (unsigned i=0; i < SIZEOF(iconList); i++) if (iconList[i].defIconID == iconId) - return hIconLibItem[i]; + return iconList[i].hIcolib; return NULL; } diff --git a/protocols/Omegle/src/theme.cpp b/protocols/Omegle/src/theme.cpp index 04ab200f66..202d58791e 100644 --- a/protocols/Omegle/src/theme.cpp +++ b/protocols/Omegle/src/theme.cpp @@ -24,63 +24,23 @@ along with this program. If not, see . extern OBJLIST g_Instances; -struct -{ - const char* name; - const char* descr; - int defIconID; - const char* section; -} -static const icons[] = +static IconItem icons[] = { { "omegle", LPGEN("Omegle Icon"), IDI_OMEGLE }, -// { "homepage", LPGEN("Visit Profile"), 0, "core_main_2" }, }; static HANDLE hIconLibItem[SIZEOF(icons)]; -// TODO: uninit void InitIcons(void) { - TCHAR szFile[MAX_PATH]; - GetModuleFileName(g_hInstance, szFile, SIZEOF(szFile)); - - char setting_name[100]; - char section_name[100]; - - SKINICONDESC sid = { sizeof(sid) }; - sid.ptszDefaultFile = szFile; - sid.cx = sid.cy = 16; - sid.pszName = setting_name; - sid.pszSection = section_name; - sid.flags = SIDF_PATH_TCHAR; - - for (int i=0; i. extern OBJLIST g_Instances; -struct +static IconItem icons[] = { - const char* name; - const char* descr; - int defIconID; - const char* section; -} -static const icons[] = -{ - { "twitter", "Twitter Icon", IDI_TWITTER }, - { "tweet", "Tweet", IDI_TWITTER }, - { "reply", "Reply to Tweet", IDI_TWITTER }, + { LPGEN("Twitter Icon"), "twitter", IDI_TWITTER }, + { LPGEN("Tweet"), "tweet", IDI_TWITTER }, + { LPGEN("Reply to Tweet"), "reply", IDI_TWITTER }, - { "homepage", "Visit Homepage", 0, "core_main_2" }, + { LPGEN("Visit Homepage"), "homepage", 0 }, }; static HANDLE hIconLibItem[SIZEOF(icons)]; @@ -41,59 +34,19 @@ static HANDLE hIconLibItem[SIZEOF(icons)]; // TODO: uninit void InitIcons(void) { - TCHAR szFile[MAX_PATH]; - GetModuleFileName(g_hInstance, szFile, SIZEOF(szFile)); - - char setting_name[100]; - char section_name[100]; - - SKINICONDESC sid = { sizeof(sid) }; - sid.ptszDefaultFile = szFile; - sid.cx = sid.cy = 16; - sid.pszName = setting_name; - sid.pszSection = section_name; - sid.flags = SIDF_PATH_TCHAR; - - for (int i=0; i