diff options
author | George Hazan <ghazan@miranda.im> | 2016-12-17 19:59:32 +0300 |
---|---|---|
committer | George Hazan <ghazan@miranda.im> | 2016-12-17 19:59:32 +0300 |
commit | 34d9db73c26ad24b1f8bf1e5a1949c407c9639ca (patch) | |
tree | 4e8875c6e3b9a18b947963edf9088aa0d915f9c0 | |
parent | 83175855d796e139c67d145e710336ec44660319 (diff) |
- tabSRMM to share the kernel window list for chats & group chats;
- button creation nuances moved to the core
-rw-r--r-- | plugins/TabSRMM/src/buttonsbar.cpp | 60 | ||||
-rw-r--r-- | plugins/TabSRMM/src/mim.cpp | 10 | ||||
-rw-r--r-- | plugins/TabSRMM/src/mim.h | 2 | ||||
-rw-r--r-- | plugins/TabSRMM/src/msgs.cpp | 2 | ||||
-rw-r--r-- | src/mir_app/src/srmm_toolbar.cpp | 12 |
5 files changed, 35 insertions, 51 deletions
diff --git a/plugins/TabSRMM/src/buttonsbar.cpp b/plugins/TabSRMM/src/buttonsbar.cpp index 01a51ced63..4302a2cc05 100644 --- a/plugins/TabSRMM/src/buttonsbar.cpp +++ b/plugins/TabSRMM/src/buttonsbar.cpp @@ -161,53 +161,31 @@ void BB_InitDlgButtons(TWindowData *dat) dat->bbLSideWidth = dat->bbRSideWidth = 0; + Srmm_CreateToolbarIcons(hdlg, (dat->bType == SESSIONTYPE_IM) ? BBBF_ISIMBUTTON : BBBF_ISCHATBUTTON); + CustomButtonData *cbd; for (int i = 0; cbd = Srmm_GetNthButton(i); i++) { HWND hwndBtn = GetDlgItem(hdlg, cbd->m_dwButtonCID); - if (((dat->bType == SESSIONTYPE_IM && cbd->m_bIMButton) || (dat->bType == SESSIONTYPE_CHAT && cbd->m_bChatButton))) { - if (!cbd->m_bHidden) { - if (cbd->m_bRSided) - dat->bbRSideWidth += cbd->m_iButtonWidth + gap; - else - dat->bbLSideWidth += cbd->m_iButtonWidth + gap; - } - if (!cbd->m_bHidden && !cbd->m_bCanBeHidden) - dat->iButtonBarReallyNeeds += cbd->m_iButtonWidth + gap; + if (hwndBtn == NULL) + continue; - if (cbd->m_bSeparator) - continue; + if (!cbd->m_bHidden) { + if (cbd->m_bRSided) + dat->bbRSideWidth += cbd->m_iButtonWidth + gap; + else + dat->bbLSideWidth += cbd->m_iButtonWidth + gap; + } + if (!cbd->m_bHidden && !cbd->m_bCanBeHidden) + dat->iButtonBarReallyNeeds += cbd->m_iButtonWidth + gap; - if (hwndBtn == NULL) { - int x = cbd->m_bRSided ? rect.right - dat->bbRSideWidth + gap : 2 + dat->bbLSideWidth; - hwndBtn = CreateWindowEx(0, L"MButtonClass", L"", WS_CHILD | WS_VISIBLE | WS_TABSTOP, x, splitterY, cbd->m_iButtonWidth, DPISCALEY_S(22), hdlg, (HMENU)cbd->m_dwButtonCID, g_hInst, NULL); - if (hwndBtn == NULL) - continue; - CustomizeButton(hwndBtn); - } + if (cbd->m_bSeparator) + continue; - SendMessage(hwndBtn, BUTTONSETASFLATBTN, TRUE, 0); - SendMessage(hwndBtn, BUTTONSETASTHEMEDBTN, CSkin::IsThemed(), 0); - if (cbd->m_hIcon) - SendMessage(hwndBtn, BM_SETIMAGE, IMAGE_ICON, (LPARAM)IcoLib_GetIconByHandle(cbd->m_hIcon)); - if (cbd->m_pwszText) - SetWindowTextW(hwndBtn, cbd->m_pwszText); - if (cbd->m_pwszTooltip) - SendMessage(hwndBtn, BUTTONADDTOOLTIP, (WPARAM)TranslateW(cbd->m_pwszTooltip), BATF_UNICODE); - SendMessage(hwndBtn, BUTTONSETCONTAINER, (LPARAM)dat->pContainer, 0); - SendMessage(hwndBtn, BUTTONSETASTOOLBARBUTTON, TRUE, 0); - - if (cbd->m_dwArrowCID) - SendMessage(hwndBtn, BUTTONSETARROW, cbd->m_dwArrowCID, 0); - if (cbd->m_bPushButton) - SendMessage(hwndBtn, BUTTONSETASPUSHBTN, TRUE, 0); - - if (cbd->m_bDisabled) - EnableWindow(hwndBtn, 0); - if (cbd->m_bHidden) - ShowWindow(hwndBtn, SW_HIDE); - } - else if (hwndBtn) - DestroyWindow(hwndBtn); + CustomizeButton(hwndBtn); + + SendMessage(hwndBtn, BUTTONSETASTHEMEDBTN, CSkin::IsThemed(), 0); + SendMessage(hwndBtn, BUTTONSETCONTAINER, (LPARAM)dat->pContainer, 0); + SendMessage(hwndBtn, BUTTONSETASTOOLBARBUTTON, TRUE, 0); } } diff --git a/plugins/TabSRMM/src/mim.cpp b/plugins/TabSRMM/src/mim.cpp index b222fdc845..9fbb141250 100644 --- a/plugins/TabSRMM/src/mim.cpp +++ b/plugins/TabSRMM/src/mim.cpp @@ -56,27 +56,27 @@ bool CMimAPI::m_haveBufferedPaint = false; void CMimAPI::BroadcastMessage(UINT msg, WPARAM wParam, LPARAM lParam) { - WindowList_Broadcast(m_hMessageWindowList, msg, wParam, lParam); + WindowList_Broadcast(pci->hWindowList, msg, wParam, lParam); } void CMimAPI::BroadcastMessageAsync(UINT msg, WPARAM wParam, LPARAM lParam) { - WindowList_BroadcastAsync(m_hMessageWindowList, msg, wParam, lParam); + WindowList_BroadcastAsync(pci->hWindowList, msg, wParam, lParam); } HWND CMimAPI::FindWindow(MCONTACT h) const { - return WindowList_Find(m_hMessageWindowList, h); + return WindowList_Find(pci->hWindowList, h); } INT_PTR CMimAPI::AddWindow(HWND hWnd, MCONTACT h) { - return WindowList_Add(m_hMessageWindowList, hWnd, h); + return WindowList_Add(pci->hWindowList, hWnd, h); } INT_PTR CMimAPI::RemoveWindow(HWND hWnd) { - return WindowList_Remove(m_hMessageWindowList, hWnd); + return WindowList_Remove(pci->hWindowList, hWnd); } ///////////////////////////////////////////////////////////////////////////////////////// diff --git a/plugins/TabSRMM/src/mim.h b/plugins/TabSRMM/src/mim.h index 8322326611..7c648e48d7 100644 --- a/plugins/TabSRMM/src/mim.h +++ b/plugins/TabSRMM/src/mim.h @@ -193,8 +193,6 @@ public: static int MessageEventAdded(WPARAM wParam, LPARAM lParam);
public:
- MWindowList m_hMessageWindowList;
-
// various function pointers
static PDTTE m_pfnDrawThemeTextEx;
static DEFICA m_pfnDwmExtendFrameIntoClientArea;
diff --git a/plugins/TabSRMM/src/msgs.cpp b/plugins/TabSRMM/src/msgs.cpp index fb07d79f7d..a4127e960a 100644 --- a/plugins/TabSRMM/src/msgs.cpp +++ b/plugins/TabSRMM/src/msgs.cpp @@ -366,7 +366,6 @@ static INT_PTR TypingMessageCommand(WPARAM, LPARAM lParam) int SplitmsgShutdown(void)
{
- WindowList_Destroy(M.m_hMessageWindowList);
WindowList_Destroy(PluginConfig.hUserPrefsWindowList);
DestroyCursor(PluginConfig.hCurSplitNS);
@@ -982,7 +981,6 @@ int LoadSendRecvMessageModule(void) Win7Taskbar->updateMetrics();
memset(&nen_options, 0, sizeof(nen_options));
- M.m_hMessageWindowList = WindowList_Create();
PluginConfig.hUserPrefsWindowList = WindowList_Create();
sendQueue = new SendQueue;
Skin = new CSkin;
diff --git a/src/mir_app/src/srmm_toolbar.cpp b/src/mir_app/src/srmm_toolbar.cpp index 88f79dc544..aeff306fdf 100644 --- a/src/mir_app/src/srmm_toolbar.cpp +++ b/src/mir_app/src/srmm_toolbar.cpp @@ -327,7 +327,7 @@ MIR_APP_DLL(void) Srmm_CreateToolbarIcons(HWND hwndDlg, int flags) HWND hwndButton = GetDlgItem(hwndDlg, cbd->m_dwButtonCID); if ((flags & BBBF_ISIMBUTTON) && cbd->m_bIMButton || (flags & BBBF_ISCHATBUTTON) && cbd->m_bChatButton) { if (hwndButton == NULL) { - hwndButton = CreateWindowEx(0, L"MButtonClass", L"", WS_CHILD | WS_VISIBLE | WS_TABSTOP, 0, 0, cbd->m_iButtonWidth, 22, hwndDlg, (HMENU)cbd->m_dwButtonCID, hInstance, NULL); + hwndButton = CreateWindowEx(0, L"MButtonClass", L"", WS_CHILD | WS_VISIBLE | WS_TABSTOP, 0, 0, cbd->m_iButtonWidth, DPISCALEX_S(22), hwndDlg, (HMENU)cbd->m_dwButtonCID, hInstance, NULL); if (hwndButton == NULL) // smth went wrong continue; } @@ -338,6 +338,16 @@ MIR_APP_DLL(void) Srmm_CreateToolbarIcons(HWND hwndDlg, int flags) SendMessage(hwndButton, BUTTONADDTOOLTIP, LPARAM(cbd->m_pwszTooltip), BATF_UNICODE); if (cbd->m_hIcon) SendMessage(hwndButton, BM_SETIMAGE, IMAGE_ICON, (LPARAM)IcoLib_GetIconByHandle(cbd->m_hIcon)); + + if (cbd->m_dwArrowCID) + SendMessage(hwndButton, BUTTONSETARROW, cbd->m_dwArrowCID, 0); + if (cbd->m_bPushButton) + SendMessage(hwndButton, BUTTONSETASPUSHBTN, TRUE, 0); + + if (cbd->m_bDisabled) + EnableWindow(hwndButton, FALSE); + if (cbd->m_bHidden) + ShowWindow(hwndButton, SW_HIDE); } else if (hwndButton) DestroyWindow(hwndButton); |