Patch level : 10.0 186

Files correlati     :  cg0.exe lv0.exe
Ricompilazione Demo : [ ]
Commento            :

Bug  0001007: Numerazione automatica contratti

Aggiungere un pulsante di collegamento ai contratti (visibile e attivabile solo se gestito e attivo il modulo delle lavanderie)

lv0.exe
Navigazione con invio.

Ora la navigazione con invio cambia riga e sull'ultima ne aggiunge una nuova


git-svn-id: svn://10.65.10.50/trunk@17831 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2008-12-09 11:53:05 +00:00
parent 1734194597
commit cb8c71410e
2 changed files with 45 additions and 21 deletions

View File

@ -1733,27 +1733,39 @@ bool TSpreadsheet::event_handler(XI_OBJ* itf, XI_EVENT *xiev)
const int dir = k == K_ENTER ? +1 : -1; const int dir = k == K_ENTER ? +1 : -1;
if (ENTER_AS_TAB) if (ENTER_AS_TAB)
{ {
const int next_col = find_enabled_column(_cur_rec, _cur_col+dir, dir); int next_col = find_enabled_column(_cur_rec, _cur_col+dir, dir);
if (next_col != 0 && next_col != _cur_col && ((next_col>_cur_col)^(dir < 0)))
{ while (next_col > 0 && col2field(next_col)->is_kind_of(CLASS_BOOLEAN_FIELD))
dispatch_e_char(parent(), k == K_ENTER ? K_TAB : K_BTAB); next_col = find_enabled_column(_cur_rec, next_col+dir, dir);
refused = TRUE; if (next_col != 0 && next_col != _cur_col && ((next_col>_cur_col)^(dir < 0)))
} {
dispatch_e_char(parent(), k == K_ENTER ? K_TAB : K_BTAB);
refused = true;
}
} }
if (!refused) if (!refused)
{ {
const int next_rec = find_enabled_record(_cur_rec, dir); if (_auto_append && k == K_ENTER && _cur_row == items() - 1)
if (next_rec >= 0) {
{ dispatch_e_char(parent(), K_DOWN);
dispatch_e_char(parent(), K_TAB); refused = true;
dispatch_e_char(parent(), k == K_ENTER ? K_DOWN : K_UP); }
refused = TRUE; else
} {
else const int next_rec = find_enabled_record(_cur_rec, dir);
{
dispatch_e_char(parent(), k == K_ENTER ? K_F3 : K_F4); if (next_rec >= 0)
refused = TRUE; {
} dispatch_e_char(parent(), K_TAB);
dispatch_e_char(parent(), k == K_ENTER ? K_DOWN : K_UP);
refused = true;
}
else
{
dispatch_e_char(parent(), k == K_ENTER ? K_F3 : K_F4);
refused = true;
}
}
} }
} }
break; break;

View File

@ -1347,7 +1347,7 @@ void TRelation_application::main_loop()
case K_ESC: case K_ESC:
if (save(TRUE)) if (save(TRUE))
query_mode(); query_mode();
if (_lnflag) if ((_autoins_caller.full() || is_transaction()) && _curr_trans_mode != TM_REMAIN)
k = K_QUIT; k = K_QUIT;
break; break;
case K_QUIT: case K_QUIT:
@ -1769,9 +1769,9 @@ bool TRelation_application::load_transaction()
error_box(FR("La ditta %ld non esiste"), firm); error_box(FR("La ditta %ld non esiste"), firm);
} }
if (_curr_transaction == TRANSACTION_RUN) if (_curr_transaction == TRANSACTION_RUN)
retv= FALSE; // Ho gia' finito qui: basta il cambio ditta retv = false; // Ho gia' finito qui: basta il cambio ditta
else else
retv = TRUE; // Attiva automagia retv = true; // Attiva automagia
} }
return retv; return retv;
} }
@ -1808,6 +1808,9 @@ void TRelation_application::ini2insert_mask()
void TRelation_application::ini2mask(TConfig& ini, TMask& m, bool query) void TRelation_application::ini2mask(TConfig& ini, TMask& m, bool query)
{ {
const TString16 defpar = ini.get_paragraph(); const TString16 defpar = ini.get_paragraph();
TString tmp;
_fixed.cut(0);
for (int f = m.fields()-1; f >= 0; f--) for (int f = m.fields()-1; f >= 0; f--)
{ {
TMask_field& campo = m.fld(f); TMask_field& campo = m.fld(f);
@ -1818,7 +1821,14 @@ void TRelation_application::ini2mask(TConfig& ini, TMask& m, bool query)
{ {
const TString& str = fref->read(ini, defpar); const TString& str = fref->read(ini, defpar);
if (str.not_empty()) if (str.not_empty())
{
campo.set(str); campo.set(str);
if (query)
{
tmp.format("%d=%s", campo.dlg(), (const char *) str);
_fixed.add(tmp);
}
}
} }
} }
else else
@ -1831,6 +1841,8 @@ void TRelation_application::ini2mask(TConfig& ini, TMask& m, bool query)
} }
} }
ini.set_paragraph(defpar); ini.set_paragraph(defpar);
if (query)
set_fixed();
} }
void TRelation_application::edit_mask2ini() void TRelation_application::edit_mask2ini()