6 #include "TaAfsUsrMgr.h"
9 #include "usr_search.h"
15 * RESIZING WINDOWS ___________________________________________________________
19 rwWindowData awdUsersTab[] = {
20 { IDC_USERS_TITLE, raRepaint | raSizeX },
21 { IDC_ADVANCED, raMoveX },
22 { IDC_USERS_PATTERN, raMoveX },
23 { IDC_USERS_PATTERN_PROMPT, raRepaint | raMoveX },
24 { IDC_USERS_LIST, raSizeX | raSizeY },
25 { M_USER_CREATE, raMoveX | raMoveY },
26 { M_MEMBERSHIP, raMoveX | raMoveY },
27 { M_PROPERTIES, raMoveX | raMoveY },
28 { IDC_STATIC, raRepaint },
34 * DEFINITIONS ________________________________________________________________
38 #define ID_SEARCH_TIMER 0
40 #define msecSEARCH_TIMER 650
49 * PROTOTYPES _________________________________________________________________
53 void Users_EnableButtons (HWND hDlg);
57 * ROUTINES ___________________________________________________________________
61 BOOL CALLBACK Users_DlgProc (HWND hDlg, UINT msg, WPARAM wp, LPARAM lp)
63 if (Display_HandleColumnNotify (hDlg, msg, wp, lp, &gr.viewUsr))
71 GetClientRect (GetParent(hDlg), &rTab);
72 TabCtrl_AdjustRect (GetParent (hDlg), FALSE, &rTab);
73 ResizeWindow (hDlg, awdUsersTab, rwaMoveToHere, &rTab);
75 HIMAGELIST hSmall = AfsAppLib_CreateImageList (FALSE);
76 HIMAGELIST hLarge = AfsAppLib_CreateImageList (TRUE);
77 FastList_SetImageLists (GetDlgItem (hDlg, IDC_USERS_LIST), hSmall, hLarge);
79 FastList_SetSortFunction (GetDlgItem (hDlg, IDC_USERS_LIST), General_ListSortFunction);
81 FL_RestoreView (GetDlgItem (hDlg, IDC_USERS_LIST), &gr.viewUsr);
82 FastList_SetTextCallback (GetDlgItem (hDlg, IDC_USERS_LIST), Display_GetItemText, (DWORD)&gr.viewUsr);
83 SetDlgItemText (hDlg, IDC_USERS_PATTERN, g.szPatternUsers);
84 Users_EnableButtons(hDlg);
85 Display_PopulateUserList();
92 WinHelp (hDlg, cszHELPFILENAME, HELP_FINDER, 0);
96 FL_StoreView (GetDlgItem (hDlg, IDC_USERS_LIST), &gr.viewUsr);
100 // if (lp==0), we're minimizing--don't call ResizeWindow().
103 ResizeWindow (hDlg, awdUsersTab, rwaFixupGuts);
109 case ID_SEARCH_TIMER:
110 if ( (l.dwTickLastType) && (GetTickCount() > l.dwTickLastType + msecSEARCH_TIMER) )
112 KillTimer (hDlg, ID_SEARCH_TIMER);
113 Display_PopulateUserList();
121 ptScreen.x = LOWORD(lp);
122 ptScreen.y = HIWORD(lp);
123 OnRightClick (pmUSER, GetDlgItem (hDlg, IDC_USERS_LIST), &ptScreen);
129 case IDC_USERS_PATTERN:
130 if (HIWORD(wp) == EN_UPDATE)
132 l.dwTickLastType = GetTickCount();
133 KillTimer (hDlg, ID_SEARCH_TIMER);
134 SetTimer (hDlg, ID_SEARCH_TIMER, msecSEARCH_TIMER +15, NULL);
139 Users_ShowAdvancedSearch (g.hMain);
143 OnContextCommand (LOWORD(wp));
149 switch (((LPNMHDR)lp)->code)
153 Users_EnableButtons(hDlg);
157 PostMessage (hDlg, WM_COMMAND, MAKELONG(M_PROPERTIES,BN_CLICKED), (LPARAM)GetDlgItem (hDlg, M_PROPERTIES));
167 void Users_EnableButtons (HWND hDlg)
169 BOOL fEnable = (Display_GetSelectedCount() != 0) ? TRUE : FALSE;
170 EnableWindow (GetDlgItem (hDlg, M_PROPERTIES), fEnable);
171 EnableWindow (GetDlgItem (hDlg, M_MEMBERSHIP), fEnable);