void HostsTab_OnRemove (HWND hDlg) { HWND hList = GetDlgItem (hDlg, IDC_LIST); HLISTITEM hItem = FastList_FindFirstSelected (hList); HLISTITEM hNext = FastList_FindNextSelected (hList, hItem); if (!hItem) { return; } else if (hNext) { if (Message (MB_ICONEXCLAMATION | MB_OKCANCEL, GetCautionTitle(), IDS_HOSTREM_MANY) != IDOK) return; } else // (!hNext) { PCELLDBLINE pLine = (PCELLDBLINE)FastList_GetItemParam (hList, hItem); CELLDBLINEINFO Info; CSDB_CrackLine (&Info, pLine->szLine); if (Message (MB_ICONEXCLAMATION | MB_OKCANCEL, GetCautionTitle(), IDS_HOSTREM_ONE, TEXT("%s"), Info.szCell) != IDOK) return; } for ( ; hItem; hItem = FastList_FindNextSelected (hList, hItem)) { PCELLDBLINE pLine = (PCELLDBLINE)FastList_GetItemParam (hList, hItem); CSDB_RemoveCell (&g.Configuration.CellServDB, pLine); } HostsTab_FillList (hDlg); HostsTab_OnSelect (hDlg); }
LPASIDLIST Display_GetSelectedList (void) { LPASIDLIST pAsidList = NULL; HWND hDlg = GetTabChild (GetDlgItem (g.hMain, IDC_TAB)); HWND hList = GetDlgItem (hDlg, IDC_GROUPS_LIST); if (!IsWindow (hList)) hList = GetDlgItem (hDlg, IDC_USERS_LIST); if (!IsWindow (hList)) hList = GetDlgItem (hDlg, IDC_MACHINES_LIST); if (IsWindow (hList)) { if (asc_AsidListCreate (&pAsidList)) { for (HLISTITEM hItem = FastList_FindFirstSelected (hList); hItem != NULL; hItem = FastList_FindNextSelected (hList, hItem)) { ASID idObject = (ASID)FastList_GetItemParam (hList, hItem); if (idObject) asc_AsidListAddEntry (&pAsidList, idObject, 0); } } } return pAsidList; }
void CellEdit_OnSelect (HWND hDlg) { HWND hList = GetDlgItem (hDlg, IDC_LIST); HLISTITEM hItem = FastList_FindFirstSelected (hList); HLISTITEM hNext = FastList_FindNextSelected (hList, hItem); EnableWindow (GetDlgItem (hDlg, IDC_EDIT), !!hItem && !hNext); EnableWindow (GetDlgItem (hDlg, IDC_REMOVE), !!hItem); }
void Browse_OnSelect (HWND hDlg) { LPBROWSE_PARAMS lpp; if ((lpp = (LPBROWSE_PARAMS)GetWindowLongPtr (hDlg, DWLP_USER)) != NULL) { if (!lpp->fQuerying) { HWND hList = GetDlgItem (hDlg, IDC_BROWSE_LIST); static TCHAR szSeparator[ cchRESOURCE ] = TEXT(""); if (szSeparator[0] == TEXT('\0')) { if (!GetLocaleInfo (LOCALE_USER_DEFAULT, LOCALE_SLIST, szSeparator, cchRESOURCE)) lstrcpy (szSeparator, TEXT(",")); lstrcat (szSeparator, TEXT(" ")); } LPTSTR pszText = NULL; HLISTITEM hItem = NULL; while ((hItem = FastList_FindNextSelected (hList, hItem)) != NULL) { LPCTSTR pszName; if ((pszName = FastList_GetItemText (hList, hItem, 0)) != NULL) { LPTSTR pszNew; if (pszText) pszNew = FormatString (TEXT("%1%2%3"), TEXT("%s%s%s"), pszText, szSeparator, pszName); else pszNew = FormatString (TEXT("%1"), TEXT("%s"), pszName); if (pszText) FreeString (pszText); pszText = pszNew; } if (pszText && !lpp->fAllowMultiple) break; } SetDlgItemText (hDlg, IDC_BROWSE_NAMED, (pszText) ? pszText : TEXT("")); if (pszText) FreeString (pszText); } } }
size_t Display_GetSelectedCount (void) { size_t cSelected = 0; HWND hDlg = GetTabChild (GetDlgItem (g.hMain, IDC_TAB)); HWND hList = GetDlgItem (hDlg, IDC_GROUPS_LIST); if (!IsWindow (hList)) hList = GetDlgItem (hDlg, IDC_USERS_LIST); if (!IsWindow (hList)) hList = GetDlgItem (hDlg, IDC_MACHINES_LIST); if (IsWindow (hList)) { for (HLISTITEM hItem = FastList_FindFirstSelected (hList); hItem != NULL; hItem = FastList_FindNextSelected (hList, hItem)) { ++cSelected; } } return cSelected; }