reapack

Package manager for REAPER
Log | Files | Refs | Submodules | README | LICENSE

commit 06500cd123296afc7041ddc233148e9050513254
parent 7a95b64cf63b84a4bf6e11bf1ef5ce77f17809c6
Author: cfillion <cfillion@users.noreply.github.com>
Date:   Fri, 23 Dec 2016 23:46:07 -0500

dialog: allow about and browser windows to be resized smaller than the default size

Diffstat:
Msrc/about.cpp | 1+
Msrc/browser.cpp | 2++
Msrc/dialog.cpp | 8++++----
Msrc/dialog.hpp | 3++-
4 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/src/about.cpp b/src/about.cpp @@ -63,6 +63,7 @@ void About::onInit() m_list->onContextMenu([=] (Menu &m, int i) { return m_delegate->fillContextMenu(m, i); }); m_list->onActivate([=] { m_delegate->itemActivated(); }); + setMinimumSize({560, 200}); setAnchor(m_tabs->handle(), AnchorRight | AnchorBottom); setAnchor(m_desc->handle(), AnchorRight | AnchorBottom); setAnchor(m_menu->handle(), AnchorBottom); diff --git a/src/browser.cpp b/src/browser.cpp @@ -131,6 +131,8 @@ void Browser::onInit() }); Dialog::onInit(); + setMinimumSize({600, 200}); + setAnchor(m_filterHandle, AnchorRight); setAnchor(getControl(IDC_CLEAR), AnchorLeftRight); setAnchor(getControl(IDC_LABEL2), AnchorLeftRight); diff --git a/src/dialog.cpp b/src/dialog.cpp @@ -83,8 +83,8 @@ WDL_DLGRET Dialog::Proc(HWND handle, UINT msg, WPARAM wParam, LPARAM lParam) break; case WM_GETMINMAXINFO: { MINMAXINFO *mmi = (MINMAXINFO *)lParam; - mmi->ptMinTrackSize.x = dlg->m_initialSize.x; - mmi->ptMinTrackSize.y = dlg->m_initialSize.y; + mmi->ptMinTrackSize.x = dlg->m_minimumSize.x; + mmi->ptMinTrackSize.y = dlg->m_minimumSize.y; break; } case WM_SIZE: @@ -134,7 +134,7 @@ int Dialog::HandleKey(MSG *msg, accelerator_register_t *accel) } Dialog::Dialog(const int templateId) - : m_template(templateId), m_isVisible(false), m_initialSize(), + : m_template(templateId), m_isVisible(false), m_minimumSize(), m_instance(nullptr), m_parent(nullptr), m_handle(nullptr) { m_accel.translateAccel = HandleKey; @@ -392,7 +392,7 @@ void Dialog::onInit() { RECT rect; GetWindowRect(m_handle, &rect); - m_initialSize = {rect.right - rect.left, rect.bottom - rect.top}; + m_minimumSize = {rect.right - rect.left, rect.bottom - rect.top}; center(); diff --git a/src/dialog.hpp b/src/dialog.hpp @@ -106,6 +106,7 @@ public: HWND getControl(int idc); std::string getText(HWND); void setAnchor(HWND, int flags); + void setMinimumSize(const POINT &p) { m_minimumSize = p; } void restore(Serializer::Data &); void save(Serializer::Data &) const; @@ -154,7 +155,7 @@ private: const int m_template; bool m_isVisible; - POINT m_initialSize; + POINT m_minimumSize; WDL_WndSizer m_resizer; Modality m_mode;