diff options
author | George Hazan <george.hazan@gmail.com> | 2023-11-21 18:19:29 +0300 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2023-11-21 18:19:29 +0300 |
commit | a455124c53674338f581a1970768182223c3a49a (patch) | |
tree | 3cbd1c39cdb423cf2b4762fbf51288dab1079db1 /plugins/TabSRMM | |
parent | c432c0ee21eb34cf2ae35c12d152723150c575a5 (diff) |
tabSRMM: read-only message processing
Diffstat (limited to 'plugins/TabSRMM')
-rw-r--r-- | plugins/TabSRMM/src/generic_msghandlers.cpp | 2 | ||||
-rw-r--r-- | plugins/TabSRMM/src/msgdialog.cpp | 10 | ||||
-rw-r--r-- | plugins/TabSRMM/src/msgdlgother.cpp | 12 |
3 files changed, 17 insertions, 7 deletions
diff --git a/plugins/TabSRMM/src/generic_msghandlers.cpp b/plugins/TabSRMM/src/generic_msghandlers.cpp index fddd88cc6e..efd782565d 100644 --- a/plugins/TabSRMM/src/generic_msghandlers.cpp +++ b/plugins/TabSRMM/src/generic_msghandlers.cpp @@ -1038,7 +1038,7 @@ void CMsgDialog::DM_HandleAutoSizeRequest(REQRESIZE* rr) if (rr == nullptr || GetForegroundWindow() != m_pContainer->m_hwnd)
return;
- if (!m_bIsAutosizingInput || m_iInputAreaHeight == -1)
+ if (!m_bIsAutosizingInput || m_iInputAreaHeight == -1 || m_bReadOnly)
return;
LONG heightLimit = M.GetDword("autoSplitMinLimit", 0);
diff --git a/plugins/TabSRMM/src/msgdialog.cpp b/plugins/TabSRMM/src/msgdialog.cpp index 3362b32625..5d34a57ecd 100644 --- a/plugins/TabSRMM/src/msgdialog.cpp +++ b/plugins/TabSRMM/src/msgdialog.cpp @@ -125,8 +125,6 @@ void CMsgDialog::SetDialogToType() Utils::enableDlgControl(m_hwnd, IDC_TIME, true);
- m_message.Show();
-
ShowMultipleControls(m_hwnd, errorControls, _countof(errorControls), m_bErrorState ? SW_SHOW : SW_HIDE);
if (!m_SendFormat)
@@ -141,9 +139,12 @@ void CMsgDialog::SetDialogToType() GetAvatarVisibility();
Utils::showDlgControl(m_hwnd, IDC_CONTACTPIC, m_bShowAvatar ? SW_SHOW : SW_HIDE);
- Utils::showDlgControl(m_hwnd, IDC_SPLITTERY, m_bIsAutosizingInput ? SW_HIDE : SW_SHOW);
Utils::showDlgControl(m_hwnd, IDC_MULTISPLITTER, (m_sendMode & SMODE_MULTIPLE) ? SW_SHOW : SW_HIDE);
+ Utils::showDlgControl(m_hwnd, IDC_SPLITTERY, m_bIsAutosizingInput ? SW_HIDE : SW_SHOW);
+ if (m_bReadOnly)
+ Utils::enableDlgControl(m_hwnd, IDC_SPLITTERY, false);
+
EnableSendButton(GetWindowTextLength(m_message.GetHwnd()) != 0);
UpdateTitle();
Resize();
@@ -1211,11 +1212,11 @@ int CMsgDialog::Resizer(UTILRESIZECONTROL *urc) return RD_ANCHORX_CUSTOM | RD_ANCHORY_CUSTOM;
case IDC_SPLITTERY:
+ urc->rcItem.left = 0;
urc->rcItem.right = urc->dlgNewSize.cx;
if (isChat()) {
urc->rcItem.top = urc->dlgNewSize.cy - m_iSplitterY + DPISCALEY_S(23);
urc->rcItem.bottom = urc->rcItem.top + DPISCALEY_S(2);
- urc->rcItem.left = 0;
urc->rcItem.bottom++;
urc->rcItem.top++;
return RD_ANCHORX_CUSTOM | RD_ANCHORY_CUSTOM;
@@ -1223,7 +1224,6 @@ int CMsgDialog::Resizer(UTILRESIZECONTROL *urc) urc->rcItem.top -= m_iSplitterY - m_originalSplitterY;
urc->rcItem.bottom = urc->rcItem.top + DPISCALEY_S(2);
OffsetRect(&urc->rcItem, 0, 1);
- urc->rcItem.left = 0;
if (m_bUseOffset)
urc->rcItem.right -= (m_pic.cx); // + DPISCALEX(2));
diff --git a/plugins/TabSRMM/src/msgdlgother.cpp b/plugins/TabSRMM/src/msgdlgother.cpp index 15c6dd4732..ab8093c632 100644 --- a/plugins/TabSRMM/src/msgdlgother.cpp +++ b/plugins/TabSRMM/src/msgdlgother.cpp @@ -1404,6 +1404,11 @@ void CMsgDialog::LoadSettings() void CMsgDialog::LoadSplitter()
{
+ if (m_bReadOnly) {
+ m_iSplitterY = DPISCALEY_S(22);
+ return;
+ }
+
if (m_bIsAutosizingInput) {
m_iSplitterY = (m_pContainer->cfg.flags.m_bBottomToolbar) ? DPISCALEY_S(46 + 22) : DPISCALEY_S(46);
@@ -1864,7 +1869,7 @@ void CMsgDialog::SaveAvatarToFile(HBITMAP hbm, int isOwnPic) void CMsgDialog::SaveSplitter()
{
- if (m_bIsAutosizingInput)
+ if (m_bIsAutosizingInput || m_bReadOnly)
return;
if (m_iSplitterY < DPISCALEY_S(MINSPLITTERY) || m_iSplitterY < 0)
@@ -2154,6 +2159,11 @@ void CMsgDialog::ShowFilterMenu() void CMsgDialog::ShowPicture(bool showNewPic)
{
+ if (m_bReadOnly) {
+ m_bShowAvatar = false;
+ return;
+ }
+
if (!m_pPanel.isActive())
m_pic.cy = m_pic.cx = DPISCALEY_S(60);
|