#endif
#include "wx/fontutil.h"
-#include "wx/gtk/private.h"
#include "wx/dynlib.h"
#include "wx/paper.h"
// This is called even if we actually don't want the dialog to appear.
int wxGtkPrintDialog::ShowModal()
{
- GtkPrintOperationResult response;
-
// We need to restore the settings given in the constructor.
wxPrintData data = m_printDialogData.GetPrintData();
wxGtkPrintNativeData *native =
// Show the dialog if needed.
GError* gError = NULL;
- if (GetShowDialog())
- response = gtk_print_operation_run (printOp, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, GTK_WINDOW(gtk_widget_get_toplevel(m_parent->m_widget) ), &gError);
- else
- response = gtk_print_operation_run (printOp, GTK_PRINT_OPERATION_ACTION_PRINT, GTK_WINDOW(gtk_widget_get_toplevel(m_parent->m_widget)), &gError);
+ GtkPrintOperationResult response = gtk_print_operation_run
+ (
+ printOp,
+ GetShowDialog()
+ ? GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG
+ : GTK_PRINT_OPERATION_ACTION_PRINT,
+ m_parent
+ ? GTK_WINDOW(gtk_widget_get_toplevel(m_parent->m_widget))
+ : NULL,
+ &gError
+ );
// Does everything went well?
if (response == GTK_PRINT_OPERATION_RESULT_CANCEL)
title = _("Page Setup");
GtkWidget *
dlg = gtk_page_setup_unix_dialog_new(title.utf8_str(),
- GTK_WINDOW(m_parent->m_widget));
+ m_parent
+ ? GTK_WINDOW(m_parent->m_widget)
+ : NULL);
gtk_page_setup_unix_dialog_set_print_settings(
GTK_PAGE_SETUP_UNIX_DIALOG(dlg), nativeData);
angle = -angle;
- bool underlined = m_font.IsOk() && m_font.GetUnderlined();
-
const wxScopedCharBuffer data = text.utf8_str();
- size_t datalen = strlen(data);
- pango_layout_set_text( m_layout, data, datalen);
-
- if (underlined)
- {
- PangoAttrList *attrs = pango_attr_list_new();
- PangoAttribute *a = pango_attr_underline_new(PANGO_UNDERLINE_SINGLE);
- a->start_index = 0;
- a->end_index = datalen;
- pango_attr_list_insert(attrs, a);
- pango_layout_set_attributes(m_layout, attrs);
- pango_attr_list_unref(attrs);
- }
+ pango_layout_set_text(m_layout, data, data.length());
+ const bool setAttrs = m_font.GTKSetPangoAttrs(m_layout);
if (m_textForegroundColour.IsOk())
{
unsigned char red = m_textForegroundColour.Red();
cairo_restore( m_cairo );
- if (underlined)
+ if (setAttrs)
{
// Undo underline attributes setting
pango_layout_set_attributes(m_layout, NULL);
{
// scale the font and apply it
PangoFontDescription *desc = theFont->GetNativeFontInfo()->description;
- float size = pango_font_description_get_size(desc);
- size = size * GetFontPointSizeAdjustment(72.0);
+ oldSize = pango_font_description_get_size(desc);
+ const float size = oldSize * GetFontPointSizeAdjustment(72.0);
pango_font_description_set_size(desc, (gint)size);
pango_layout_set_font_description(m_layout, desc);