Patch level : 10.0
Files correlati : ba0 ba1 Ricompilazione Demo : [ ] Commento : Corretta gestione immagini in menu "vecchio" stile git-svn-id: svn://10.65.10.50/trunk@18317 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
96e3ab4ea0
commit
9afe89a390
@ -139,81 +139,33 @@ void TPicture_mask::update()
|
||||
if (!ADVANCED_GRAPHICS)
|
||||
return;
|
||||
|
||||
TImage& image = _submenu->image();
|
||||
const TImage& image = _submenu->image();
|
||||
if (image.ok())
|
||||
{
|
||||
int x = 1, y = 1, imgx = 640, imgy = 480; // Default values
|
||||
|
||||
RCT client; xvt_vobj_get_client_rect(win(), &client);
|
||||
const bool tree_view = id2pos(DLG_TREE) >= 0;
|
||||
|
||||
int lx = 1, ly = ROWY, logx = 320, logy = 120;
|
||||
|
||||
if (tree_view) // TreeView == 1
|
||||
{
|
||||
RCT rctree; tfield(DLG_TREE).get_rect(rctree);
|
||||
RCT tree; tfield(DLG_TREE).get_rect(tree);
|
||||
|
||||
const int maxx = client.right - rctree.right - 2 * CHARX;
|
||||
const int maxy = client.bottom - 10 * ROWY;
|
||||
|
||||
const double ratiox = double(maxx) / image.width();
|
||||
const double ratioy = double(maxy) / image.height();
|
||||
const double ratio = min(ratiox, ratioy);
|
||||
|
||||
imgx = int(ratio * image.width());
|
||||
imgy = int(ratio * image.height());
|
||||
|
||||
x = client.right - maxx - 4;
|
||||
y = client.bottom - maxy;
|
||||
|
||||
//stabilisce la dimensione del logo
|
||||
RCT lgo = client; lgo.left = tree.right; lgo.bottom /= 3;
|
||||
if (_logo != NULL)
|
||||
{
|
||||
lx = rctree.right + CHARX;
|
||||
|
||||
const double ratio = (double)maxx / _logo->width();
|
||||
logx = int(ratio * _logo->width());
|
||||
logy = int(ratio * _logo->height());
|
||||
}
|
||||
_logo->draw(win(), lgo, 'R', 'T', '-');
|
||||
|
||||
lgo = client; lgo.left = tree.right; lgo.top = lgo.bottom/3; lgo.bottom -= lgo.top;
|
||||
image.draw(win(), lgo, 'R', 'B', '-');
|
||||
}
|
||||
else
|
||||
{
|
||||
RCT rctbut; field(101).get_rect(rctbut);
|
||||
|
||||
int maxx = rctbut.left - CHARX;
|
||||
int maxy = client.bottom - 5 * ROWY; //il logo va staccato dall'immagine
|
||||
RCT but; field(101).get_rect(but);
|
||||
RCT lgo = client; lgo.right = but.left; lgo.bottom /= 2;
|
||||
if (_logo != NULL)
|
||||
maxy -= _logo->height();
|
||||
|
||||
const double ratiox = double(maxx) / image.width();
|
||||
const double ratioy = double(maxy) / image.height();
|
||||
const double ratio = min(ratiox, ratioy);
|
||||
|
||||
imgx = int(ratio * image.width());
|
||||
imgy = int(ratio * image.height());
|
||||
x = 1;
|
||||
y = client.bottom - imgy - 1;
|
||||
|
||||
//stabilisce la dimensione del logo
|
||||
if (_logo != NULL)
|
||||
{
|
||||
const double ratio = (double)maxx / _logo->width();
|
||||
logx = int(ratio * _logo->width());
|
||||
logy = int(ratio * _logo->height());
|
||||
}
|
||||
}
|
||||
|
||||
RCT dst;
|
||||
if (_logo != NULL)
|
||||
{
|
||||
::xvt_rect_set(&dst, lx, ly, lx+logx, ly+logy);
|
||||
if (::xvt_dwin_is_update_needed(win(), &dst))
|
||||
_logo->draw(win(), dst);
|
||||
_logo->draw(win(), lgo, 'L', 'T', '-');
|
||||
|
||||
lgo = client; lgo.right = but.left; lgo.top = lgo.bottom/2;
|
||||
image.draw(win(), lgo, 'L', 'B', '-');
|
||||
}
|
||||
|
||||
::xvt_rect_set(&dst, x, y, x+imgx, y+imgy);
|
||||
if (::xvt_dwin_is_update_needed(win(), &dst))
|
||||
image.draw(win(), dst);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1467,7 +1419,7 @@ void enable_options_menu(bool on)
|
||||
xvt_menu_set_item_enabled(tw, M_FILE_NEW, on); // Cambio ditta
|
||||
xvt_menu_set_item_enabled(tw, M_FILE_PG_SETUP, on); // Imposta Stampante
|
||||
for (int i = 2; i <= 7; i++) // Menu opzioni
|
||||
xvt_menu_set_item_enabled(tw, MENU_ITEM(i), on);
|
||||
xvt_menu_set_item_enabled(tw, MENU_ITEM_ID(i), on);
|
||||
xvt_menu_update(tw);
|
||||
}
|
||||
|
||||
@ -1794,7 +1746,7 @@ void TMenu_application::update_preferred()
|
||||
MENU_ITEM& m = pm[i+3];
|
||||
if (i >= 0)
|
||||
{
|
||||
m.tag = MENU_ITEM(50+i);
|
||||
m.tag = MENU_ITEM_ID(50+i);
|
||||
m.enabled = true;
|
||||
const char* src = _preferred.row(i).get(0);
|
||||
m.text = xvt_str_duplicate(src);
|
||||
@ -2091,21 +2043,21 @@ bool TMenu_application::menu(MENU_TAG mt)
|
||||
bool ok = true;
|
||||
switch (mt)
|
||||
{
|
||||
case BAR_ITEM(1): main_loop(); ok = false; break;
|
||||
case MENU_ITEM(2): choose_colors(); break;
|
||||
case MENU_ITEM(3): choose_editors(); break;
|
||||
case MENU_ITEM(4): choose_study(); break;
|
||||
case MENU_ITEM(5): add_to_preferred(); break;
|
||||
case MENU_ITEM(6): manage_preferred(); break;
|
||||
case MENU_ITEM(7):
|
||||
case BAR_ITEM_ID(1): main_loop(); ok = false; break;
|
||||
case MENU_ITEM_ID(2): choose_colors(); break;
|
||||
case MENU_ITEM_ID(3): choose_editors(); break;
|
||||
case MENU_ITEM_ID(4): choose_study(); break;
|
||||
case MENU_ITEM_ID(5): add_to_preferred(); break;
|
||||
case MENU_ITEM_ID(6): manage_preferred(); break;
|
||||
case MENU_ITEM_ID(7):
|
||||
if (check_user())
|
||||
_mask->stop_run(K_CTRL + 'R'); // Ricarica maschera
|
||||
break;
|
||||
default:
|
||||
if (mt >= MENU_ITEM(50) && mt < MENU_ITEM(50+_preferred.items()))
|
||||
if (mt >= MENU_ITEM_ID(50) && mt < MENU_ITEM_ID(50+_preferred.items()))
|
||||
{
|
||||
bool ok = false;
|
||||
const int index = mt - MENU_ITEM(50);
|
||||
const int index = mt - MENU_ITEM_ID(50);
|
||||
TToken_string node(_preferred.row(index).get(1), '/');
|
||||
if (_tree_view != 0)
|
||||
{
|
||||
|
@ -381,7 +381,7 @@ TObject* TMenulist_images::key2obj(const char* key)
|
||||
for (int i = 0; ext[i] != NULL; i++)
|
||||
{
|
||||
name = key;
|
||||
name << '.' << ext[i];
|
||||
name.ext(ext[i]);
|
||||
if (name.custom_path())
|
||||
break;
|
||||
}
|
||||
@ -595,18 +595,16 @@ void TMenulist_window::update()
|
||||
if (img != NULL)
|
||||
{
|
||||
RCT rct; xvt_vobj_get_client_rect(win(), &rct);
|
||||
const int x = (rct.right - img->width());
|
||||
const int y = (rct.bottom - img->height());
|
||||
img->draw(win(), x, y);
|
||||
rct.left = rct.right/2; rct.top = rct.bottom/2;
|
||||
img->draw(win(), rct, 'R', 'B', '-');
|
||||
}
|
||||
|
||||
TImage* logo = db ? _images.image(get_logo()) : NULL; //logo del programma
|
||||
if (logo != NULL) //disegna il logo
|
||||
{
|
||||
RCT rct; xvt_vobj_get_client_rect(win(), &rct);
|
||||
const int x = rct.left;
|
||||
const int y = rct.bottom - logo->height();
|
||||
logo->draw(win(), x, y);
|
||||
rct.left = rct.right/2; rct.top = rct.bottom/2;
|
||||
logo->draw(win(), rct, 'L', 'B', '-');
|
||||
}
|
||||
|
||||
FOR_EACH_ARRAY_ITEM(_sorted, i, obj)
|
||||
@ -1189,16 +1187,16 @@ bool TExplorer_mask::on_field_event(TOperable_field& o, TField_event e, long jol
|
||||
}
|
||||
break;
|
||||
case DLG_CONFIG:
|
||||
dispatch_e_menu(TASK_WIN, MENU_ITEM(2));
|
||||
dispatch_e_menu(TASK_WIN, MENU_ITEM_ID(2));
|
||||
break;
|
||||
case DLG_ADDPREF:
|
||||
dispatch_e_menu(TASK_WIN, MENU_ITEM(5));
|
||||
dispatch_e_menu(TASK_WIN, MENU_ITEM_ID(5));
|
||||
break;
|
||||
case DLG_PREF:
|
||||
dispatch_e_menu(TASK_WIN, MENU_ITEM(6));
|
||||
dispatch_e_menu(TASK_WIN, MENU_ITEM_ID(6));
|
||||
break;
|
||||
case DLG_USER:
|
||||
dispatch_e_menu(TASK_WIN, MENU_ITEM(7));
|
||||
dispatch_e_menu(TASK_WIN, MENU_ITEM_ID(7));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@ -1225,11 +1223,14 @@ TExplorer_mask::TExplorer_mask(TMenu& menu) : _tree(menu)
|
||||
{
|
||||
add_button_tool(DLG_SHRINK, TR("Menu Iniziale"), TOOL_FIRSTREC);
|
||||
add_button_tool(DLG_FINDREC, TR("Ricerca"), TOOL_LENTE);
|
||||
add_button_tool(DLG_NULL, "", 0);
|
||||
add_button_tool(DLG_CONFIG, TR("Opzioni"), TOOL_CONFIG);
|
||||
add_button_tool(DLG_USER, TR("Utente"), TOOL_PERMISSIONS);
|
||||
add_button_tool(DLG_SETPRINT, TR("Imposta"), TOOL_SETPRINT);
|
||||
add_button_tool(DLG_NULL, "", 0);
|
||||
add_button_tool(DLG_PREF, TR("Preferiti"), TOOL_PREF);
|
||||
add_button_tool(DLG_ADDPREF, TR("Aggiungi"), TOOL_ADDPREF);
|
||||
add_button_tool(DLG_NULL, "", 0);
|
||||
add_button_tool(DLG_INFO, TR("Info"), TOOL_INFO);
|
||||
add_button_tool(DLG_HELP, TR("Help"), TOOL_HELP);
|
||||
add_button_tool(DLG_QUIT, TR(""), TOOL_QUIT);
|
||||
@ -1273,17 +1274,10 @@ const TString& get_logo()
|
||||
if (currlogo.blank())
|
||||
{
|
||||
//seleziona il logo da usare in base al producer!!
|
||||
TConfig oemini(CONFIG_OEM, "MAIN");
|
||||
const int oem = oemini.get_int("OEM", NULL, -1, -1);
|
||||
|
||||
if (oem >= 0)
|
||||
{
|
||||
TString8 para; para << "OEM_" << oem;
|
||||
currlogo = oemini.get("Logo", para);
|
||||
currlogo.insert("setup/");
|
||||
if (!currlogo.exist())
|
||||
currlogo.cut(0);
|
||||
}
|
||||
currlogo = get_oem_info("Logo");
|
||||
currlogo.insert("setup/");
|
||||
if (!currlogo.exist())
|
||||
currlogo.cut(0);
|
||||
}
|
||||
|
||||
if (currlogo.blank())
|
||||
|
@ -116,17 +116,7 @@ void TBook_window::update()
|
||||
if (rctw.right >= 64 && rctw.bottom >= 64)
|
||||
{
|
||||
if (_logo.ok())
|
||||
{
|
||||
RCT rcti = _logo.rect();
|
||||
if (rcti.right > rctw.right)
|
||||
{
|
||||
const double ratio = double(rctw.right) / double(rcti.right);
|
||||
rcti.right = int(rcti.right * ratio);
|
||||
rcti.bottom = int(rcti.bottom * ratio);
|
||||
}
|
||||
xvt_rect_offset(&rcti, rctw.right - rcti.right, rctw.bottom - rcti.bottom);
|
||||
_logo.draw(win(), rcti);
|
||||
}
|
||||
_logo.draw(win(), rctw, 'C', 'B', '-');
|
||||
const PNT pnt = { 0, 0 };
|
||||
draw_spider(win(), 0x3, pnt);
|
||||
}
|
||||
|
@ -207,6 +207,7 @@ bool save_campo_xml()
|
||||
module.SetAttr("Code", name);
|
||||
module.SetAttr("Version", version);
|
||||
module.SetAttr("Patch", ini.get("Patch"));
|
||||
module.SetAttr("Date", ini.get("Data"));
|
||||
}
|
||||
}
|
||||
|
||||
|
322
ba/ba1600.cpp
322
ba/ba1600.cpp
@ -11,17 +11,26 @@
|
||||
#include <msksheet.h>
|
||||
#include <prefix.h>
|
||||
#include <progind.h>
|
||||
#include <text.h>
|
||||
#include <sheet.h>
|
||||
#include <utility.h>
|
||||
#include <text.h>
|
||||
|
||||
#include "ba1.h"
|
||||
#include "ba1600.h"
|
||||
#include "ba1600a.h"
|
||||
|
||||
|
||||
int find(const TString& name, TString_array & rows) ;
|
||||
// Cerca un file nell'array di colonne e ne restituisce il numero del sottomodulo
|
||||
HIDDEN int find_row(const TString& name, TString_array& rows)
|
||||
{
|
||||
int r;
|
||||
for (r = rows.last(); r >= 0; r--)
|
||||
{
|
||||
const char* n = rows.row(r).get(0);
|
||||
if (name.compare(n, -1, true) == 0)
|
||||
break;
|
||||
}
|
||||
return r;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// Configurazione per installazione
|
||||
@ -36,20 +45,11 @@ protected:
|
||||
|
||||
virtual bool use_files() const { return false; }
|
||||
virtual void main_loop();
|
||||
|
||||
public:
|
||||
virtual bool modify_mode() { return false; }
|
||||
TFascicolator_mask& mask() const { return *_mask; }
|
||||
};
|
||||
|
||||
class TFascicolator : public TCreazione_dischi
|
||||
{
|
||||
protected:
|
||||
virtual void main_loop();
|
||||
|
||||
public:
|
||||
virtual bool modify_mode() { return TRUE;}
|
||||
};
|
||||
|
||||
inline TCreazione_dischi& app() { return (TCreazione_dischi&)main_app(); }
|
||||
|
||||
class TFconv_ini : public TConfig
|
||||
@ -83,7 +83,7 @@ int TInstall_ini::build_list(const TString& module, TString_array& a,
|
||||
if (module[2] == '\0') // Ho specificato un modulo principale
|
||||
paragraph << sub;
|
||||
|
||||
bool reset_par=TRUE;
|
||||
bool reset_par=true;
|
||||
vars.destroy();
|
||||
|
||||
TAssoc_array& varlist = list_variables(paragraph);
|
||||
@ -103,7 +103,7 @@ int TInstall_ini::build_list(const TString& module, TString_array& a,
|
||||
{
|
||||
if (reset_par)
|
||||
{
|
||||
reset_par=FALSE;
|
||||
reset_par=false;
|
||||
sum->set_paragraph(paragraph);
|
||||
sum->remove_all();
|
||||
FOR_EACH_ASSOC_STRING(vars, obj, key, str)
|
||||
@ -257,10 +257,10 @@ void TInstall_ini::export_paragraph(const char* module, const char* summary, con
|
||||
if (!remove_old && is_submodule && strncmp(key, "File", 4) == 0 )
|
||||
{
|
||||
// merging "File(X)" items...
|
||||
item_value = str;
|
||||
tmps = item_value.get(0);
|
||||
int item_number = find(tmps, old_list);
|
||||
if (item_number >= 0)
|
||||
item_value=str;
|
||||
tmps=item_value.get(0);
|
||||
int item_number=find_row(tmps, old_list);
|
||||
if (item_number>=0)
|
||||
{
|
||||
// file sostituito
|
||||
TString old_smodule(old_list.row(item_number).get(2));
|
||||
@ -391,7 +391,7 @@ bool TInstall_ini::update_prices(const char* from)
|
||||
const TDate curr_date(get("Listino","Main"));
|
||||
const TDate from_date(from_ini.get("Listino","Main"));
|
||||
if (from_date < curr_date)
|
||||
return FALSE;
|
||||
return false;
|
||||
set("Listino", from_date);
|
||||
|
||||
TString_array modules;
|
||||
@ -403,11 +403,11 @@ bool TInstall_ini::update_prices(const char* from)
|
||||
FOR_EACH_ASSOC_STRING(prices, obj, key, str)
|
||||
{
|
||||
const TFixed_string price(key);
|
||||
if (price.compare("Prezzo", 6, TRUE) == 0)
|
||||
if (price.compare("Prezzo", 6, true) == 0)
|
||||
set(key, str);
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
void TInstall_ini::prices(const char* module, word users, real& full, real& assist, bool correct_ass)
|
||||
@ -498,7 +498,7 @@ public:
|
||||
void load(const TString& module);
|
||||
void save();
|
||||
|
||||
TMod_composition_msk(const bool modify_mode=FALSE);
|
||||
TMod_composition_msk(const bool modify_mode=false);
|
||||
virtual ~TMod_composition_msk() { }
|
||||
};
|
||||
|
||||
@ -508,7 +508,7 @@ bool TMod_composition_msk::kill_missing(const char* name, bool update)
|
||||
TSheet_field& miss = sfield(F_MISSING);
|
||||
FOR_EACH_SHEET_ROW_BACK(miss, r, row)
|
||||
{
|
||||
if (row->compare(name, -1, TRUE) == 0)
|
||||
if (row->compare(name, -1, true) == 0)
|
||||
{
|
||||
miss.destroy(r, update);
|
||||
break;
|
||||
@ -523,7 +523,7 @@ bool TMod_composition_msk::kill_obsolete(const char* name, bool update)
|
||||
TSheet_field& obs = sfield(F_OBSOLETE);
|
||||
FOR_EACH_SHEET_ROW_BACK(obs, r, row)
|
||||
{
|
||||
if (row->compare(name, -1, TRUE) == 0)
|
||||
if (row->compare(name, -1, true) == 0)
|
||||
{
|
||||
obs.destroy(r, update);
|
||||
break;
|
||||
@ -534,7 +534,7 @@ bool TMod_composition_msk::kill_obsolete(const char* name, bool update)
|
||||
|
||||
bool TMod_composition_msk::sheet_notify(TSheet_field& sf, int r, KEY key)
|
||||
{
|
||||
bool ok = TRUE;
|
||||
bool ok = true;
|
||||
switch(key)
|
||||
{
|
||||
case K_TAB:
|
||||
@ -563,23 +563,23 @@ bool TMod_composition_msk::sheet_notify(TSheet_field& sf, int r, KEY key)
|
||||
xvt_fsys_convert_dir_to_str(&dir, start.get_buffer(), start.size());
|
||||
const int maxlen = start.len();
|
||||
|
||||
bool found = FALSE;
|
||||
bool found = false;
|
||||
for (int i = 0; i < items; i++)
|
||||
{
|
||||
TString& file = arr.row(i);
|
||||
if (file.compare(start, maxlen, TRUE) == 0)
|
||||
if (file.compare(start, maxlen, true) == 0)
|
||||
file.ltrim(maxlen+1);
|
||||
file.lower();
|
||||
|
||||
msk.kill_missing(file, FALSE);
|
||||
msk.kill_missing(file, false);
|
||||
|
||||
if (::find(file,rows)>=0)
|
||||
if (find_row(file,rows)>=0)
|
||||
{
|
||||
TToken_string& row = sf.row(found ? -1 : r);
|
||||
row = file;
|
||||
row.add(" ");
|
||||
row.add(module);
|
||||
found = TRUE;
|
||||
found = true;
|
||||
}
|
||||
}
|
||||
// Se ne ho trovato almeno uno valido allora updato
|
||||
@ -624,7 +624,7 @@ bool TMod_composition_msk::sheet_notify(TSheet_field& sf, int r, KEY key)
|
||||
//metodo per la gestione dello sheet con la lista dei files da ELIMINARE effettivamente
|
||||
bool TMod_composition_msk::kill_notify(TSheet_field& sf, int r, KEY key)
|
||||
{
|
||||
bool ok = TRUE;
|
||||
bool ok = true;
|
||||
switch(key)
|
||||
{
|
||||
case K_TAB:
|
||||
@ -649,22 +649,22 @@ bool TMod_composition_msk::kill_notify(TSheet_field& sf, int r, KEY key)
|
||||
xvt_fsys_convert_dir_to_str(&dir, start.get_buffer(), start.size());
|
||||
const int maxlen = start.len();
|
||||
|
||||
bool found = FALSE;
|
||||
bool found = false;
|
||||
for (int i = 0; i < items; i++)
|
||||
{
|
||||
TString& file = arr.row(i);
|
||||
if (file.compare(start, maxlen, TRUE) == 0)
|
||||
if (file.compare(start, maxlen, true) == 0)
|
||||
file.ltrim(maxlen+1);
|
||||
file.lower();
|
||||
|
||||
msk.kill_obsolete(file, FALSE);
|
||||
msk.kill_obsolete(file, false);
|
||||
|
||||
if (::find(file,rows)>=0)
|
||||
if (find_row(file,rows)>=0)
|
||||
{
|
||||
TToken_string& row = sf.row(found ? -1 : r);
|
||||
row = file;
|
||||
row.add(" ");
|
||||
found = TRUE;
|
||||
found = true;
|
||||
}
|
||||
}
|
||||
// Se ne ho trovato almeno uno valido allora updato
|
||||
@ -698,7 +698,7 @@ bool TMod_composition_msk::kill_notify(TSheet_field& sf, int r, KEY key)
|
||||
|
||||
bool TMod_composition_msk::missing_notify(TSheet_field& sf, int r, KEY key)
|
||||
{
|
||||
bool ok = TRUE;
|
||||
bool ok = true;
|
||||
if (key == K_INS)
|
||||
{
|
||||
// Sposto tutte le righe nello spreadsheet a fianco
|
||||
@ -717,7 +717,7 @@ bool TMod_composition_msk::missing_notify(TSheet_field& sf, int r, KEY key)
|
||||
sf.destroy();
|
||||
sf.force_update();
|
||||
sheet.force_update();
|
||||
ok = FALSE;
|
||||
ok = false;
|
||||
}
|
||||
return ok;
|
||||
}
|
||||
@ -742,7 +742,7 @@ bool TMod_composition_msk::file_handler(TMask_field& f, KEY k)
|
||||
xvt_fsys_convert_dir_to_str(&dir, start.get_buffer(), start.size());
|
||||
|
||||
const int maxlen = start.len();
|
||||
if (file.compare(start, maxlen, TRUE) == 0)
|
||||
if (file.compare(start, maxlen, true) == 0)
|
||||
{
|
||||
file.ltrim(maxlen+1);
|
||||
file.add(fs.name);
|
||||
@ -761,10 +761,10 @@ bool TMod_composition_msk::file_handler(TMask_field& f, KEY k)
|
||||
if (k = K_TAB && f.focusdirty())
|
||||
{
|
||||
TMod_composition_msk& msk = (TMod_composition_msk&)f.mask().get_sheet()->mask();
|
||||
msk.kill_missing(f.get(), TRUE);
|
||||
msk.kill_missing(f.get(), true);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool TMod_composition_msk::kill_handler(TMask_field& f, KEY k)
|
||||
@ -772,10 +772,10 @@ bool TMod_composition_msk::kill_handler(TMask_field& f, KEY k)
|
||||
if (k = K_TAB && f.focusdirty())
|
||||
{
|
||||
TMod_composition_msk& msk = (TMod_composition_msk&)f.mask().get_sheet()->mask();
|
||||
msk.kill_obsolete(f.get(), TRUE);
|
||||
msk.kill_obsolete(f.get(), true);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool TMod_composition_msk::edit_handler(TMask_field& f, KEY k)
|
||||
@ -792,7 +792,7 @@ bool TMod_composition_msk::edit_handler(TMask_field& f, KEY k)
|
||||
else
|
||||
::edit_url(file);
|
||||
}
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool TMod_composition_msk::link_handler(TMask_field& f, KEY k)
|
||||
@ -814,10 +814,10 @@ bool TMod_composition_msk::link_handler(TMask_field& f, KEY k)
|
||||
do_events();
|
||||
}
|
||||
sf->destroy(sf->selected());
|
||||
sheet.force_update();
|
||||
sheet.force_update();
|
||||
sf->force_update();
|
||||
}
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
static int obsolete_found(TConfig& cfg, void* jolly)
|
||||
@ -830,7 +830,7 @@ static int obsolete_found(TConfig& cfg, void* jolly)
|
||||
{
|
||||
int pos = files.find(string);
|
||||
if (pos >=0)
|
||||
files.destroy(pos, TRUE); //se trova il file sia su disco che nell'ini -> lo toglie dall'elenco su disco
|
||||
files.destroy(pos, true); //se trova il file sia su disco che nell'ini -> lo toglie dall'elenco su disco
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
@ -852,7 +852,7 @@ bool TMod_composition_msk::obsolete_notify(TSheet_field& sf, int r, KEY key)
|
||||
ini.for_each_paragraph(obsolete_found, &elenco_dir); //per ogni paragrafo dell'install.ini chiama la obsolete_found
|
||||
sf.force_update(); //aggiornamento dello sheet (di sinistra) sulla maschera
|
||||
}
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
//spostamento oggetti da sheet obsoleti a sheet con files da eliminare (sulla mask e' da destra a sinistra)
|
||||
@ -876,7 +876,7 @@ bool TMod_composition_msk::obs_handler(TMask_field& f, KEY k)
|
||||
sheet.force_update(); //update dello sheet sinistro della maschera di eliminazione (files condannati)
|
||||
sf->force_update();
|
||||
}
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@ -889,7 +889,7 @@ bool TMod_composition_msk::deselect_handler(TMask_field& f, KEY k)
|
||||
row->add(" ", 1);
|
||||
sheet.force_update();
|
||||
}
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool TMod_composition_msk::isam_handler(TMask_field& f, KEY k)
|
||||
@ -915,7 +915,7 @@ bool TMod_composition_msk::isam_handler(TMask_field& f, KEY k)
|
||||
if (sht.run() == K_ENTER)
|
||||
m.set(f.dlg(), sht.selected() + LF_USER);
|
||||
}
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
static int file_compare(const TObject** o1, const TObject** o2)
|
||||
@ -962,12 +962,12 @@ void TMod_composition_msk::load(const TString& module)
|
||||
mask.lower();
|
||||
const TString16 ext = mask.ext();
|
||||
|
||||
bool ok = TRUE;
|
||||
bool ok = true;
|
||||
for (int e = 0; bad_ext[e]; e++)
|
||||
{
|
||||
if (ext == bad_ext[e])
|
||||
{
|
||||
ok = FALSE;
|
||||
ok = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -976,7 +976,7 @@ void TMod_composition_msk::load(const TString& module)
|
||||
{
|
||||
FOR_EACH_SHEET_ROW_BACK(s, i, row)
|
||||
{
|
||||
if (mask.compare(row->get(0), -1, TRUE) == 0)
|
||||
if (mask.compare(row->get(0), -1, true) == 0)
|
||||
break;
|
||||
}
|
||||
ok = i < 0;
|
||||
@ -1030,7 +1030,7 @@ void TMod_composition_msk::save()
|
||||
tmp = row->get(0); // Nome del file
|
||||
const bool agg = row->get_char() > ' ';
|
||||
if (agg) tmp.add("X"); // Flag aggiornamento
|
||||
ini.set("File", tmp, sub, TRUE, index++);
|
||||
ini.set("File", tmp, sub, true, index++);
|
||||
ini.set("Versione", version); // Aggiorna versione del sottomodulo
|
||||
ini.set("Patch", patch);
|
||||
}
|
||||
@ -1064,9 +1064,8 @@ void TMod_composition_msk::save()
|
||||
sub << 99;
|
||||
FOR_EACH_SHEET_ROW(kp, kr, krow)
|
||||
{
|
||||
ini.set("Kill", *krow, sub, TRUE, kr);
|
||||
ini.set("Kill", *krow, sub, true, kr);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
TMod_composition_msk::TMod_composition_msk(const bool modify_mode)
|
||||
@ -1114,7 +1113,7 @@ class TModule_mask : public TMask
|
||||
|
||||
public:
|
||||
bool list_is_dirty() const { return _dirty_composition;}
|
||||
void dirty_composition(bool val = TRUE) { _dirty_composition = val; }
|
||||
void dirty_composition(bool val = true) { _dirty_composition = val; }
|
||||
bool check_patchlevels(TMod_composition_msk &mm);
|
||||
virtual ~TModule_mask() {}
|
||||
};
|
||||
@ -1144,9 +1143,9 @@ protected:
|
||||
virtual bool zip_module(const TString& module, bool agg, int patch_level) const;
|
||||
|
||||
virtual bool set_version_info(const TFilename& filename,
|
||||
TInstall_ini& ini, const char* module) const;
|
||||
TInstall_ini& ini, const char* module) const;
|
||||
|
||||
virtual bool show_all_modules() {return FALSE;}
|
||||
virtual bool show_all_modules() {return false;}
|
||||
public:
|
||||
virtual void save();
|
||||
virtual void load();
|
||||
@ -1170,7 +1169,7 @@ protected:
|
||||
virtual bool set_version_info(const TFilename& filename,
|
||||
TInstall_ini& ini, const char* module) const;
|
||||
|
||||
virtual bool show_all_modules() {return TRUE;}
|
||||
virtual bool show_all_modules() {return true;}
|
||||
public:
|
||||
virtual void save();
|
||||
|
||||
@ -1181,13 +1180,13 @@ public:
|
||||
|
||||
bool TCreadischi_mask::modules_notify(TSheet_field& f, int row, KEY k)
|
||||
{
|
||||
bool ok = TRUE;
|
||||
bool ok = true;
|
||||
if (k == K_INS || k == K_DEL)
|
||||
ok = FALSE;
|
||||
ok = false;
|
||||
if (k == K_TAB)
|
||||
{
|
||||
TModule_mask &mm =(TModule_mask &)f.sheet_mask();
|
||||
mm.dirty_composition(FALSE);
|
||||
mm.dirty_composition(false);
|
||||
}
|
||||
return ok;
|
||||
}
|
||||
@ -1217,12 +1216,12 @@ bool TModule_mask::module_dependent(int rownum, TString_array &p_submodules, TSt
|
||||
{
|
||||
ver=curr_row.get(modsheet.cid2index(S_VERSION));
|
||||
patch=atoi(curr_row.get(modsheet.cid2index(S_PATCHLEVEL)));
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
} // loop over patched modules
|
||||
}
|
||||
} // loop over external modules
|
||||
return FALSE;
|
||||
return false;
|
||||
}
|
||||
|
||||
bool TModule_mask::check_patchlevels( TMod_composition_msk &mm)
|
||||
@ -1249,7 +1248,7 @@ bool TModule_mask::check_patchlevels( TMod_composition_msk &mm)
|
||||
}
|
||||
|
||||
// cerca i moduli che includono i sottomoduli patchati
|
||||
bool need_update(FALSE);
|
||||
bool need_update(false);
|
||||
TString16 sub_mod, sub_ver;
|
||||
int sub_patch;
|
||||
TSheet_field& modsheet = get_sheet()->mask().sfield(F_SHEET);
|
||||
@ -1266,7 +1265,7 @@ bool TModule_mask::check_patchlevels( TMod_composition_msk &mm)
|
||||
{
|
||||
curr_row.add(patchlev , modsheet.cid2index(S_PATCHLEVEL));
|
||||
curr_row.add(get(S_DATE) , modsheet.cid2index(S_DATE));
|
||||
need_update=TRUE;
|
||||
need_update=true;
|
||||
}
|
||||
} else
|
||||
if (!sub_ver.blank())
|
||||
@ -1282,7 +1281,7 @@ bool TModule_mask::check_patchlevels( TMod_composition_msk &mm)
|
||||
{
|
||||
curr_row.add(patchlev , modsheet.cid2index(S_PATCHLEVEL));
|
||||
curr_row.add(get(S_DATE) , modsheet.cid2index(S_DATE));
|
||||
need_update=TRUE;
|
||||
need_update=true;
|
||||
}
|
||||
} else
|
||||
if (!sub_ver.blank())
|
||||
@ -1292,17 +1291,44 @@ bool TModule_mask::check_patchlevels( TMod_composition_msk &mm)
|
||||
}
|
||||
if (need_update)
|
||||
modsheet.force_update();
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool TFascicolator_mask::patchl_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k == K_TAB && f.focusdirty())
|
||||
{
|
||||
// TModule_mask& m = (TModule_mask&)f.mask();
|
||||
// m.dirty_composition();
|
||||
if (k == K_F8 || (k == K_TAB && f.focusdirty()))
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
TSheet_field& s = *m.get_sheet();
|
||||
long last_patch = 0;
|
||||
FOR_EACH_SHEET_ROW(s, r, row)
|
||||
{
|
||||
const int p = row->get_int(3);
|
||||
if (p > last_patch)
|
||||
last_patch = p;
|
||||
}
|
||||
switch (k)
|
||||
{
|
||||
case K_F8:
|
||||
{
|
||||
last_patch++;
|
||||
if (last_patch & 0x1)
|
||||
last_patch++;
|
||||
|
||||
f.set(last_patch);
|
||||
const TDate oggi(TODAY);
|
||||
m.set(S_DATE, oggi);
|
||||
}
|
||||
break;
|
||||
case K_TAB:
|
||||
if (f.get_long() < last_patch)
|
||||
warning_box(FR("Attenzione: l'ultima patch sarebbe la %ld"), last_patch);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@ -1314,7 +1340,7 @@ bool TCreadischi_mask::list_handler(TMask_field& f, KEY k)
|
||||
TModule_mask& m = (TModule_mask&)f.mask();
|
||||
const TString& module = m.get(S_MODULE);
|
||||
|
||||
if (module.not_empty())
|
||||
if (module.full())
|
||||
{
|
||||
TMod_composition_msk mm;
|
||||
mm.load(module);
|
||||
@ -1322,7 +1348,7 @@ bool TCreadischi_mask::list_handler(TMask_field& f, KEY k)
|
||||
mm.save();
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool TFascicolator_mask::list_handler(TMask_field& f, KEY k)
|
||||
@ -1331,10 +1357,9 @@ bool TFascicolator_mask::list_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TModule_mask& m = (TModule_mask&)f.mask();
|
||||
const TString& module = m.get(S_MODULE);
|
||||
|
||||
if (module.not_empty())
|
||||
if (module.full())
|
||||
{
|
||||
TMod_composition_msk mm(TRUE);
|
||||
TMod_composition_msk mm(true);
|
||||
mm.load(module);
|
||||
if (mm.run() == K_ENTER)
|
||||
{
|
||||
@ -1344,12 +1369,12 @@ bool TFascicolator_mask::list_handler(TMask_field& f, KEY k)
|
||||
}
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool TCreadischi_mask::confirm_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool TFascicolator_mask::confirm_handler(TMask_field& f, KEY k)
|
||||
@ -1367,7 +1392,7 @@ bool TFascicolator_mask::confirm_handler(TMask_field& f, KEY k)
|
||||
m.field(S_PATCHLEVEL).dirty();
|
||||
if (dirty_version || dirty_module)
|
||||
{
|
||||
TIndwin infobar(60,TR("Salvataggio composizione modulo"),FALSE,FALSE);
|
||||
TIndwin infobar(60,TR("Salvataggio composizione modulo"),false,false);
|
||||
TInstall_ini ini;
|
||||
ini.set_paragraph(module);
|
||||
ini.set("Versione", m.get(S_VERSION));
|
||||
@ -1395,13 +1420,13 @@ bool TFascicolator_mask::confirm_handler(TMask_field& f, KEY k)
|
||||
if (patchlevel>0 && (m.list_is_dirty() || dirty_version))
|
||||
{
|
||||
// controlla le consistenze tra patch di moduli diversi intrinsecamente correlati
|
||||
TIndwin infobar(60,TR("Controllo dipendenze tra sottomoduli"),FALSE,FALSE);
|
||||
TIndwin infobar(60,TR("Controllo dipendenze tra sottomoduli"),false,false);
|
||||
TMod_composition_msk mc;
|
||||
mc.load(module);
|
||||
m.check_patchlevels(mc);
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool TFascicolator_mask::creazip_handler(TMask_field& f, KEY k)
|
||||
@ -1413,7 +1438,7 @@ bool TFascicolator_mask::creazip_handler(TMask_field& f, KEY k)
|
||||
confirm_handler(fconfirm, K_SPACE);
|
||||
TCreadischi_mask::creazip_handler(f,k);
|
||||
}
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool TCreadischi_mask::creazip_handler(TMask_field& f, KEY k)
|
||||
@ -1443,7 +1468,7 @@ bool TCreadischi_mask::creazip_handler(TMask_field& f, KEY k)
|
||||
bool TCreadischi_mask::why_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k != K_SPACE)
|
||||
return TRUE;
|
||||
return true;
|
||||
|
||||
TArray_sheet& main_sheet = (TArray_sheet&)f.mask();
|
||||
const TFilename stopfile = main_sheet.row(main_sheet.selected()).get(1);
|
||||
@ -1455,7 +1480,7 @@ bool TCreadischi_mask::why_handler(TMask_field& f, KEY k)
|
||||
TString_array inifiles;
|
||||
list_files(path, inifiles);
|
||||
inifiles.sort();
|
||||
TProgind pi(inifiles.items(), TR("Scansione archivi successivi..."), FALSE, TRUE);
|
||||
TProgind pi(inifiles.items(), TR("Scansione archivi successivi..."), false, true);
|
||||
|
||||
TString caption; caption << TR("File eliminabili da ") << stopfile.name();
|
||||
TArray_sheet sheet(3, 3, -3, -3, caption, HR("Modulo|File@20|Ultima Patch@50"));
|
||||
@ -1506,7 +1531,7 @@ bool TCreadischi_mask::why_handler(TMask_field& f, KEY k)
|
||||
if (is_last) break;
|
||||
}
|
||||
sheet.run();
|
||||
return FALSE;
|
||||
return false;
|
||||
}
|
||||
|
||||
bool TCreadischi_mask::testpatch_handler(TMask_field& f, KEY k)
|
||||
@ -1639,16 +1664,16 @@ bool TCreadischi_mask::import_export_handler(TMask_field& f, KEY k)
|
||||
if (is_export)
|
||||
{
|
||||
TInstall_ini inst;
|
||||
inst.export_module_paragraphs(module, path, TRUE);
|
||||
inst.export_module_paragraphs(module, path, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
TInstall_ini ini(path);
|
||||
ini.export_module_paragraphs(module, ini.default_name(), TRUE);
|
||||
ini.export_module_paragraphs(module, ini.default_name(), true);
|
||||
}
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
const TFilename& TCreadischi_mask::build_export_path(TFilename& path) const
|
||||
@ -1743,7 +1768,7 @@ void TFascicolator_mask::save()
|
||||
TSheet_field& s = sfield(F_SHEET);
|
||||
TCreadischi_mask::save();
|
||||
|
||||
TProgind pi(s.items(), TR("Salvataggio in corso..."), FALSE, TRUE);
|
||||
TProgind pi(s.items(), TR("Salvataggio in corso..."), false, true);
|
||||
TInstall_ini ini;
|
||||
|
||||
TString tmp;
|
||||
@ -1785,7 +1810,7 @@ bool TCreadischi_mask::zip_file(const char* archive, const char* listfile) const
|
||||
TString msg;
|
||||
msg.format(TR("Creazione del file compresso %s..."), (const char*)archive);
|
||||
|
||||
TIndwin waitw(100,msg,FALSE,FALSE);
|
||||
TIndwin waitw(100,msg,false,false);
|
||||
TWait_cursor hourglass;
|
||||
|
||||
return aga_zip_filelist(listfile, archive);
|
||||
@ -1810,15 +1835,15 @@ bool TCreadischi_mask::move_file(const TFilename& file, const char* dir) const
|
||||
{
|
||||
msg << TR(":\nInserire un nuovo disco e ritentare?");
|
||||
if (!yesno_box(msg))
|
||||
return FALSE;
|
||||
return false;
|
||||
}
|
||||
else
|
||||
return error_box(msg);
|
||||
}
|
||||
}
|
||||
|
||||
bool write_ok = TRUE;
|
||||
bool user_abort = FALSE;
|
||||
bool write_ok = true;
|
||||
bool user_abort = false;
|
||||
do
|
||||
{
|
||||
write_ok = ::fcopy(file, dest);
|
||||
@ -1828,7 +1853,7 @@ bool TCreadischi_mask::move_file(const TFilename& file, const char* dir) const
|
||||
{
|
||||
if (!yesno_box(FR("Errore di copia del file %s.\nSi desidera riprovare?"),
|
||||
(const char*)file))
|
||||
user_abort = TRUE;
|
||||
user_abort = true;
|
||||
}
|
||||
} while (!write_ok && !user_abort);
|
||||
|
||||
@ -1854,7 +1879,7 @@ int TCreadischi_mask::split_file(const TFilename& archive, size_t chunk_size) co
|
||||
return 0;
|
||||
|
||||
TString msg; msg << TR("Separazione del file ") << archive << "...";
|
||||
TProgind pi(tot_size, msg, FALSE, TRUE);
|
||||
TProgind pi(tot_size, msg, false, true);
|
||||
|
||||
byte* buff = new byte[chunk_size];
|
||||
for (int d = 1; ; d++)
|
||||
@ -1892,7 +1917,7 @@ int TCreadischi_mask::split_file(const TFilename& archive, size_t chunk_size) co
|
||||
|
||||
long TFascicolator_mask::find_signature(const TFilename& filename, const char* signature) const
|
||||
{
|
||||
bool found = FALSE;
|
||||
bool found = false;
|
||||
long position = -1;
|
||||
int compare = 0;
|
||||
ifstream infile(filename, ios::in | ios::binary);
|
||||
@ -1905,7 +1930,7 @@ long TFascicolator_mask::find_signature(const TFilename& filename, const char* s
|
||||
compare++;
|
||||
if (signature[compare] == '\0')
|
||||
{
|
||||
found = TRUE;
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -1922,13 +1947,13 @@ long TFascicolator_mask::find_signature(const TFilename& filename, const char* s
|
||||
bool TCreadischi_mask::set_version_info(const TFilename& filename,
|
||||
TInstall_ini& ini, const char* module) const
|
||||
{
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool TFascicolator_mask::set_version_info(const TFilename& filename,
|
||||
TInstall_ini& ini, const char* module) const
|
||||
{
|
||||
bool ok = FALSE;
|
||||
bool ok = false;
|
||||
TString80 str = "Don't cry for me "; str << "Argentina.";
|
||||
long position = find_signature(filename, str);
|
||||
if (position > 0)
|
||||
@ -2107,7 +2132,7 @@ bool TCreadischi_mask::zip_module(const TString& main_module, bool agg, int patc
|
||||
::remove(sommario); //elimina il .ini
|
||||
::remove(sommario_txt); //elimina il .txt
|
||||
::remove(filelist); //elimina il file lista-file
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
zip_file(archivio, filelist); // Compatto gli eventuali ultimi rimasti
|
||||
@ -2118,13 +2143,13 @@ bool TCreadischi_mask::zip_module(const TString& main_module, bool agg, int patc
|
||||
|
||||
// Memorizza il numero dei dischetti nel sommario
|
||||
ini.set("Dischi", disks, main_module); // Aggiorna install.ini
|
||||
ini.export_paragraph(main_module, sommario,TRUE); // Aggiorna sommario
|
||||
ini.export_paragraph(main_module, sommario,true); // Aggiorna sommario
|
||||
|
||||
const char drive = toupper(path[0]);
|
||||
const bool floppy = xvt_fsys_is_removable_drive(path) != 0;
|
||||
|
||||
msg.format(TR("Creazione del file %s"), (const char*)archivio);
|
||||
TProgind pi(disks, msg, FALSE, TRUE);
|
||||
TProgind pi(disks, msg, false, true);
|
||||
for (int d = 1; d <= disks && !aborted; d++)
|
||||
{
|
||||
if (floppy)
|
||||
@ -2196,76 +2221,55 @@ TFascicolator_mask::TFascicolator_mask()
|
||||
m.set_handler(S_PATCHLEVEL, patchl_handler);
|
||||
m.show(S_IMPORT);
|
||||
m.set_handler(S_IMPORT, import_export_handler);
|
||||
s.enable(TRUE);
|
||||
s.enable_column(S_MODULE,TRUE);
|
||||
s.enable_column(S_VERSION,TRUE);
|
||||
s.enable_column(S_PATCHLEVEL,TRUE);
|
||||
s.enable_column(S_EXTERN,TRUE);
|
||||
s.enable_column(S_PREPROCESS,TRUE);
|
||||
s.enable_column(S_POSTPROCESS,TRUE);
|
||||
s.enable(true);
|
||||
s.enable_column(S_MODULE,true);
|
||||
s.enable_column(S_VERSION,true);
|
||||
s.enable_column(S_PATCHLEVEL,true);
|
||||
s.enable_column(S_EXTERN,true);
|
||||
s.enable_column(S_PREPROCESS,true);
|
||||
s.enable_column(S_POSTPROCESS,true);
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// Programma principale
|
||||
///////////////////////////////////////////////////////////
|
||||
void TFascicolator::main_loop()
|
||||
{
|
||||
_mask = new TFascicolator_mask;
|
||||
_mask->load();
|
||||
int key;
|
||||
do
|
||||
{
|
||||
key = _mask->run();
|
||||
if (key == K_ENTER)
|
||||
_mask->save();
|
||||
}
|
||||
while (key != K_ENTER && key != K_QUIT);
|
||||
delete _mask; _mask = NULL;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void TCreazione_dischi::main_loop()
|
||||
{
|
||||
TCreadischi_mask m;
|
||||
m.load();
|
||||
int key;
|
||||
do
|
||||
if (is_power_station())
|
||||
{
|
||||
key=m.run();
|
||||
if (key == K_ENTER)
|
||||
m.save();
|
||||
_mask = new TFascicolator_mask;
|
||||
_mask->load();
|
||||
int key;
|
||||
do
|
||||
{
|
||||
key = _mask->run();
|
||||
if (key == K_ENTER)
|
||||
_mask->save();
|
||||
}
|
||||
while (key != K_ENTER && key != K_QUIT);
|
||||
delete _mask; _mask = NULL;
|
||||
}
|
||||
while (key != K_ENTER && key != K_QUIT);
|
||||
}
|
||||
|
||||
// Cerca un file nell'array di colonne e ne restituisce il numero del sottomodulo
|
||||
// -1 se
|
||||
int find(const TString& name, TString_array & rows)
|
||||
{
|
||||
int r;
|
||||
for(r = rows.items()-1; r >=0 ; r-- )
|
||||
else
|
||||
{
|
||||
if (name.compare(rows.row(r).get(0), -1, TRUE) == 0)
|
||||
break;
|
||||
TCreadischi_mask m;
|
||||
m.load();
|
||||
int key = 0;
|
||||
while (key != K_ENTER && key != K_QUIT)
|
||||
{
|
||||
key=m.run();
|
||||
if (key == K_ENTER)
|
||||
m.save();
|
||||
}
|
||||
}
|
||||
return r;
|
||||
}
|
||||
|
||||
int ba1600(int argc, char* argv[])
|
||||
{
|
||||
if (user() == ::dongle().administrator())
|
||||
{
|
||||
if (argc>2 && strcmp(argv[1],"GODMODE"))
|
||||
{
|
||||
TFascicolator app;
|
||||
app.run(argc, argv, "Megascicolator");
|
||||
}
|
||||
else
|
||||
{
|
||||
TCreazione_dischi app;
|
||||
app.run(argc, argv, TR("Creazione dischetti"));
|
||||
}
|
||||
TCreazione_dischi app;
|
||||
app.run(argc, argv, TR("Creazione Patch"));
|
||||
}
|
||||
else
|
||||
error_box(FR("L'utente %s non e' abilitato all'esecuzione di questo programma"), (const char*)user());
|
||||
|
@ -1,20 +1,17 @@
|
||||
#include "ba1600a.h"
|
||||
|
||||
TOOLBAR "" 0 -2 0 2
|
||||
TOOLBAR "" 0 0 0 2
|
||||
|
||||
BUTTON DLG_OK 10 2
|
||||
BUTTON DLG_OK 2 2
|
||||
BEGIN
|
||||
PROMPT -12 -11 ""
|
||||
PROMPT 1 1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 10 2
|
||||
BEGIN
|
||||
PROMPT -22 -11 ""
|
||||
END
|
||||
#include <helpbar.h>
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Generazione dischetti" -1 -1 78 20
|
||||
PAGE "Creazione Patch" 0 2 0 0
|
||||
|
||||
GROUPBOX DLG_NULL 78 3
|
||||
BEGIN
|
||||
|
@ -202,7 +202,7 @@ bool TInstaller_mask::add_module(TConfig& ini, const TString& module, bool patch
|
||||
row.add(strpatch);
|
||||
row.add(ini.get("Data"));
|
||||
row.add(patch ? "X" : " ", C_ISPATCH);
|
||||
if (pos==-1)
|
||||
if (pos < 0)
|
||||
add(row);
|
||||
else
|
||||
insert(row,pos);
|
||||
@ -334,14 +334,15 @@ void TInstaller_mask::update_version()
|
||||
{
|
||||
if (*row->get(C_CODE) != ' ')
|
||||
{
|
||||
const TString16 module = row->get(C_CODE);
|
||||
const TString4 module = row->get(C_CODE);
|
||||
ini.set_paragraph(module);
|
||||
|
||||
const TString16 newver = row->get(C_RELEASE);
|
||||
const TString16 oldver = ini.get("Versione");
|
||||
const int numpatch = ini.get_int("Patch");
|
||||
TString16 strpatch;
|
||||
if (numpatch > 0) strpatch.format("%04d", numpatch);
|
||||
TString4 strpatch;
|
||||
if (numpatch > 0)
|
||||
strpatch.format("%04d", numpatch);
|
||||
row->add(oldver, C_CURRRELEASE);
|
||||
row->add(strpatch, C_CURRPATCH);
|
||||
row->add(ini.get("Data"), C_CURRDATAREL);
|
||||
@ -518,7 +519,7 @@ bool TInstaller_mask::autoload()
|
||||
ininame.lower();
|
||||
const int pos = ininame.find("a.ini");
|
||||
CHECKS(pos >= 6, TR("Configurazione di installazione non valida: "), (const char*)ininame);
|
||||
const TString16 module = ininame.mid(pos-6, 2);
|
||||
const TString4 module = ininame.mid(pos-6, 2);
|
||||
TConfig ini(ininame, module);
|
||||
ini.write_protect();
|
||||
int r;
|
||||
@ -534,13 +535,14 @@ bool TInstaller_mask::autoload()
|
||||
if (patchversion.mid(4) == release.mid(4) // se le versioni corrispondono ...
|
||||
&& patchlevel > row.get_int(C_PATCH)) // ..e il patchlevel è superiore
|
||||
{
|
||||
TString16 patch; patch.format("%04d", patchlevel); //aggiunge zeri per avere 3 cifre sempre
|
||||
if (*row.get(C_ISPATCH)<=' ') // se era un modulo ...
|
||||
TString4 patch; patch.format("%04d", patchlevel); //aggiunge zeri per avere 3 cifre sempre
|
||||
row.add(patch, C_PATCH); // aggiorna il patchlevel mostrato per il modulo
|
||||
row.add(ini.get("Data"), C_DATAREL); // aggiorna data di rilascio
|
||||
if (row.get_char(C_ISPATCH)<=' ') // se era un modulo ...
|
||||
{
|
||||
row.add("+", C_ISPATCH); // .....setta la presenza di patches
|
||||
row.add(row.get(C_PATCH), C_BASEPATCH); // memorizza patch del modulo
|
||||
}
|
||||
row.add(patch, C_PATCH); // aggiorna il patchlevel mostrato per il modulo
|
||||
if (release < patchversion)
|
||||
row.add(patchversion, C_RELEASE);
|
||||
}
|
||||
@ -1036,7 +1038,7 @@ bool TInstaller_mask::install(const TString& module, int patchlevel)
|
||||
chunk.add(module);
|
||||
if (patchlevel > 0)
|
||||
{
|
||||
TString16 name;
|
||||
TString8 name;
|
||||
name.format("%04da", patchlevel);
|
||||
chunk << name;
|
||||
}
|
||||
@ -1400,14 +1402,15 @@ void TInstaller_mask::install_selection()
|
||||
}
|
||||
|
||||
const TString4 modulo = row->get(C_CODE);
|
||||
const TString modesc = dongle().module_name2desc(modulo);
|
||||
const int newpatch = row->get_int(C_PATCH);
|
||||
const TString oldver = row->get(C_CURRRELEASE);
|
||||
const int oldpatch = row->get_int(C_CURRPATCH);
|
||||
|
||||
pi.set_text(format(FR("Installazione modulo '%s'"), (const char*)modulo));
|
||||
if (version2year(newver) < 2006)
|
||||
pi.set_text(format(FR("Installazione modulo '%s'"), (const char*)modesc));
|
||||
if (version2year(newver) < 2008)
|
||||
{
|
||||
error_box(FR("Il modulo '%s' non ha una versione valida."), (const char*)modulo);
|
||||
error_box(FR("Il modulo '%s' non ha una versione valida."), (const char*)modesc);
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -1418,13 +1421,13 @@ void TInstaller_mask::install_selection()
|
||||
|
||||
//versione e patch coincidono
|
||||
if (cmp == 0)
|
||||
ok = noyes_box(FR("Si desidera reinstallare la versione %s.%d del modulo '%s' ?"), (const char*)newver, newpatch, (const char*)modulo);
|
||||
ok = noyes_box(FR("Si desidera reinstallare la versione %s.%d del modulo '%s' ?"), (const char*)newver, newpatch, (const char*)modesc);
|
||||
|
||||
//ci sono ANCHE i pacchi
|
||||
if (!is_patch && cmp > 0)
|
||||
{
|
||||
TString256 msg;
|
||||
msg.format(FR("Si desidera ritornare alla versione %s.%d del modulo '%s' ?\nAttenzione: non e' garantito il corretto\nfunzionamento di tutti i programmi!"), (const char*)newver, newpatch, (const char*)modulo);
|
||||
msg.format(FR("Si desidera ritornare alla versione %s.%d del modulo '%s' ?\nAttenzione: non e' garantito il corretto\nfunzionamento di tutti i programmi!"), (const char*)newver, newpatch, (const char*)modesc);
|
||||
ok = noyes_box(msg);
|
||||
}
|
||||
|
||||
@ -1440,7 +1443,7 @@ void TInstaller_mask::install_selection()
|
||||
if (newpatch < oldpatch)
|
||||
{
|
||||
TString256 msg;
|
||||
msg.format(FR("Si desidera ritornare alla patch %s.%d del modulo '%s' ?\nAttenzione: non e' garantito il corretto\nfunzionamento di tutti i programmi!"), (const char*)newver, newpatch, (const char*)modulo);
|
||||
msg.format(FR("Si desidera ritornare alla patch %s.%d del modulo '%s' ?\nAttenzione: non e' garantito il corretto\nfunzionamento di tutti i programmi!"), (const char*)newver, newpatch, (const char*)modesc);
|
||||
ok = noyes_box(msg);
|
||||
}
|
||||
} //if(ok&&is_patch...
|
||||
@ -1455,7 +1458,7 @@ void TInstaller_mask::install_selection()
|
||||
if (oldpatch >= basepatch)
|
||||
is_patch = !noyes_box(FR("Si desidera reinstallare l'intero modulo '%s'?"
|
||||
"\nRispondendo NO verranno installate le sole patch"),
|
||||
(const char *)modulo);
|
||||
(const char *)modesc);
|
||||
else
|
||||
is_patch = false; // Quando la versione installata precede la patch base devo reinstallare il modulo!
|
||||
}
|
||||
@ -1550,7 +1553,7 @@ void TInstaller_mask::install_selection()
|
||||
{
|
||||
ok = install_patches(modulo, oldver, oldpatch, false) ; // installa l'ultima patch
|
||||
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 *)modesc);
|
||||
}
|
||||
else //..installa anche il pacco del modulo
|
||||
{
|
||||
@ -1629,7 +1632,7 @@ TInstaller_mask::TInstaller_mask()
|
||||
add_button(F_INSTALL, TR("Installa"), '\0', TOOL_ELABORA); // NON mettere 'I'
|
||||
add_button(F_UPDATE, TR("Rileggi"), '\0', TOOL_CONVERT);
|
||||
add_button(DLG_NULL, "", '\0');
|
||||
add_button(DLG_INFO, TR("Informazioni"), K_F2, TOOL_INFO);
|
||||
add_button(DLG_INFO, TR("Info"), K_F2, TOOL_INFO);
|
||||
add_button(DLG_HELP, TR("Help"), K_F1, TOOL_HELP);
|
||||
xvt_toolbar_set_last_tool(toolbar(), DLG_QUIT);
|
||||
|
||||
@ -1642,12 +1645,12 @@ TInstaller_mask::TInstaller_mask()
|
||||
//..non puo' fare aggiornamenti da web!!!)
|
||||
TToken_string installada;
|
||||
installada.add(TR("Installa da disco"));
|
||||
installada.add(TR("Installa da internet"));
|
||||
installada.add(TR("Installa da web "));
|
||||
TRadio_field& rf = add_radio(F_TYPE, 0, "", 1, 0, 21, "0|1", installada);
|
||||
*rf.message(0, true) = "DISABLE,207|ENABLE,201";
|
||||
*rf.message(1, true) = "DISABLE,201|ENABLE,207";
|
||||
add_string(F_PATH, 0, "", 22, 1, 256, "B", 58).set_selector('D', EMPTY_STRING);
|
||||
add_string(F_WEB, 0, "", 22, 2, 256, "", 58);
|
||||
add_string(F_PATH, 0, "", 23, 1, 256, "B", 56).set_selector('D', EMPTY_STRING);
|
||||
add_string(F_WEB, 0, "", 23, 2, 256, "", 56);
|
||||
set(F_TYPE, "0", 0x1);
|
||||
|
||||
//un client non puo' scegliere a caso da dove aggiornarsi!Solo dal suo server!
|
||||
|
31
ba/ba3.cpp
31
ba/ba3.cpp
@ -6,27 +6,16 @@ int main(int argc, char** argv)
|
||||
const int r = (argc > 1) ? argv[1][1] - '0' : 0;
|
||||
switch (r)
|
||||
{
|
||||
case 1:
|
||||
ba3200(argc,argv); break;
|
||||
case 2:
|
||||
ba3300(argc,argv); break;
|
||||
case 3:
|
||||
ba3400(argc,argv); break;
|
||||
case 4:
|
||||
ba3500(argc,argv); break;
|
||||
case 5:
|
||||
ba3600(argc,argv); break;
|
||||
case 6:
|
||||
ba3700(argc,argv); break;
|
||||
case 7:
|
||||
ba3800(argc,argv); break;
|
||||
case 8:
|
||||
ba3900(argc,argv); break;
|
||||
case 9:
|
||||
ba3a00(argc,argv); break;
|
||||
default:
|
||||
ba3100(argc,argv); break;
|
||||
case 1: ba3200(argc,argv); break;
|
||||
case 2: ba3300(argc,argv); break;
|
||||
case 3: ba3400(argc,argv); break;
|
||||
case 4: ba3500(argc,argv); break;
|
||||
case 5: ba3600(argc,argv); break;
|
||||
case 6: ba3700(argc,argv); break;
|
||||
case 7: ba3800(argc,argv); break;
|
||||
case 8: ba3900(argc,argv); break;
|
||||
case 9: ba3a00(argc,argv); break;
|
||||
default: ba3100(argc,argv); break;
|
||||
}
|
||||
exit(0);
|
||||
return 0;
|
||||
}
|
||||
|
@ -1,7 +1,8 @@
|
||||
#include "ba4300.h"
|
||||
|
||||
TOOLBAR "" 0 0 0 2
|
||||
#include <relapbar.h>
|
||||
|
||||
#include <filebar.h>
|
||||
|
||||
BUTTON DLG_NULL 2 2
|
||||
BEGIN
|
||||
@ -15,6 +16,8 @@ BEGIN
|
||||
PICTURE BMP_EMAIL
|
||||
END
|
||||
|
||||
#include <cancelbar.h>
|
||||
|
||||
ENDPAGE
|
||||
|
||||
|
||||
@ -225,27 +228,27 @@ BEGIN
|
||||
FLAGS "DU"
|
||||
END
|
||||
|
||||
BUTTON DLG_ATT 10 1
|
||||
BUTTON DLG_ATT 10 2
|
||||
BEGIN
|
||||
PROMPT -14 19 "~Attivita'"
|
||||
PROMPT -14 -1 "~Attivita'"
|
||||
MESSAGE K_F6
|
||||
END
|
||||
|
||||
BUTTON DLG_ULC 10 1
|
||||
BUTTON DLG_ULC 10 2
|
||||
BEGIN
|
||||
PROMPT -24 19 "U.~Locali"
|
||||
PROMPT -24 -1 "U.~Locali"
|
||||
MESSAGE K_F5
|
||||
END
|
||||
|
||||
BUTTON DLG_SOC 10 1
|
||||
BUTTON DLG_SOC 10 2
|
||||
BEGIN
|
||||
PROMPT -34 19 "~Soci"
|
||||
PROMPT -34 -1 "~Soci"
|
||||
MESSAGE K_F7
|
||||
END
|
||||
|
||||
BUTTON DLG_REG 10 1
|
||||
BUTTON DLG_REG 10 2
|
||||
BEGIN
|
||||
PROMPT -44 19 "Re~gistri"
|
||||
PROMPT -44 -1 "Re~gistri"
|
||||
MESSAGE K_F8
|
||||
END
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user