From f04d64869f3b1de54fb343f28f955584780001b8 Mon Sep 17 00:00:00 2001 From: mataes2007 Date: Sat, 26 Nov 2011 15:41:10 +0000 Subject: Project folders rename part 3 git-svn-id: http://miranda-plugins.googlecode.com/svn/trunk@215 e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb --- StopSpamPlus/src/utils.cpp | 77 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 StopSpamPlus/src/utils.cpp (limited to 'StopSpamPlus/src/utils.cpp') diff --git a/StopSpamPlus/src/utils.cpp b/StopSpamPlus/src/utils.cpp new file mode 100644 index 0000000..673a858 --- /dev/null +++ b/StopSpamPlus/src/utils.cpp @@ -0,0 +1,77 @@ +#include "../headers.h" + + +tstring &GetDlgItemString(HWND hwnd, int id) +{ + HWND h = GetDlgItem(hwnd, id); + int len = GetWindowTextLength(h); + TCHAR * buf = new TCHAR[len + 1]; + GetWindowText(h, buf, len + 1); + static tstring s; + s = buf; + delete []buf; + return s; +} + +bool IsExistMyMessage(HANDLE hContact) +{ + DBEVENTINFO dbei = { 0 }; + HANDLE hDbEvent = (HANDLE)CallService(MS_DB_EVENT_FINDFIRST, (WPARAM)hContact, 0); + while(hDbEvent){ + ZeroMemory(&dbei, sizeof(dbei)); + dbei.cbSize = sizeof(dbei); + + if (CallService(MS_DB_EVENT_GET, (WPARAM)hDbEvent, (LPARAM)&dbei)) break; + if(dbei.flags & DBEF_SENT){ + // mark contact as Answered + DBWriteContactSettingByte(hContact, pluginName, answeredSetting, 1); + // ...let the event go its way + return true; + } + hDbEvent = (HANDLE)CallService(MS_DB_EVENT_FINDNEXT, (WPARAM)hDbEvent, 0); + } + return false; +} + +void SetDlgItemString(HWND hwndDlg, UINT idItem, std::string const &str) +{ + SetDlgItemTextA(hwndDlg, idItem, str.c_str()); +} + +void SetDlgItemString(HWND hwndDlg, UINT idItem, std::wstring const &str) +{ + SetDlgItemTextW(hwndDlg, idItem, str.c_str()); +} + +tstring variables_parse(tstring const &tstrFormat, HANDLE hContact){ + if (ServiceExists(MS_VARS_FORMATSTRING)) { + FORMATINFO fi; + TCHAR *tszParsed; + tstring tstrResult; + + ZeroMemory(&fi, sizeof(fi)); + fi.cbSize = sizeof(fi); + fi.tszFormat = _tcsdup(tstrFormat.c_str()); + fi.hContact = hContact; + fi.flags |= FIF_TCHAR; + tszParsed = (TCHAR *)CallService(MS_VARS_FORMATSTRING, (WPARAM)&fi, 0); + free(fi.tszFormat); + if (tszParsed) { + tstrResult = tszParsed; + CallService(MS_VARS_FREEMEMORY, (WPARAM)tszParsed, 0); + return tstrResult; + } + } + return tstrFormat; +} + +tstring trim(const tstring &tstr, const tstring& trimChars) +{ + size_t s = tstr.find_first_not_of(trimChars); + size_t e = tstr.find_last_not_of (trimChars); + + if ((tstring::npos == s) || ( tstring::npos == e)) + return _T(""); + else + return tstr.substr(s, e - s + 1); +} \ No newline at end of file -- cgit v1.2.3