#include #include #include #include #include #include #include #include #include "../mg/anamag.h" #include "ps0430200a.h" /////////////////////////////////////////////////////////// // TUser_mask maschera /////////////////////////////////////////////////////////// class TUser_mask : public TAutomask { public: virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly); TUser_mask() : TAutomask("ps0430200a") {} ~TUser_mask() {} }; bool TUser_mask::on_field_event(TOperable_field& o, TField_event e, long jolly) { switch (o.dlg()) { case F_USER: if (e == fe_modify) { const TString& new_user = o.get(); const TString16 old_user = user(); user() = new_user; const char* defpar = "or"; TConfig userconf(CONFIG_USER, defpar); for (int i = o.mask().fields()-1; i >= 0; i--) { TMask_field& f = o.mask().fld(i); const TFieldref* fr = f.field(); if (fr != NULL) f.set(fr->read(userconf, defpar)); } user() = old_user; } break; default: break; } return true; } class TUser_set_app : public TSkeleton_application { public: virtual const char * extra_modules() const {return "ba";} virtual void main_loop(); TUser_set_app() {} virtual ~TUser_set_app() {} }; void TUser_set_app::main_loop() { TUser_mask mask; while (mask.run() == K_ENTER) { const TString& new_user = mask.get(F_USER); const TString16 old_user = user(); user() = new_user; const char* defpar = "or"; TConfig userconf(CONFIG_USER, defpar); for (int i = mask.fields()-1; i >= 0; i--) { TMask_field& f = mask.fld(i); const TFieldref* fr = f.field(); if (fr != NULL) fr->write(userconf, defpar, f.get()); } user() = old_user; mask.reset(); } } int ps0430200(int argc, char* argv[]) { TUser_set_app a; a.run(argc, argv, TR("Configurazione campi per utente")); return 0; }