diff --git a/src/fp/fp0400.cpp b/src/fp/fp0400.cpp index d3f615342..a2769740d 100644 --- a/src/fp/fp0400.cpp +++ b/src/fp/fp0400.cpp @@ -82,6 +82,8 @@ protected: static bool causfa_handler(TMask_field& f, KEY k); void fattsel(int dlg, TField_event& e); + // Non permette la selezione multipla delle righe + void sel(); bool on_field_event(TOperable_field& o, TField_event e, long jolly) override; void check_buttons(int p); void next_page(int p) override; @@ -1031,21 +1033,33 @@ void TPassive_mask::fattsel(const int dlg, TField_event& e) field(F_DATAENDREG).enable(get_bool(F_CONTABIL)); } +void TPassive_mask::sel() +{ + TSheet_field& sf = sfield(F_DOCS); + FOR_EACH_SHEET_ROW(sf, nr, row) + { + if (*row->get(0) == 'X') { + row->add("", 0); + break; + } + } + sf.force_update(); +} + bool TPassive_mask::on_field_event(TOperable_field& o, TField_event e, long jolly) { switch (o.dlg()) { case S_SELCODPROT: - if(e == fe_modify) + if (e == fe_modify) { set_filter_changed(); + sel(); + } break; case F_PROT: if(e == fe_init) init(); break; - case F_DOCS: - if (e == se_query_modify) - break; case DLG_USER: if (e == fe_button && jolly > 0 && get_fattsel() == FILTER_CONT) { @@ -1222,9 +1236,7 @@ void TPassive_app::main_loop() TPassive_mask mask(check_f1()); load_mask(mask); mask.first_focus(F_DATAINI); - while(mask.run() == K_ENTER) - { - } + while (mask.run() == K_ENTER) {} save_field(mask); }