diff options
author | George Hazan <ghazan@miranda.im> | 2021-03-13 21:26:51 +0300 |
---|---|---|
committer | George Hazan <ghazan@miranda.im> | 2021-03-13 21:26:51 +0300 |
commit | 39d556e119133f3aacb1fdb7bcf1ec8b4f23deaf (patch) | |
tree | 2488bce0caf73f6fed800bb099e0b0febac1fbe6 /plugins/TabSRMM | |
parent | ac564ac196f8605f5cc8de588ed736109ab60cc8 (diff) |
tabSRMM: perversion with bit flags removed
Diffstat (limited to 'plugins/TabSRMM')
-rw-r--r-- | plugins/TabSRMM/src/msglog.cpp | 18 | ||||
-rw-r--r-- | plugins/TabSRMM/src/msgoptions.cpp | 2 | ||||
-rw-r--r-- | plugins/TabSRMM/src/msgs.h | 5 |
3 files changed, 15 insertions, 10 deletions
diff --git a/plugins/TabSRMM/src/msglog.cpp b/plugins/TabSRMM/src/msglog.cpp index 37865e6ce2..8a1d4b6e29 100644 --- a/plugins/TabSRMM/src/msglog.cpp +++ b/plugins/TabSRMM/src/msglog.cpp @@ -469,16 +469,16 @@ static char* Template_CreateRTFFromDbEvent(CMsgDialog *dat, MCONTACT hContact, M CMStringA str;
// means: last \\par was deleted to avoid new line at end of log
- if (dat->m_isAutoRTL & 2) {
+ if (dat->m_bLastParaDeleted) {
str.Append("\\par");
- dat->m_isAutoRTL &= ~2;
+ dat->m_bLastParaDeleted = false;
}
if (dat->m_dwFlags & MWF_LOG_RTL)
dbei.flags |= DBEF_RTL;
if (dbei.flags & DBEF_RTL)
- dat->m_isAutoRTL |= 1;
+ dat->m_bRtlText = true;
DWORD dwEffectiveFlags = dat->m_dwFlags;
@@ -518,7 +518,7 @@ static char* Template_CreateRTFFromDbEvent(CMsgDialog *dat, MCONTACT hContact, M streamData->isEmpty = FALSE;
- if (dat->m_isAutoRTL & 1) {
+ if (dat->m_bRtlText) {
if (dbei.flags & DBEF_RTL)
str.Append("\\ltrch\\rtlch");
else
@@ -1267,7 +1267,7 @@ void CLogWindow::LogEvents(MEVENT hDbEventFirst, int count, bool fAppend, DBEVEN sel.cpMax = GetWindowTextLength(m_rtf.GetHwnd());
m_rtf.SendMsg(EM_EXSETSEL, 0, (LPARAM)&sel);
startAt = 0;
- m_pDlg.m_isAutoRTL = 0;
+ m_pDlg.m_bLastParaDeleted = m_pDlg.m_bRtlText = false;
}
// begin to draw
@@ -1276,12 +1276,12 @@ void CLogWindow::LogEvents(MEVENT hDbEventFirst, int count, bool fAppend, DBEVEN m_pDlg.m_hDbEventLast = streamData.hDbEventLast;
- if (m_pDlg.m_isAutoRTL & 1)
+ if (dbei_s || m_pDlg.m_bRtlText)
m_rtf.SendMsg(EM_SETBKGNDCOLOR, 0, (LOWORD(m_pDlg.m_iLastEventType) & DBEF_SENT)
? (fAppend ? m_pDlg.m_pContainer->m_theme.outbg : m_pDlg.m_pContainer->m_theme.oldoutbg)
: (fAppend ? m_pDlg.m_pContainer->m_theme.inbg : m_pDlg.m_pContainer->m_theme.oldinbg));
- if (!dbei_s && !(m_pDlg.m_isAutoRTL & 1)) {
+ if (!m_pDlg.m_bRtlText) {
GETTEXTLENGTHEX gtxl = { 0 };
gtxl.codepage = 1200;
gtxl.flags = GTL_DEFAULT | GTL_PRECISE | GTL_NUMCHARS;
@@ -1290,7 +1290,9 @@ void CLogWindow::LogEvents(MEVENT hDbEventFirst, int count, bool fAppend, DBEVEN sel.cpMin = sel.cpMax - 1;
m_rtf.SendMsg(EM_EXSETSEL, 0, (LPARAM)&sel);
m_rtf.SendMsg(EM_REPLACESEL, FALSE, (LPARAM)L"");
- m_pDlg.m_isAutoRTL |= 2;
+
+ if (!dbei_s)
+ m_pDlg.m_bLastParaDeleted = true;
}
BOOL isSent;
diff --git a/plugins/TabSRMM/src/msgoptions.cpp b/plugins/TabSRMM/src/msgoptions.cpp index 28aaf2a4b9..96ff92a1e5 100644 --- a/plugins/TabSRMM/src/msgoptions.cpp +++ b/plugins/TabSRMM/src/msgoptions.cpp @@ -607,7 +607,7 @@ public: {
m_pLog = new CLogWindow(*this);
- m_dwFlags = m_pContainer->m_theme.dwFlags;
+ m_dwFlags = m_pContainer->m_theme.dwFlags | MWF_LOG_RTL;
m_cache = new CContactCache(m_hContact);
m_cache->updateNick();
diff --git a/plugins/TabSRMM/src/msgs.h b/plugins/TabSRMM/src/msgs.h index 29f7d9f3e1..a9660dcf0e 100644 --- a/plugins/TabSRMM/src/msgs.h +++ b/plugins/TabSRMM/src/msgs.h @@ -473,9 +473,12 @@ public: bool m_bErrorState;
bool m_bDividerWanted, m_bDividerSet;
bool m_bSplitterOverride;
+
+ bool m_bRtlText;
+ bool m_bLastParaDeleted;
+
int m_sendMode;
HKL m_hkl; // keyboard layout identifier
- DWORD m_isAutoRTL;
DWORD m_idle;
DWORD m_dwFlags;
DWORD m_dwUnread;
|