From 28d98a38c756991d461301efb483e4980a2def69 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Mon, 1 May 2017 11:58:04 +0300 Subject: Utils_IsRtl - core function to detect RTL direcction --- plugins/Scriver/src/msgdialog.cpp | 21 +-------------------- plugins/Scriver/src/msglog.cpp | 3 +-- plugins/TabSRMM/src/msgdialog.cpp | 2 +- plugins/TabSRMM/src/sendqueue.cpp | 22 ---------------------- plugins/TabSRMM/src/sendqueue.h | 1 - 5 files changed, 3 insertions(+), 46 deletions(-) (limited to 'plugins') diff --git a/plugins/Scriver/src/msgdialog.cpp b/plugins/Scriver/src/msgdialog.cpp index b270d3fac1..fb9c8ed2f0 100644 --- a/plugins/Scriver/src/msgdialog.cpp +++ b/plugins/Scriver/src/msgdialog.cpp @@ -91,25 +91,6 @@ static wchar_t* GetQuotedTextW(wchar_t *text) return out; } -int RTL_Detect(WCHAR *pszwText) -{ - size_t iLen = mir_wstrlen(pszwText); - - WORD *infoTypeC2 = (WORD *)mir_calloc(sizeof(WORD) * (iLen + 2)); - if (infoTypeC2) { - GetStringTypeW(CT_CTYPE2, pszwText, (int)iLen, infoTypeC2); - - for (size_t i = 0; i < iLen; i++) { - if (infoTypeC2[i] == C2_RIGHTTOLEFT) { - mir_free(infoTypeC2); - return 1; - } - } - mir_free(infoTypeC2); - } - return 0; -} - static void AddToFileList(wchar_t ***pppFiles, int *totalCount, const wchar_t* szFilename) { *pppFiles = (wchar_t**)mir_realloc(*pppFiles, (++*totalCount + 1)*sizeof(wchar_t*)); @@ -465,7 +446,7 @@ void CSrmmWindow::onClick_Ok(CCtrlButton *pButton) gt.cb = bufSize * sizeof(wchar_t); gt.codepage = 1200; // Unicode m_message.SendMsg(EM_GETTEXTEX, (WPARAM)>, ptszUnicode); - if (RTL_Detect(ptszUnicode)) + if (Utils_IsRtl(ptszUnicode)) msi.flags |= PREF_RTL; msi.sendBuffer = mir_utf8encodeW(ptszUnicode); diff --git a/plugins/Scriver/src/msglog.cpp b/plugins/Scriver/src/msglog.cpp index a96257bef1..f2beec5ee5 100644 --- a/plugins/Scriver/src/msglog.cpp +++ b/plugins/Scriver/src/msglog.cpp @@ -27,7 +27,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #define LOGICON_MSG_OUT 1 #define LOGICON_MSG_NOTICE 2 -extern int RTL_Detect(WCHAR *pszwText); static int logPixelSY; static char* pLogIconBmpBits[3]; static HIMAGELIST g_hImageList; @@ -157,7 +156,7 @@ EventData* getEventFromDB(CSrmmWindow *dat, MCONTACT hContact, MEVENT hDbEvent) } else evt->pszTextT = DbEvent_GetTextW(&dbei, CP_UTF8); - if (!dat->m_bUseRtl && RTL_Detect(evt->pszTextT)) + if (!dat->m_bUseRtl && Utils_IsRtl(evt->pszTextT)) evt->dwFlags |= IEEDF_RTL; mir_free(dbei.pBlob); diff --git a/plugins/TabSRMM/src/msgdialog.cpp b/plugins/TabSRMM/src/msgdialog.cpp index ec495316bc..9ce6c0605a 100644 --- a/plugins/TabSRMM/src/msgdialog.cpp +++ b/plugins/TabSRMM/src/msgdialog.cpp @@ -1122,7 +1122,7 @@ void CSrmmWindow::onClick_Ok(CCtrlButton*) int flags = 0; if (pf2.wEffects & PFE_RTLPARA) - if (SendQueue::RTL_Detect(decoded)) + if (Utils_IsRtl(decoded)) flags |= PREF_RTL; SendMessage(hwndEdit, WM_SETREDRAW, TRUE, 0); diff --git a/plugins/TabSRMM/src/sendqueue.cpp b/plugins/TabSRMM/src/sendqueue.cpp index 787e815da8..4292b89b9c 100644 --- a/plugins/TabSRMM/src/sendqueue.cpp +++ b/plugins/TabSRMM/src/sendqueue.cpp @@ -412,28 +412,6 @@ void SendQueue::recallFailed(CTabBaseDlg *dat, int iEntry) const SendDlgItemMessage(dat->GetHwnd(), IDC_SRMM_MESSAGE, EM_SETSEL, -1, -1); } -///////////////////////////////////////////////////////////////////////////////////////// -// searches string for characters typical for RTL text(hebrew and other RTL languages - -int SendQueue::RTL_Detect(const wchar_t *pszwText) -{ - size_t iLen = mir_wstrlen(pszwText); - - WORD *infoTypeC2 = (WORD*)mir_calloc(sizeof(WORD) * (iLen + 2)); - if (infoTypeC2 == nullptr) - return 0; - - GetStringTypeW(CT_CTYPE2, pszwText, (int)iLen, infoTypeC2); - - int n = 0; - for (size_t i = 0; i < iLen; i++) - if (infoTypeC2[i] == C2_RIGHTTOLEFT) - n++; - - mir_free(infoTypeC2); - return(n >= 2 ? 1 : 0); -} - int SendQueue::ackMessage(CTabBaseDlg *dat, WPARAM wParam, LPARAM lParam) { ACKDATA *ack = (ACKDATA *)lParam; diff --git a/plugins/TabSRMM/src/sendqueue.h b/plugins/TabSRMM/src/sendqueue.h index 603ced7c2b..f6e48e769e 100644 --- a/plugins/TabSRMM/src/sendqueue.h +++ b/plugins/TabSRMM/src/sendqueue.h @@ -98,7 +98,6 @@ public: int doSendLater(int iIndex, CTabBaseDlg *dat, MCONTACT hContact = 0, bool fIsSendLater = true); // static members - static int TSAPI RTL_Detect(const wchar_t *pszwText); static LRESULT TSAPI WarnPendingJobs(unsigned int uNrMessages); private: -- cgit v1.2.3