diff options
author | Vadim Dashevskiy <watcherhd@gmail.com> | 2012-07-24 12:45:18 +0000 |
---|---|---|
committer | Vadim Dashevskiy <watcherhd@gmail.com> | 2012-07-24 12:45:18 +0000 |
commit | 0cda0baab21d4d4bf40c9459f6f5a7e49aa92492 (patch) | |
tree | c1244d2f42e6d1728a81a18bd0fbd091904bf20c /plugins/W7UI/w7ui.cpp | |
parent | 171e81205e357e0d54283a63997ed58ff97d54a9 (diff) |
VersionInfo, W7UI, WhoUsesMyFiles, YAPP, ZeroNotification: changed folder structure
git-svn-id: http://svn.miranda-ng.org/main/trunk@1161 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/W7UI/w7ui.cpp')
-rw-r--r-- | plugins/W7UI/w7ui.cpp | 180 |
1 files changed, 0 insertions, 180 deletions
diff --git a/plugins/W7UI/w7ui.cpp b/plugins/W7UI/w7ui.cpp deleted file mode 100644 index c94f7b31ca..0000000000 --- a/plugins/W7UI/w7ui.cpp +++ /dev/null @@ -1,180 +0,0 @@ -#include "headers.h"
-
-ITaskbarList3 *g_pTaskbarList = NULL;
-UINT g_wm_TaskbarButtonCreated = 0;
-HANDLE hSrmmWindows = NULL;
-
-int g_eventSlotTyping = 0;
-int g_eventSlotMessage = 0;
-
-void InitJumpList();
-
-static LRESULT CALLBACK W7UIHostWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
-static LRESULT CALLBACK W7SrmmProxyWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
-
-static int OnModulesLoaded(WPARAM, LPARAM);
-static int OnProcessSrmmEvent(WPARAM, LPARAM lParam);
-static int OnStatusModeChanged(WPARAM wParam, LPARAM);
-
-int LoadW7UI()
-{
- CoInitialize(NULL);
-
- CoCreateInstance(CLSID_TaskbarList, NULL, CLSCTX_INPROC_SERVER, IID_ITaskbarList3, (void **)&g_pTaskbarList);
- g_pTaskbarList->HrInit();
-
- g_wm_TaskbarButtonCreated = RegisterWindowMessage(_T("TaskbarButtonCreated"));
-
- CJumpListBuilder::Load();
- LoadJumpList();
-
- HookEvent(ME_SYSTEM_MODULESLOADED, OnModulesLoaded);
- HookEvent(ME_CLIST_STATUSMODECHANGE, OnStatusModeChanged);
-
- hSrmmWindows = (HANDLE)CallService(MS_UTILS_ALLOCWINDOWLIST, 0, 0);
- new CClistProxyWindow();
-
- return 0;
-}
-
-int UnloadW7UI()
-{
- CJumpListBuilder::Unload();
- return 0;
-}
-
-static int OnContactIsTyping(WPARAM wParam, LPARAM lParam)
-{
- if (!wParam) return 0;
-
- if (lParam) g_clistProxyWnd->AddOverlayEvent(g_eventSlotTyping);
- else g_clistProxyWnd->RemoveOverlayEvent(g_eventSlotTyping);
-
- return 0;
-}
-
-static int OnModulesLoaded(WPARAM, LPARAM)
-{
- InitJumpList();
- g_eventSlotMessage = g_clistProxyWnd->AllocateOverlayEvent(LoadSkinnedIconHandle(SKINICON_EVENT_MESSAGE));
- g_eventSlotTyping = g_clistProxyWnd->AllocateOverlayEvent(LoadSkinnedIconHandle(SKINICON_OTHER_TYPING));
- OnStatusModeChanged(CallService(MS_CLIST_GETSTATUSMODE, 0, 0), 0);
- HookEvent(ME_MSG_WINDOWEVENT, OnProcessSrmmEvent);
- HookEvent(ME_PROTO_CONTACTISTYPING, OnContactIsTyping);
- return 0;
-}
-
-static LRESULT SrmmSubclassProc(MSG *msg, TSubclassData *data)
-{
- HWND hwndProxy = WindowList_Find(hSrmmWindows, (HANDLE)data->lParam);
- CSrmmProxyWindow *wnd = CDwmWindow::GetWindow<CSrmmProxyWindow>(hwndProxy);
-
- if (wnd)
- {
- switch (msg->message)
- {
- case WM_SETFOCUS:
- wnd->OnTabActive();
- break;
- case WM_ACTIVATE:
- switch (msg->wParam)
- {
- case WA_ACTIVE:
- case WA_CLICKACTIVE:
- wnd->OnTabActive();
- break;
- case WA_INACTIVE:
- wnd->OnTabInactive();
- }
- break;
- case WM_NCACTIVATE:
- if (msg->wParam)
- wnd->OnTabActive();
- else
- wnd->OnTabInactive();
- break;
- }
- }
-
- return CallWindowProc(data->oldWndProc, msg->hwnd, msg->message, msg->wParam, msg->lParam);
-}
-
-static HWND FindParent(HWND hwnd)
-{
- while (1)
- {
- HWND hwndParent = GetParent(hwnd);
- if (hwndParent == NULL)
- return hwnd;
- hwnd = hwndParent;
- }
-}
-
-int OnProcessSrmmEvent(WPARAM, LPARAM lParam)
-{
- MessageWindowEventData *evt = (MessageWindowEventData *)lParam;
-
- switch (evt->uType)
- {
- case MSG_WINDOW_EVT_OPENING:
- {
- CSubclassMgr::Subclass(evt->hwndWindow, SrmmSubclassProc, (LPARAM)evt->hContact);
- break;
- }
-
- case MSG_WINDOW_EVT_OPEN:
- {
- HWND hwndParent = FindParent(evt->hwndWindow);
- if (hwndParent != evt->hwndWindow)
- {
- SetWindowLongPtr(hwndParent, GWL_EXSTYLE, GetWindowLongPtr(hwndParent, GWL_EXSTYLE) & ~WS_EX_APPWINDOW);
- CSrmmProxyWindow *wnd = new CSrmmProxyWindow(evt->hContact, evt->hwndWindow, hwndParent);
- HWND hwndProxy = wnd->hwnd();
- g_pTaskbarList->UnregisterTab(hwndParent);
- g_pTaskbarList->RegisterTab(hwndProxy, hwndParent);
- g_pTaskbarList->SetTabOrder(hwndProxy, 0);
- g_pTaskbarList->SetTabActive(hwndProxy, hwndParent, TBATF_USEMDITHUMBNAIL);
- WindowList_Add(hSrmmWindows, hwndProxy, evt->hContact);
- }
- break;
- }
-
- case MSG_WINDOW_EVT_CLOSING:
- {
- HWND hwndProxy = WindowList_Find(hSrmmWindows, evt->hContact);
- if (hwndProxy)
- {
- WindowList_Remove(hSrmmWindows, hwndProxy);
- g_pTaskbarList->UnregisterTab(hwndProxy);
- DestroyWindow(hwndProxy);
- }
- break;
- }
- }
-
- return 0;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// status processing
-
-int OnStatusModeChanged(WPARAM wParam, LPARAM)
-{
- static int icons[] =
- {
- SKINICON_STATUS_OFFLINE,
- SKINICON_STATUS_ONLINE,
- SKINICON_STATUS_AWAY,
- SKINICON_STATUS_DND,
- SKINICON_STATUS_NA,
- SKINICON_STATUS_OCCUPIED,
- SKINICON_STATUS_FREE4CHAT,
- SKINICON_STATUS_INVISIBLE,
- SKINICON_STATUS_ONTHEPHONE,
- SKINICON_STATUS_OUTTOLUNCH,
- };
-
- g_clistProxyWnd->SetOverlayIcon(LoadSkinnedIcon(icons[wParam - ID_STATUS_OFFLINE]));
-
- return 0;
-}
|