From fc98d12131682de5aa3329283ae519d33e8fd439 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sat, 5 Oct 2019 21:16:50 +0300 Subject: fixes #2091 (tabSRMM: added "Use the same splitter height for all sessions") --- plugins/TabSRMM/src/globals.cpp | 1 + plugins/TabSRMM/src/globals.h | 1 + plugins/TabSRMM/src/msgdialog.cpp | 6 ++++-- plugins/TabSRMM/src/msgdlgother.cpp | 7 ------- plugins/TabSRMM/src/msgoptions.cpp | 3 ++- plugins/TabSRMM/src/msgs.h | 1 - 6 files changed, 8 insertions(+), 11 deletions(-) (limited to 'plugins/TabSRMM/src') diff --git a/plugins/TabSRMM/src/globals.cpp b/plugins/TabSRMM/src/globals.cpp index 9df35769e1..ecd013bad5 100644 --- a/plugins/TabSRMM/src/globals.cpp +++ b/plugins/TabSRMM/src/globals.cpp @@ -128,6 +128,7 @@ void CGlobals::reloadSettings(bool fReloadSkins) m_bCutContactNameOnTabs = M.GetBool("cuttitle", false); m_bStatusOnTabs = M.GetBool("tabstatus", true); m_bLogStatusChanges = M.GetBool("logstatuschanges", false); + m_bUseSameSplitSize = M.GetBool("usesamesplitsize", true); m_bUseDividers = M.GetBool("usedividers", false); m_bDividersUsePopupConfig = M.GetBool("div_popupconfig", false); m_MsgTimeout = g_plugin.getDword(SRMSGSET_MSGTIMEOUT, SRMSGDEFSET_MSGTIMEOUT); diff --git a/plugins/TabSRMM/src/globals.h b/plugins/TabSRMM/src/globals.h index 579a507603..93856b9e4f 100644 --- a/plugins/TabSRMM/src/globals.h +++ b/plugins/TabSRMM/src/globals.h @@ -89,6 +89,7 @@ public: bool m_bHideOnClose; bool m_bStatusOnTabs; bool m_bLogStatusChanges; + bool m_bUseSameSplitSize; bool m_bUseDividers; bool m_bDividersUsePopupConfig; bool m_bAllowOfflineMultisend; diff --git a/plugins/TabSRMM/src/msgdialog.cpp b/plugins/TabSRMM/src/msgdialog.cpp index 8100da457e..0005e8ef3b 100644 --- a/plugins/TabSRMM/src/msgdialog.cpp +++ b/plugins/TabSRMM/src/msgdialog.cpp @@ -263,7 +263,9 @@ LRESULT CALLBACK SplitterSubclassProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM GetClientRect(hwnd, &rc); int selection; - if (dat->m_bIsAutosizingInput) + if (PluginConfig.m_bUseSameSplitSize) + selection = ID_SPLITTERCONTEXT_SAVEGLOBALFORALLSESSIONS; + else if (dat->m_bIsAutosizingInput) selection = ID_SPLITTERCONTEXT_SETPOSITIONFORTHISSESSION; else selection = TrackPopupMenu(GetSubMenu(PluginConfig.g_hMenuContext, 8), TPM_RETURNCMD, pt.x, pt.y, 0, hwndParent, nullptr); @@ -410,7 +412,7 @@ bool CMsgDialog::OnInitDialog() m_cache->updateUIN(); m_cache->setWindowData(this); - m_bIsAutosizingInput = IsAutoSplitEnabled(); + m_bIsAutosizingInput = (m_pContainer->m_dwFlags & CNT_AUTOSPLITTER) && !(m_dwFlagsEx & MWF_SHOW_SPLITTEROVERRIDE); m_szProto = const_cast(m_cache->getProto()); m_bIsMeta = m_cache->isMeta(); if (m_bIsMeta) diff --git a/plugins/TabSRMM/src/msgdlgother.cpp b/plugins/TabSRMM/src/msgdlgother.cpp index a21f3f99a0..653f108fec 100644 --- a/plugins/TabSRMM/src/msgdlgother.cpp +++ b/plugins/TabSRMM/src/msgdlgother.cpp @@ -750,13 +750,6 @@ void CMsgDialog::HandlePasteAndSend() SendMessage(m_hwnd, WM_COMMAND, IDOK, 0); } -///////////////////////////////////////////////////////////////////////////////////////// - -bool CMsgDialog::IsAutoSplitEnabled() const -{ - return (m_pContainer->m_dwFlags & CNT_AUTOSPLITTER) && !(m_dwFlagsEx & MWF_SHOW_SPLITTEROVERRIDE); -} - ///////////////////////////////////////////////////////////////////////////////////////// // read keyboard state and return the state of the modifier keys diff --git a/plugins/TabSRMM/src/msgoptions.cpp b/plugins/TabSRMM/src/msgoptions.cpp index 2f8418ed32..14e0f156dc 100644 --- a/plugins/TabSRMM/src/msgoptions.cpp +++ b/plugins/TabSRMM/src/msgoptions.cpp @@ -178,7 +178,7 @@ class CSkinOptsDlg : public CDlgBase wchar_t tszSkinRoot[MAX_PATH], tszFindMask[MAX_PATH]; wcsncpy_s(tszSkinRoot, M.getSkinPath(), _TRUNCATE); - SetDlgItemText(m_hwnd, IDC_SKINROOTFOLDER, tszSkinRoot); + SetDlgItemTextW(m_hwnd, IDC_SKINROOTFOLDER, tszSkinRoot); mir_snwprintf(tszFindMask, L"%s*.*", tszSkinRoot); cmbSkins.ResetContent(); @@ -510,6 +510,7 @@ static TOptionListItem lvItemsMsg[] = { 0, LPGENW("Allow BBCode formatting in outgoing messages"), 0, LOI_TYPE_SETTING, (UINT_PTR)"sendformat", 1 }, { 0, LPGENW("Automatically split long messages (experimental, use with care)"), 0, LOI_TYPE_SETTING, (UINT_PTR)"autosplit", 2 }, { 0, LPGENW("Log status changes"), 0, LOI_TYPE_SETTING, (UINT_PTR)"logstatuschanges", 2 }, + { 0, LPGENW("Use the same splitter height for all sessions"), 1, LOI_TYPE_SETTING, (UINT_PTR)"usesamesplitsize", 2 }, { 0, LPGENW("Automatically copy selected text"), 1, LOI_TYPE_SETTING, (UINT_PTR)"autocopy", 2 }, { 0, nullptr, 0, 0, 0, 0 } }; diff --git a/plugins/TabSRMM/src/msgs.h b/plugins/TabSRMM/src/msgs.h index 029307088c..f3c2323869 100644 --- a/plugins/TabSRMM/src/msgs.h +++ b/plugins/TabSRMM/src/msgs.h @@ -335,7 +335,6 @@ class CMsgDialog : public CSrmmBaseDialog HICON GetXStatusIcon() const; void HandlePasteAndSend(void); void Init(void); - bool IsAutoSplitEnabled(void) const; void LoadContactAvatar(void); void LoadOwnAvatar(void); void LoadSplitter(void); -- cgit v1.2.3