From 88a58845ec9964341d939d584d41c1ac23138c62 Mon Sep 17 00:00:00 2001 From: luca Date: Thu, 21 Jan 2010 11:53:34 +0000 Subject: [PATCH] Patch level : Files correlati : Ricompilazione Demo : [ ] Commento : prima parte del supporto per aggiornamento web intelligente git-svn-id: svn://10.65.10.50/trunk@19965 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ba/ba1700.cpp | 16 +++++++++++----- xvaga/xvaga.cpp | 11 +++++++---- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/ba/ba1700.cpp b/ba/ba1700.cpp index 9444c4f79..99b082ffc 100755 --- a/ba/ba1700.cpp +++ b/ba/ba1700.cpp @@ -422,6 +422,9 @@ bool TInstaller_mask::autoload() //se e' un aggiornamento via internet... if (internet) { + if (!(xvt_net_get_status() & 0x4)) //la connessione web funziona?... + return warning_box("Impossibile connettersi al sito con gli aggiornamenti\nVerificare che la connessione Internet sia attiva !"); + parse_internet_path(http_server, http_path); //controlla il path internet scritto nel campo sulla maschera //se si ritrova dei vecchi file nella directory temporanea, la pulisce per evitare casini @@ -535,11 +538,16 @@ bool TInstaller_mask::autoload() if (internet) //internet patches { + TProgind pi(1, TR("Controllo lista aggiornamenti"), false); //progind NON bloccabile: causa errore impossibile! http_dir(http_server, http_path, modules); + pi.setmax(modules.items()); + pi.set_text(TR("Download lista aggiornamenti")); for (int i = modules.last(); i >= 0; i--) { + if (!pi.addstatus(1)) + break; TString& str = modules.row(i); - if (str.match("??????A.INI", true)) + if (str.match("??????a.ini", true)) { TFilename remote = http_path; remote << str; @@ -1811,12 +1819,10 @@ TInstaller_mask::TInstaller_mask() autoload(); else //senno' cerca su internet se trova un path internet completo e la connessione funzionante { - if (_station_type != 3 && webpath.full()) + if (_station_type != 3 && webpath.find("aga.it") > 0) { set(F_TYPE, "1", 0x1); - if (xvt_net_get_status() & 0x2) //la connessione web funziona?... - //if (yesno_box(TR("E' possibile l'aggiornamento via internet. Si desidera connettersi ora?"))) - autoload(); //...quindi scarica l'elenco dei moduli da aggiornare! + autoload(); } } diff --git a/xvaga/xvaga.cpp b/xvaga/xvaga.cpp index d9bda2c7e..2c4afc29e 100755 --- a/xvaga/xvaga.cpp +++ b/xvaga/xvaga.cpp @@ -20,6 +20,7 @@ #include #include #include +#include #if wxCHECK_VERSION(2,9,0) #include @@ -3090,6 +3091,8 @@ BOOLEAN xvt_chr_is_alnum(int c) int xvt_net_get_status() { int nStatus = 0; + //stoppa il log di wxWidgets per non avere segnalazioni di errori incomprensibili! + const bool bLogEnabled = wxLog::EnableLogging(false); wxDialUpManager* dum = wxDialUpManager::Create(); if (dum != NULL) { @@ -3100,14 +3103,14 @@ int xvt_net_get_status() if (dum->IsAlwaysOnline()) { nStatus |= 0x2; // 2 = Always Online - - wxArrayString isp; - if (dum->GetISPNames(isp) > 0) - nStatus |= 0x4; // 4 = Internet enabled + wxIPV4address addr; + if (addr.Hostname("www.google.com")) + nStatus |= 0x4; } } delete dum; } + wxLog::EnableLogging(bLogEnabled); return nStatus; }