default: break;
}
- gtk_print_settings_set_printer(m_config, data.GetPrinterName());
+ gtk_print_settings_set_printer(m_config, data.GetPrinterName().utf8_str());
return true;
}
wxString title(GetTitle());
if ( title.empty() )
title = _("Page Setup");
- GtkWidget *dlg = gtk_page_setup_unix_dialog_new(title, GTK_WINDOW(m_parent->m_widget));
+ GtkWidget *
+ dlg = gtk_page_setup_unix_dialog_new(title.utf8_str(),
+ GTK_WINDOW(m_parent->m_widget));
gtk_page_setup_unix_dialog_set_print_settings(
GTK_PAGE_SETUP_UNIX_DIALOG(dlg), nativeData);
if (paper)
{
- m_previewPrintout->SetPPIScreen(wxGetDisplayPPI());
- m_previewPrintout->SetPPIPrinter( m_resolution, m_resolution );
+ const wxSize screenPPI = wxGetDisplayPPI();
+ int logPPIScreenX = screenPPI.GetWidth();
+ int logPPIScreenY = screenPPI.GetHeight();
+ int logPPIPrinterX = m_resolution;
+ int logPPIPrinterY = m_resolution;
+
+ m_previewPrintout->SetPPIScreen( logPPIScreenX, logPPIScreenY );
+ m_previewPrintout->SetPPIPrinter( logPPIPrinterX, logPPIPrinterY );
// Get width and height in points (1/72th of an inch)
wxSize sizeDevUnits(paper->GetSizeDeviceUnits());
m_previewPrintout->SetPaperRectPixels(wxRect(0, 0, m_pageWidth, m_pageHeight));
// At 100%, the page should look about page-size on the screen.
- m_previewScaleX = 0.8 * 72.0 / (double)m_resolution;
- m_previewScaleY = m_previewScaleX;
+ m_previewScaleX = float(logPPIScreenX) / logPPIPrinterX;
+ m_previewScaleY = float(logPPIScreenY) / logPPIPrinterY;
}
}