Patch level : 10.0 no patch

Files correlati     : 
Ricompilazione Demo : [ ]
Commento            :

Corretto l'aggiornamento della stampa nel caso di spezzamento su più pagine.
Corretta la visualizzazione nel caso la stampa esca dalla pagina.

git-svn-id: svn://10.65.10.50/branches/R_10_00@23220 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
bonazzi 2016-09-02 08:59:27 +00:00
parent a0a98b13ff
commit c93f5b89bd

View File

@ -1283,6 +1283,21 @@ bool TBook::print_page(TWindow& win, size_t page)
_vertical_alignment = 'T';
bool page_is_open = false; // Stato attuale della pagina della stampante
if (preview)
{
RCT rct; xvt_vobj_get_client_rect(w, &rct);
const TSize size = page_size();
TPrint_preview_window& pw = (TPrint_preview_window&)win;
const PNT pag = pw.log2dev(size.x, size.y);
if (pag.h < rct.right)
{
rct.right = pag.h;
xvt_dwin_set_clip(w, &rct);
}
}
while (!ifs.eof())
{
@ -1557,6 +1572,8 @@ bool TBook::print_page(TWindow& win, size_t page)
xvt_print_close_page(_rcd);
}
if (preview)
xvt_dwin_set_clip(w, NULL);
return true;
}
@ -1959,7 +1976,18 @@ void TBook::split_file(int colonne)
out.close();
// Sostituisce il file di stampa con quello splittato ed aggiorna l'indice delle pagine
fcopy(temp, _file);
// fcopy(temp, _file);
ifstream itmp(temp); // Apro file di stampa da splittare
delete _out;
_out = new ofstream(_file);
while (!itmp.eof())
{
itmp.getline(str.get_buffer(), str.size());
(*_out) << str << endl;
}
itmp.close();
xvt_fsys_remove_file(temp);
_index = index;
_pages = _index.last();