summaryrefslogtreecommitdiff
path: root/plugins/ClientChangeNotify/Misc.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/ClientChangeNotify/Misc.h')
-rw-r--r--plugins/ClientChangeNotify/Misc.h83
1 files changed, 83 insertions, 0 deletions
diff --git a/plugins/ClientChangeNotify/Misc.h b/plugins/ClientChangeNotify/Misc.h
new file mode 100644
index 0000000000..262193dc26
--- /dev/null
+++ b/plugins/ClientChangeNotify/Misc.h
@@ -0,0 +1,83 @@
+/*
+ ClientChangeNotify - Plugin for Miranda IM
+ Copyright (c) 2006-2008 Chervov Dmitry
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+*/
+
+#include "Common.h"
+
+
+__inline void ShowMsg(TCHAR *FirstLine, TCHAR *SecondLine = _T(""), bool IsErrorMsg = false, int Timeout = 0)
+{
+ if (ServiceExists(MS_POPUP_ADDPOPUPEX))
+ {
+ POPUPDATAT ppd = {0};
+ ppd.lchIcon = LoadIcon(NULL, IsErrorMsg ? IDI_EXCLAMATION : IDI_INFORMATION);
+ lstrcpy(ppd.lptzContactName, FirstLine);
+ lstrcpy(ppd.lptzText, SecondLine);
+ ppd.colorBack = IsErrorMsg ? 0x0202E3 : 0xE8F1FD;
+ ppd.colorText = IsErrorMsg ? 0xE8F1FD : 0x000000;
+ ppd.iSeconds = Timeout;
+ CallService(MS_POPUP_ADDPOPUPT, (WPARAM)&ppd, 0);
+ } else
+ {
+ MessageBox(NULL, SecondLine, FirstLine, MB_OK | (IsErrorMsg ? MB_ICONEXCLAMATION : MB_ICONINFORMATION));
+ }
+}
+
+
+__inline TCString Path_ToRelative(TCString &Path)
+{
+ CString Str;
+ Str.GetBuffer(MAX_PATH);
+ CallService(MS_UTILS_PATHTORELATIVE, (WPARAM)(const char*)TCHAR2ANSI(Path), (LPARAM)(char*)Str);
+ Str.ReleaseBuffer();
+ return ANSI2TCHAR(Str);
+}
+
+
+__inline TCString Path_ToAbsolute(TCString &Path)
+{
+ CString Str;
+ Str.GetBuffer(MAX_PATH);
+ CallService(MS_UTILS_PATHTOABSOLUTE, (WPARAM)(const char*)TCHAR2ANSI(Path), (LPARAM)(char*)Str);
+ Str.ReleaseBuffer();
+ return ANSI2TCHAR(Str);
+}
+
+
+__inline void ShowLog(TCString &LogFilePath)
+{
+ int Result = (int)ShellExecute(NULL, _T("open"), LogFilePath, NULL, NULL, SW_SHOW);
+ if (Result <= 32) // Error
+ {
+ TCHAR szError[64];
+ mir_sntprintf(szError, lengthof(szError), TranslateT("Error #%d"), Result);
+ ShowMsg(szError, TranslateT("Can't open log file ") + LogFilePath, true);
+ }
+}
+
+
+__inline void RecompileRegexps(TCString IgnoreSubstrings)
+{
+ FreePcreCompileData();
+ TCHAR *p = _tcstok(IgnoreSubstrings, _T(";"));
+ while (p)
+ {
+ CompileRegexp(p, p[0] != '/');
+ p = _tcstok(NULL, _T(";"));
+ }
+}