summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2023-09-29 11:49:44 +0300
committerGeorge Hazan <george.hazan@gmail.com>2023-09-29 11:49:44 +0300
commit13627600541c19643b96bd4c7b3a3d9fd92040f9 (patch)
tree22cbed564e961cae032249aa6f75187772b8585b /src
parent965f529d061ef007545061fa0c7271a7ff74b98d (diff)
fixes #3694 (tabSRMM: при выборе стороннего журнала пропадает вкладка "Журнал")
Diffstat (limited to 'src')
-rw-r--r--src/core/stdmsg/res/resource.rc30
-rw-r--r--src/core/stdmsg/src/msgoptions.cpp12
-rw-r--r--src/core/stdmsg/src/resource.h1
-rw-r--r--src/mir_app/src/lpopts.cpp5
-rw-r--r--src/mir_app/src/srmm_log.cpp16
5 files changed, 51 insertions, 13 deletions
diff --git a/src/core/stdmsg/res/resource.rc b/src/core/stdmsg/res/resource.rc
index 10b1b29c5c..806e68a489 100644
--- a/src/core/stdmsg/res/resource.rc
+++ b/src/core/stdmsg/res/resource.rc
@@ -81,15 +81,30 @@ EXSTYLE WS_EX_CONTROLPARENT
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
CONTROL "",IDC_SRMM_MESSAGE,"RichEdit50W",WS_VSCROLL | WS_TABSTOP | 0x1144,1,111,208,29,WS_EX_ACCEPTFILES | WS_EX_STATICEDGE
- LTEXT "", IDC_FRAME, 1, 111, 208, 29, NOT WS_VISIBLE | WS_CLIPSIBLINGS
+ LTEXT "",IDC_FRAME,1,111,208,29,NOT WS_VISIBLE | WS_CLIPSIBLINGS
DEFPUSHBUTTON "&Send",IDOK,212,111,39,29
CONTROL "",IDC_SRMM_LOG,"RichEdit50W",WS_VSCROLL | WS_TABSTOP | 0x844,1,16,250,91,WS_EX_STATICEDGE
CONTROL "",IDC_SPLITTERX,"Static",SS_ENHMETAFILE,172,23,10,73
CONTROL "",IDC_SPLITTERY,"Static",SS_ENHMETAFILE,0,108,251,2
- LISTBOX IDC_SRMM_NICKLIST,182,2,69,94,LBS_OWNERDRAWFIXED | LBS_NOINTEGRALHEIGHT | LBS_HASSTRINGS | NOT WS_BORDER | WS_VSCROLL | WS_TABSTOP,WS_EX_STATICEDGE
+ LISTBOX IDC_SRMM_NICKLIST,182,2,69,94,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | NOT WS_BORDER | WS_VSCROLL | WS_TABSTOP,WS_EX_STATICEDGE
CONTROL "",IDC_AVATAR,"Button",BS_OWNERDRAW | NOT WS_VISIBLE,1,127,6,13
END
+IDD_OPT_MSGHIST DIALOGEX 0, 0, 311, 171
+STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD
+EXSTYLE WS_EX_CONTROLPARENT
+FONT 8, "MS Shell Dlg", 0, 0, 0x1
+BEGIN
+ CONTROL "Load unread events only",IDC_LOADUNREAD,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,8,10,138,10
+ CONTROL "Load number of previous events",IDC_LOADCOUNT,"Button",BS_AUTORADIOBUTTON,8,26,138,10
+ EDITTEXT IDC_LOADCOUNTN,151,25,33,12,ES_RIGHT | ES_NUMBER | WS_DISABLED
+ CONTROL "Spin1",IDC_LOADCOUNTSPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS | UDS_HOTTRACK | WS_DISABLED,185,25,11,12
+ CONTROL "Load previous events less than",IDC_LOADTIME,"Button",BS_AUTORADIOBUTTON,8,42,141,10
+ EDITTEXT IDC_LOADTIMEN,151,41,33,12,ES_RIGHT | ES_NUMBER | WS_DISABLED
+ CONTROL "Spin1",IDC_LOADTIMESPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS | UDS_HOTTRACK | WS_DISABLED,184,39,11,12
+ LTEXT "minutes old",IDC_STMINSOLD,189,41,82,8,WS_DISABLED
+END
+
IDD_OPT_MSGLOG DIALOGEX 0, 0, 311, 171
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD
EXSTYLE WS_EX_CONTROLPARENT
@@ -102,6 +117,7 @@ BEGIN
CONTROL "Show seconds",IDC_SHOWSECS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,53,268,10
CONTROL "Show dates",IDC_SHOWDATES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,65,268,10
CONTROL "Show formatting",IDC_SHOWFORMATTING,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,77,280,10
+ CONTROL "Automatically copy selected text",IDC_AUTOCOPY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,90,280,10
GROUPBOX "Load history events",IDC_STATIC,4,110,303,52
CONTROL "Load unread events only",IDC_LOADUNREAD,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,8,122,138,10
CONTROL "Load number of previous events",IDC_LOADCOUNT,"Button",BS_AUTORADIOBUTTON,8,134,138,10
@@ -111,7 +127,6 @@ BEGIN
EDITTEXT IDC_LOADTIMEN,151,145,33,12,ES_RIGHT | ES_NUMBER | WS_DISABLED
CONTROL "Spin1",IDC_LOADTIMESPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS | UDS_HOTTRACK | WS_DISABLED,184,144,11,14
LTEXT "minutes old",IDC_STMINSOLD,189,147,82,8,WS_DISABLED
- CONTROL "Automatically copy selected text",IDC_AUTOCOPY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,90,280,10
END
IDD_OPT_TABS DIALOGEX 0, 0, 283, 80
@@ -249,6 +264,10 @@ BEGIN
HORZGUIDE, 53
END
+ IDD_OPT_MSGHIST, DIALOG
+ BEGIN
+ END
+
IDD_OPT_MSGLOG, DIALOG
BEGIN
BOTTOMMARGIN, 162
@@ -507,6 +526,11 @@ BEGIN
0
END
+IDD_OPT_MSGHIST AFX_DIALOG_LAYOUT
+BEGIN
+ 0
+END
+
#endif // English (United States) resources
/////////////////////////////////////////////////////////////////////////////
diff --git a/src/core/stdmsg/src/msgoptions.cpp b/src/core/stdmsg/src/msgoptions.cpp
index 5fa17a9e4e..40ceee7ff3 100644
--- a/src/core/stdmsg/src/msgoptions.cpp
+++ b/src/core/stdmsg/src/msgoptions.cpp
@@ -305,8 +305,8 @@ class COptionLogDlg : public CDlgBase
CCtrlSpin spinCount, spinTime;
public:
- COptionLogDlg() :
- CDlgBase(g_plugin, IDD_OPT_MSGLOG),
+ COptionLogDlg(int iDlgId) :
+ CDlgBase(g_plugin, iDlgId),
chkSecs(this, IDC_SHOWSECS),
chkDate(this, IDC_SHOWDATES),
chkTime(this, IDC_SHOWTIMES),
@@ -571,11 +571,9 @@ int OptInitialise(WPARAM wParam, LPARAM)
odp.pDialog = new COptionMainDlg();
g_plugin.addOptions(wParam, &odp);
- if (!Srmm_IsCustomLogUsed()) {
- odp.szTab.a = LPGEN("Messaging log");
- odp.pDialog = new COptionLogDlg();
- g_plugin.addOptions(wParam, &odp);
- }
+ odp.szTab.a = LPGEN("Messaging log");
+ odp.pDialog = new COptionLogDlg(Srmm_IsCustomLogUsed() ? IDD_OPT_MSGHIST : IDD_OPT_MSGLOG);
+ g_plugin.addOptions(wParam, &odp);
odp.szTab.a = LPGEN("Typing notify");
odp.pDialog = new COptionTypingDlg();
diff --git a/src/core/stdmsg/src/resource.h b/src/core/stdmsg/src/resource.h
index e96fef18b4..e0436a8abd 100644
--- a/src/core/stdmsg/src/resource.h
+++ b/src/core/stdmsg/src/resource.h
@@ -9,6 +9,7 @@
#define IDD_OPTIONSPOPUP 106
#define IDD_CONTAINER 107
#define IDD_OPT_TABS 108
+#define IDD_OPT_MSGHIST 109
#define IDI_BUNDERLINE 120
#define IDI_BBOLD 121
#define IDI_BITALICS 122
diff --git a/src/mir_app/src/lpopts.cpp b/src/mir_app/src/lpopts.cpp
index 7444c8e1dc..24818c95b2 100644
--- a/src/mir_app/src/lpopts.cpp
+++ b/src/mir_app/src/lpopts.cpp
@@ -232,9 +232,8 @@ bool CLangpackDlg::OnApply()
ReloadLangpack(tszPath);
if (m_bExiting) {
- HWND hwndParent = GetParent(GetHwnd());
- PostMessage(hwndParent, WM_CLOSE, 1, 0);
- mir_forkthread(ReloadOptions, hwndParent);
+ PostMessage(m_hwndParent, WM_CLOSE, 1, 0);
+ mir_forkthread(ReloadOptions, m_hwndParent);
}
}
return true;
diff --git a/src/mir_app/src/srmm_log.cpp b/src/mir_app/src/srmm_log.cpp
index bbbcc7fac0..b91204a59c 100644
--- a/src/mir_app/src/srmm_log.cpp
+++ b/src/mir_app/src/srmm_log.cpp
@@ -106,6 +106,19 @@ MIR_APP_DLL(bool) Srmm_IsCustomLogUsed()
/////////////////////////////////////////////////////////////////////////////////////////
// options dialog
+static void CALLBACK OpenOptions(void *)
+{
+ g_plugin.openOptions(L"Message sessions", L"Log viewer");
+}
+
+static void ReloadOptions(void *hWnd)
+{
+ while (IsWindow((HWND)hWnd))
+ Sleep(50);
+
+ CallFunctionAsync(OpenOptions, nullptr);
+}
+
static class CSrmmLogOptionsDlg *pDialog = nullptr;
class CSrmmLogOptionsDlg : public CDlgBase
@@ -145,6 +158,9 @@ public:
if (auto *pLogger = (LoggerClass *)m_list.GetItemData(idx))
g_logger = pLogger->szShortName;
+
+ PostMessage(m_hwndParent, WM_CLOSE, 1, 0);
+ mir_forkthread(ReloadOptions, m_hwndParent);
return true;
}