From 6ff153a4f55a28171f2c845ad029d569c44ea313 Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 12 Sep 1996 11:06:24 +0000 Subject: [PATCH] Fine correzione sull' impostazione stampante git-svn-id: svn://10.65.10.50/trunk@3570 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- include/printer.cpp | 69 ++++++++++++++++++++++++++++----------------- 1 file changed, 43 insertions(+), 26 deletions(-) diff --git a/include/printer.cpp b/include/printer.cpp index 3a9b4d5b2..63f0fccd8 100755 --- a/include/printer.cpp +++ b/include/printer.cpp @@ -945,24 +945,20 @@ HIDDEN bool set_windows_print_device (TMask_field& f, KEY key) TPrinter& pr = printer(); + TToken_string& pn = pr.getprinternames (); + TString80 pdev (pn.get(atoi (f.get()))); // Nome stampante corrente + + char szDevice[80]; + GetProfileString ("devices", pdev, "", szDevice, sizeof (szDevice)); + pdev << "," << szDevice; + + // scrivi (e semmai lo si risistema poi) + + WriteProfileString("windows", "device", pdev); if (m.is_running()) { - TToken_string& pn = pr.getprinternames (); - TString80 pdev (pn.get(atoi (f.get()))); // Nome stampante corrente - - char szDevice[80]; - GetProfileString ("devices", pdev, "", szDevice, sizeof (szDevice)); - pdev << "," << szDevice; - - char szOldPrinter[80]; - GetProfileString ("windows", "device", ",,,", szOldPrinter, sizeof (szOldPrinter)); - - // scrivi (e semmai lo si risistema poi) - - WriteProfileString("windows", "device", pdev); pr.set_printrcd(); pr.set_win_formlen(); - WriteProfileString("windows", "device", szOldPrinter); } const int MAX_FAMILIES = 128; @@ -1037,6 +1033,8 @@ HIDDEN bool font_handler(TMask_field& f, KEY key) #endif +HIDDEN char defPrinter[80]; + TPrinter::TPrinter() : _date (TODAY), _multiple_link (FALSE), _frozen (FALSE), _isgraphics (TRUE), _lines_per_inch (6), _ch_size (12), _ncopies(1), _export_header(FALSE), @@ -1071,23 +1069,36 @@ TPrinter::TPrinter() // xvt_print_open (); set_win_formlen (); - char defPrinter[80]; - char szDevice[50]; +// char szDevice[50]; +// get default printer driver + GetProfileString ("windows", "device", ",,,", defPrinter, sizeof(defPrinter)); TToken_string& pn2 = getprinternames(); // get printer names + + CHECK(_curprn >= 0, "Can't find printer "); + if (_curprn >= pn2.items()) { - // get default printer driver - GetProfileString ("windows", "device", ",,,", defPrinter, sizeof(defPrinter)); TToken_string pdev (defPrinter, ','); - GetProfileString ("devices", pdev, "", szDevice, sizeof(szDevice)); - pdev.add(szDevice); +// GetProfileString ("devices", pdev, "", szDevice, sizeof(szDevice)); +// pdev.add(szDevice); const TString80 p1(pdev.get(0)); // current printer _curprn = pn2.get_pos(p1); } - CHECK(_curprn >= 0, "Can't find printer "); + else + { + TString80 pdev(pn2.get(_curprn)); // Nome stampante corrente + + char szDevice[80]; + GetProfileString ("devices", pdev, "", szDevice, sizeof (szDevice)); + pdev << "," << szDevice; + + // scrivi (e semmai lo si risistema poi) + + WriteProfileString("windows", "device", pdev); + } set_fincatura("+++++++++-|"); @@ -1306,7 +1317,9 @@ TPrinter::~TPrinter () { xvt_print_destroy(_print_rcd); _print_rcd = NULL; - } + } + WriteProfileString("windows", "device", defPrinter); + // xvt_print_close(); #endif } @@ -1759,8 +1772,8 @@ bool TPrinter::set() #if XVT_OS == XVT_OS_WIN pn2 = getprinternames(); -// char old_default[80]; -// GetProfileString ("windows", "device", ",,,", old_default, sizeof(old_default)); + char old_default[80]; + GetProfileString ("windows", "device", ",,,", old_default, sizeof(old_default)); const int np = pn2.items(); for (i = 0; i < np; i++) @@ -1823,12 +1836,17 @@ bool TPrinter::set() /* if (k == K_ESC || k == K_ENTER) + { +*/ + if (k == K_ESC) { // riaggiusta stampante default windows come prima // curprn e rcd sono quelle di prima main_app().enable_menu_item(M_FILE_PG_SETUP); WriteProfileString("windows", "device", old_default); } +/* + } */ if (k == K_ESC) { @@ -1837,7 +1855,6 @@ bool TPrinter::set() s_printrcd * rcd = get_printrcd(); memcpy(rcd, (const char *) oldrcd, _print_rcd_size); set_win_formlen(); - main_app().enable_menu_item (M_FILE_PG_SETUP); delete msk; return FALSE; } @@ -1874,7 +1891,7 @@ bool TPrinter::set() if (k == K_INS) save_configuration(); - main_app().enable_menu_item (M_FILE_PG_SETUP); +// main_app().enable_menu_item (M_FILE_PG_SETUP); if (msk) delete msk;