2 * Copyright 2000, International Business Machines Corporation and others.
5 * This software has been released under the terms of the IBM Public
6 * License. For details, see the LICENSE file in the top-level source
7 * directory or online at http://www.openafs.org/dl/license10.html
11 #include <afs/param.h>
16 #include "set_release.h"
17 #include "propcache.h"
21 * DEFINITIONS ________________________________________________________________
27 * PROTOTYPES _________________________________________________________________
31 BOOL CALLBACK Filesets_Release_DlgProc (HWND hDlg, UINT msg, WPARAM wp, LPARAM lp);
32 void Filesets_Release_OnInitDialog (HWND hDlg, LPIDENT lpi);
33 void Filesets_Release_OnOK (HWND hDlg, LPIDENT lpi);
37 * ROUTINES ___________________________________________________________________
41 void Filesets_Release (LPIDENT lpi)
44 if ((hCurrent = PropCache_Search (pcSET_RELEASE, lpi)) != NULL)
50 HWND hDlg = ModelessDialogParam (IDD_SET_RELEASE, NULL, (DLGPROC)Filesets_Release_DlgProc, (LPARAM)lpi);
51 ShowWindow (hDlg, SW_SHOW);
56 BOOL CALLBACK Filesets_Release_DlgProc (HWND hDlg, UINT msg, WPARAM wp, LPARAM lp)
58 if (AfsAppLib_HandleHelp (IDD_SET_RELEASE, hDlg, msg, wp, lp))
61 if (msg == WM_INITDIALOG)
62 SetWindowLong (hDlg, DWL_USER, lp);
65 if ((lpi = (LPIDENT)GetWindowLong (hDlg, DWL_USER)) != NULL)
70 PropCache_Add (pcSET_RELEASE, lpi, hDlg);
71 Filesets_Release_OnInitDialog (hDlg, lpi);
78 Filesets_Release_OnOK (hDlg, lpi);
88 PropCache_Delete (pcSET_RELEASE, lpi);
97 void Filesets_Release_OnInitDialog (HWND hDlg, LPIDENT lpi)
99 TCHAR szServer[ cchNAME ];
100 TCHAR szAggregate[ cchNAME ];
101 TCHAR szFileset[ cchNAME ];
102 lpi->GetServerName (szServer);
103 lpi->GetAggregateName (szAggregate);
104 lpi->GetFilesetName (szFileset);
106 TCHAR szOld[ cchRESOURCE ];
107 GetDlgItemText (hDlg, IDC_RELSET_DESC, szOld, cchRESOURCE);
109 LPTSTR pszText = FormatString (szOld, TEXT("%s%s%s"), szServer, szAggregate, szFileset);
110 SetDlgItemText (hDlg, IDC_RELSET_DESC, pszText);
111 FreeString (pszText);
113 CheckDlgButton (hDlg, IDC_RELSET_NORMAL, TRUE);
114 CheckDlgButton (hDlg, IDC_RELSET_FORCE, FALSE);
118 void Filesets_Release_OnOK (HWND hDlg, LPIDENT lpi)
120 LPSET_RELEASE_PARAMS lpp = New (SET_RELEASE_PARAMS);
121 memset (lpp, 0x00, sizeof(SET_RELEASE_PARAMS));
123 lpp->fForce = IsDlgButtonChecked (hDlg, IDC_RELSET_FORCE);
124 StartTask (taskSET_RELEASE, NULL, lpp);