From f303d5be711f5d0880348dee8b9a8648ddc35f0e Mon Sep 17 00:00:00 2001
From: guy
E' stata rilevata una versione di Windows che consente sessioni remote (es. Windows 2008 Server)
"); @@ -1003,13 +1003,10 @@ CampoWizardPage5::CampoWizardPage5(wxWizard* parent) : CampoWizardPage(parent) asInstType.Add("Server"); asInstType.Add("Client"); - int nDefault = nVersion < W2003 ? 0 : 1; - m_pRadioBox = new wxRadioBox(this, 501, "Selezionare il tipo di installazione", wxDefaultPosition, wxDefaultSize, asInstType, 0, wxRA_SPECIFY_ROWS); //setta il default a Standard - m_pRadioBox->SetSelection(nDefault); GetSizer()->Add(m_pRadioBox); } @@ -1127,6 +1124,7 @@ class CampoWizardPage7 : public CampoWizardPage protected: DECLARE_EVENT_TABLE(); virtual bool ForwardValidate(); + virtual bool TransferDataToWindow(); void OnDirPick(wxCommandEvent& e); void OnSrvClick(wxCommandEvent& e); @@ -1157,15 +1155,29 @@ void CampoWizardPage7::OnDirPick(wxCommandEvent& e) void CampoWizardPage7::OnSrvClick(wxCommandEvent& e) { //nome del server - wxWindow* pWnd = FindWindowById(e.GetId() + 1); + wxWindow* pWnd = FindControlById(e.GetId() + 1); if (pWnd) pWnd->Enable(e.IsChecked()); //tipo installazione server - pWnd = FindWindowById(709); + pWnd = FindControlById(709); if (pWnd) pWnd->Enable(GetBool(705) || GetBool(707)); } +bool CampoWizardPage7::TransferDataToWindow() +{ + wxWindow* pServer = FindControlById(705); + if (pServer) + { + const unsigned int dt = GetWizard().GetDongleType(); + const bool bEnabled = dt == 1 || dt == 2; + pServer->Enable(bEnabled); + if (!bEnabled) + Set(705, false); + } + return true; +} + bool CampoWizardPage7::ForwardValidate() { //controllo esistenza directory vuota per i programmi in locale @@ -1211,7 +1223,7 @@ bool CampoWizardPage7::ForwardValidate() //..e loro modalita' di esecuzione if (bInstAuth || bInstDict) { - int nType = m_pRadioBox->GetSelection() + 1; //+1 perchè 0 corrisponde a lm_none + const int nType = m_pRadioBox->GetSelection() + 1; //+1 perchè 0 corrisponde a lm_none GetWizard().SetSrvAutostartMode((LurchMode)nType); } else @@ -1247,7 +1259,7 @@ CampoWizardPage7::CampoWizardPage7(wxWizard* parent) : CampoWizardPage(parent) strBody += wxT("Nel menu esecuzione automatica: i programmi di gestione vengono eseguiti automaticamente al primo accesso di un utente al server di PRODUCT; usare questa modalita' solo nell'impossibilita' di utilizzare la precedente"); //se si ha un sistema multissesione remota (es. win2003srv ecc.) - if (nVersion >= W2003) + if (nVersion == W2003 || nVersion == W2008) { strTitle = wxT("Installazione di tipo Terminal Server"); strBody += wxT("E' stata rilevata una versione di Windows che consente sessioni remote (es. Windows 2008 Server) ed è quindi possibile una installazione di questo tipo
"); @@ -1297,11 +1309,6 @@ CampoWizardPage7::CampoWizardPage7(wxWizard* parent) : CampoWizardPage(parent) //terza riga della griglia //check installa authoriz wxCheckBox* chAuthoriz = new wxCheckBox(this, 705, wxT("Installa il gestore delle autorizzazioni")); - //e' obbligatorio installare authoriz in caso di terminal server! - if (nVersion >= W2003) - chAuthoriz->SetValue(true); - else - chAuthoriz->SetValue(false); gbsSizer->Add(chAuthoriz, wxGBPosition(2, 1)); //server authoriz @@ -1322,7 +1329,7 @@ CampoWizardPage7::CampoWizardPage7(wxWizard* parent) : CampoWizardPage(parent) //quinta riga della griglia //radiobutton con i tipi di installazione wxArrayString asInstType; - if (nVersion >= W2003) + if (nVersion == W2003 || nVersion == W2008) { asInstType.Add("Come servizi (obbligatorio)"); }