Patch level : 4.0
Files correlati : ba2 Ricompilazione Demo : [ ] Commento : ba1700 messi in minuscolo TRUE e FALSE ba2700 corretta lettura dizionari molto grandi git-svn-id: svn://10.65.10.50/trunk@14224 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
fef078f901
commit
13c66f308f
138
ba/ba1700.cpp
138
ba/ba1700.cpp
@ -46,7 +46,7 @@ HIDDEN int compare_version(const char* v1, int p1, const char* v2, int p2)
|
|||||||
if (ver2.len() == 4)
|
if (ver2.len() == 4)
|
||||||
ver2.insert((v2[0] == '9') ? "19" : "20", 0);
|
ver2.insert((v2[0] == '9') ? "19" : "20", 0);
|
||||||
|
|
||||||
int res = ver1.compare(ver2, -1, TRUE);
|
int res = ver1.compare(ver2, -1, true);
|
||||||
if (res == 0)
|
if (res == 0)
|
||||||
res = p1 - p2;
|
res = p1 - p2;
|
||||||
|
|
||||||
@ -64,17 +64,17 @@ HIDDEN word version2year(const char* v)
|
|||||||
|
|
||||||
bool is_internet_path(const TString& addr)
|
bool is_internet_path(const TString& addr)
|
||||||
{
|
{
|
||||||
if (addr.compare("www.", 4, TRUE) == 0)
|
if (addr.compare("www.", 4, true) == 0)
|
||||||
return TRUE;
|
return true;
|
||||||
|
|
||||||
if (addr.compare("http:", 5, TRUE) == 0)
|
if (addr.compare("http:", 5, true) == 0)
|
||||||
return TRUE;
|
return true;
|
||||||
|
|
||||||
int a1, a2, a3, a4;
|
int a1, a2, a3, a4;
|
||||||
if (sscanf(addr, "%d.%d.%d.%d", &a1, &a2, &a3, &a4) == 4)
|
if (sscanf(addr, "%d.%d.%d.%d", &a1, &a2, &a3, &a4) == 4)
|
||||||
return TRUE;
|
return true;
|
||||||
|
|
||||||
return FALSE;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
@ -108,7 +108,7 @@ protected:
|
|||||||
|
|
||||||
bool add_module(TConfig& ini, const TString& module, bool patch, int pos=-1);
|
bool add_module(TConfig& ini, const TString& module, bool patch, int pos=-1);
|
||||||
bool add_header(TConfig& ini, const TString& module, bool patch);
|
bool add_header(TConfig& ini, const TString& module, bool patch);
|
||||||
int precheck_modules(bool only_newer=TRUE);
|
int precheck_modules(bool only_newer=true);
|
||||||
void update_version();
|
void update_version();
|
||||||
|
|
||||||
int needs_reboot(const TFilename& file) const;
|
int needs_reboot(const TFilename& file) const;
|
||||||
@ -117,7 +117,7 @@ protected:
|
|||||||
|
|
||||||
bool can_install(const char* module, TInstall_ini& ini);
|
bool can_install(const char* module, TInstall_ini& ini);
|
||||||
void install_selection();
|
void install_selection();
|
||||||
bool install_patches(const TString& module, const TString& lastrelease, int lastpatch , bool onlynew=TRUE);
|
bool install_patches(const TString& module, const TString& lastrelease, int lastpatch , bool onlynew=true);
|
||||||
KEY askdisk(TString & path, TFilename & cmdline, int d, int dischi, const char * modulo);
|
KEY askdisk(TString & path, TFilename & cmdline, int d, int dischi, const char * modulo);
|
||||||
|
|
||||||
bool do_process(TToken_string& commands) const;
|
bool do_process(TToken_string& commands) const;
|
||||||
@ -178,7 +178,7 @@ bool TInstaller_mask::add_header(TConfig& ini, const TString& module, bool patch
|
|||||||
row = " "; // Not selected
|
row = " "; // Not selected
|
||||||
row.add(ini.get("Descrizione"));
|
row.add(ini.get("Descrizione"));
|
||||||
row.add(ini.get(" "));
|
row.add(ini.get(" "));
|
||||||
enable_row(add(row),FALSE);
|
enable_row(add(row),false);
|
||||||
}
|
}
|
||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
@ -260,7 +260,7 @@ int TInstaller_mask::get_module_number(const TString& module) const
|
|||||||
TScanner scanner(AUT_FILE);
|
TScanner scanner(AUT_FILE);
|
||||||
for (aut = 0; scanner.line() != ""; aut++)
|
for (aut = 0; scanner.line() != ""; aut++)
|
||||||
if (scanner.token().starts_with(module))
|
if (scanner.token().starts_with(module))
|
||||||
{ ok = TRUE; break; }
|
{ ok = true; break; }
|
||||||
}
|
}
|
||||||
return ok ? aut : -1;
|
return ok ? aut : -1;
|
||||||
}
|
}
|
||||||
@ -328,7 +328,7 @@ bool TInstaller_mask::autoload()
|
|||||||
TFilename remote_ini = http_path;
|
TFilename remote_ini = http_path;
|
||||||
remote_ini << TInstall_ini::default_name();
|
remote_ini << TInstall_ini::default_name();
|
||||||
{
|
{
|
||||||
TIndwin contacting(60,TR("Connessione al server HTTP..."),FALSE,FALSE);
|
TIndwin contacting(60,TR("Connessione al server HTTP..."),false,false);
|
||||||
httpresult=http_get(http_server, remote_ini, ininame);
|
httpresult=http_get(http_server, remote_ini, ininame);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -361,7 +361,7 @@ bool TInstaller_mask::autoload()
|
|||||||
{
|
{
|
||||||
|
|
||||||
if (module[0] == '_')
|
if (module[0] == '_')
|
||||||
add_header(ini, module, FALSE);
|
add_header(ini, module, false);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
TFilename mod_ini = ininame.path();
|
TFilename mod_ini = ininame.path();
|
||||||
@ -370,10 +370,10 @@ bool TInstaller_mask::autoload()
|
|||||||
if (mod_ini.exist())
|
if (mod_ini.exist())
|
||||||
{
|
{
|
||||||
TInstall_ini moduleini(mod_ini);
|
TInstall_ini moduleini(mod_ini);
|
||||||
add_module(moduleini, module, FALSE);
|
add_module(moduleini, module, false);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
add_module(ini, module, FALSE);
|
add_module(ini, module, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -392,7 +392,7 @@ bool TInstaller_mask::autoload()
|
|||||||
CHECKS(pos >= 2, "Invalid installation configuration: ", (const char*)ininame);
|
CHECKS(pos >= 2, "Invalid installation configuration: ", (const char*)ininame);
|
||||||
const TString16 module = ininame.mid(pos-2, 2);
|
const TString16 module = ininame.mid(pos-2, 2);
|
||||||
TConfig ini(ininame, module);
|
TConfig ini(ininame, module);
|
||||||
add_module(ini, module, FALSE);
|
add_module(ini, module, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -484,7 +484,7 @@ bool TInstaller_mask::autoload()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
add_module(ini, module, TRUE);
|
add_module(ini, module, true);
|
||||||
}
|
}
|
||||||
update_version();
|
update_version();
|
||||||
const bool ok = precheck_modules() > 0;
|
const bool ok = precheck_modules() > 0;
|
||||||
@ -497,7 +497,7 @@ bool TInstaller_mask::autoload()
|
|||||||
|
|
||||||
bool TInstaller_mask::do_process(TToken_string& commands) const
|
bool TInstaller_mask::do_process(TToken_string& commands) const
|
||||||
{
|
{
|
||||||
bool ok = TRUE;
|
bool ok = true;
|
||||||
TFilename cmd;
|
TFilename cmd;
|
||||||
for (const char* c = commands.get(0); c && ok; c = commands.get())
|
for (const char* c = commands.get(0); c && ok; c = commands.get())
|
||||||
{
|
{
|
||||||
@ -506,7 +506,7 @@ bool TInstaller_mask::do_process(TToken_string& commands) const
|
|||||||
{
|
{
|
||||||
TWait_cursor hourglass;
|
TWait_cursor hourglass;
|
||||||
TExternal_app app(cmd);
|
TExternal_app app(cmd);
|
||||||
ok = app.run(FALSE,3,TRUE) == 0;
|
ok = app.run(false,3,true) == 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ok;
|
return ok;
|
||||||
@ -557,7 +557,7 @@ bool TInstaller_mask::can_install(const char* module, TInstall_ini& ini)
|
|||||||
altri.add("ba");
|
altri.add("ba");
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ok = TRUE;
|
bool ok = true;
|
||||||
TString submodule;
|
TString submodule;
|
||||||
for (const char* mod = altri.get(0); mod && ok; mod = altri.get())
|
for (const char* mod = altri.get(0); mod && ok; mod = altri.get())
|
||||||
{
|
{
|
||||||
@ -663,7 +663,7 @@ bool TInstaller_mask::move_file(const TFilename& src, const TFilename& dst) cons
|
|||||||
|
|
||||||
bool TInstaller_mask::move_module(const TString& module, TInstall_ini& ini, bool update) const
|
bool TInstaller_mask::move_module(const TString& module, TInstall_ini& ini, bool update) const
|
||||||
{
|
{
|
||||||
bool ok = TRUE;
|
bool ok = true;
|
||||||
|
|
||||||
TFilename tempdir; tempdir.tempdir();
|
TFilename tempdir; tempdir.tempdir();
|
||||||
const TString& destdir = get(F_CURPATH);
|
const TString& destdir = get(F_CURPATH);
|
||||||
@ -680,7 +680,7 @@ bool TInstaller_mask::move_module(const TString& module, TInstall_ini& ini, bool
|
|||||||
dst.add(file->get(0));
|
dst.add(file->get(0));
|
||||||
const bool move_ok = move_file(src, dst);
|
const bool move_ok = move_file(src, dst);
|
||||||
if (!move_ok)
|
if (!move_ok)
|
||||||
ok = update = FALSE;
|
ok = update = false;
|
||||||
}
|
}
|
||||||
if (!update)
|
if (!update)
|
||||||
::remove(src);
|
::remove(src);
|
||||||
@ -718,14 +718,14 @@ KEY TInstaller_mask::askdisk(TString & path, TFilename & cmdline, int d, int dis
|
|||||||
else
|
else
|
||||||
error_box(TR("Il percorso indicato non e' valido"));
|
error_box(TR("Il percorso indicato non e' valido"));
|
||||||
}
|
}
|
||||||
} while (TRUE);
|
} while (true);
|
||||||
return k;
|
return k;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TInstaller_mask::install(const TString& module, int patchlevel)
|
bool TInstaller_mask::install(const TString& module, int patchlevel)
|
||||||
{
|
{
|
||||||
bool cancelled=FALSE;
|
bool cancelled=false;
|
||||||
bool ok = FALSE;
|
bool ok = false;
|
||||||
TString msg; // stringa per i messaggi
|
TString msg; // stringa per i messaggi
|
||||||
TString16 lastrelease; // release che sto installando
|
TString16 lastrelease; // release che sto installando
|
||||||
int lastpatch=patchlevel; // patchlevel che sto installando
|
int lastpatch=patchlevel; // patchlevel che sto installando
|
||||||
@ -769,7 +769,7 @@ bool TInstaller_mask::install(const TString& module, int patchlevel)
|
|||||||
if (!can_install(module, *ini))
|
if (!can_install(module, *ini))
|
||||||
{
|
{
|
||||||
delete ini;
|
delete ini;
|
||||||
return FALSE;
|
return false;
|
||||||
}
|
}
|
||||||
const int dischi = ini->get_int("Dischi", module);
|
const int dischi = ini->get_int("Dischi", module);
|
||||||
ok = dischi > 0;
|
ok = dischi > 0;
|
||||||
@ -782,7 +782,7 @@ bool TInstaller_mask::install(const TString& module, int patchlevel)
|
|||||||
if (!ok)
|
if (!ok)
|
||||||
{
|
{
|
||||||
delete ini;
|
delete ini;
|
||||||
return FALSE;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ==============
|
// ==============
|
||||||
@ -878,7 +878,7 @@ bool TInstaller_mask::install(const TString& module, int patchlevel)
|
|||||||
msg << TR("Aggiornamento del modulo '") << module << TR("' in corso...");
|
msg << TR("Aggiornamento del modulo '") << module << TR("' in corso...");
|
||||||
xvtil_statbar_set(msg);
|
xvtil_statbar_set(msg);
|
||||||
|
|
||||||
ok = move_module(module, *ini, TRUE);
|
ok = move_module(module, *ini, true);
|
||||||
|
|
||||||
if (ok)
|
if (ok)
|
||||||
{
|
{
|
||||||
@ -956,7 +956,7 @@ bool TInstaller_mask::install(const TString& module, int patchlevel)
|
|||||||
lastpatch=ini.get_int("Patch",module);
|
lastpatch=ini.get_int("Patch",module);
|
||||||
lastrelease=ini.get("Versione",module);
|
lastrelease=ini.get("Versione",module);
|
||||||
if (!can_install(module, ini))
|
if (!can_install(module, ini))
|
||||||
return FALSE;
|
return false;
|
||||||
|
|
||||||
TString_array list;
|
TString_array list;
|
||||||
const int files = ini.build_complete_list(module, list);
|
const int files = ini.build_complete_list(module, list);
|
||||||
@ -968,7 +968,7 @@ bool TInstaller_mask::install(const TString& module, int patchlevel)
|
|||||||
if (ok)
|
if (ok)
|
||||||
{
|
{
|
||||||
msg.cut(0) << TR("Copia del modulo ") << module;
|
msg.cut(0) << TR("Copia del modulo ") << module;
|
||||||
TProgind pi(files, msg, TRUE, TRUE);
|
TProgind pi(files, msg, true, true);
|
||||||
TFilename src, dst;
|
TFilename src, dst;
|
||||||
for (int f = 0; f < files && ok; f++)
|
for (int f = 0; f < files && ok; f++)
|
||||||
{
|
{
|
||||||
@ -999,7 +999,7 @@ bool TInstaller_mask::install(const TString& module, int patchlevel)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (ok) // marca sull'install.ini di destinazione l'avvenuta installazione del modulo
|
if (ok) // marca sull'install.ini di destinazione l'avvenuta installazione del modulo
|
||||||
ini.export_module_paragraphs(module, ini.default_name(),TRUE);
|
ini.export_module_paragraphs(module, ini.default_name(),true);
|
||||||
} // controllo esistenza lista di file non vuota per questo modulo
|
} // controllo esistenza lista di file non vuota per questo modulo
|
||||||
} // controllo esistenza install.ini
|
} // controllo esistenza install.ini
|
||||||
} // fine installazione da directory con eseguibili
|
} // fine installazione da directory con eseguibili
|
||||||
@ -1036,15 +1036,15 @@ bool TInstaller_mask::get_internet_path(TFilename &ininame) const
|
|||||||
{
|
{
|
||||||
ininame.tempdir();
|
ininame.tempdir();
|
||||||
ininame.add("www");
|
ininame.add("www");
|
||||||
return TRUE;
|
return true;
|
||||||
}
|
}
|
||||||
return FALSE;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TInstaller_mask::parse_internet_path(TString & http_server, TFilename &http_path) const
|
void TInstaller_mask::parse_internet_path(TString & http_server, TFilename &http_path) const
|
||||||
{
|
{
|
||||||
http_server = get(F_PATH);
|
http_server = get(F_PATH);
|
||||||
if (http_server.compare("http://", 7, TRUE) == 0)
|
if (http_server.compare("http://", 7, true) == 0)
|
||||||
http_server.ltrim(7);
|
http_server.ltrim(7);
|
||||||
|
|
||||||
const int slash = http_server.find('/');
|
const int slash = http_server.find('/');
|
||||||
@ -1061,7 +1061,7 @@ void TInstaller_mask::parse_internet_path(TString & http_server, TFilename &http
|
|||||||
|
|
||||||
bool TInstaller_mask::install_patches(const TString& module, const TString& lastrelease, int lastpatch, bool only_newer)
|
bool TInstaller_mask::install_patches(const TString& module, const TString& lastrelease, int lastpatch, bool only_newer)
|
||||||
{
|
{
|
||||||
bool ok = TRUE;
|
bool ok = true;
|
||||||
TString_array modules;
|
TString_array modules;
|
||||||
TFilename ininame;
|
TFilename ininame;
|
||||||
get_internet_path(ininame);
|
get_internet_path(ininame);
|
||||||
@ -1095,12 +1095,12 @@ bool TInstaller_mask::update_handler(TMask_field& f, KEY k)
|
|||||||
TInstaller_mask& m = (TInstaller_mask&)f.mask();
|
TInstaller_mask& m = (TInstaller_mask&)f.mask();
|
||||||
m.autoload();
|
m.autoload();
|
||||||
}
|
}
|
||||||
return TRUE;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TInstaller_mask::path_handler(TMask_field& fld, KEY key)
|
bool TInstaller_mask::path_handler(TMask_field& fld, KEY key)
|
||||||
{
|
{
|
||||||
bool ok = TRUE;
|
bool ok = true;
|
||||||
if (key == K_TAB && fld.focusdirty())
|
if (key == K_TAB && fld.focusdirty())
|
||||||
{
|
{
|
||||||
TFilename path = fld.get();
|
TFilename path = fld.get();
|
||||||
@ -1145,7 +1145,7 @@ void TInstaller_mask::install_selection()
|
|||||||
const TString newver = row->get(C_RELEASE);
|
const TString newver = row->get(C_RELEASE);
|
||||||
if (newver.blank())
|
if (newver.blank())
|
||||||
{
|
{
|
||||||
check(r, FALSE);
|
check(r, false);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1161,7 +1161,7 @@ void TInstaller_mask::install_selection()
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ok = TRUE;
|
bool ok = true;
|
||||||
bool is_patch = row->get_char(C_ISPATCH) == 'X';
|
bool is_patch = row->get_char(C_ISPATCH) == 'X';
|
||||||
bool has_patch = row->get_char(C_ISPATCH) == '+';
|
bool has_patch = row->get_char(C_ISPATCH) == '+';
|
||||||
const int cmp = compare_version(oldver, oldpatch, newver, newpatch);
|
const int cmp = compare_version(oldver, oldpatch, newver, newpatch);
|
||||||
@ -1181,7 +1181,7 @@ void TInstaller_mask::install_selection()
|
|||||||
if (oldver != newver)
|
if (oldver != newver)
|
||||||
ok = error_box(FR("Il modulo '%s' installato ha versione %s:\nimpossibile installare le patch della versione %s"),(const char *)modulo,(const char *)oldver,(const char *)newver);
|
ok = error_box(FR("Il modulo '%s' installato ha versione %s:\nimpossibile installare le patch della versione %s"),(const char *)modulo,(const char *)oldver,(const char *)newver);
|
||||||
} else
|
} else
|
||||||
ok =FALSE;//error_box("Impossibile installare le patch perche' il modulo '%s' non e' installato",(const char *)modulo);
|
ok =false;//error_box("Impossibile installare le patch perche' il modulo '%s' non e' installato",(const char *)modulo);
|
||||||
}
|
}
|
||||||
if (ok)
|
if (ok)
|
||||||
{
|
{
|
||||||
@ -1195,13 +1195,13 @@ void TInstaller_mask::install_selection()
|
|||||||
"\nRispondendo NO verranno installate le sole patch"),
|
"\nRispondendo NO verranno installate le sole patch"),
|
||||||
(const char *)modulo);
|
(const char *)modulo);
|
||||||
else
|
else
|
||||||
is_patch = FALSE; // Quando la versione installata precede la patch base devo reinstallare il modulo!
|
is_patch = false; // Quando la versione installata precede la patch base devo reinstallare il modulo!
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_patch)
|
if (is_patch)
|
||||||
{
|
{
|
||||||
ok = install_patches(modulo, oldver, oldpatch, FALSE) ; // installa l'ultima patch
|
ok = install_patches(modulo, oldver, oldpatch, false) ; // installa l'ultima patch
|
||||||
if (!ok)
|
if (!ok)
|
||||||
message_box(TR("Impossibile installare le patch del modulo '%s'"),(const char *)modulo);
|
message_box(TR("Impossibile installare le patch del modulo '%s'"),(const char *)modulo);
|
||||||
}
|
}
|
||||||
@ -1245,7 +1245,7 @@ bool TInstaller_mask::install_handler(TMask_field& fld, KEY key)
|
|||||||
if (_curr_mask->items() == 1)
|
if (_curr_mask->items() == 1)
|
||||||
_curr_mask->check(0);
|
_curr_mask->check(0);
|
||||||
const bool check_on = _curr_mask->check_enabled();
|
const bool check_on = _curr_mask->check_enabled();
|
||||||
_curr_mask->enable_check(TRUE);
|
_curr_mask->enable_check(true);
|
||||||
const bool some = _curr_mask->one_checked();
|
const bool some = _curr_mask->one_checked();
|
||||||
_curr_mask->enable_check(check_on);
|
_curr_mask->enable_check(check_on);
|
||||||
if (some)
|
if (some)
|
||||||
@ -1253,7 +1253,7 @@ bool TInstaller_mask::install_handler(TMask_field& fld, KEY key)
|
|||||||
else
|
else
|
||||||
error_box(TR("Selezionare uno o piu' moduli da installare."));
|
error_box(TR("Selezionare uno o piu' moduli da installare."));
|
||||||
}
|
}
|
||||||
return TRUE;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1263,13 +1263,13 @@ bool TInstaller_mask::quit_handler(TMask_field& f, KEY k)
|
|||||||
{
|
{
|
||||||
TInstaller_mask & m=(TInstaller_mask &) f.mask();
|
TInstaller_mask & m=(TInstaller_mask &) f.mask();
|
||||||
const bool check_on = _curr_mask->check_enabled();
|
const bool check_on = _curr_mask->check_enabled();
|
||||||
_curr_mask->enable_check(TRUE);
|
_curr_mask->enable_check(true);
|
||||||
const bool some = _curr_mask->one_checked();
|
const bool some = _curr_mask->one_checked();
|
||||||
_curr_mask->enable_check(check_on);
|
_curr_mask->enable_check(check_on);
|
||||||
if (some)
|
if (some)
|
||||||
return noyes_box(TR("Alcuni moduli sono selezionati per l'installazione.\nConfermare l'uscita"));
|
return noyes_box(TR("Alcuni moduli sono selezionati per l'installazione.\nConfermare l'uscita"));
|
||||||
}
|
}
|
||||||
return TRUE;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1283,15 +1283,15 @@ bool TInstaller_mask::tutti_handler(TMask_field& f, KEY k)
|
|||||||
if (m.one_checked())
|
if (m.one_checked())
|
||||||
m.uncheck(-1);
|
m.uncheck(-1);
|
||||||
else
|
else
|
||||||
m.precheck_modules(FALSE);
|
m.precheck_modules(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return TRUE;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TInstaller_mask::on_key(KEY key)
|
bool TInstaller_mask::on_key(KEY key)
|
||||||
{
|
{
|
||||||
bool ok = TRUE;
|
bool ok = true;
|
||||||
switch (key)
|
switch (key)
|
||||||
{
|
{
|
||||||
case K_F7: autoload(); break;
|
case K_F7: autoload(); break;
|
||||||
@ -1307,7 +1307,7 @@ TInstaller_mask::TInstaller_mask()
|
|||||||
0x18, 3)
|
0x18, 3)
|
||||||
{
|
{
|
||||||
_curr_mask = this;
|
_curr_mask = this;
|
||||||
_installed = FALSE;
|
_installed = false;
|
||||||
_reboot_program= NONE;
|
_reboot_program= NONE;
|
||||||
|
|
||||||
add_string(F_PATH, 0, PR("Installa da "), 1, 1, 80, "", 60);
|
add_string(F_PATH, 0, PR("Installa da "), 1, 1, 80, "", 60);
|
||||||
@ -1367,16 +1367,17 @@ TInstaller_mask::~TInstaller_mask()
|
|||||||
class TInstaller : public TSkeleton_application
|
class TInstaller : public TSkeleton_application
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
TInstaller_mask * _m;
|
TInstaller_mask* _m;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual bool create();
|
virtual bool create();
|
||||||
virtual bool use_files() const { return FALSE; }
|
virtual bool use_files() const { return false; }
|
||||||
virtual bool test_assistance_year() const;
|
virtual bool test_assistance_year() const;
|
||||||
virtual void main_loop();
|
virtual void main_loop();
|
||||||
|
|
||||||
bool testdatabase() const;
|
bool testdatabase() const;
|
||||||
bool testprograms() const;
|
bool testprograms() const;
|
||||||
|
void convert_archives();
|
||||||
};
|
};
|
||||||
|
|
||||||
bool TInstaller::testdatabase() const
|
bool TInstaller::testdatabase() const
|
||||||
@ -1395,7 +1396,7 @@ bool TInstaller::testprograms() const
|
|||||||
bool TInstaller::test_assistance_year() const
|
bool TInstaller::test_assistance_year() const
|
||||||
{
|
{
|
||||||
// Per il momento lascia continuare: ci pensa poi la create
|
// Per il momento lascia continuare: ci pensa poi la create
|
||||||
return TRUE;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TInstaller::create()
|
bool TInstaller::create()
|
||||||
@ -1407,7 +1408,7 @@ bool TInstaller::create()
|
|||||||
dongle().login(); // Rilegge anno assistenza
|
dongle().login(); // Rilegge anno assistenza
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
update_dninst(FALSE); // Aggiorna se necessario
|
update_dninst(false); // Aggiorna se necessario
|
||||||
|
|
||||||
if (testprograms())
|
if (testprograms())
|
||||||
{
|
{
|
||||||
@ -1422,14 +1423,25 @@ bool TInstaller::create()
|
|||||||
return error_box(FR("L'utente %s non è abilitato all'uso di questo programma"), (const char *)user());
|
return error_box(FR("L'utente %s non è abilitato all'uso di questo programma"), (const char *)user());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TInstaller::convert_archives()
|
||||||
|
{
|
||||||
|
bool conv = true;
|
||||||
|
if (is_power_station())
|
||||||
|
conv = yesno_box(TR("Si desidera convertire gli archivi ora?"));
|
||||||
|
if (conv)
|
||||||
|
{
|
||||||
|
// Lancia conversione: ba1 -0 -C -uADMIN
|
||||||
|
TExternal_app conversion("ba1 -0 -C");
|
||||||
|
conversion.run();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void TInstaller::main_loop()
|
void TInstaller::main_loop()
|
||||||
{
|
{
|
||||||
_m->run();
|
_m->run();
|
||||||
if (_m->installed() && !_m->sys_installed() && testdatabase()) // Almeno 1 modulo installato ?
|
if (_m->installed() && !_m->sys_installed() && testdatabase()) // Almeno 1 modulo installato ?
|
||||||
{
|
{
|
||||||
// Lancia conversione: ba1 -0 -C -uADMIN
|
convert_archives();
|
||||||
TExternal_app conversion("ba1 -0 -C");
|
|
||||||
conversion.run();
|
|
||||||
}
|
}
|
||||||
delete _m; _m = NULL;
|
delete _m; _m = NULL;
|
||||||
}
|
}
|
||||||
@ -1450,7 +1462,7 @@ bool TExtendedInstaller::create()
|
|||||||
dongle().login(); // Rilegge anno assistenza
|
dongle().login(); // Rilegge anno assistenza
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
update_dninst(FALSE); // Aggiorna se necessario
|
update_dninst(false); // Aggiorna se necessario
|
||||||
|
|
||||||
_m = new TInstaller_mask() ;
|
_m = new TInstaller_mask() ;
|
||||||
return TSkeleton_application::create();
|
return TSkeleton_application::create();
|
||||||
@ -1460,11 +1472,7 @@ void TExtendedInstaller::main_loop()
|
|||||||
{
|
{
|
||||||
_m->run();
|
_m->run();
|
||||||
if (_m->installed() && !_m->sys_installed() && testdatabase()) // Almeno 1 modulo installato ?
|
if (_m->installed() && !_m->sys_installed() && testdatabase()) // Almeno 1 modulo installato ?
|
||||||
{
|
convert_archives();
|
||||||
// Lancia conversione: ba1 -0 -C -uADMIN
|
|
||||||
TExternal_app conversion("ba1 -0 -C");
|
|
||||||
conversion.run();
|
|
||||||
}
|
|
||||||
|
|
||||||
const bool reboot = _m->run_ba0close();
|
const bool reboot = _m->run_ba0close();
|
||||||
delete _m; _m = NULL;
|
delete _m; _m = NULL;
|
||||||
@ -1472,13 +1480,13 @@ void TExtendedInstaller::main_loop()
|
|||||||
if (reboot && !fexist("ba3.exe")) //e' una prima installazione (non ha ancora installato la base)
|
if (reboot && !fexist("ba3.exe")) //e' una prima installazione (non ha ancora installato la base)
|
||||||
{
|
{
|
||||||
TExternal_app ba0close("ba0close.exe");
|
TExternal_app ba0close("ba0close.exe");
|
||||||
ba0close.run(TRUE,TRUE,TRUE); // run asynchronous...
|
ba0close.run(true,true,true); // run asynchronous...
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int ba1700(int argc, char* argv[])
|
int ba1700(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
const char* const PROGNAME = "Installazione moduli";
|
const char* const PROGNAME = TR("Installazione moduli");
|
||||||
|
|
||||||
if (user() != ::dongle().administrator())
|
if (user() != ::dongle().administrator())
|
||||||
{
|
{
|
||||||
|
@ -131,12 +131,13 @@ bool TDictionary::read(const char* fname)
|
|||||||
destroy();
|
destroy();
|
||||||
TScanner scan(_filename);
|
TScanner scan(_filename);
|
||||||
TString ita;
|
TString ita;
|
||||||
while (scan.ok())
|
for (int c = 0; scan.ok(); c++)
|
||||||
{
|
{
|
||||||
TString& line = scan.line();
|
TString& line = scan.line();
|
||||||
if (line.empty())
|
if (line.empty())
|
||||||
break;
|
break;
|
||||||
pi.setstatus(scan.tellg());
|
if (c % 100 == 0)
|
||||||
|
pi.setstatus(scan.tellg());
|
||||||
line.trim();
|
line.trim();
|
||||||
if (line.starts_with("<ita>"))
|
if (line.starts_with("<ita>"))
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user