Add a tooltip explaining the format of page ranges, and improve the page
2006-12-19 Matthias Clasen <mclasen@redhat.com> * gtk/gtkprintunixdialog.c: Add a tooltip explaining the format of page ranges, and improve the page sequence icon for the case of n_copies == 1.
This commit is contained in:

committed by
Matthias Clasen

parent
2148567e8a
commit
ce503485cb
@ -1,3 +1,9 @@
|
|||||||
|
2006-12-19 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkprintunixdialog.c: Add a tooltip explaining the
|
||||||
|
format of page ranges, and improve the page sequence icon
|
||||||
|
for the case of n_copies == 1.
|
||||||
|
|
||||||
2006-12-19 Mikael Hallendal <micke@imendio.com>
|
2006-12-19 Mikael Hallendal <micke@imendio.com>
|
||||||
|
|
||||||
* gdk/quartz/gdkcursor-quartz.c: Splitted out the GdkPixbuf to NSImage
|
* gdk/quartz/gdkcursor-quartz.c: Splitted out the GdkPixbuf to NSImage
|
||||||
|
@ -45,6 +45,8 @@
|
|||||||
#include "gtkframe.h"
|
#include "gtkframe.h"
|
||||||
#include "gtkalignment.h"
|
#include "gtkalignment.h"
|
||||||
#include "gtklabel.h"
|
#include "gtklabel.h"
|
||||||
|
#include "gtktooltips.h"
|
||||||
|
#include "gtkeventbox.h"
|
||||||
|
|
||||||
#include "gtkprintbackend.h"
|
#include "gtkprintbackend.h"
|
||||||
#include "gtkprinter-private.h"
|
#include "gtkprinter-private.h"
|
||||||
@ -87,6 +89,7 @@ static void update_collate_icon (GtkToggleButton *toggle_b
|
|||||||
GtkPrintUnixDialog *dialog);
|
GtkPrintUnixDialog *dialog);
|
||||||
static gboolean dialog_get_collate (GtkPrintUnixDialog *dialog);
|
static gboolean dialog_get_collate (GtkPrintUnixDialog *dialog);
|
||||||
static gboolean dialog_get_reverse (GtkPrintUnixDialog *dialog);
|
static gboolean dialog_get_reverse (GtkPrintUnixDialog *dialog);
|
||||||
|
static gint dialog_get_n_copies (GtkPrintUnixDialog *dialog);
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
PROP_0,
|
PROP_0,
|
||||||
@ -120,6 +123,7 @@ struct GtkPrintUnixDialogPrivate
|
|||||||
|
|
||||||
GtkPageSetup *page_setup;
|
GtkPageSetup *page_setup;
|
||||||
|
|
||||||
|
GtkTooltips *tooltips;
|
||||||
GtkWidget *all_pages_radio;
|
GtkWidget *all_pages_radio;
|
||||||
GtkWidget *current_page_radio;
|
GtkWidget *current_page_radio;
|
||||||
GtkWidget *page_range_radio;
|
GtkWidget *page_range_radio;
|
||||||
@ -267,6 +271,9 @@ gtk_print_unix_dialog_init (GtkPrintUnixDialog *dialog)
|
|||||||
priv->print_backends = NULL;
|
priv->print_backends = NULL;
|
||||||
priv->current_page = -1;
|
priv->current_page = -1;
|
||||||
|
|
||||||
|
priv->tooltips = gtk_tooltips_new ();
|
||||||
|
g_object_ref_sink (priv->tooltips);
|
||||||
|
|
||||||
priv->page_setup = gtk_page_setup_new ();
|
priv->page_setup = gtk_page_setup_new ();
|
||||||
|
|
||||||
g_signal_connect (dialog,
|
g_signal_connect (dialog,
|
||||||
@ -308,6 +315,12 @@ gtk_print_unix_dialog_finalize (GObject *object)
|
|||||||
|
|
||||||
unschedule_idle_mark_conflicts (dialog);
|
unschedule_idle_mark_conflicts (dialog);
|
||||||
|
|
||||||
|
if (priv->tooltips)
|
||||||
|
{
|
||||||
|
g_object_unref (priv->tooltips);
|
||||||
|
priv->tooltips = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
if (priv->request_details_tag)
|
if (priv->request_details_tag)
|
||||||
{
|
{
|
||||||
g_source_remove (priv->request_details_tag);
|
g_source_remove (priv->request_details_tag);
|
||||||
@ -1333,10 +1346,13 @@ draw_collate_cb (GtkWidget *widget,
|
|||||||
gint size;
|
gint size;
|
||||||
gfloat scale;
|
gfloat scale;
|
||||||
gboolean collate, reverse, rtl;
|
gboolean collate, reverse, rtl;
|
||||||
|
gint copies;
|
||||||
gint text_x;
|
gint text_x;
|
||||||
|
|
||||||
collate = dialog_get_collate (dialog);
|
collate = dialog_get_collate (dialog);
|
||||||
reverse = dialog_get_reverse (dialog);
|
reverse = dialog_get_reverse (dialog);
|
||||||
|
copies = dialog_get_n_copies (dialog);
|
||||||
|
|
||||||
rtl = (gtk_widget_get_direction (GTK_WIDGET (widget)) == GTK_TEXT_DIR_RTL);
|
rtl = (gtk_widget_get_direction (GTK_WIDGET (widget)) == GTK_TEXT_DIR_RTL);
|
||||||
|
|
||||||
settings = gtk_widget_get_settings (widget);
|
settings = gtk_widget_get_settings (widget);
|
||||||
@ -1349,12 +1365,20 @@ draw_collate_cb (GtkWidget *widget,
|
|||||||
|
|
||||||
cr = gdk_cairo_create (widget->window);
|
cr = gdk_cairo_create (widget->window);
|
||||||
|
|
||||||
paint_page (widget, cr, scale, rtl ? 40: 15, 5, collate == reverse ? "1" : "2", text_x);
|
if (copies == 1)
|
||||||
paint_page (widget, cr, scale, rtl ? 50: 5, 15, reverse ? "2" : "1", text_x);
|
{
|
||||||
|
paint_page (widget, cr, scale, rtl ? 40: 15, 5, reverse ? "1" : "2", text_x);
|
||||||
|
paint_page (widget, cr, scale, rtl ? 50: 5, 15, reverse ? "2" : "1", text_x);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
paint_page (widget, cr, scale, rtl ? 40: 15, 5, collate == reverse ? "1" : "2", text_x);
|
||||||
|
paint_page (widget, cr, scale, rtl ? 50: 5, 15, reverse ? "2" : "1", text_x);
|
||||||
|
|
||||||
|
paint_page (widget, cr, scale, rtl ? 5 : 50, 5, reverse ? "1" : "2", text_x);
|
||||||
|
paint_page (widget, cr, scale, rtl ? 15 : 40, 15, collate == reverse ? "2" : "1", text_x);
|
||||||
|
}
|
||||||
|
|
||||||
paint_page (widget, cr, scale, rtl ? 5 : 50, 5, reverse ? "1" : "2", text_x);
|
|
||||||
paint_page (widget, cr, scale, rtl ? 15 : 40, 15, collate == reverse ? "2" : "1", text_x);
|
|
||||||
|
|
||||||
cairo_destroy (cr);
|
cairo_destroy (cr);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@ -1405,7 +1429,7 @@ create_main_page (GtkPrintUnixDialog *dialog)
|
|||||||
GtkPrintUnixDialogPrivate *priv = dialog->priv;
|
GtkPrintUnixDialogPrivate *priv = dialog->priv;
|
||||||
GtkWidget *main_vbox, *label, *vbox, *hbox;
|
GtkWidget *main_vbox, *label, *vbox, *hbox;
|
||||||
GtkWidget *scrolled, *treeview, *frame, *table;
|
GtkWidget *scrolled, *treeview, *frame, *table;
|
||||||
GtkWidget *entry, *spinbutton;
|
GtkWidget *entry, *spinbutton, *event_box;
|
||||||
GtkWidget *radio, *check, *image;
|
GtkWidget *radio, *check, *image;
|
||||||
GtkCellRenderer *renderer;
|
GtkCellRenderer *renderer;
|
||||||
GtkTreeViewColumn *column;
|
GtkTreeViewColumn *column;
|
||||||
@ -1505,8 +1529,10 @@ create_main_page (GtkPrintUnixDialog *dialog)
|
|||||||
gtk_table_attach (GTK_TABLE (table), radio,
|
gtk_table_attach (GTK_TABLE (table), radio,
|
||||||
0, 2, 1, 2, GTK_FILL, 0,
|
0, 2, 1, 2, GTK_FILL, 0,
|
||||||
0, 0);
|
0, 0);
|
||||||
radio = gtk_radio_button_new_with_mnemonic (gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio)),
|
|
||||||
_("Ra_nge: "));
|
radio = gtk_radio_button_new_with_mnemonic (gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio)), _("Ra_nge"));
|
||||||
|
gtk_tooltips_set_tip (priv->tooltips, radio, _("Specify one or more page ranges,\n e.g. 1-3,7,11"), NULL);
|
||||||
|
|
||||||
priv->page_range_radio = radio;
|
priv->page_range_radio = radio;
|
||||||
gtk_widget_show (radio);
|
gtk_widget_show (radio);
|
||||||
gtk_table_attach (GTK_TABLE (table), radio,
|
gtk_table_attach (GTK_TABLE (table), radio,
|
||||||
|
Reference in New Issue
Block a user