From a4626341edcabdf32985270d28bb40aea3ce9314 Mon Sep 17 00:00:00 2001 From: guy Date: Mon, 3 Jul 1995 08:11:45 +0000 Subject: [PATCH] Corretta gestione parametri di studio MOdificata gestione configurazioni di stampa multiple in modo da ignorare il tipo stampa se si stampa a video git-svn-id: svn://10.65.10.50/trunk@1537 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- include/config.cpp | 2 +- include/printer.cpp | 93 ++++++++++++++++++++++++--------------------- include/printer.h | 4 +- 3 files changed, 53 insertions(+), 46 deletions(-) diff --git a/include/config.cpp b/include/config.cpp index eb019ea81..a25caf171 100755 --- a/include/config.cpp +++ b/include/config.cpp @@ -460,7 +460,7 @@ TConfig::TConfig(int which_config, const char* paragraph) switch (which_config) { case CONFIG_STUDIO: - _file.add("prassis.ini"); // TBC ferdinando 29/6/95; mancava estensione + _file.add("prassis.ini"); if (!fexist(_file)) fcopy("prassis.ini", _file); break; case CONFIG_STAMPE: diff --git a/include/printer.cpp b/include/printer.cpp index 4acfbe174..7c92ae619 100755 --- a/include/printer.cpp +++ b/include/printer.cpp @@ -916,14 +916,16 @@ void TPrinter::read_configuration(const char* parag) #endif _config = parag; + if (_config.empty()) _config = "Printer"; TConfig* iniptr = NULL; if (_config != "Printer") - { + { // Usa configurazione speciale iniptr = new TConfig(CONFIG_STAMPE, _config); - if (!iniptr->exist("Type")) + const int what = iniptr->get_int("Type", NULL, -1, -1); + if (what < 0) { delete iniptr; iniptr = NULL; } @@ -966,42 +968,43 @@ void TPrinter::read_configuration(const char* parag) #endif } - switch (what) - { - case 0: - case 5: -#if XVT_OS == XVT_OS_WIN - _printertype = winprinter; -#else - PrinterDef & def = (PrinterDef &) get_description (_curprn); - switch (atoi (def._printertype)) + if (_config == "Printer" || _printertype == winprinter) + switch (what) { - case 1: - _printertype = localprinter; - break; - case 2: - _printertype = spoolprinter; - break; - default: - _printertype = normprinter; - break; - } + case 0: + case 5: +#if XVT_OS == XVT_OS_WIN + _printertype = winprinter; +#else + PrinterDef & def = (PrinterDef &) get_description (_curprn); + switch (atoi (def._printertype)) + { + case 1: + _printertype = localprinter; + break; + case 2: + _printertype = spoolprinter; + break; + default: + _printertype = normprinter; + break; + } #endif - break; - case 1: // file - _printertype = fileprinter; - break; - case 4: // video - _printertype = screenvis; - _curcode = 0; - break; - case 6: // export - _printertype = export; - _curcode = 0; - break; - default: - break; - } + break; + case 1: // file + _printertype = fileprinter; + break; + case 4: // video + _printertype = screenvis; + _curcode = 0; + break; + case 6: // export + _printertype = export; + _curcode = 0; + break; + default: + break; + } main_app().end_wait(); } @@ -1412,7 +1415,7 @@ return _isopen = TRUE; } -void TPrinter::set() +bool TPrinter::set() { main_app().disable_menu_item (M_FILE_PG_SETUP); @@ -1464,7 +1467,8 @@ void TPrinter::set() KEY k = mask.run(); - if (k == K_ESC) return; + if (k == K_ESC) + return FALSE; // get user choices @@ -1571,7 +1575,7 @@ void TPrinter::set() _curprn = oldprn; set_printrcd(); set_win_formlen(); - return; + return FALSE; } _curprn = atoi(mask.get(MSK_1_PRINTERS)); @@ -1608,6 +1612,7 @@ void TPrinter::set() save_configuration(); main_app().enable_menu_item (M_FILE_PG_SETUP); + return TRUE; } @@ -1809,7 +1814,7 @@ TFile_printer::~TFile_printer () { } -void TFile_printer::set () +bool TFile_printer::set () { TMask m ("bagn004"); KEY tasto; @@ -1833,9 +1838,9 @@ void TFile_printer::set () if (_label_fissata) m.disable (F_LABEL); - tasto = m.run (); + const bool ok = m.run () == K_ENTER; - if (tasto == K_ENTER) + if (ok) { f = atoi(m.get(F_FORMATO_DISCO)); _drive = m.get(F_DRIVE); @@ -1844,7 +1849,9 @@ void TFile_printer::set () _formatta = (bool)(m.get(F_FORMATTA) == "X"); _size = disk_sizes[f]; _num_rec_volume = int ((_size / _len_rec) - _num_rec_testa_coda); - } + } + + return ok; } // diff --git a/include/printer.h b/include/printer.h index 183de1166..df56b6138 100755 --- a/include/printer.h +++ b/include/printer.h @@ -274,7 +274,7 @@ public: bool skip (int linetoskip); bool jump (int linestojump); void reset (); - virtual void set (); + virtual bool set (); bool open (); void close (); bool formfeed (); @@ -377,7 +377,7 @@ public: // void scrivi(); bool genera_dischetti(); - virtual void set (); + virtual bool set (); // // tipo_disco: