diff --git a/ci/ci0400.cpp b/ci/ci0400.cpp index 0169a455f..877700181 100755 --- a/ci/ci0400.cpp +++ b/ci/ci0400.cpp @@ -85,6 +85,7 @@ void TImmissioneDocumenti_app::init_tabs() _filters.add(currfilter); _mask->activate_almanac(id + i, i, TDate(TODAY)); } + _mask->disable_pages(); } void TImmissioneDocumenti_app::init_flags() diff --git a/ci/cilib.cpp b/ci/cilib.cpp index 7fab4251a..69b58354a 100755 --- a/ci/cilib.cpp +++ b/ci/cilib.cpp @@ -73,15 +73,9 @@ void TAlmanac_mask::activate_almanac(const short id, int page, TDate& sdate) { _almanacs[page] = id2pos(id); almanac(page).set_selected_date(sdate); + set(F_CHANGEMONTH, sdate.month()); if (page>_activepages) - { _activepages = page; - if (page > 0) - { - enable_page(page); - disable_page(page+1); - } - } } void TAlmanac_mask::set_year(int newyear) @@ -102,7 +96,7 @@ void TAlmanac_mask::activate_almanac(const short id, int page, TDate& sdate) } TAlmanac_mask::TAlmanac_mask(const char * name) - :TAutomask() + : TAutomask(), _activepages(0) { read_mask(name, 0, -1); set_handlers(); diff --git a/ci/cilib.h b/ci/cilib.h index a12be1208..448ce4a85 100755 --- a/ci/cilib.h +++ b/ci/cilib.h @@ -62,7 +62,7 @@ public: // @cmember Gestione del giorno correntemente selezionato: setta l'anno selezionato al valore specificato void set_selected_year(int nyear); // @cmember Gestione del giorno correntemente selezionato: setta il giorno selezionato - void set_selected_date(TDate& sdate) { _selecteddate.set_day(sdate.day()); _selecteddate.set_month(sdate.month()); _selecteddate.set_year(sdate.year()); } + void set_selected_date(TDate& sdate) { _selecteddate = sdate; } // @access Public Member public: @@ -153,6 +153,8 @@ public: virtual TMask_field* parse_field(TScanner& scanner); // @cmember Gestione calendari: Attiva l'almanacco sulla pagina specificata per la data specificata void activate_almanac(short id, int page, TDate& sdate); + // @cmember Gestione calendari: disanilta le pagine non attive + void disable_pages() { disable_page(_activepages + 1); } // @cmember Gestione calendari: Cambia l'anno su tutti i calendari void set_year(int newyear); // @cmember Gestione calendari: Ritorna il giorno selezionato nella pagina corrente