7 #include "svr_general.h"
13 * SERVER PREFERENCES _________________________________________________________
17 PVOID Server_LoadPreferences (LPIDENT lpiServer)
19 LPSERVER_PREF psp = New (SERVER_PREF);
21 if (!RestorePreferences (lpiServer, psp, sizeof(SERVER_PREF)))
23 Alert_SetDefaults (&psp->oa);
25 psp->perWarnAggFull = perDEFAULT_AGGFULL_WARNING;
26 psp->perWarnSetFull = perDEFAULT_SETFULL_WARNING;
27 psp->fWarnSvcStop = fDEFAULT_SVCSTOP_WARNING;
28 psp->fWarnSvrTimeout = TRUE;
29 psp->fWarnSetNoVLDB = TRUE;
30 psp->fWarnSetNoServ = TRUE;
31 psp->fWarnAggNoServ = TRUE;
32 psp->fWarnAggAlloc = FALSE;
36 psp->fExpandTree = TRUE;
39 psp->fIsMonitored = TRUE; // until dispatch.cpp sets it otherwise
41 Alert_Initialize (&psp->oa);
46 BOOL Server_SavePreferences (LPIDENT lpiServer)
50 PVOID psp = lpiServer->GetUserParam();
53 rc = StorePreferences (lpiServer, psp, sizeof(SERVER_PREF));
61 * ROUTINES ___________________________________________________________________
65 void Server_ShowPopupMenu (HWND hList, POINT ptList, POINT ptScreen)
67 if (!ptScreen.x && !ptScreen.y)
70 GetWindowRect (hList, &rWindow);
71 ptScreen.x = rWindow.left + (rWindow.right -rWindow.left)/2;
72 ptScreen.y = rWindow.top + (rWindow.bottom -rWindow.top)/2;
73 Server_ShowParticularPopupMenu (hList, ptScreen, NULL);
75 else if (FL_HitTestForHeaderBar (hList, ptList))
77 HMENU hm = TaLocale_LoadMenu (MENU_COLUMNS);
78 DisplayContextMenu (hm, ptScreen, hList);
82 LPIDENT lpiServer = NULL;
85 if ((hItem = FastList_ItemFromPoint (hList, &ptList, TRUE)) != NULL)
86 lpiServer = (LPIDENT)FL_GetData (hList, hItem);
88 if (lpiServer && (lpiServer != (LPIDENT)FL_GetSelectedData (hList)))
91 Server_ShowParticularPopupMenu (hList, ptScreen, lpiServer);
96 void Server_ShowParticularPopupMenu (HWND hParent, POINT ptScreen, LPIDENT lpiServer)
100 if (lpiServer == NULL)
101 hm = TaLocale_LoadMenu (MENU_SVR_NONE);
103 hm = TaLocale_LoadMenu (MENU_SVR);
107 if (lpiServer == NULL)
109 int lvs = (gr.fPreview && !gr.fVert) ? gr.diHorz.viewSvr.lvsView : gr.diVert.viewSvr.lvsView;
110 HMENU hmView = GetSubMenu (hm, 0);
112 CheckMenuRadioItem (hmView,
113 M_SVR_VIEW_LARGE, M_SVR_VIEW_REPORT,
114 ( (lvs == FLS_VIEW_SMALL) ? M_SVR_VIEW_SMALL :
115 (lvs == FLS_VIEW_LIST) ? M_SVR_VIEW_REPORT :
119 ICONVIEW ivSvr = Display_GetServerIconView();
121 CheckMenuRadioItem (hmView,
122 M_SVR_VIEW_ONEICON, M_SVR_VIEW_STATUS,
123 (ivSvr == ivTWOICONS) ? M_SVR_VIEW_TWOICONS :
124 (ivSvr == ivONEICON) ? M_SVR_VIEW_ONEICON : M_SVR_VIEW_STATUS,
127 if (lvs != FLS_VIEW_LIST)
129 EnableMenu (hmView, M_SVR_VIEW_ONEICON, FALSE);
130 EnableMenu (hmView, M_SVR_VIEW_TWOICONS, FALSE);
131 EnableMenu (hmView, M_SVR_VIEW_STATUS, FALSE);
134 if (!PropCache_Search (pcSERVER, ANYVALUE))
135 EnableMenu (hmView, M_SVR_CLOSEALL, FALSE);
139 BOOL fOpenNow = (BOOL)!!(PropCache_Search (pcSERVER, lpiServer));
142 if ( ((lpsp = (LPSERVER_PREF)lpiServer->GetUserParam()) == NULL) ||
143 (lpsp->fIsMonitored) )
145 EnableMenu (hm, M_SVR_OPEN, !fOpenNow);
146 EnableMenu (hm, M_SVR_CLOSE, fOpenNow);
147 CheckMenu (hm, M_SVR_MONITOR, TRUE);
152 EnableMenu (hm, M_SVR_CLOSE, FALSE);
153 if (fOpenNow || !gr.fOpenMonitors)
154 EnableMenu (hm, M_SVR_OPEN, FALSE);
156 CheckMenu (hm, M_SVR_MONITOR, FALSE);
158 EnableMenu (hm, M_SVR_SECURITY, FALSE);
159 EnableMenu (hm, M_SALVAGE, FALSE);
160 EnableMenu (hm, M_SET_CLONE, FALSE);
161 EnableMenu (hm, M_SET_UNLOCK, FALSE);
162 EnableMenu (hm, M_SYNCVLDB, FALSE);
166 DisplayContextMenu (hm, ptScreen, hParent);