6 #include "TaAfsUsrMgr.h"
7 #include "grp_delete.h"
11 * DEFINITIONS ________________________________________________________________
17 * PROTOTYPES _________________________________________________________________
21 BOOL CALLBACK Group_Delete_DlgProc (HWND hDlg, UINT msg, WPARAM wp, LPARAM lp);
22 void Group_Delete_OnInitDialog (HWND hDlg);
23 void Group_Delete_OnDestroy (HWND hDlg);
24 void Group_Delete_OnOK (HWND hDlg);
28 * ROUTINES ___________________________________________________________________
32 void Group_ShowDelete (LPASIDLIST pGroupList)
34 ModalDialogParam (IDD_GROUP_DELETE, g.hMain, (DLGPROC)Group_Delete_DlgProc, (LPARAM)pGroupList);
38 BOOL CALLBACK Group_Delete_DlgProc (HWND hDlg, UINT msg, WPARAM wp, LPARAM lp)
40 if (AfsAppLib_HandleHelp (IDD_GROUP_DELETE, hDlg, msg, wp, lp))
46 SetWindowLong (hDlg, DWL_USER, lp);
47 Group_Delete_OnInitDialog (hDlg);
51 Group_Delete_OnDestroy (hDlg);
58 Group_Delete_OnOK (hDlg);
59 EndDialog (hDlg, IDOK);
63 EndDialog (hDlg, IDCANCEL);
73 void Group_Delete_OnInitDialog (HWND hDlg)
75 LPASIDLIST pGroupList = (LPASIDLIST)GetWindowLong (hDlg, DWL_USER);
77 // Fix the title of the dialog
79 if (pGroupList->cEntries == 1)
82 TCHAR szName[ cchNAME ];
83 asc_ObjectNameGet_Fast (g.idClient, g.idCell, pGroupList->aEntries[0].idObject, szName, &status);
85 TCHAR szText[ cchRESOURCE ];
86 GetDlgItemText (hDlg, IDC_DELETE_TITLE, szText, cchRESOURCE);
88 LPTSTR pszText = FormatString (szText, TEXT("%s"), szName);
89 SetDlgItemText (hDlg, IDC_DELETE_TITLE, pszText);
94 LPTSTR pszNames = CreateNameList (pGroupList);
96 LPTSTR pszText = FormatString (IDS_GROUP_DELETE_MULTIPLE, TEXT("%s"), pszNames);
97 SetDlgItemText (hDlg, IDC_DELETE_TITLE, pszText);
100 FreeString (pszNames);
105 void Group_Delete_OnDestroy (HWND hDlg)
107 LPASIDLIST pGroupList = (LPASIDLIST)GetWindowLong (hDlg, DWL_USER);
108 asc_AsidListFree (&pGroupList);
112 void Group_Delete_OnOK (HWND hDlg)
114 LPASIDLIST pGroupList = (LPASIDLIST)GetWindowLong (hDlg, DWL_USER);
116 // Start a background task to do all the work.
119 asc_AsidListCopy (&pTask, &pGroupList);
120 StartTask (taskGROUP_DELETE, NULL, pTask);