void Aggregates_ShowParticularPopupMenu (HWND hParent, POINT ptScreen, LPIDENT lpiAggregate) { HMENU hm; if (lpiAggregate == NULL) hm = TaLocale_LoadMenu (MENU_AGG_NONE); else hm = TaLocale_LoadMenu (MENU_AGG); if (hm != NULL) { if (lpiAggregate == NULL) { HMENU hmView = GetSubMenu (hm, 0); CheckMenuRadioItem (hmView, M_VIEW_ONEICON, M_VIEW_STATUS, (gr.ivAgg == ivTWOICONS) ? M_VIEW_TWOICONS : (gr.ivAgg == ivONEICON) ? M_VIEW_ONEICON : M_VIEW_STATUS, MF_BYCOMMAND); } DisplayContextMenu (hm, ptScreen, hParent); } }
void Aggregates_ShowPopupMenu (HWND hList, POINT ptList, POINT ptScreen) { if (!ptScreen.x && !ptScreen.y) { RECT rWindow; GetWindowRect (hList, &rWindow); ptScreen.x = rWindow.left + (rWindow.right -rWindow.left)/2; ptScreen.y = rWindow.top + (rWindow.bottom -rWindow.top)/2; Aggregates_ShowParticularPopupMenu (hList, ptScreen, NULL); } else if (FL_HitTestForHeaderBar (hList, ptList)) { HMENU hm = TaLocale_LoadMenu (MENU_COLUMNS); DisplayContextMenu (hm, ptScreen, hList); } else { LPIDENT lpiSelected = NULL; HLISTITEM hItem; if ((hItem = FastList_ItemFromPoint (hList, &ptList, TRUE)) != NULL) lpiSelected = (LPIDENT)FastList_GetItemParam (hList, hItem); if (lpiSelected && (lpiSelected != (LPIDENT)FL_GetSelectedData (hList))) lpiSelected = NULL; if (lpiSelected && lpiSelected->fIsServer()) Server_ShowParticularPopupMenu (hList, ptScreen, lpiSelected); else Aggregates_ShowParticularPopupMenu (hList, ptScreen, lpiSelected); } }
void Services_OnEndTask_Menu (LPTASKPACKET ptp) { HMENU hm; if (!TASKDATA(ptp)->mt.lpi) hm = TaLocale_LoadMenu (MENU_SVC_NONE); else { TCHAR szName[ cchRESOURCE ]; TASKDATA(ptp)->mt.lpi->GetServiceName (szName); if (!lstrcmpi (szName, TEXT("BOS"))) hm = TaLocale_LoadMenu (MENU_SVC_BOS); else hm = TaLocale_LoadMenu (MENU_SVC); } if (hm != NULL) { if (TASKDATA(ptp)->mt.lpi == NULL) { HMENU hmView = GetSubMenu (hm, 0); CheckMenuRadioItem (hmView, M_VIEW_ONEICON, M_VIEW_STATUS, (gr.ivSvc == ivTWOICONS) ? M_VIEW_TWOICONS : (gr.ivSvc == ivONEICON) ? M_VIEW_ONEICON : M_VIEW_STATUS, MF_BYCOMMAND); } else // (TASKDATA(ptp)->mt.lpi) { if (!ptp->rc) { EnableMenu (hm, M_SVC_START, FALSE); EnableMenu (hm, M_SVC_STOP, FALSE); EnableMenu (hm, M_SVC_RESTART, FALSE); } else { if (TASKDATA(ptp)->cs.state != SERVICESTATE_STOPPED) EnableMenu (hm, M_SVC_START, FALSE); else if (TASKDATA(ptp)->cs.state != SERVICESTATE_RUNNING) EnableMenu (hm, M_SVC_STOP, FALSE); } } DisplayContextMenu (hm, TASKDATA(ptp)->mt.ptScreen, TASKDATA(ptp)->mt.hParent); } }
void Filesets_OnEndTask_DragMenu (HWND hDlg, LPTASKPACKET ptp) { HMENU hm = TaLocale_LoadMenu (MENU_SET_DRAGDROP); if (!ptp->rc) EnableMenu (hm, M_SET_MOVEHERE, FALSE); if (!ptp->rc || (TASKDATA(ptp)->fs.Type != ftREADWRITE)) EnableMenu (hm, M_SET_REPHERE, FALSE); DisplayContextMenu (hm, TASKDATA(ptp)->mt.ptScreen, TASKDATA(ptp)->mt.hParent); Filesets_CancelDrag (hDlg); }
void Filesets_ShowPopupMenu (HWND hList, POINT ptList, POINT ptScreen) { if (!ptScreen.x && !ptScreen.y) { RECT rWindow; GetWindowRect (hList, &rWindow); ptScreen.x = rWindow.left + (rWindow.right -rWindow.left)/2; ptScreen.y = rWindow.top + (rWindow.bottom -rWindow.top)/2; Filesets_ShowParticularPopupMenu (hList, ptScreen, NULL); } else if (FL_HitTestForHeaderBar (hList, ptList)) { HMENU hm = TaLocale_LoadMenu (MENU_COLUMNS); DisplayContextMenu (hm, ptScreen, hList); } else { LPIDENT lpi = Filesets_GetFocused (GetParent (hList), &ptList); if (lpi && (lpi != Filesets_GetSelected (GetParent (hList)))) { lpi = NULL; // right-click on item other than highlighted one? } if (lpi && lpi->fIsFileset()) { Filesets_ShowParticularPopupMenu (hList, ptScreen, lpi); } else if (lpi && lpi->fIsAggregate()) { Aggregates_ShowParticularPopupMenu (hList, ptScreen, lpi); } else if (lpi && lpi->fIsServer()) { Server_ShowParticularPopupMenu (hList, ptScreen, lpi); } else if (!lpi) // display the _NONE menu? (no menu if it's a cell ident) { Filesets_ShowParticularPopupMenu (hList, ptScreen, lpi); } } }
void Filesets_OnEndTask_Menu (HWND hDlg, LPTASKPACKET ptp) { LPIDENT lpiFileset = (LPIDENT)(TASKDATA(ptp)->mt.lpi); HMENU hm; if (lpiFileset != NULL) hm = TaLocale_LoadMenu (MENU_SET); else hm = TaLocale_LoadMenu (MENU_SET_NONE); if (hm != NULL) { if (lpiFileset == NULL) { HMENU hmView = GetSubMenu (hm, 0); DWORD dwStyle = GetWindowLong (TASKDATA(ptp)->mt.hParent, GWL_STYLE); CheckMenuRadioItem (hmView, M_SET_VIEW_REPORT, M_SET_VIEW_TREE, ((dwStyle & FLS_VIEW_MASK) == FLS_VIEW_TREELIST) ? M_SET_VIEW_TREELIST : ((dwStyle & FLS_VIEW_MASK) == FLS_VIEW_TREE) ? M_SET_VIEW_TREE : M_SET_VIEW_REPORT, MF_BYCOMMAND); CheckMenuRadioItem (hmView, M_VIEW_ONEICON, M_VIEW_STATUS, (gr.ivSet == ivTWOICONS) ? M_VIEW_TWOICONS : (gr.ivSet == ivONEICON) ? M_VIEW_ONEICON : M_VIEW_STATUS, MF_BYCOMMAND); } else { if (!ptp->rc) { EnableMenu (hm, M_SET_REPLICATION, FALSE); EnableMenu (hm, M_SET_SETQUOTA, FALSE); EnableMenu (hm, M_SET_RELEASE, FALSE); EnableMenu (hm, M_SET_CLONE, FALSE); EnableMenu (hm, M_SET_MOVETO, FALSE); EnableMenu (hm, M_SET_DUMP, FALSE); EnableMenu (hm, M_SET_RESTORE, FALSE); } else { if (TASKDATA(ptp)->fs.Type == ftCLONE) { EnableMenu (hm, M_SET_REPLICATION, FALSE); EnableMenu (hm, M_SET_RELEASE, FALSE); EnableMenu (hm, M_SET_CLONE, FALSE); EnableMenu (hm, M_SET_MOVETO, FALSE); } if (TASKDATA(ptp)->fs.Type != ftREADWRITE) { EnableMenu (hm, M_SET_CLONE, FALSE); EnableMenu (hm, M_SET_RELEASE, FALSE); EnableMenu (hm, M_SET_SETQUOTA, FALSE); EnableMenu (hm, M_SET_RESTORE, FALSE); } } } DisplayContextMenu (hm, TASKDATA(ptp)->mt.ptScreen, TASKDATA(ptp)->mt.hParent); } }
BOOL CALLBACK Filesets_Restore_DlgProc (HWND hDlg, UINT msg, WPARAM wp, LPARAM lp) { static LPSET_RESTORE_PARAMS psrp = NULL; if (msg == WM_INITDIALOG) psrp = (LPSET_RESTORE_PARAMS)lp; if (HandleColumnNotify (hDlg, msg, wp, lp, &gr.viewAggRestore)) return FALSE; if (AfsAppLib_HandleHelp (IDD_SET_RESTORE, hDlg, msg, wp, lp)) return TRUE; if (psrp != NULL) { switch (msg) { case WM_INITDIALOG: FastList_SetTextCallback (GetDlgItem (hDlg, IDC_AGG_LIST), GetItemText, &gr.viewAggRestore); Filesets_Restore_OnInitDialog (hDlg, psrp); break; case WM_CONTEXTMENU: HWND hList; hList = GetDlgItem (hDlg, IDC_AGG_LIST); POINT ptScreen; POINT ptClient; ptScreen.x = LOWORD(lp); ptScreen.y = HIWORD(lp); ptClient = ptScreen; ScreenToClient (hList, &ptClient); if (FL_HitTestForHeaderBar (hList, ptClient)) { HMENU hm = TaLocale_LoadMenu (MENU_COLUMNS); DisplayContextMenu (hm, ptScreen, hList); } break; case WM_ENDTASK: LPTASKPACKET ptp; if ((ptp = (LPTASKPACKET)lp) != NULL) { if (ptp->idTask == taskSET_LOOKUP) Filesets_Restore_OnEndTask_LookupFileset (hDlg, ptp, psrp); else if (ptp->idTask == taskSVR_ENUM_TO_COMBOBOX) Filesets_Restore_OnEndTask_EnumServers (hDlg, psrp); else if (ptp->idTask == taskAGG_ENUM_TO_LISTVIEW) Filesets_Restore_OnEndTask_EnumAggregates (hDlg, psrp); FreeTaskPacket (ptp); } break; case WM_COLUMNS_CHANGED: LPARAM lpSel; lpSel = FL_GetSelectedData (GetDlgItem (hDlg, IDC_AGG_LIST)); FL_RestoreView (GetDlgItem (hDlg, IDC_AGG_LIST), &gr.viewAggRestore); Filesets_Restore_OnSelectServer (hDlg, psrp); break; case WM_COMMAND: switch (LOWORD(wp)) { case IDOK: case IDCANCEL: EndDialog (hDlg, LOWORD(wp)); break; case IDC_RESTORE_INCREMENTAL: psrp->fIncremental = IsDlgButtonChecked (hDlg, IDC_RESTORE_INCREMENTAL); break; case IDC_RESTORE_SERVER: if (HIWORD(wp) == CBN_SELCHANGE) Filesets_Restore_OnSelectServer (hDlg, psrp); break; case IDC_RESTORE_SETNAME: if (HIWORD(wp) == EN_UPDATE) Filesets_Restore_OnSetName (hDlg, psrp); break; case IDC_RESTORE_FILENAME: Filesets_Restore_OnFileName (hDlg, psrp); break; case IDC_RESTORE_BROWSE: Filesets_Restore_OnBrowse (hDlg, psrp); break; } break; case WM_DESTROY: FL_StoreView (GetDlgItem (hDlg, IDC_AGG_LIST), &gr.viewAggRestore); psrp = NULL; break; case WM_NOTIFY: switch (((LPNMHDR)lp)->code) { case FLN_ITEMSELECT: Filesets_Restore_OnAggregate (hDlg, psrp); break; } break; } } return FALSE; }
BOOL CALLBACK Filesets_Create_DlgProc (HWND hDlg, UINT msg, WPARAM wp, LPARAM lp) { static LPSET_CREATE_PARAMS pscp = NULL; if (msg == WM_INITDIALOG) pscp = (LPSET_CREATE_PARAMS)lp; if (HandleColumnNotify (hDlg, msg, wp, lp, &gr.viewAggCreate)) return FALSE; if (AfsAppLib_HandleHelp (IDD_SET_CREATE, hDlg, msg, wp, lp)) return TRUE; if (pscp != NULL) { switch (msg) { case WM_INITDIALOG: FastList_SetTextCallback (GetDlgItem (hDlg, IDC_AGG_LIST), GetItemText, &gr.viewAggCreate); Filesets_Create_OnInitDialog (hDlg, pscp); break; case WM_CONTEXTMENU: HWND hList; hList = GetDlgItem (hDlg, IDC_AGG_LIST); POINT ptScreen; POINT ptClient; ptScreen.x = LOWORD(lp); ptScreen.y = HIWORD(lp); ptClient = ptScreen; ScreenToClient (hList, &ptClient); if (FL_HitTestForHeaderBar (hList, ptClient)) { HMENU hm = TaLocale_LoadMenu (MENU_COLUMNS); DisplayContextMenu (hm, ptScreen, hList); } break; case WM_ENDTASK: LPTASKPACKET ptp; if ((ptp = (LPTASKPACKET)lp) != NULL) { if (ptp->idTask == taskAGG_FIND_QUOTA_LIMITS) Filesets_Create_OnEndTask_FindQuotaLimits (hDlg, ptp, pscp); else if (ptp->idTask == taskAGG_ENUM_TO_LISTVIEW) Filesets_Create_OnEndTask_EnumAggregates (hDlg); else if (ptp->idTask == taskSVR_ENUM_TO_COMBOBOX) { EnableWindow (GetDlgItem (hDlg, IDC_SET_SERVER), TRUE); Filesets_Create_StartDisplay_Aggregates (hDlg, &pscp->lpiParent); } FreeTaskPacket (ptp); } break; case WM_COLUMNS_CHANGED: LPARAM lpSel; lpSel = FL_GetSelectedData (GetDlgItem (hDlg, IDC_AGG_LIST)); FL_RestoreView (GetDlgItem (hDlg, IDC_AGG_LIST), &gr.viewAggCreate); Filesets_Create_OnSelectServer (hDlg, (LPIDENT*)&lpSel); break; case WM_COMMAND: switch (LOWORD(wp)) { case IDOK: if (pscp->lpiParent && pscp->lpiParent->fIsAggregate() && pscp->szName[0]) EndDialog (hDlg, LOWORD(wp)); break; case IDCANCEL: EndDialog (hDlg, LOWORD(wp)); break; case IDC_SET_SERVER: if (HIWORD(wp) == CBN_SELCHANGE) Filesets_Create_OnSelectServer (hDlg, &pscp->lpiParent); break; case IDC_SET_NAME: GetDlgItemText (hDlg, IDC_SET_NAME, pscp->szName, cchNAME); Filesets_Create_EnableOK (hDlg, pscp); break; case IDC_SET_QUOTA: if (HIWORD(wp) == SPN_UPDATE) { pscp->ckQuota = SP_GetPos (GetDlgItem (hDlg, IDC_SET_QUOTA)); if (gr.cbQuotaUnits == cb1MB) pscp->ckQuota *= ck1MB; } break; case IDC_SET_QUOTA_UNITS: if (HIWORD(wp) == CBN_SELCHANGE) { gr.cbQuotaUnits = (size_t)CB_GetSelectedData (GetDlgItem (hDlg, IDC_SET_QUOTA_UNITS)); StartTask (taskAGG_FIND_QUOTA_LIMITS, hDlg, pscp->lpiParent); } break; case IDC_SET_CLONE: pscp->fCreateClone = IsDlgButtonChecked (hDlg, IDC_SET_CLONE); break; } break; case WM_DESTROY: FL_StoreView (GetDlgItem (hDlg, IDC_AGG_LIST), &gr.viewAggCreate); pscp = NULL; break; case WM_NOTIFY: switch (((LPNMHDR)lp)->code) { case FLN_ITEMSELECT: LPIDENT lpi; if ((lpi = (LPIDENT)FL_GetSelectedData (GetDlgItem (hDlg, IDC_AGG_LIST))) != NULL) { pscp->lpiParent = lpi; StartTask (taskAGG_FIND_QUOTA_LIMITS, hDlg, pscp->lpiParent); Filesets_Create_EnableOK (hDlg, pscp); } break; } break; } } return FALSE; }
BOOL CALLBACK Main_DlgProc (HWND hDlg, UINT msg, WPARAM wp, LPARAM lp) { static UINT msgCheckTerminate = 0; if (msgCheckTerminate == 0) msgCheckTerminate = RegisterWindowMessage (TEXT("AfsCredsCheckTerminate")); if (msg == msgCheckTerminate) { Main_OnCheckTerminate(); } else switch (msg) { case WM_INITDIALOG: g.hMain = hDlg; Main_OnInitDialog (hDlg); break; case WM_DESTROY: Creds_CloseLibraries(); ChangeTrayIcon (NIM_DELETE); break; case WM_ACTIVATEAPP: if (wp) { Main_RepopulateTabs (FALSE); } break; case WM_COMMAND: switch (LOWORD(wp)) { case IDOK: case IDCANCEL: Main_Show (FALSE); break; case M_ACTIVATE: if (g.fIsWinNT || IsServiceRunning()) { if (!lp) // Got here from "/show" parameter? switch tabs. { HWND hTab = GetDlgItem (g.hMain, IDC_TABS); TabCtrl_SetCurSel (hTab, 0); Main_OnSelectTab(); } Main_Show (TRUE); } else { Message (MB_ICONHAND, IDS_UNCONFIG_TITLE_95, IDS_UNCONFIG_DESC_95); } break; case M_TERMINATE: #ifndef UAC_COMPATIBLE if (g.fIsWinNT && IsServiceRunning()) ModalDialog (IDD_TERMINATE, NULL, (DLGPROC)Terminate_DlgProc); else #endif if (g.fIsWinNT) ModalDialog (IDD_TERMINATE_SMALL, NULL, (DLGPROC)Terminate_DlgProc); else // (!g.fIsWinNT) ModalDialog (IDD_TERMINATE_SMALL_95, NULL, (DLGPROC)Terminate_DlgProc); break; case M_TERMINATE_NOW: Quit(); break; case M_REMIND: Main_OnCheckMenuRemind(); break; } break; case WM_TIMER: Main_OnRemindTimer(); break; case WM_NOTIFY: switch (((NMHDR*)lp)->code) { case TCN_SELCHANGE: Main_OnSelectTab(); break; } break; case WM_TRAYICON: switch (lp) { case WM_LBUTTONDOWN: if (IsServiceRunning() || !IsServiceConfigured()) Main_Show (TRUE); else if (!g.fIsWinNT) Message (MB_ICONHAND, IDS_UNCONFIG_TITLE_95, IDS_UNCONFIG_DESC_95); else ShowStartupWizard(); break; case WM_RBUTTONDOWN: HMENU hm; if ((hm = TaLocale_LoadMenu (MENU_TRAYICON)) != 0) { POINT pt; GetCursorPos(&pt); HMENU hmDummy = CreateMenu(); InsertMenu (hmDummy, 0, MF_POPUP, (UINT)hm, NULL); BOOL fRemind = FALSE; lock_ObtainMutex(&g.credsLock); for (size_t iCreds = 0; iCreds < g.cCreds; ++iCreds) { if (g.aCreds[ iCreds ].fRemind) fRemind = TRUE; } lock_ReleaseMutex(&g.credsLock); CheckMenuItem (hm, M_REMIND, MF_BYCOMMAND | ((fRemind) ? MF_CHECKED : MF_UNCHECKED)); SetForegroundWindow(hDlg); TrackPopupMenu (GetSubMenu (hmDummy, 0), TPM_RIGHTALIGN | TPM_RIGHTBUTTON, pt.x, pt.y, NULL, hDlg, NULL); PostMessage(hDlg, WM_NULL, 0, 0); DestroyMenu (hmDummy); } break; case WM_MOUSEMOVE: Main_OnMouseOver(); break; } break; case WM_OBTAIN_TOKENS: if ( InterlockedIncrement (&g.fShowingMessage) != 1 ) InterlockedDecrement (&g.fShowingMessage); else ShowObtainCreds (wp, (char *)lp); GlobalFree((void *)lp); break; case WM_START_SERVICE: { SC_HANDLE hManager; if ((hManager = OpenSCManager ( NULL, NULL, SC_MANAGER_CONNECT | SC_MANAGER_ENUMERATE_SERVICE | SC_MANAGER_QUERY_LOCK_STATUS)) != NULL) { SC_HANDLE hService; if ((hService = OpenService ( hManager, TEXT("TransarcAFSDaemon"), SERVICE_QUERY_STATUS | SERVICE_START)) != NULL) { if (StartService (hService, 0, 0)) TestAndDoMapShare(SERVICE_START_PENDING); if ( KFW_is_available() && KFW_AFS_wait_for_service_start() ) { #ifdef USE_MS2MIT KFW_import_windows_lsa(); #endif /* USE_MS2MIT */ KFW_AFS_renew_tokens_for_all_cells(); } CloseServiceHandle (hService); } CloseServiceHandle (hManager); } if (KFW_AFS_wait_for_service_start()) ObtainTokensFromUserIfNeeded(g.hMain); } break; } return FALSE; }
void Server_ShowParticularPopupMenu (HWND hParent, POINT ptScreen, LPIDENT lpiServer) { HMENU hm; if (lpiServer == NULL) hm = TaLocale_LoadMenu (MENU_SVR_NONE); else hm = TaLocale_LoadMenu (MENU_SVR); if (hm != NULL) { if (lpiServer == NULL) { int lvs = (gr.fPreview && !gr.fVert) ? gr.diHorz.viewSvr.lvsView : gr.diVert.viewSvr.lvsView; HMENU hmView = GetSubMenu (hm, 0); CheckMenuRadioItem (hmView, M_SVR_VIEW_LARGE, M_SVR_VIEW_REPORT, ( (lvs == FLS_VIEW_SMALL) ? M_SVR_VIEW_SMALL : (lvs == FLS_VIEW_LIST) ? M_SVR_VIEW_REPORT : M_SVR_VIEW_LARGE ), MF_BYCOMMAND); ICONVIEW ivSvr = Display_GetServerIconView(); CheckMenuRadioItem (hmView, M_SVR_VIEW_ONEICON, M_SVR_VIEW_STATUS, (ivSvr == ivTWOICONS) ? M_SVR_VIEW_TWOICONS : (ivSvr == ivONEICON) ? M_SVR_VIEW_ONEICON : M_SVR_VIEW_STATUS, MF_BYCOMMAND); if (lvs != FLS_VIEW_LIST) { EnableMenu (hmView, M_SVR_VIEW_ONEICON, FALSE); EnableMenu (hmView, M_SVR_VIEW_TWOICONS, FALSE); EnableMenu (hmView, M_SVR_VIEW_STATUS, FALSE); } if (!PropCache_Search (pcSERVER, ANYVALUE)) EnableMenu (hmView, M_SVR_CLOSEALL, FALSE); } else { BOOL fOpenNow = (BOOL)!!(PropCache_Search (pcSERVER, lpiServer)); LPSERVER_PREF lpsp; if ( ((lpsp = (LPSERVER_PREF)lpiServer->GetUserParam()) == NULL) || (lpsp->fIsMonitored) ) { EnableMenu (hm, M_SVR_OPEN, !fOpenNow); EnableMenu (hm, M_SVR_CLOSE, fOpenNow); CheckMenu (hm, M_SVR_MONITOR, TRUE); } else { if (!fOpenNow) EnableMenu (hm, M_SVR_CLOSE, FALSE); if (fOpenNow || !gr.fOpenMonitors) EnableMenu (hm, M_SVR_OPEN, FALSE); CheckMenu (hm, M_SVR_MONITOR, FALSE); EnableMenu (hm, M_SVR_SECURITY, FALSE); EnableMenu (hm, M_SALVAGE, FALSE); EnableMenu (hm, M_SET_CLONE, FALSE); EnableMenu (hm, M_SET_UNLOCK, FALSE); EnableMenu (hm, M_SYNCVLDB, FALSE); } } DisplayContextMenu (hm, ptScreen, hParent); } }