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>
15
#include "TaAfsUsrMgr.h"
18
#include "usr_search.h"
24
* RESIZING WINDOWS ___________________________________________________________
28
rwWindowData awdUsersTab[] = {
29
{ IDC_USERS_TITLE, raRepaint | raSizeX },
30
{ IDC_ADVANCED, raMoveX },
31
{ IDC_USERS_PATTERN, raMoveX },
32
{ IDC_USERS_PATTERN_PROMPT, raRepaint | raMoveX },
33
{ IDC_USERS_LIST, raSizeX | raSizeY },
34
{ M_USER_CREATE, raMoveX | raMoveY },
35
{ M_MEMBERSHIP, raMoveX | raMoveY },
36
{ M_PROPERTIES, raMoveX | raMoveY },
37
{ IDC_STATIC, raRepaint },
43
* DEFINITIONS ________________________________________________________________
47
#define ID_SEARCH_TIMER 0
49
#define msecSEARCH_TIMER 650
58
* PROTOTYPES _________________________________________________________________
62
void Users_EnableButtons (HWND hDlg);
66
* ROUTINES ___________________________________________________________________
70
BOOL CALLBACK Users_DlgProc (HWND hDlg, UINT msg, WPARAM wp, LPARAM lp)
72
if (Display_HandleColumnNotify (hDlg, msg, wp, lp, &gr.viewUsr))
80
GetClientRect (GetParent(hDlg), &rTab);
81
TabCtrl_AdjustRect (GetParent (hDlg), FALSE, &rTab);
82
ResizeWindow (hDlg, awdUsersTab, rwaMoveToHere, &rTab);
84
HIMAGELIST hSmall = AfsAppLib_CreateImageList (FALSE);
85
HIMAGELIST hLarge = AfsAppLib_CreateImageList (TRUE);
86
FastList_SetImageLists (GetDlgItem (hDlg, IDC_USERS_LIST), hSmall, hLarge);
88
FastList_SetSortFunction (GetDlgItem (hDlg, IDC_USERS_LIST), General_ListSortFunction);
90
FL_RestoreView (GetDlgItem (hDlg, IDC_USERS_LIST), &gr.viewUsr);
91
FastList_SetTextCallback (GetDlgItem (hDlg, IDC_USERS_LIST), Display_GetItemText, (DWORD)&gr.viewUsr);
92
SetDlgItemText (hDlg, IDC_USERS_PATTERN, g.szPatternUsers);
93
Users_EnableButtons(hDlg);
94
Display_PopulateUserList();
101
WinHelp (hDlg, cszHELPFILENAME, HELP_FINDER, 0);
105
FL_StoreView (GetDlgItem (hDlg, IDC_USERS_LIST), &gr.viewUsr);
109
// if (lp==0), we're minimizing--don't call ResizeWindow().
112
ResizeWindow (hDlg, awdUsersTab, rwaFixupGuts);
118
case ID_SEARCH_TIMER:
119
if ( (l.dwTickLastType) && (GetTickCount() > l.dwTickLastType + msecSEARCH_TIMER) )
121
KillTimer (hDlg, ID_SEARCH_TIMER);
122
Display_PopulateUserList();
130
ptScreen.x = LOWORD(lp);
131
ptScreen.y = HIWORD(lp);
132
OnRightClick (pmUSER, GetDlgItem (hDlg, IDC_USERS_LIST), &ptScreen);
138
case IDC_USERS_PATTERN:
139
if (HIWORD(wp) == EN_UPDATE)
141
l.dwTickLastType = GetTickCount();
142
KillTimer (hDlg, ID_SEARCH_TIMER);
143
SetTimer (hDlg, ID_SEARCH_TIMER, msecSEARCH_TIMER +15, NULL);
148
Users_ShowAdvancedSearch (g.hMain);
152
OnContextCommand (LOWORD(wp));
158
switch (((LPNMHDR)lp)->code)
162
Users_EnableButtons(hDlg);
166
PostMessage (hDlg, WM_COMMAND, MAKELONG(M_PROPERTIES,BN_CLICKED), (LPARAM)GetDlgItem (hDlg, M_PROPERTIES));
176
void Users_EnableButtons (HWND hDlg)
178
BOOL fEnable = (Display_GetSelectedCount() != 0) ? TRUE : FALSE;
179
EnableWindow (GetDlgItem (hDlg, M_PROPERTIES), fEnable);
180
EnableWindow (GetDlgItem (hDlg, M_MEMBERSHIP), fEnable);