summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2016-12-17 19:59:32 +0300
committerGeorge Hazan <ghazan@miranda.im>2016-12-17 19:59:32 +0300
commit34d9db73c26ad24b1f8bf1e5a1949c407c9639ca (patch)
tree4e8875c6e3b9a18b947963edf9088aa0d915f9c0
parent83175855d796e139c67d145e710336ec44660319 (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.cpp60
-rw-r--r--plugins/TabSRMM/src/mim.cpp10
-rw-r--r--plugins/TabSRMM/src/mim.h2
-rw-r--r--plugins/TabSRMM/src/msgs.cpp2
-rw-r--r--src/mir_app/src/srmm_toolbar.cpp12
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);