From 5455fa8b23076bc7052c188e9a1a1d60886e9d33 Mon Sep 17 00:00:00 2001 From: alex Date: Fri, 20 Mar 2009 01:13:51 +0000 Subject: [PATCH] Patch level : 10.0 264 Files correlati : ve0.exe ve1.exe Ricompilazione Demo : [ ] Commento : Aggiunto supporto per firma digitale git-svn-id: svn://10.65.10.50/trunk@18575 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ve/ve0100.cpp | 7 ++++++- ve/ve1100.cpp | 26 +++++++++++++++++++++++++- ve/ve1300.cpp | 1 + 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/ve/ve0100.cpp b/ve/ve0100.cpp index 7adda21e1..5b4dc72ba 100755 --- a/ve/ve0100.cpp +++ b/ve/ve0100.cpp @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -946,7 +947,11 @@ void TMotore_application::print() commandline = "ve1 -0"; // Esiste il vecchio form :-( commandline << ' ' << doc.get(DOC_CODNUM) << ' ' << doc.get(DOC_ANNO) << ' '; - commandline << doc.get(DOC_PROVV) << ' ' << doc.get(DOC_NDOC) << ' ' << 'S'; // Stampa (NON anteprima) + commandline << doc.get(DOC_PROVV) << ' ' << doc.get(DOC_NDOC) << ' '; + if (printer().printtype() == screenvis) + commandline << 'A'; + else + commandline << 'S'; commandline << ' ' << (da_stampare ? 'D' : 'P'); const int ncopie = tipo.ncopie(); diff --git a/ve/ve1100.cpp b/ve/ve1100.cpp index 6fd8ece46..f65623f45 100755 --- a/ve/ve1100.cpp +++ b/ve/ve1100.cpp @@ -6,6 +6,7 @@ #include #include +#include #include #include #include @@ -1249,6 +1250,8 @@ class TStampaDoc_application: public TSkeleton_application TCursor_sheet* _clifo_sheet; // Array sheet per la selezione cli/fo TAssoc_array _clifo_sel; // Assoc array con solo i cli/fo selezionati. Facilita il filtro... + enum TOutput_mode {out_preview, out_print, out_mail, out_signed_mail, out_pdf, out_signed_pdf}; + protected: virtual bool create(); virtual bool destroy(); @@ -1272,6 +1275,7 @@ protected: void set_choice_limits(TMask& m); void build_clifo_list(const char c='C'); int numerazione_definitiva(TDocumento& doc) const; + TOutput_mode key2mode(KEY k) const; public: void print_documento(TDocumento_form& frm); @@ -1935,6 +1939,26 @@ bool TStampaDoc_application::filter_clifo(const TRelation* r) // Funzioni rimanenti //////////////////////////////////////////////////////////////// +TStampaDoc_application::TOutput_mode TStampaDoc_application::key2mode(KEY k) const +{ + TOutput_mode mode = out_print; + + if (k >= 'a' && !has_module(FDAUT)) + k -= ' '; // toupper dei poveri + + switch (k) + { + case 'A': mode = out_preview; break; + case 'E': mode = out_mail; break; + case 'e': mode = out_signed_mail; break; + case 'P': mode = out_pdf; break; + case 'p': mode = out_signed_pdf; break; + case 'S': + default : mode = out_print; break; + } + return mode; +} + bool TStampaDoc_application::create() { _firmrel= new TRelation(LF_NDITTE); // istanziamento e impostazione della relazione di gestione della ditta corrente @@ -1983,7 +2007,7 @@ bool TStampaDoc_application::create() _interattivo= false; if (argc > 6) { - const char print_mode = *argv(6); // il quinto è la modalita' di stampa o pdf (NON gestito qui) + TOutput_mode o = key2mode(argv(6)[0]); // il quinto è la modalita' di stampa o pdf (NON gestito qui) if (argc > 7) { _definitiva= *argv(7) == 'D'; // il sesto è se la stampa è definitiva (rinumerazione dei documenti) diff --git a/ve/ve1300.cpp b/ve/ve1300.cpp index f2df86081..3844f8be9 100755 --- a/ve/ve1300.cpp +++ b/ve/ve1300.cpp @@ -1157,6 +1157,7 @@ TReport_doc_app::TOutput_mode TReport_doc_app::key2mode(KEY k) const case 'e': mode = out_signed_mail; break; case 'P': mode = out_pdf; break; case 'p': mode = out_signed_pdf; break; + case 'S': default : mode = out_print; break; } return mode;