Fine correzione sull' impostazione stampante
git-svn-id: svn://10.65.10.50/trunk@3570 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
bb0fbf044b
commit
6ff153a4f5
@ -945,24 +945,20 @@ HIDDEN bool set_windows_print_device (TMask_field& f, KEY key)
|
|||||||
|
|
||||||
TPrinter& pr = printer();
|
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())
|
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_printrcd();
|
||||||
pr.set_win_formlen();
|
pr.set_win_formlen();
|
||||||
WriteProfileString("windows", "device", szOldPrinter);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const int MAX_FAMILIES = 128;
|
const int MAX_FAMILIES = 128;
|
||||||
@ -1037,6 +1033,8 @@ HIDDEN bool font_handler(TMask_field& f, KEY key)
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
HIDDEN char defPrinter[80];
|
||||||
|
|
||||||
TPrinter::TPrinter()
|
TPrinter::TPrinter()
|
||||||
: _date (TODAY), _multiple_link (FALSE), _frozen (FALSE), _isgraphics (TRUE),
|
: _date (TODAY), _multiple_link (FALSE), _frozen (FALSE), _isgraphics (TRUE),
|
||||||
_lines_per_inch (6), _ch_size (12), _ncopies(1), _export_header(FALSE),
|
_lines_per_inch (6), _ch_size (12), _ncopies(1), _export_header(FALSE),
|
||||||
@ -1071,23 +1069,36 @@ TPrinter::TPrinter()
|
|||||||
// xvt_print_open ();
|
// xvt_print_open ();
|
||||||
set_win_formlen ();
|
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
|
TToken_string& pn2 = getprinternames(); // get printer names
|
||||||
|
|
||||||
|
CHECK(_curprn >= 0, "Can't find printer ");
|
||||||
|
|
||||||
if (_curprn >= pn2.items())
|
if (_curprn >= pn2.items())
|
||||||
{
|
{
|
||||||
// get default printer driver
|
|
||||||
GetProfileString ("windows", "device", ",,,", defPrinter, sizeof(defPrinter));
|
|
||||||
TToken_string pdev (defPrinter, ',');
|
TToken_string pdev (defPrinter, ',');
|
||||||
|
|
||||||
GetProfileString ("devices", pdev, "", szDevice, sizeof(szDevice));
|
// GetProfileString ("devices", pdev, "", szDevice, sizeof(szDevice));
|
||||||
pdev.add(szDevice);
|
// pdev.add(szDevice);
|
||||||
const TString80 p1(pdev.get(0)); // current printer
|
const TString80 p1(pdev.get(0)); // current printer
|
||||||
_curprn = pn2.get_pos(p1);
|
_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("+++++++++-|");
|
set_fincatura("+++++++++-|");
|
||||||
@ -1306,7 +1317,9 @@ TPrinter::~TPrinter ()
|
|||||||
{
|
{
|
||||||
xvt_print_destroy(_print_rcd);
|
xvt_print_destroy(_print_rcd);
|
||||||
_print_rcd = NULL;
|
_print_rcd = NULL;
|
||||||
}
|
}
|
||||||
|
WriteProfileString("windows", "device", defPrinter);
|
||||||
|
|
||||||
// xvt_print_close();
|
// xvt_print_close();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -1759,8 +1772,8 @@ bool TPrinter::set()
|
|||||||
#if XVT_OS == XVT_OS_WIN
|
#if XVT_OS == XVT_OS_WIN
|
||||||
|
|
||||||
pn2 = getprinternames();
|
pn2 = getprinternames();
|
||||||
// char old_default[80];
|
char old_default[80];
|
||||||
// GetProfileString ("windows", "device", ",,,", old_default, sizeof(old_default));
|
GetProfileString ("windows", "device", ",,,", old_default, sizeof(old_default));
|
||||||
|
|
||||||
const int np = pn2.items();
|
const int np = pn2.items();
|
||||||
for (i = 0; i < np; i++)
|
for (i = 0; i < np; i++)
|
||||||
@ -1823,12 +1836,17 @@ bool TPrinter::set()
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
if (k == K_ESC || k == K_ENTER)
|
if (k == K_ESC || k == K_ENTER)
|
||||||
|
{
|
||||||
|
*/
|
||||||
|
if (k == K_ESC)
|
||||||
{
|
{
|
||||||
// riaggiusta stampante default windows come prima
|
// riaggiusta stampante default windows come prima
|
||||||
// curprn e rcd sono quelle di prima
|
// curprn e rcd sono quelle di prima
|
||||||
main_app().enable_menu_item(M_FILE_PG_SETUP);
|
main_app().enable_menu_item(M_FILE_PG_SETUP);
|
||||||
WriteProfileString("windows", "device", old_default);
|
WriteProfileString("windows", "device", old_default);
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
}
|
||||||
*/
|
*/
|
||||||
if (k == K_ESC)
|
if (k == K_ESC)
|
||||||
{
|
{
|
||||||
@ -1837,7 +1855,6 @@ bool TPrinter::set()
|
|||||||
s_printrcd * rcd = get_printrcd();
|
s_printrcd * rcd = get_printrcd();
|
||||||
memcpy(rcd, (const char *) oldrcd, _print_rcd_size);
|
memcpy(rcd, (const char *) oldrcd, _print_rcd_size);
|
||||||
set_win_formlen();
|
set_win_formlen();
|
||||||
main_app().enable_menu_item (M_FILE_PG_SETUP);
|
|
||||||
delete msk;
|
delete msk;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -1874,7 +1891,7 @@ bool TPrinter::set()
|
|||||||
if (k == K_INS)
|
if (k == K_INS)
|
||||||
save_configuration();
|
save_configuration();
|
||||||
|
|
||||||
main_app().enable_menu_item (M_FILE_PG_SETUP);
|
// main_app().enable_menu_item (M_FILE_PG_SETUP);
|
||||||
|
|
||||||
if (msk)
|
if (msk)
|
||||||
delete msk;
|
delete msk;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user