// Copyright (C) 1997-2000 Microsoft Corporation // // confirm user want gc for replicate from media // // 28 Apr 2000 sburns #include "headers.hxx" #include "resource.h" #include "page.hpp" #include "GcConfirmationPage.hpp" #include "state.hpp" GcConfirmationPage::GcConfirmationPage() : DCPromoWizardPage( IDD_GC_CONFIRM, IDS_GC_CONFIRM_PAGE_TITLE, IDS_GC_CONFIRM_PAGE_SUBTITLE) { LOG_CTOR(GcConfirmationPage); } GcConfirmationPage::~GcConfirmationPage() { LOG_DTOR(GcConfirmationPage); } void GcConfirmationPage::OnInit() { LOG_FUNCTION(GcConfirmationPage::OnInit); State& state = State::GetInstance(); if (state.UsingAnswerFile()) { String option = state.GetAnswerFileOption(State::OPTION_GC_CONFIRM); if (option.icompare(State::VALUE_YES) == 0) { Win::CheckDlgButton(hwnd, IDC_GC_YES, BST_CHECKED); return; } } Win::CheckDlgButton(hwnd, IDC_GC_NO, BST_CHECKED); } bool GcConfirmationPage::OnCommand( HWND /* windowFrom */ , unsigned controlIDFrom, unsigned code) { // LOG_FUNCTION(GcConfirmationPage::OnCommand); switch (controlIDFrom) { case IDC_GC_YES: case IDC_GC_NO: { if (code == BN_CLICKED) { SetChanged(controlIDFrom); return true; } } default: { // do nothing break; } } return false; } bool GcConfirmationPage::OnSetActive() { LOG_FUNCTION(GcConfirmationPage::OnSetActive); ASSERT(State::GetInstance().GetOperation() == State::REPLICA); Win::PropSheet_SetWizButtons( Win::GetParent(hwnd), PSWIZB_BACK | PSWIZB_NEXT); State& state = State::GetInstance(); if (state.RunHiddenUnattended() || !state.IsAdvancedMode()) { // skip the page. LOG(L"skipping GcConfirmationPage"); Wizard& wiz = GetWizard(); if (wiz.IsBacktracking()) { // backup once again wiz.Backtrack(hwnd); return true; } int nextPage = GcConfirmationPage::Validate(); if (nextPage != -1) { GetWizard().SetNextPageID(hwnd, nextPage); } else { state.ClearHiddenWhileUnattended(); } } return true; } int GcConfirmationPage::Validate() { LOG_FUNCTION(GcConfirmationPage::Validate); State& state = State::GetInstance(); int nextPage = IDD_CONFIG_DNS_CLIENT; state.SetRestoreGc(Win::IsDlgButtonChecked(hwnd, IDC_GC_YES)); LOG(String::format(L"next = %1!d!", nextPage)); return nextPage; }