mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-17 06:10:15 +00:00
GtkPageSetupUnixDialog: Define children with a GtkBuilder template
This commit is contained in:
parent
a58412027f
commit
0f16d7c6d5
@ -1109,6 +1109,7 @@ COMPOSITE_TEMPLATES = \
|
|||||||
gtkinfobar.ui \
|
gtkinfobar.ui \
|
||||||
gtklockbutton.ui \
|
gtklockbutton.ui \
|
||||||
gtkmessagedialog.ui \
|
gtkmessagedialog.ui \
|
||||||
|
gtkpagesetupunixdialog.ui \
|
||||||
gtkrecentchooserdefault.ui \
|
gtkrecentchooserdefault.ui \
|
||||||
gtkscalebutton.ui \
|
gtkscalebutton.ui \
|
||||||
gtkstatusbar.ui
|
gtkstatusbar.ui
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
<file compressed="true">gtkinfobar.ui</file>
|
<file compressed="true">gtkinfobar.ui</file>
|
||||||
<file compressed="true">gtklockbutton.ui</file>
|
<file compressed="true">gtklockbutton.ui</file>
|
||||||
<file compressed="true">gtkmessagedialog.ui</file>
|
<file compressed="true">gtkmessagedialog.ui</file>
|
||||||
|
<file compressed="true">gtkpagesetupunixdialog.ui</file>
|
||||||
<file compressed="true">gtkrecentchooserdefault.ui</file>
|
<file compressed="true">gtkrecentchooserdefault.ui</file>
|
||||||
<file compressed="true">gtkscalebutton.ui</file>
|
<file compressed="true">gtkscalebutton.ui</file>
|
||||||
<file compressed="true">gtkstatusbar.ui</file>
|
<file compressed="true">gtkstatusbar.ui</file>
|
||||||
|
@ -71,6 +71,7 @@ struct _GtkPageSetupUnixDialogPrivate
|
|||||||
GtkWidget *printer_combo;
|
GtkWidget *printer_combo;
|
||||||
GtkWidget *paper_size_combo;
|
GtkWidget *paper_size_combo;
|
||||||
GtkWidget *paper_size_label;
|
GtkWidget *paper_size_label;
|
||||||
|
GtkCellRenderer *paper_size_cell;
|
||||||
|
|
||||||
GtkWidget *portrait_radio;
|
GtkWidget *portrait_radio;
|
||||||
GtkWidget *reverse_portrait_radio;
|
GtkWidget *reverse_portrait_radio;
|
||||||
@ -88,6 +89,7 @@ struct _GtkPageSetupUnixDialogPrivate
|
|||||||
gchar *waiting_for_printer;
|
gchar *waiting_for_printer;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* Keep these in line with GtkListStores defined in gtkpagesetupunixprintdialog.ui */
|
||||||
enum {
|
enum {
|
||||||
PRINTER_LIST_COL_NAME,
|
PRINTER_LIST_COL_NAME,
|
||||||
PRINTER_LIST_COL_PRINTER,
|
PRINTER_LIST_COL_PRINTER,
|
||||||
@ -103,7 +105,6 @@ enum {
|
|||||||
G_DEFINE_TYPE (GtkPageSetupUnixDialog, gtk_page_setup_unix_dialog, GTK_TYPE_DIALOG)
|
G_DEFINE_TYPE (GtkPageSetupUnixDialog, gtk_page_setup_unix_dialog, GTK_TYPE_DIALOG)
|
||||||
|
|
||||||
static void gtk_page_setup_unix_dialog_finalize (GObject *object);
|
static void gtk_page_setup_unix_dialog_finalize (GObject *object);
|
||||||
static void populate_dialog (GtkPageSetupUnixDialog *dialog);
|
|
||||||
static void fill_paper_sizes_from_printer (GtkPageSetupUnixDialog *dialog,
|
static void fill_paper_sizes_from_printer (GtkPageSetupUnixDialog *dialog,
|
||||||
GtkPrinter *printer);
|
GtkPrinter *printer);
|
||||||
static void printer_added_cb (GtkPrintBackend *backend,
|
static void printer_added_cb (GtkPrintBackend *backend,
|
||||||
@ -115,7 +116,19 @@ static void printer_removed_cb (GtkPrintBackend *backen
|
|||||||
static void printer_status_cb (GtkPrintBackend *backend,
|
static void printer_status_cb (GtkPrintBackend *backend,
|
||||||
GtkPrinter *printer,
|
GtkPrinter *printer,
|
||||||
GtkPageSetupUnixDialog *dialog);
|
GtkPageSetupUnixDialog *dialog);
|
||||||
|
static void printer_changed_callback (GtkComboBox *combo_box,
|
||||||
|
GtkPageSetupUnixDialog *dialog);
|
||||||
|
static void paper_size_changed (GtkComboBox *combo_box,
|
||||||
|
GtkPageSetupUnixDialog *dialog);
|
||||||
|
static void page_name_func (GtkCellLayout *cell_layout,
|
||||||
|
GtkCellRenderer *cell,
|
||||||
|
GtkTreeModel *tree_model,
|
||||||
|
GtkTreeIter *iter,
|
||||||
|
gpointer data);
|
||||||
|
static void load_print_backends (GtkPageSetupUnixDialog *dialog);
|
||||||
|
static gboolean paper_size_row_is_separator (GtkTreeModel *model,
|
||||||
|
GtkTreeIter *iter,
|
||||||
|
gpointer data);
|
||||||
|
|
||||||
|
|
||||||
static const gchar const common_paper_sizes[][16] = {
|
static const gchar const common_paper_sizes[][16] = {
|
||||||
@ -138,11 +151,33 @@ static void
|
|||||||
gtk_page_setup_unix_dialog_class_init (GtkPageSetupUnixDialogClass *class)
|
gtk_page_setup_unix_dialog_class_init (GtkPageSetupUnixDialogClass *class)
|
||||||
{
|
{
|
||||||
GObjectClass *object_class;
|
GObjectClass *object_class;
|
||||||
|
GtkWidgetClass *widget_class;
|
||||||
|
|
||||||
object_class = (GObjectClass *) class;
|
object_class = G_OBJECT_CLASS (class);
|
||||||
|
widget_class = GTK_WIDGET_CLASS (class);
|
||||||
|
|
||||||
object_class->finalize = gtk_page_setup_unix_dialog_finalize;
|
object_class->finalize = gtk_page_setup_unix_dialog_finalize;
|
||||||
|
|
||||||
|
/* Bind class to template
|
||||||
|
*/
|
||||||
|
gtk_widget_class_set_template_from_resource (widget_class,
|
||||||
|
"/org/gtk/libgtk/gtkpagesetupunixdialog.ui");
|
||||||
|
|
||||||
|
gtk_widget_class_bind_child (widget_class, GtkPageSetupUnixDialogPrivate, printer_list);
|
||||||
|
gtk_widget_class_bind_child (widget_class, GtkPageSetupUnixDialogPrivate, page_setup_list);
|
||||||
|
gtk_widget_class_bind_child (widget_class, GtkPageSetupUnixDialogPrivate, custom_paper_list);
|
||||||
|
gtk_widget_class_bind_child (widget_class, GtkPageSetupUnixDialogPrivate, printer_combo);
|
||||||
|
gtk_widget_class_bind_child (widget_class, GtkPageSetupUnixDialogPrivate, paper_size_combo);
|
||||||
|
gtk_widget_class_bind_child (widget_class, GtkPageSetupUnixDialogPrivate, paper_size_label);
|
||||||
|
gtk_widget_class_bind_child (widget_class, GtkPageSetupUnixDialogPrivate, paper_size_cell);
|
||||||
|
gtk_widget_class_bind_child (widget_class, GtkPageSetupUnixDialogPrivate, portrait_radio);
|
||||||
|
gtk_widget_class_bind_child (widget_class, GtkPageSetupUnixDialogPrivate, reverse_portrait_radio);
|
||||||
|
gtk_widget_class_bind_child (widget_class, GtkPageSetupUnixDialogPrivate, landscape_radio);
|
||||||
|
gtk_widget_class_bind_child (widget_class, GtkPageSetupUnixDialogPrivate, reverse_landscape_radio);
|
||||||
|
|
||||||
|
gtk_widget_class_bind_callback (widget_class, printer_changed_callback);
|
||||||
|
gtk_widget_class_bind_callback (widget_class, paper_size_changed);
|
||||||
|
|
||||||
g_type_class_add_private (class, sizeof (GtkPageSetupUnixDialogPrivate));
|
g_type_class_add_private (class, sizeof (GtkPageSetupUnixDialogPrivate));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -159,10 +194,9 @@ gtk_page_setup_unix_dialog_init (GtkPageSetupUnixDialog *dialog)
|
|||||||
|
|
||||||
priv->print_backends = NULL;
|
priv->print_backends = NULL;
|
||||||
|
|
||||||
priv->printer_list = gtk_list_store_new (PRINTER_LIST_N_COLS,
|
gtk_widget_init_template (GTK_WIDGET (dialog));
|
||||||
G_TYPE_STRING,
|
|
||||||
G_TYPE_OBJECT);
|
|
||||||
|
|
||||||
|
/* Do this in code, we want the translatable strings without the markup */
|
||||||
gtk_list_store_append (priv->printer_list, &iter);
|
gtk_list_store_append (priv->printer_list, &iter);
|
||||||
tmp = g_strdup_printf ("<b>%s</b>\n%s", _("Any Printer"), _("For portable documents"));
|
tmp = g_strdup_printf ("<b>%s</b>\n%s", _("Any Printer"), _("For portable documents"));
|
||||||
gtk_list_store_set (priv->printer_list, &iter,
|
gtk_list_store_set (priv->printer_list, &iter,
|
||||||
@ -171,25 +205,24 @@ gtk_page_setup_unix_dialog_init (GtkPageSetupUnixDialog *dialog)
|
|||||||
-1);
|
-1);
|
||||||
g_free (tmp);
|
g_free (tmp);
|
||||||
|
|
||||||
priv->page_setup_list = gtk_list_store_new (PAGE_SETUP_LIST_N_COLS,
|
/* After adding the above row, set it active */
|
||||||
G_TYPE_OBJECT,
|
gtk_combo_box_set_active (GTK_COMBO_BOX (priv->printer_combo), 0);
|
||||||
G_TYPE_BOOLEAN);
|
|
||||||
|
|
||||||
priv->custom_paper_list = gtk_list_store_new (1, G_TYPE_OBJECT);
|
/* Setup cell data func and separator func in code */
|
||||||
|
gtk_combo_box_set_row_separator_func (GTK_COMBO_BOX (priv->paper_size_combo),
|
||||||
|
paper_size_row_is_separator, NULL, NULL);
|
||||||
|
gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (priv->paper_size_combo),
|
||||||
|
priv->paper_size_cell,
|
||||||
|
page_name_func, NULL, NULL);
|
||||||
|
|
||||||
|
/* Load data */
|
||||||
_gtk_print_load_custom_papers (priv->custom_paper_list);
|
_gtk_print_load_custom_papers (priv->custom_paper_list);
|
||||||
|
load_print_backends (dialog);
|
||||||
|
|
||||||
populate_dialog (dialog);
|
|
||||||
|
|
||||||
gtk_dialog_add_buttons (GTK_DIALOG (dialog),
|
|
||||||
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
|
|
||||||
GTK_STOCK_APPLY, GTK_RESPONSE_OK,
|
|
||||||
NULL);
|
|
||||||
gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog),
|
gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog),
|
||||||
GTK_RESPONSE_OK,
|
GTK_RESPONSE_OK,
|
||||||
GTK_RESPONSE_CANCEL,
|
GTK_RESPONSE_CANCEL,
|
||||||
-1);
|
-1);
|
||||||
|
|
||||||
gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -846,145 +879,6 @@ page_name_func (GtkCellLayout *cell_layout,
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static GtkWidget *
|
|
||||||
create_radio_button (GSList *group,
|
|
||||||
const gchar *stock_id)
|
|
||||||
{
|
|
||||||
GtkWidget *radio_button, *image, *label, *hbox;
|
|
||||||
GtkStockItem item;
|
|
||||||
|
|
||||||
radio_button = gtk_radio_button_new (group);
|
|
||||||
image = gtk_image_new_from_stock (stock_id, GTK_ICON_SIZE_LARGE_TOOLBAR);
|
|
||||||
gtk_stock_lookup (stock_id, &item);
|
|
||||||
label = gtk_label_new (item.label);
|
|
||||||
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
|
|
||||||
gtk_container_add (GTK_CONTAINER (radio_button), hbox);
|
|
||||||
gtk_container_add (GTK_CONTAINER (hbox), image);
|
|
||||||
gtk_container_add (GTK_CONTAINER (hbox), label);
|
|
||||||
|
|
||||||
gtk_widget_show_all (radio_button);
|
|
||||||
|
|
||||||
return radio_button;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
populate_dialog (GtkPageSetupUnixDialog *ps_dialog)
|
|
||||||
{
|
|
||||||
GtkPageSetupUnixDialogPrivate *priv = ps_dialog->priv;
|
|
||||||
GtkDialog *dialog = GTK_DIALOG (ps_dialog);
|
|
||||||
GtkWidget *table, *label, *combo, *radio_button;
|
|
||||||
GtkWidget *action_area, *content_area;
|
|
||||||
GtkCellRenderer *cell;
|
|
||||||
|
|
||||||
gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE);
|
|
||||||
|
|
||||||
content_area = gtk_dialog_get_content_area (dialog);
|
|
||||||
action_area = gtk_dialog_get_action_area (dialog);
|
|
||||||
|
|
||||||
gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
|
|
||||||
gtk_box_set_spacing (GTK_BOX (content_area), 2); /* 2 * 5 + 2 = 12 */
|
|
||||||
gtk_container_set_border_width (GTK_CONTAINER (action_area), 5);
|
|
||||||
gtk_box_set_spacing (GTK_BOX (action_area), 6);
|
|
||||||
|
|
||||||
table = gtk_grid_new ();
|
|
||||||
gtk_grid_set_row_spacing (GTK_GRID (table), 6);
|
|
||||||
gtk_grid_set_column_spacing (GTK_GRID (table), 12);
|
|
||||||
gtk_container_set_border_width (GTK_CONTAINER (table), 5);
|
|
||||||
gtk_box_pack_start (GTK_BOX (content_area), table, TRUE, TRUE, 0);
|
|
||||||
gtk_widget_show (table);
|
|
||||||
|
|
||||||
label = gtk_label_new_with_mnemonic (_("_Format for:"));
|
|
||||||
gtk_widget_set_halign (label, GTK_ALIGN_START);
|
|
||||||
gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
|
|
||||||
gtk_grid_attach (GTK_GRID (table), label, 0, 0, 1, 1);
|
|
||||||
gtk_widget_show (label);
|
|
||||||
|
|
||||||
combo = gtk_combo_box_new_with_model (GTK_TREE_MODEL (priv->printer_list));
|
|
||||||
priv->printer_combo = combo;
|
|
||||||
|
|
||||||
cell = gtk_cell_renderer_text_new ();
|
|
||||||
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo), cell, TRUE);
|
|
||||||
gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo), cell,
|
|
||||||
"markup", PRINTER_LIST_COL_NAME,
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
gtk_widget_set_halign (combo, GTK_ALIGN_FILL);
|
|
||||||
gtk_widget_set_hexpand (combo, TRUE);
|
|
||||||
gtk_grid_attach (GTK_GRID (table), combo, 1, 0, 3, 1);
|
|
||||||
gtk_widget_show (combo);
|
|
||||||
gtk_label_set_mnemonic_widget (GTK_LABEL (label), combo);
|
|
||||||
|
|
||||||
label = gtk_label_new_with_mnemonic (_("_Paper size:"));
|
|
||||||
gtk_widget_set_halign (label, GTK_ALIGN_START);
|
|
||||||
gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
|
|
||||||
gtk_grid_attach (GTK_GRID (table), label, 0, 1, 1, 1);
|
|
||||||
gtk_widget_show (label);
|
|
||||||
|
|
||||||
combo = gtk_combo_box_new_with_model (GTK_TREE_MODEL (priv->page_setup_list));
|
|
||||||
priv->paper_size_combo = combo;
|
|
||||||
gtk_combo_box_set_row_separator_func (GTK_COMBO_BOX (combo),
|
|
||||||
paper_size_row_is_separator, NULL, NULL);
|
|
||||||
|
|
||||||
cell = gtk_cell_renderer_text_new ();
|
|
||||||
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo), cell, TRUE);
|
|
||||||
gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (combo), cell,
|
|
||||||
page_name_func, NULL, NULL);
|
|
||||||
|
|
||||||
gtk_widget_set_halign (combo, GTK_ALIGN_FILL);
|
|
||||||
gtk_widget_set_hexpand (combo, TRUE);
|
|
||||||
gtk_grid_attach (GTK_GRID (table), combo, 1, 1, 3, 1);
|
|
||||||
gtk_widget_show (combo);
|
|
||||||
gtk_label_set_mnemonic_widget (GTK_LABEL (label), combo);
|
|
||||||
|
|
||||||
label = gtk_label_new (NULL);
|
|
||||||
priv->paper_size_label = label;
|
|
||||||
gtk_widget_set_halign (label, GTK_ALIGN_START);
|
|
||||||
gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
|
|
||||||
gtk_grid_attach (GTK_GRID (table), label, 1, 2, 3, 1);
|
|
||||||
gtk_widget_show (label);
|
|
||||||
|
|
||||||
label = gtk_label_new_with_mnemonic (_("_Orientation:"));
|
|
||||||
gtk_widget_set_halign (label, GTK_ALIGN_START);
|
|
||||||
gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
|
|
||||||
gtk_grid_attach (GTK_GRID (table), label, 0, 3, 1, 1);
|
|
||||||
gtk_widget_show (label);
|
|
||||||
|
|
||||||
radio_button = create_radio_button (NULL, GTK_STOCK_ORIENTATION_PORTRAIT);
|
|
||||||
priv->portrait_radio = radio_button;
|
|
||||||
gtk_widget_set_halign (combo, GTK_ALIGN_FILL);
|
|
||||||
gtk_widget_set_hexpand (combo, TRUE);
|
|
||||||
gtk_grid_attach (GTK_GRID (table), radio_button, 1, 3, 1, 1);
|
|
||||||
gtk_label_set_mnemonic_widget (GTK_LABEL (label), radio_button);
|
|
||||||
|
|
||||||
radio_button = create_radio_button (gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_button)),
|
|
||||||
GTK_STOCK_ORIENTATION_REVERSE_PORTRAIT);
|
|
||||||
priv->reverse_portrait_radio = radio_button;
|
|
||||||
gtk_widget_set_halign (combo, GTK_ALIGN_FILL);
|
|
||||||
gtk_widget_set_hexpand (combo, TRUE);
|
|
||||||
gtk_grid_attach (GTK_GRID (table), radio_button, 2, 3, 1, 1);
|
|
||||||
|
|
||||||
radio_button = create_radio_button (gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_button)),
|
|
||||||
GTK_STOCK_ORIENTATION_LANDSCAPE);
|
|
||||||
priv->landscape_radio = radio_button;
|
|
||||||
gtk_widget_set_halign (combo, GTK_ALIGN_FILL);
|
|
||||||
gtk_widget_set_hexpand (combo, TRUE);
|
|
||||||
gtk_grid_attach (GTK_GRID (table), radio_button, 1, 4, 1, 1);
|
|
||||||
gtk_widget_show (radio_button);
|
|
||||||
|
|
||||||
radio_button = create_radio_button (gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_button)),
|
|
||||||
GTK_STOCK_ORIENTATION_REVERSE_LANDSCAPE);
|
|
||||||
priv->reverse_landscape_radio = radio_button;
|
|
||||||
gtk_widget_set_halign (combo, GTK_ALIGN_FILL);
|
|
||||||
gtk_widget_set_hexpand (combo, TRUE);
|
|
||||||
gtk_grid_attach (GTK_GRID (table), radio_button, 2, 4, 1, 1);
|
|
||||||
|
|
||||||
g_signal_connect (priv->paper_size_combo, "changed", G_CALLBACK (paper_size_changed), ps_dialog);
|
|
||||||
g_signal_connect (priv->printer_combo, "changed", G_CALLBACK (printer_changed_callback), ps_dialog);
|
|
||||||
gtk_combo_box_set_active (GTK_COMBO_BOX (priv->printer_combo), 0);
|
|
||||||
|
|
||||||
load_print_backends (ps_dialog);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gtk_page_setup_unix_dialog_new:
|
* gtk_page_setup_unix_dialog_new:
|
||||||
* @title: (allow-none): the title of the dialog, or %NULL
|
* @title: (allow-none): the title of the dialog, or %NULL
|
||||||
|
413
gtk/gtkpagesetupunixdialog.ui
Normal file
413
gtk/gtkpagesetupunixdialog.ui
Normal file
@ -0,0 +1,413 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<interface domain="gtk30">
|
||||||
|
<!-- interface-requires gtk+ 3.6 -->
|
||||||
|
<object class="GtkListStore" id="custom_paper_list">
|
||||||
|
<columns>
|
||||||
|
<!-- column-name paper -->
|
||||||
|
<column type="GObject"/>
|
||||||
|
</columns>
|
||||||
|
</object>
|
||||||
|
<object class="GtkListStore" id="page_setup_list">
|
||||||
|
<columns>
|
||||||
|
<!-- column-name page-setup -->
|
||||||
|
<column type="GObject"/>
|
||||||
|
<!-- column-name is-separator -->
|
||||||
|
<column type="gboolean"/>
|
||||||
|
</columns>
|
||||||
|
</object>
|
||||||
|
<object class="GtkListStore" id="printer_list">
|
||||||
|
<columns>
|
||||||
|
<!-- column-name name -->
|
||||||
|
<column type="gchararray"/>
|
||||||
|
<!-- column-name printer -->
|
||||||
|
<column type="GObject"/>
|
||||||
|
</columns>
|
||||||
|
</object>
|
||||||
|
<template class="GtkPageSetupUnixDialog" parent="GtkDialog">
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="border_width">5</property>
|
||||||
|
<property name="resizable">False</property>
|
||||||
|
<property name="type_hint">dialog</property>
|
||||||
|
<child internal-child="vbox">
|
||||||
|
<object class="GtkBox" id="dialog-vbox1">
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="spacing">2</property>
|
||||||
|
<child internal-child="action_area">
|
||||||
|
<object class="GtkButtonBox" id="dialog-action_area1">
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="layout_style">end</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="cancel_button">
|
||||||
|
<property name="label">gtk-cancel</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="receives_default">True</property>
|
||||||
|
<property name="use_stock">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">0</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="apply_button">
|
||||||
|
<property name="label">gtk-apply</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="can_default">True</property>
|
||||||
|
<property name="has_default">True</property>
|
||||||
|
<property name="receives_default">True</property>
|
||||||
|
<property name="use_stock">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="pack_type">end</property>
|
||||||
|
<property name="position">0</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkGrid" id="grid1">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="border_width">5</property>
|
||||||
|
<property name="row_spacing">6</property>
|
||||||
|
<property name="column_spacing">12</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="printer_combo_label">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="label" translatable="yes">_Format for:</property>
|
||||||
|
<property name="use_underline">True</property>
|
||||||
|
<property name="mnemonic_widget">printer_combo</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left_attach">0</property>
|
||||||
|
<property name="top_attach">0</property>
|
||||||
|
<property name="width">1</property>
|
||||||
|
<property name="height">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkComboBox" id="printer_combo">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="hexpand">True</property>
|
||||||
|
<property name="model">printer_list</property>
|
||||||
|
<signal name="changed" handler="printer_changed_callback" swapped="no"/>
|
||||||
|
<child>
|
||||||
|
<object class="GtkCellRendererText" id="printer_combo_renderer"/>
|
||||||
|
<attributes>
|
||||||
|
<attribute name="markup">0</attribute>
|
||||||
|
</attributes>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left_attach">1</property>
|
||||||
|
<property name="top_attach">0</property>
|
||||||
|
<property name="width">3</property>
|
||||||
|
<property name="height">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="paper_size_combo_label">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="label" translatable="yes">_Paper size:</property>
|
||||||
|
<property name="use_underline">True</property>
|
||||||
|
<property name="mnemonic_widget">paper_size_combo</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left_attach">0</property>
|
||||||
|
<property name="top_attach">1</property>
|
||||||
|
<property name="width">1</property>
|
||||||
|
<property name="height">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkComboBox" id="paper_size_combo">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="hexpand">True</property>
|
||||||
|
<property name="model">page_setup_list</property>
|
||||||
|
<signal name="changed" handler="paper_size_changed" swapped="no"/>
|
||||||
|
<child>
|
||||||
|
<object class="GtkCellRendererText" id="paper_size_cell"/>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left_attach">1</property>
|
||||||
|
<property name="top_attach">1</property>
|
||||||
|
<property name="width">3</property>
|
||||||
|
<property name="height">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="paper_size_label">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left_attach">1</property>
|
||||||
|
<property name="top_attach">2</property>
|
||||||
|
<property name="width">3</property>
|
||||||
|
<property name="height">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="orientation_label">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="halign">start</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
|
<property name="label" translatable="yes">_Orientation:</property>
|
||||||
|
<property name="use_underline">True</property>
|
||||||
|
<property name="mnemonic_widget">portrait_radio</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left_attach">0</property>
|
||||||
|
<property name="top_attach">3</property>
|
||||||
|
<property name="width">1</property>
|
||||||
|
<property name="height">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkRadioButton" id="portrait_radio">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="receives_default">False</property>
|
||||||
|
<property name="hexpand">True</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="active">True</property>
|
||||||
|
<property name="draw_indicator">True</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="box1">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="spacing">6</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage" id="image1">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="stock">gtk-orientation-portrait</property>
|
||||||
|
<property name="icon_size">3</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">0</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="label1">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="label" translatable="yes">Portrait</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left_attach">1</property>
|
||||||
|
<property name="top_attach">3</property>
|
||||||
|
<property name="width">1</property>
|
||||||
|
<property name="height">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkRadioButton" id="reverse_portrait_radio">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="receives_default">False</property>
|
||||||
|
<property name="hexpand">True</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="active">True</property>
|
||||||
|
<property name="draw_indicator">True</property>
|
||||||
|
<property name="group">portrait_radio</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="box2">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="spacing">6</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage" id="image2">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="stock">gtk-orientation-reverse-portrait</property>
|
||||||
|
<property name="icon_size">3</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">0</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="label2">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="label" translatable="yes">Reverse portrait</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left_attach">2</property>
|
||||||
|
<property name="top_attach">3</property>
|
||||||
|
<property name="width">1</property>
|
||||||
|
<property name="height">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkRadioButton" id="landscape_radio">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="receives_default">False</property>
|
||||||
|
<property name="hexpand">True</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="active">True</property>
|
||||||
|
<property name="draw_indicator">True</property>
|
||||||
|
<property name="group">portrait_radio</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="box3">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="spacing">6</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage" id="image3">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="stock">gtk-orientation-landscape</property>
|
||||||
|
<property name="icon_size">3</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">0</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="label3">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="label" translatable="yes">Landscape</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left_attach">1</property>
|
||||||
|
<property name="top_attach">4</property>
|
||||||
|
<property name="width">1</property>
|
||||||
|
<property name="height">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkRadioButton" id="reverse_landscape_radio">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="receives_default">False</property>
|
||||||
|
<property name="hexpand">True</property>
|
||||||
|
<property name="xalign">0</property>
|
||||||
|
<property name="draw_indicator">True</property>
|
||||||
|
<property name="group">portrait_radio</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="box4">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="spacing">6</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage" id="image4">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="stock">gtk-orientation-reverse-landscape</property>
|
||||||
|
<property name="icon_size">3</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">0</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="label4">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="label" translatable="yes">Reverse landscape</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left_attach">2</property>
|
||||||
|
<property name="top_attach">4</property>
|
||||||
|
<property name="width">1</property>
|
||||||
|
<property name="height">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">True</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<action-widgets>
|
||||||
|
<action-widget response="-6">cancel_button</action-widget>
|
||||||
|
<action-widget response="-5">apply_button</action-widget>
|
||||||
|
</action-widgets>
|
||||||
|
</template>
|
||||||
|
</interface>
|
@ -10,6 +10,10 @@ AM_CPPFLAGS = \
|
|||||||
$(GTK_DEBUG_FLAGS) \
|
$(GTK_DEBUG_FLAGS) \
|
||||||
$(GTK_DEP_CFLAGS)
|
$(GTK_DEP_CFLAGS)
|
||||||
|
|
||||||
|
if OS_UNIX
|
||||||
|
AM_CPPFLAGS += -DHAVE_UNIX_PRINT_WIDGETS
|
||||||
|
endif
|
||||||
|
|
||||||
DEPS = \
|
DEPS = \
|
||||||
$(top_builddir)/gtk/libgtk-3.la
|
$(top_builddir)/gtk/libgtk-3.la
|
||||||
|
|
||||||
|
@ -18,6 +18,10 @@
|
|||||||
*/
|
*/
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
|
|
||||||
|
#ifdef HAVE_UNIX_PRINT_WIDGETS
|
||||||
|
# include <gtk/gtkunixprint.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
main_loop_quit_cb (gpointer data)
|
main_loop_quit_cb (gpointer data)
|
||||||
{
|
{
|
||||||
@ -254,6 +258,19 @@ test_recent_chooser_widget_basic (void)
|
|||||||
gtk_widget_destroy (widget);
|
gtk_widget_destroy (widget);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef HAVE_UNIX_PRINT_WIDGETS
|
||||||
|
static void
|
||||||
|
test_page_setup_unix_dialog_basic (void)
|
||||||
|
{
|
||||||
|
GtkWidget *widget;
|
||||||
|
|
||||||
|
widget = gtk_page_setup_unix_dialog_new ("Setup your Page !", NULL);
|
||||||
|
g_assert (GTK_IS_PAGE_SETUP_UNIX_DIALOG (widget));
|
||||||
|
gtk_widget_destroy (widget);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
int
|
int
|
||||||
main (int argc, char **argv)
|
main (int argc, char **argv)
|
||||||
{
|
{
|
||||||
@ -284,5 +301,9 @@ main (int argc, char **argv)
|
|||||||
g_test_add_func ("/Template/GtkFontChooserDialog/Basic", test_font_chooser_dialog_basic);
|
g_test_add_func ("/Template/GtkFontChooserDialog/Basic", test_font_chooser_dialog_basic);
|
||||||
g_test_add_func ("/Template/GtkRecentChooserWidget/Basic", test_recent_chooser_widget_basic);
|
g_test_add_func ("/Template/GtkRecentChooserWidget/Basic", test_recent_chooser_widget_basic);
|
||||||
|
|
||||||
|
#ifdef HAVE_UNIX_PRINT_WIDGETS
|
||||||
|
g_test_add_func ("/Template/UnixPrint/GtkPageSetupUnixDialog/Basic", test_page_setup_unix_dialog_basic);
|
||||||
|
#endif
|
||||||
|
|
||||||
return g_test_run();
|
return g_test_run();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user