diff --git a/include/maskfld.cpp b/include/maskfld.cpp index e5516aa32..602bbeea3 100755 --- a/include/maskfld.cpp +++ b/include/maskfld.cpp @@ -1,4 +1,4 @@ -// $Id: maskfld.cpp,v 1.80 1995-02-15 08:53:41 guy Exp $ +// $Id: maskfld.cpp,v 1.81 1995-02-17 09:16:51 villa Exp $ #include <xvt.h> #include <applicat.h> @@ -2592,9 +2592,7 @@ bool TReal_field::on_key(KEY key) if (_flags.firm) { const long f = atol(n); - if (!prefhndl->exist(f)) - return error_box("Ditta non utilizzabile in contabilita'"); - else + if (prefhndl->exist(f)) main_app().set_firm(f); } } diff --git a/include/printapp.cpp b/include/printapp.cpp index d49175b3f..c1fa3b9cc 100755 --- a/include/printapp.cpp +++ b/include/printapp.cpp @@ -1,4 +1,4 @@ -// $Id: printapp.cpp,v 1.16 1994-12-02 10:48:30 villa Exp $ +// $Id: printapp.cpp,v 1.17 1995-02-17 09:16:57 villa Exp $ #include <ctype.h> #include <stdarg.h> @@ -781,11 +781,13 @@ void TPrint_application::set_translation (int lognum, const char *field, void TPrint_application::print() { + _cancelled = FALSE; + // open printer if needed if (!(printer().isopen ())) if (!printer().open ()) - return; - + return; + // only external apps can change it _repeat_print = FALSE; int ncopies = printer().n_copies(); @@ -855,7 +857,8 @@ void TPrint_application::print() printer().resetheader(); printer().resetfooter(); } - postclose_print (); + postclose_print (); + return; } bool TPrint_application::print_tree (link_item * head) @@ -910,7 +913,7 @@ bool TPrint_application::print_one (int file) int i = 0; if ((_prind && _prind->iscancelled ()) || printer ().frozen ()) - return FALSE; + if (_cancelled = cancel_hook()) return FALSE; if (!_print_defined) return TRUE; diff --git a/include/printapp.h b/include/printapp.h index 9be6a32c0..240223b40 100755 --- a/include/printapp.h +++ b/include/printapp.h @@ -74,7 +74,8 @@ class TPrint_application : public TApplication MENU_TAG _last_choice; int _ncopies; bool _repeat_print; - + bool _cancelled; + // set the printer void set_printer() { printer().set(); } // print a single record; does not advance cursor @@ -467,10 +468,13 @@ public: void merge_export_file(const char* file, bool header = TRUE, bool direct = FALSE); - void set_n_copies(int n) { _ncopies = n; } - int get_n_copies() { return _ncopies; } + void set_n_copies(int n) { _ncopies = n; } + int get_n_copies() const { return _ncopies; } void repeat_print() { _repeat_print = TRUE; } + bool is_cancelled() const { return _cancelled; } + + TPrint_application(); virtual ~TPrint_application(); };