summaryrefslogtreecommitdiff
path: root/splashscreen/src/services.cpp
blob: 8db2cc8b9bd31df0ffd74e302b37ad77dc436a6a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
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