Aggiunto controllo di abilitazione dei moduli corrispondenti ad

ogni singola voce di menu inferendolo dalle prime due lettere


git-svn-id: svn://10.65.10.50/trunk@5647 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1997-11-20 08:12:36 +00:00
parent 1ea0f9dc35
commit 620354eed9

View File

@ -1368,7 +1368,7 @@ bool TMenu_application::choose_colors()
TColor_mask * cm = new TColor_mask();
if (cm->run() == K_ENTER)
{
cm->save_colors(); // Aggiorna config
cm->save_colors(); // Aggiorna config
customize_colors(); // Aggiorna set di colori
reload_images(); // Aggiorna bitmaps del menu
@ -1387,7 +1387,9 @@ bool TMenu_application::choose_colors()
}
HIDDEN bool browse_file_handler(TMask_field& f, KEY k)
{
{
bool ok = TRUE;
if (k == K_F9)
{
FILE_SPEC fs; memset(&fs, 0, sizeof(FILE_SPEC));
@ -1395,19 +1397,34 @@ HIDDEN bool browse_file_handler(TMask_field& f, KEY k)
strcpy(fs.type, "EXE");
strcpy(fs.name, f.get());
strcpy(fs.creator, "ba0");
xvt_fsys_save_dir();
if (xvt_dm_post_file_open(&fs, "Selezione programma") == FL_OK)
DIRECTORY dir;
xvt_fsys_get_dir(&dir);
const int err = xvt_dm_post_file_open(&fs, "Selezione programma");
xvt_fsys_set_dir(&dir);
if (err == FL_OK)
{
TFilename n;
xvt_fsys_convert_dir_to_str(&fs.dir, n.get_buffer(n.size()), n.size());
xvt_fsys_convert_dir_to_str(&fs.dir, n.get_buffer(), n.size());
n.add(fs.name);
f.set(n);
xvt_fsys_restore_dir();
}
}
return TRUE;
if (k == K_TAB && f.focusdirty())
{
TFilename infile(f.get());
if (infile.not_empty())
{
TFilename outfile;
if (*infile.ext() == '\0')
infile.ext("exe");
if (!infile.search_in_path(outfile))
ok = error_box("Il programma %s non esiste!", (const char*)infile);
}
}
return ok;
}
HIDDEN bool link_notify(TSheet_field& s, int r, KEY k)
@ -1435,29 +1452,25 @@ bool TMenu_application::choose_editors()
sm.set_handler(102, browse_file_handler);
TAssoc_array& var = (TAssoc_array&)link.list_variables();
var.restart();
for (THash_object* hobj = var.get_hashobj(); hobj; hobj = var.get_hashobj())
FOR_EACH_ASSOC_STRING(var, obj, key, str)
{
TToken_string& row = sheet.row(-1);
row = hobj->key();
row = key;
row.lower();
if (row.compare("txt", -1, TRUE) == 0)
sheet.disable_cell(sheet.items()-1, 0);
row.add((TString&)hobj->obj());
row.add(str);
}
sheet.rows_array().sort();
if (m.run() == K_ENTER)
{
link.remove_all();
for (int r = sheet.items()-1; r >= 0; r--)
FOR_EACH_SHEET_ROW_BACK(sheet, r, row)
{
TToken_string& row = sheet.row(r);
TString16 ext = row.get(0);
TString16 ext = row->get(0);
if (!ext.blank())
{
ext.lower();
TFilename prg = row.get();
TFilename prg = row->get();
link.set(ext, prg);
}
}