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;
if (ENTER_AS_TAB)
{
const 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)))
{
dispatch_e_char(parent(), k == K_ENTER ? K_TAB : K_BTAB);
refused = TRUE;
}
int next_col = find_enabled_column(_cur_rec, _cur_col+dir, dir);
while (next_col > 0 && col2field(next_col)->is_kind_of(CLASS_BOOLEAN_FIELD))
next_col = find_enabled_column(_cur_rec, next_col+dir, dir);
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)
{
const int next_rec = find_enabled_record(_cur_rec, dir);
if (next_rec >= 0)
{
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;
}
if (_auto_append && k == K_ENTER && _cur_row == items() - 1)
{
dispatch_e_char(parent(), K_DOWN);
refused = true;
}
else
{
const int next_rec = find_enabled_record(_cur_rec, dir);
if (next_rec >= 0)
{
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;

View File

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