summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/stdmsg/src/stdafx.h1
-rw-r--r--src/core/stdmsg/src/tabs.cpp27
-rw-r--r--src/core/stduserinfo/src/contactinfo.cpp35
-rw-r--r--src/mir_core/src/Windows/CCtrlTreeView.cpp4
-rw-r--r--src/mir_core/src/Windows/CDlgBase.cpp21
-rw-r--r--src/mir_core/src/mir_core.def3
-rw-r--r--src/mir_core/src/mir_core64.def3
7 files changed, 55 insertions, 39 deletions
diff --git a/src/core/stdmsg/src/stdafx.h b/src/core/stdmsg/src/stdafx.h
index ef484f4f68..6dd1a92181 100644
--- a/src/core/stdmsg/src/stdafx.h
+++ b/src/core/stdmsg/src/stdafx.h
@@ -117,6 +117,7 @@ public:
INT_PTR DlgProc(UINT msg, WPARAM wParam, LPARAM lParam) override;
int Resizer(UTILRESIZECONTROL *urc) override;
+ void OnResize() override;
};
extern CTabbedWindow *g_pTabDialog;
diff --git a/src/core/stdmsg/src/tabs.cpp b/src/core/stdmsg/src/tabs.cpp
index ad11e2afa9..61c2426641 100644
--- a/src/core/stdmsg/src/tabs.cpp
+++ b/src/core/stdmsg/src/tabs.cpp
@@ -188,6 +188,21 @@ void CTabbedWindow::OnDestroy()
g_pTabDialog = nullptr;
}
+void CTabbedWindow::OnResize()
+{
+ CDlgBase::OnResize();
+
+ SendMessage(m_hwndStatus, WM_SIZE, 0, 0);
+
+ if (m_pEmbed) {
+ RECT rc;
+ GetClientRect(m_tab.GetHwnd(), &rc);
+ MoveWindow(m_pEmbed->GetHwnd(), 0, 0, rc.right - rc.left, rc.bottom - rc.top, FALSE);
+ }
+
+ SaveWindowPosition(false);
+}
+
int CTabbedWindow::Resizer(UTILRESIZECONTROL *urc)
{
if (urc->wId == IDC_TAB) {
@@ -639,17 +654,7 @@ INT_PTR CTabbedWindow::DlgProc(UINT msg, WPARAM wParam, LPARAM lParam)
break;
}
- LRESULT res = CDlgBase::DlgProc(msg, wParam, lParam);
- if (msg == WM_SIZE) {
- SendMessage(m_hwndStatus, WM_SIZE, 0, 0);
- if (m_pEmbed) {
- GetClientRect(m_tab.GetHwnd(), &rc);
- MoveWindow(m_pEmbed->GetHwnd(), 0, 0, rc.right - rc.left, rc.bottom - rc.top, FALSE);
- }
- SaveWindowPosition(false);
- }
-
- return res;
+ return CDlgBase::DlgProc(msg, wParam, lParam);
}
/////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/core/stduserinfo/src/contactinfo.cpp b/src/core/stduserinfo/src/contactinfo.cpp
index 475c0d3de0..a66401ea6d 100644
--- a/src/core/stduserinfo/src/contactinfo.cpp
+++ b/src/core/stduserinfo/src/contactinfo.cpp
@@ -216,11 +216,13 @@ static int IsOverEmail(HWND hwndDlg, wchar_t *szEmail, int cchEmail)
class CContactPage : public CUserInfoPageDlg
{
+ typedef CUserInfoPageDlg CSuper;
+
CCtrlListView m_emails, m_phones;
public:
CContactPage() :
- CUserInfoPageDlg(g_plugin, IDD_INFO_CONTACT),
+ CSuper(g_plugin, IDD_INFO_CONTACT),
m_emails(this, IDC_EMAILS),
m_phones(this, IDC_PHONES)
{
@@ -259,6 +261,21 @@ public:
return true;
}
+ void OnResize() override
+ {
+ CSuper::OnResize();
+
+ RECT rc;
+ GetClientRect(m_emails.GetHwnd(), &rc);
+ rc.right -= GetSystemMetrics(SM_CXVSCROLL);
+
+ m_emails.SetColumnWidth(0, rc.right / 4);
+ m_emails.SetColumnWidth(1, rc.right - rc.right / 4 - 40);
+
+ m_phones.SetColumnWidth(0, rc.right / 4);
+ m_phones.SetColumnWidth(1, rc.right - rc.right / 4 - 90);
+ }
+
int Resizer(UTILRESIZECONTROL *urc) override
{
switch (urc->wId) {
@@ -528,21 +545,7 @@ public:
}
}
- INT_PTR res = CDlgBase::DlgProc(msg, wParam, lParam);
-
- if (msg == WM_SIZE) {
- RECT rc;
- GetClientRect(m_emails.GetHwnd(), &rc);
- rc.right -= GetSystemMetrics(SM_CXVSCROLL);
-
- m_emails.SetColumnWidth(0, rc.right / 4);
- m_emails.SetColumnWidth(1, rc.right - rc.right / 4 - 40);
-
- m_phones.SetColumnWidth(0, rc.right / 4);
- m_phones.SetColumnWidth(1, rc.right - rc.right / 4 - 90);
- }
-
- return res;
+ return CDlgBase::DlgProc(msg, wParam, lParam);
}
};
diff --git a/src/mir_core/src/Windows/CCtrlTreeView.cpp b/src/mir_core/src/Windows/CCtrlTreeView.cpp
index 390f1618fc..e5e97e8cd4 100644
--- a/src/mir_core/src/Windows/CCtrlTreeView.cpp
+++ b/src/mir_core/src/Windows/CCtrlTreeView.cpp
@@ -760,8 +760,8 @@ void CCtrlTreeView::SetCheckState(HTREEITEM hItem, uint32_t state)
{ TreeView_SetCheckState(m_hwnd, hItem, state);
}
-void CCtrlTreeView::SetImageList(HIMAGELIST hIml, int iImage)
-{ TreeView_SetImageList(m_hwnd, hIml, iImage);
+HIMAGELIST CCtrlTreeView::SetImageList(HIMAGELIST hIml, int iImage)
+{ return TreeView_SetImageList(m_hwnd, hIml, iImage);
}
void CCtrlTreeView::SetIndent(int iIndent)
diff --git a/src/mir_core/src/Windows/CDlgBase.cpp b/src/mir_core/src/Windows/CDlgBase.cpp
index 6eca57b417..84066de414 100644
--- a/src/mir_core/src/Windows/CDlgBase.cpp
+++ b/src/mir_core/src/Windows/CDlgBase.cpp
@@ -180,6 +180,18 @@ void CDlgBase::CreateLink(CCtrlData& ctrl, const char *szSetting, wchar_t *szVal
/////////////////////////////////////////////////////////////////////////////////////////
// virtual methods
+int CDlgBase::GlobalDlgResizer(HWND hwnd, LPARAM, UTILRESIZECONTROL *urc)
+{
+ CDlgBase *wnd = CDlgBase::Find(hwnd);
+ return (wnd == nullptr) ? 0 : wnd->Resizer(urc);
+}
+
+void CDlgBase::OnResize()
+{
+ if (m_forceResizable || (GetWindowLongPtr(m_hwnd, GWL_STYLE) & WS_THICKFRAME))
+ Utils_ResizeDialog(m_hwnd, m_pPlugin.getInst(), MAKEINTRESOURCEA(m_idDialog), GlobalDlgResizer);
+}
+
int CDlgBase::Resizer(UTILRESIZECONTROL*)
{
return RD_ANCHORX_LEFT | RD_ANCHORY_TOP;
@@ -383,8 +395,7 @@ INT_PTR CDlgBase::DlgProc(UINT msg, WPARAM wParam, LPARAM lParam)
break;
case WM_SIZE:
- if (m_forceResizable || (GetWindowLongPtr(m_hwnd, GWL_STYLE) & WS_THICKFRAME))
- Utils_ResizeDialog(m_hwnd, m_pPlugin.getInst(), MAKEINTRESOURCEA(m_idDialog), GlobalDlgResizer);
+ OnResize();
return TRUE;
case WM_TIMER:
@@ -441,12 +452,6 @@ INT_PTR CALLBACK CDlgBase::GlobalDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPA
return (wnd == nullptr) ? FALSE : wnd->DlgProc(msg, wParam, lParam);
}
-int CDlgBase::GlobalDlgResizer(HWND hwnd, LPARAM, UTILRESIZECONTROL *urc)
-{
- CDlgBase *wnd = CDlgBase::Find(hwnd);
- return (wnd == nullptr) ? 0 : wnd->Resizer(urc);
-}
-
void CDlgBase::ThemeDialogBackground(BOOL tabbed)
{
EnableThemeDialogTexture(m_hwnd, (tabbed ? ETDT_ENABLE : ETDT_DISABLE) | ETDT_USETABTEXTURE);
diff --git a/src/mir_core/src/mir_core.def b/src/mir_core/src/mir_core.def
index 558e90dc3e..9409e6d133 100644
--- a/src/mir_core/src/mir_core.def
+++ b/src/mir_core/src/mir_core.def
@@ -808,7 +808,7 @@ mir_wstrcmpi @280
?SetHoverTime@CCtrlListView@@QAEXI@Z @1000 NONAME
?SetIconSpacing@CCtrlListView@@QAEIHH@Z @1001 NONAME
?SetImageList@CCtrlListView@@QAEPAU_IMAGELIST@@PAU2@H@Z @1002 NONAME
-?SetImageList@CCtrlTreeView@@QAEXPAU_IMAGELIST@@H@Z @1003 NONAME
+?SetImageList@CCtrlTreeView@@QAEPAU_IMAGELIST@@PAU2@H@Z @1003 NONAME
?SetIndent@CCtrlTreeView@@QAEXH@Z @1005 NONAME
?SetInfoTip@CCtrlListView@@QAEHPAUtagLVSETINFOTIP@@@Z @1006 NONAME
?SetInsertMark@CCtrlListView@@QAEHPAULVINSERTMARK@@@Z @1007 NONAME
@@ -1540,3 +1540,4 @@ Miranda_SetTerminated @1759
Miranda_WaitOnHandle @1760
Miranda_WaitOnHandleEx @1761
_Utils_CorrectFontSize@4 @1762 NONAME
+?OnResize@CDlgBase@@MAEXXZ @1763 NONAME
diff --git a/src/mir_core/src/mir_core64.def b/src/mir_core/src/mir_core64.def
index a3f03dab57..94e8c1d2a9 100644
--- a/src/mir_core/src/mir_core64.def
+++ b/src/mir_core/src/mir_core64.def
@@ -808,7 +808,7 @@ mir_wstrcmpi @280
?SetHoverTime@CCtrlListView@@QEAAXI@Z @1000 NONAME
?SetIconSpacing@CCtrlListView@@QEAAIHH@Z @1001 NONAME
?SetImageList@CCtrlListView@@QEAAPEAU_IMAGELIST@@PEAU2@H@Z @1002 NONAME
-?SetImageList@CCtrlTreeView@@QEAAXPEAU_IMAGELIST@@H@Z @1003 NONAME
+?SetImageList@CCtrlTreeView@@QEAAPEAU_IMAGELIST@@PEAU2@H@Z @1003 NONAME
?SetIndent@CCtrlTreeView@@QEAAXH@Z @1005 NONAME
?SetInfoTip@CCtrlListView@@QEAAHPEAUtagLVSETINFOTIP@@@Z @1006 NONAME
?SetInsertMark@CCtrlListView@@QEAAHPEAULVINSERTMARK@@@Z @1007 NONAME
@@ -1540,3 +1540,4 @@ Miranda_SetTerminated @1759
Miranda_WaitOnHandle @1760
Miranda_WaitOnHandleEx @1761
Utils_CorrectFontSize @1762 NONAME
+?OnResize@CDlgBase@@MEAAXXZ @1763 NONAME