summaryrefslogtreecommitdiff
path: root/protocols/Twitter/theme.cpp
diff options
context:
space:
mode:
authorKirill Volinsky <mataes2007@gmail.com>2012-10-13 18:34:25 +0000
committerKirill Volinsky <mataes2007@gmail.com>2012-10-13 18:34:25 +0000
commit1a9f50fcbc79413ccc669349b682aa6a6ebb398b (patch)
treea7673155e97d56f5714a5f9cb3e74f941e961346 /protocols/Twitter/theme.cpp
parent5aa2a6fdad72feeff99041bfdf17fd607a45033a (diff)
Twitter: folders restructurization
git-svn-id: http://svn.miranda-ng.org/main/trunk@1909 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'protocols/Twitter/theme.cpp')
-rw-r--r--protocols/Twitter/theme.cpp179
1 files changed, 0 insertions, 179 deletions
diff --git a/protocols/Twitter/theme.cpp b/protocols/Twitter/theme.cpp
deleted file mode 100644
index 11dea3cb44..0000000000
--- a/protocols/Twitter/theme.cpp
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
-Copyright © 2009 Jim Porter
-
-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 "theme.h"
-#include "proto.h"
-
-extern OBJLIST<TwitterProto> g_Instances;
-
-struct
-{
- 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 },
-
- { "homepage", "Visit Homepage", 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 = {0};
- sid.cbSize = sizeof(SKINICONDESC);
- 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<SIZEOF(icons); i++)
- {
- if(icons[i].defIconID)
- {
- mir_snprintf(setting_name,sizeof(setting_name),"%s_%s","Twitter",icons[i].name);
-
- if (icons[i].section)
- {
- mir_snprintf(section_name,sizeof(section_name),"%s/%s/%s",LPGEN("Protocols"),
- LPGEN("Twitter"), icons[i].section);
- }
- else
- {
- mir_snprintf(section_name,sizeof(section_name),"%s/%s",LPGEN("Protocols"),
- LPGEN("Twitter"));
- }
-
- sid.pszDescription = (char*)icons[i].descr;
- sid.iDefaultIndex = -icons[i].defIconID;
- hIconLibItem[i] = Skin_AddIcon(&sid);
- }
- else // External icons
- {
- hIconLibItem[i] = (HANDLE)CallService(MS_SKIN2_GETICONHANDLE,0,
- (LPARAM)icons[i].section);
- }
- }
-}
-
-HANDLE GetIconHandle(const char* name)
-{
- for(size_t i=0; i<SIZEOF(icons); i++)
- {
- if(strcmp(icons[i].name,name) == 0)
- return hIconLibItem[i];
- }
- return 0;
-}
-
-
-
-// Contact List menu stuff
-static HANDLE g_hMenuItems[2];
-static HANDLE g_hMenuEvts[3];
-
-// Helper functions
-static TwitterProto * GetInstanceByHContact(HANDLE hContact)
-{
- char *proto = reinterpret_cast<char*>( CallService(MS_PROTO_GETCONTACTBASEPROTO,
- reinterpret_cast<WPARAM>(hContact),0));
- if(!proto)
- return 0;
-
- for(int i=0; i<g_Instances.getCount(); i++)
- if(!strcmp(proto,g_Instances[i].m_szModuleName))
- return &g_Instances[i];
-
- return 0;
-}
-
-template<int (__cdecl TwitterProto::*Fcn)(WPARAM,LPARAM)>
-INT_PTR GlobalService(WPARAM wParam,LPARAM lParam)
-{
- TwitterProto *proto = GetInstanceByHContact(reinterpret_cast<HANDLE>(wParam));
- return proto ? (proto->*Fcn)(wParam,lParam) : 0;
-}
-
-static int PrebuildContactMenu(WPARAM wParam,LPARAM lParam)
-{
- ShowContactMenus(false);
-
- TwitterProto *proto = GetInstanceByHContact(reinterpret_cast<HANDLE>(wParam));
- return proto ? proto->OnPrebuildContactMenu(wParam,lParam) : 0;
-}
-
-void InitContactMenus()
-{
- g_hMenuEvts[0] = HookEvent(ME_CLIST_PREBUILDCONTACTMENU,
- PrebuildContactMenu);
-
- CLISTMENUITEM mi = {sizeof(mi)};
- mi.flags = CMIF_NOTOFFLINE | CMIF_ICONFROMICOLIB;
-
- mi.position=-2000006000;
- mi.icolibItem = GetIconHandle("reply");
- mi.pszName = LPGEN("Reply...");
- mi.pszService = "Twitter/ReplyToTweet";
- g_hMenuEvts[1] = CreateServiceFunction(mi.pszService, GlobalService<&TwitterProto::ReplyToTweet>);
- g_hMenuItems[0] = Menu_AddContactMenuItem(&mi);
-
- mi.position=-2000006000;
- mi.icolibItem = GetIconHandle("homepage");
- mi.pszName = LPGEN("Visit Homepage");
- mi.pszService = "Twitter/VisitHomepage";
- g_hMenuEvts[2] = CreateServiceFunction(mi.pszService,
- GlobalService<&TwitterProto::VisitHomepage>);
- g_hMenuItems[1] = Menu_AddContactMenuItem(&mi);
-}
-
-void UninitContactMenus()
-{
- for(size_t i=0; i<SIZEOF(g_hMenuItems); i++)
- CallService(MS_CLIST_REMOVECONTACTMENUITEM,(WPARAM)g_hMenuItems[i],0);
-
- UnhookEvent(g_hMenuEvts[0]);
- for(size_t i=1; i<SIZEOF(g_hMenuEvts); i++)
- DestroyServiceFunction(g_hMenuEvts[i]);
-}
-
-void ShowContactMenus(bool show)
-{
- for(size_t i=0; i<SIZEOF(g_hMenuItems); i++)
- {
- CLISTMENUITEM item = { sizeof(item) };
- item.flags = CMIM_FLAGS | CMIF_NOTOFFLINE;
- if(!show)
- item.flags |= CMIF_HIDDEN;
-
- CallService(MS_CLIST_MODIFYMENUITEM,reinterpret_cast<WPARAM>(g_hMenuItems[i]),
- reinterpret_cast<LPARAM>(&item));
- }
-} \ No newline at end of file