void Options_General_OnApply (HWND hDlg) { BOOL fServerLongNamesOld = gr.fServerLongNames; gr.fServerLongNames = IsDlgButtonChecked (hDlg, IDC_OPT_SVR_LONGNAMES); if (IsDlgButtonChecked (hDlg, IDC_OPT_SVR_DBL_PROP)) gr.fDoubleClickOpens = 0; else if (IsDlgButtonChecked (hDlg, IDC_OPT_SVR_DBL_OPEN)) gr.fDoubleClickOpens = 1; else // (IsDlgButtonChecked (hDlg, IDC_OPT_SVR_DBL_DEPENDS)) gr.fDoubleClickOpens = 2; gr.fOpenMonitors = IsDlgButtonChecked (hDlg, IDC_OPT_SVR_OPENMON); gr.fCloseUnmonitors = IsDlgButtonChecked (hDlg, IDC_OPT_SVR_CLOSEUNMON); gr.fWarnBadCreds = IsDlgButtonChecked (hDlg, IDC_OPT_WARN_BADCREDS); StoreSettings (REGSTR_SETTINGS_BASE, REGSTR_SETTINGS_PATH, REGVAL_SETTINGS, &gr, sizeof(gr), wVerGLOBALS_RESTORED); if (fServerLongNamesOld != gr.fServerLongNames) { AfsClass_RequestLongServerNames (gr.fServerLongNames); // repopulate the list of server names. UpdateDisplay_Servers (FALSE, NULL, 0); } if (gr.fWarnBadCreds) { if (!CheckCredentials (TRUE)) // user needs new creds? { PostMessage (g.hMain, WM_COMMAND, MAKELONG(M_CREDENTIALS,0), 0); } } }
BOOL StorePreferences (LPIDENT lpi, void *pData, size_t cbData) { TCHAR szPath[ MAX_PATH ]; WORD wVer; if (!GetPreferencesInfo (lpi, szPath, &wVer)) return FALSE; return StoreSettings (REGSTR_SETTINGS_BASE, szPath, SETTINGS_KW, pData, cbData, wVer); }
void Quit (int rc) { if (g.hMain && IsWindow(g.hMain)) { WINDOWPLACEMENT wpl; wpl.length = sizeof(wpl); if (GetWindowPlacement (g.hMain, &wpl)) gr.rMain = wpl.rcNormalPosition; } StoreSettings (REGSTR_SETTINGS_BASE, REGSTR_SETTINGS_PATH, REGVAL_SETTINGS, &gr, sizeof(gr), wVerGLOBALS_RESTORED); PostQuitMessage (0); }
void Quit (int rc) { if (g.hMain && IsWindow(g.hMain)) { if (gr.fPreview && !gr.fVert) FL_StoreView (GetDlgItem (g.hMain, IDC_SERVERS), &gr.diHorz.viewSvr); else FL_StoreView (GetDlgItem (g.hMain, IDC_SERVERS), &gr.diVert.viewSvr); WINDOWPLACEMENT wpl; wpl.length = sizeof(wpl); if (GetWindowPlacement (g.hMain, &wpl)) { if (gr.fPreview) gr.rMainPreview = wpl.rcNormalPosition; else gr.rMain = wpl.rcNormalPosition; } } StoreSettings (REGSTR_SETTINGS_BASE, REGSTR_SETTINGS_PATH, REGVAL_SETTINGS, &gr, sizeof(gr), wVerGLOBALS_RESTORED); if (Subsets_SaveIfDirty (g.sub)) { if (Action_fAnyActive()) // just *pretend* to close the app { Action_WindowToTop (FALSE); ShowWindow (g.hMain, SW_HIDE); } else { g.rc = rc; PostQuitMessage (g.rc); } } }