summaryrefslogtreecommitdiff
path: root/splashscreen/src/services.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'splashscreen/src/services.cpp')
-rw-r--r--splashscreen/src/services.cpp87
1 files changed, 87 insertions, 0 deletions
diff --git a/splashscreen/src/services.cpp b/splashscreen/src/services.cpp
new file mode 100644
index 0000000..8db2cc8
--- /dev/null
+++ b/splashscreen/src/services.cpp
@@ -0,0 +1,87 @@
+/*
+ Splash Screen Plugin for Miranda-IM (www.miranda-im.org)
+ (c) 2004-2007 nullbie, (c) 2005-2007 Thief
+
+ 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
+
+ File name : $URL: http://svn.miranda.im/mainrepo/splashscreen/trunk/src/services.cpp $
+ Revision : $Rev: 951 $
+ Last change on : $Date: 2007-10-16 16:46:53 +0200 (Вт, 16 окт 2007) $
+ Last change by : $Author: Thief $
+
+*/
+
+#include "headers.h"
+
+extern bool bserviceinvoked;
+extern char szSplashFile[MAX_PATH], szMirDir[MAX_PATH];
+extern bool ShowSplash(bool bpreview);
+
+int ShowSplashService(WPARAM wparam,LPARAM lparam)
+{
+ bserviceinvoked = true;
+ char szOldfn [256];
+ char* pos;
+ char* filename = (char*) wparam;
+ int timetoshow = (int) lparam;
+
+ lstrcpy(szOldfn, szSplashFile);
+ options.showtime = timetoshow;
+
+ ZeroMemory(&szSplashFile,sizeof(szSplashFile));
+ pos = strrchr(filename, ':');
+ if (pos == NULL)
+ {
+ lstrcpy(szSplashFile, szMirDir);
+ lstrcat(szSplashFile, filename);
+ }
+ else
+ {
+ lstrcpy(szSplashFile, filename);
+ }
+
+ ShowSplash(false);
+
+ //ZeroMemory(&szSplashFile,sizeof(szSplashFile));
+ lstrcpy(szSplashFile, szOldfn);
+
+ return 0;
+}
+
+#ifdef _DEBUG
+int TestService(WPARAM wParam,LPARAM lParam)
+{
+ static char szTempPath[MAX_PATH];
+
+ OPENFILENAMEA ofn={0};
+ ofn.lStructSize = OPENFILENAME_SIZE_VERSION_400;
+ ofn.lpstrFilter = "PNG and BMP files\0*.png;*.bmp\0\0";
+ ofn.hwndOwner=0;
+ ofn.lpstrFile = szTempPath;
+ ofn.nMaxFile = MAX_PATH;
+ ofn.nMaxFileTitle = MAX_PATH;
+ ofn.Flags = OFN_HIDEREADONLY;
+ ofn.lpstrInitialDir = szMirDir;
+ *szTempPath = '\0';
+ ofn.lpstrDefExt = "";
+
+ if (GetOpenFileNameA(&ofn))
+ {
+ CallService(MS_SHOWSPLASH,(WPARAM)szTempPath,(LPARAM)0);
+ }
+
+ return 0;
+}
+#endif