X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9e19da0f2ad5fe82c24ae82c281786b64d0156d5..3999336cb9ff3ef20d707d3eea470b2609a9c7c3:/src/gtk/print.cpp diff --git a/src/gtk/print.cpp b/src/gtk/print.cpp index 2c3376d044..18835a2d39 100644 --- a/src/gtk/print.cpp +++ b/src/gtk/print.cpp @@ -543,7 +543,7 @@ bool wxGtkPrintNativeData::TransferFrom( const wxPrintData &data ) default: break; } - gtk_print_settings_set_printer(m_config, data.GetPrinterName()); + gtk_print_settings_set_printer(m_config, data.GetPrinterName().utf8_str()); return true; } @@ -763,7 +763,9 @@ int wxGtkPageSetupDialog::ShowModal() 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); @@ -2306,8 +2308,14 @@ void wxGtkPrintPreview::DetermineScaling() 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()); @@ -2334,8 +2342,8 @@ void wxGtkPrintPreview::DetermineScaling() 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; } }