Skip to content

Commit

Permalink
Printing: calculate a much more accurate font scale value
Browse files Browse the repository at this point in the history
This simply uses the relative size of the profile. This can result in
truly tiny text in print, but at least it's consistent and logical.
We could add some minimum value there but I'm not sure that's the right
answer, either.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
  • Loading branch information
dirkhh committed Jul 29, 2015
1 parent 64aace6 commit 4687f5d
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion printer.cpp
Expand Up @@ -61,11 +61,11 @@ void Printer::render(int Pages = 0)
int profileFrameStyle = profile->frameStyle();
int animationOriginal = prefs.animation_speed;
double fontScale = profile->getFontPrintScale();
double printFontScale = 1.0;

// apply printing settings to profile
profile->setFrameStyle(QFrame::NoFrame);
profile->setPrintMode(true, !printOptions->color_selected);
profile->setFontPrintScale(pageSize.width() * 0.001);
profile->setToolTipVisibile(false);
prefs.animation_speed = 0;

Expand All @@ -81,8 +81,10 @@ void Printer::render(int Pages = 0)

QSize originalSize = profile->size();
if (collection.count() > 0) {
printFontScale = (double)collection.at(0).geometry().size().height() / (double)profile->size().height();
profile->resize(collection.at(0).geometry().size());
}
profile->setFontPrintScale(printFontScale);

int elemNo = 0;
for (int i = 0; i < Pages; i++) {
Expand Down

0 comments on commit 4687f5d

Please sign in to comment.