]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/filed/win32/winabout.cpp
Change DATE to BDATE in winres.rc
[bacula/bacula] / bacula / src / filed / win32 / winabout.cpp
1 /*
2    Copyright (C) 2000-2003 Kern Sibbald and John Walker
3
4    This program is free software; you can redistribute it and/or
5    modify it under the terms of the GNU General Public License as
6    published by the Free Software Foundation; either version 2 of
7    the License, or (at your option) any later version.
8
9    This program is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12    General Public License for more details.
13
14    You should have received a copy of the GNU General Public
15    License along with this program; if not, write to the Free
16    Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
17    MA 02111-1307, USA.
18
19    This file is patterned after the VNC Win32 code by ATT
20   
21    Copyright (2000) Kern E. Sibbald
22 */
23
24 #include "winbacula.h"
25 #include "winabout.h"
26
27 bacAbout::bacAbout()
28 {
29    visible = FALSE;
30 }
31
32 bacAbout::~bacAbout()
33 {
34 }
35
36 void bacAbout::Show(BOOL show)
37 {
38    if (show && !visible) {
39       DialogBoxParam(hAppInstance, MAKEINTRESOURCE(IDD_ABOUT), NULL,
40          (DLGPROC)DialogProc, (LONG)this);
41    }
42 }
43
44 BOOL CALLBACK
45 bacAbout::DialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam )
46 {
47    /* The dialog-box this pointer is in USERDATA */
48    bacAbout *_this = (bacAbout *)GetWindowLong(hwnd, GWL_USERDATA);
49
50    switch (uMsg) {
51    case WM_INITDIALOG:
52       /* Retrieve the Dialog box parameter */
53       SetWindowLong(hwnd, GWL_USERDATA, lParam);
54       _this = (bacAbout *)lParam;
55
56       /* Show the dialog */
57       SetForegroundWindow(hwnd);
58       _this->visible = TRUE;
59       return TRUE;
60
61    case WM_COMMAND:
62       switch (LOWORD(wParam)) {
63       case IDCANCEL:
64       case IDOK:
65          EndDialog(hwnd, TRUE);
66          _this->visible = FALSE;
67          return TRUE;
68       }
69       break;
70
71    case WM_DESTROY:
72       EndDialog(hwnd, FALSE);
73       _this->visible = FALSE;
74       return TRUE;
75    }
76    return 0;
77 }