gedit r6106 - branches/printing/gedit



Author: pborelli
Date: Tue Jan 22 13:53:21 2008
New Revision: 6106
URL: http://svn.gnome.org/viewvc/gedit?rev=6106&view=rev

Log:
first cut at the print dialog preference widget 


Added:
   branches/printing/gedit/gedit-print-preferences.glade
Modified:
   branches/printing/gedit/Makefile.am
   branches/printing/gedit/gedit-print-job.c

Modified: branches/printing/gedit/Makefile.am
==============================================================================
--- branches/printing/gedit/Makefile.am	(original)
+++ branches/printing/gedit/Makefile.am	Tue Jan 22 13:53:21 2008
@@ -190,11 +190,16 @@
 	echo "#include \"gedit-marshal.h\"" > $@ && \
 	$(GLIB_GENMARSHAL) $< --body --prefix=gedit_marshal >> $@
 
-ui_DATA = gedit-ui.xml
 uidir = $(datadir)/gedit-2/ui/
+ui_DATA = gedit-ui.xml
+
+gladedir = $(datadir)/gedit-2/glade/
+glade_DATA =				\
+	gedit-print-preferences.glade
 
 EXTRA_DIST = 				\
 	$(ui_DATA)			\
+	$(glade_DATA)			\
 	gedit-enum-types.h.template	\
 	gedit-enum-types.c.template	\
 	gedit-marshal.list

Modified: branches/printing/gedit/gedit-print-job.c
==============================================================================
--- branches/printing/gedit/gedit-print-job.c	(original)
+++ branches/printing/gedit/gedit-print-job.c	Tue Jan 22 13:53:21 2008
@@ -38,7 +38,7 @@
 
 #include "gedit-print-job.h"
 #include "gedit-debug.h"
-#include "gedit-prefs-manager-app.h"
+#include "gedit-prefs-manager.h"
 #include "gedit-print-preview.h"
 #include "gedit-marshal.h"
 #include "gedit-utils.h"
@@ -65,6 +65,24 @@
 	gdouble			  progress;
 
 	gboolean                  is_preview;
+
+	/* widgets part of the custom print preferences widget.
+	 * These pointers are valid just when the dialog is displayed */
+	GtkWidget *syntax_checkbutton;
+	GtkWidget *page_header_checkbutton;
+	GtkWidget *line_numbers_checkbutton;
+	GtkWidget *line_numbers_hbox;
+	GtkWidget *line_numbers_spinbutton;
+	GtkWidget *text_wrapping_checkbutton;
+	GtkWidget *do_not_split_checkbutton;
+	GtkWidget *fonts_table;
+	GtkWidget *body_font_label;
+	GtkWidget *headers_font_label;
+	GtkWidget *numbers_font_label;
+	GtkWidget *body_fontbutton;
+	GtkWidget *headers_fontbutton;
+	GtkWidget *numbers_fontbutton;
+	GtkWidget *restore_button;
 };
 
 enum
@@ -85,6 +103,12 @@
 
 G_DEFINE_TYPE (GeditPrintJob, gedit_print_job, G_TYPE_OBJECT)
 
+/* these are used to keep a consistent init value
+ * of preferences not currently stored in gconf
+ * across multiple instances.
+ */
+static gboolean split_button_state = TRUE;
+static gint old_line_numbers_value = 1;
 
 static void
 set_view (GeditPrintJob *job, GeditView *view)
@@ -205,13 +229,362 @@
 	g_type_class_add_private (object_class, sizeof (GeditPrintJobPrivate));
 }
 
+static void
+syntax_checkbutton_toggled (GtkToggleButton *button,
+			    gpointer         data)
+{
+	gedit_prefs_manager_set_print_syntax_hl (gtk_toggle_button_get_active (button));
+}
+
+static void
+page_header_checkbutton_toggled (GtkToggleButton *button,
+				 gpointer         data)
+{
+	gedit_prefs_manager_set_print_header (gtk_toggle_button_get_active (button));
+}
+
+static void
+line_numbers_checkbutton_toggled (GtkToggleButton *button,
+				  GeditPrintJob   *job)
+{
+	if (gtk_toggle_button_get_active (button))
+	{
+		gtk_widget_set_sensitive (job->priv->line_numbers_hbox, 
+					  gedit_prefs_manager_print_line_numbers_can_set ());
+
+		gedit_prefs_manager_set_print_line_numbers (
+			MAX (1, gtk_spin_button_get_value_as_int (
+			   GTK_SPIN_BUTTON (job->priv->line_numbers_spinbutton))));
+	}
+	else
+	{
+		gtk_widget_set_sensitive (job->priv->line_numbers_hbox, FALSE);
+		gedit_prefs_manager_set_print_line_numbers (0);
+	}
+}
+
+static void
+line_numbers_spinbutton_value_changed (GtkSpinButton *spin_button,
+				       gpointer       data)
+{
+	old_line_numbers_value = MAX (1, gtk_spin_button_get_value_as_int (spin_button));
+	gedit_prefs_manager_set_print_line_numbers (old_line_numbers_value);
+}
+
+static void
+wrap_mode_checkbutton_toggled (GtkToggleButton *button,
+			       GeditPrintJob   *job)
+{
+	if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (job->priv->text_wrapping_checkbutton)))
+	{
+		gedit_prefs_manager_set_print_wrap_mode (GTK_WRAP_NONE);
+
+		gtk_widget_set_sensitive (job->priv->do_not_split_checkbutton, 
+					  FALSE);
+		gtk_toggle_button_set_inconsistent (
+			GTK_TOGGLE_BUTTON (job->priv->do_not_split_checkbutton),
+					   TRUE);
+	}
+	else
+	{
+		gtk_widget_set_sensitive (job->priv->do_not_split_checkbutton,
+					  TRUE);
+		gtk_toggle_button_set_inconsistent (
+			GTK_TOGGLE_BUTTON (job->priv->do_not_split_checkbutton),
+					   FALSE);
+
+		if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (job->priv->do_not_split_checkbutton)))
+		{
+			split_button_state = TRUE;
+			gedit_prefs_manager_set_print_wrap_mode (GTK_WRAP_WORD);
+		}
+		else
+		{
+			split_button_state = FALSE;
+			gedit_prefs_manager_set_print_wrap_mode (GTK_WRAP_CHAR);
+		}	
+	}
+}
+
+static void
+restore_button_clicked (GtkButton     *button,
+			GeditPrintJob *job)
+
+{
+	if (gedit_prefs_manager_print_font_body_can_set ())
+	{
+		const gchar *font;
+
+		font = gedit_prefs_manager_get_default_print_font_body ();
+
+		gtk_font_button_set_font_name (
+				GTK_FONT_BUTTON (job->priv->body_fontbutton),
+				font);
+
+		gedit_prefs_manager_set_print_font_body (font);
+	}
+	
+	if (gedit_prefs_manager_print_font_header_can_set ())
+	{
+		const gchar *font;
+
+		font = gedit_prefs_manager_get_default_print_font_header ();
+
+		gtk_font_button_set_font_name (
+				GTK_FONT_BUTTON (job->priv->headers_fontbutton),
+				font);
+
+		gedit_prefs_manager_set_print_font_header (font);
+	}
+
+	if (gedit_prefs_manager_print_font_numbers_can_set ())
+	{
+		const gchar *font;
+
+		font = gedit_prefs_manager_get_default_print_font_numbers ();
+
+		gtk_font_button_set_font_name (
+				GTK_FONT_BUTTON (job->priv->numbers_fontbutton),
+				font);
+
+		gedit_prefs_manager_set_print_font_numbers (font);
+	}
+}
+
+static void
+body_font_button_font_set (GtkFontButton *fb,
+			   gpointer       data)
+
+{
+	gedit_prefs_manager_set_print_font_body (gtk_font_button_get_font_name (fb));
+}
+
+static void
+headers_font_button_font_set (GtkFontButton *fb,
+			      gpointer       data)
+
+{
+	gedit_prefs_manager_set_print_font_header (gtk_font_button_get_font_name (fb));
+}
+
+static void
+numbers_font_button_font_set (GtkFontButton *fb,
+			      gpointer       data)
+{
+	gedit_prefs_manager_set_print_font_numbers (gtk_font_button_get_font_name (fb));
+}
+
+static GtkWidget *
+font_button_new (void)
+{
+	GtkWidget *button;
+
+	button = gtk_font_button_new ();
+
+	gtk_font_button_set_use_font (GTK_FONT_BUTTON (button), TRUE);
+	gtk_font_button_set_show_style (GTK_FONT_BUTTON (button), FALSE);
+	gtk_font_button_set_show_size (GTK_FONT_BUTTON (button), TRUE);
+
+	gtk_widget_show (button);
+
+	return button;
+}
+
 static GObject *
 create_custom_widget_cb (GtkPrintOperation *operation, 
 			 GeditPrintJob     *job)
 {
+	gboolean ret;
 	GtkWidget *widget;
+	GtkWidget *error_widget;
+	gchar *font;
+	gint line_numbers;
+	gboolean can_set;
+	GtkWrapMode wrap_mode;
+
+	ret = gedit_utils_get_glade_widgets (GEDIT_GLADEDIR "gedit-print-preferences.glade",
+					     "contents",
+					     &error_widget,
+					     "contents", &widget,
+					     "syntax_checkbutton", &job->priv->syntax_checkbutton,
+					     "line_numbers_checkbutton", &job->priv->line_numbers_checkbutton,
+					     "line_numbers_hbox", &job->priv->line_numbers_hbox,
+					     "line_numbers_spinbutton", &job->priv->line_numbers_spinbutton,
+					     "page_header_checkbutton", &job->priv->page_header_checkbutton,
+					     "text_wrapping_checkbutton", &job->priv->text_wrapping_checkbutton,
+					     "do_not_split_checkbutton", &job->priv->do_not_split_checkbutton,
+					     "fonts_table", &job->priv->fonts_table,
+					     "body_font_label", &job->priv->body_font_label,
+					     "headers_font_label", &job->priv->headers_font_label,
+					     "numbers_font_label", &job->priv->numbers_font_label,
+					     "restore_button", &job->priv->restore_button,
+					     NULL);
+
+	if (!ret)
+	{
+		return G_OBJECT (error_widget);
+	}
+
+	/* Print syntax */
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (job->priv->syntax_checkbutton),
+				      gedit_prefs_manager_get_print_syntax_hl ());
+	gtk_widget_set_sensitive (job->priv->syntax_checkbutton,
+				  gedit_prefs_manager_print_syntax_hl_can_set ());
+
+	/* Print page headers */
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (job->priv->page_header_checkbutton),
+				      gedit_prefs_manager_get_print_header ());
+	gtk_widget_set_sensitive (job->priv->page_header_checkbutton,
+				  gedit_prefs_manager_print_header_can_set ());
+
+	/* Line numbers */
+	line_numbers =  gedit_prefs_manager_get_print_line_numbers ();
+	can_set = gedit_prefs_manager_print_line_numbers_can_set ();
+
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (job->priv->line_numbers_checkbutton),
+				      line_numbers > 0);
+	gtk_widget_set_sensitive (job->priv->line_numbers_checkbutton, can_set);
+
+	if (line_numbers > 0)
+	{
+		gtk_spin_button_set_value (GTK_SPIN_BUTTON (job->priv->line_numbers_spinbutton),
+					   (guint) line_numbers);
+		gtk_widget_set_sensitive (job->priv->line_numbers_hbox, can_set);	
+	}
+	else
+	{
+		gtk_spin_button_set_value (GTK_SPIN_BUTTON (job->priv->line_numbers_spinbutton),
+					   (guint)old_line_numbers_value);
+		gtk_widget_set_sensitive (job->priv->line_numbers_hbox, FALSE);
+	}
 
-	widget = gtk_label_new ("Implement me!");
+	/* Text wrapping */
+	wrap_mode = gedit_prefs_manager_get_print_wrap_mode ();
+
+	switch (wrap_mode)
+	{
+		case GTK_WRAP_WORD:
+			gtk_toggle_button_set_active (
+				GTK_TOGGLE_BUTTON (job->priv->text_wrapping_checkbutton), TRUE);
+			gtk_toggle_button_set_active (
+				GTK_TOGGLE_BUTTON (job->priv->do_not_split_checkbutton), TRUE);
+			break;
+		case GTK_WRAP_CHAR:
+			gtk_toggle_button_set_active (
+				GTK_TOGGLE_BUTTON (job->priv->text_wrapping_checkbutton), TRUE);
+			gtk_toggle_button_set_active (
+				GTK_TOGGLE_BUTTON (job->priv->do_not_split_checkbutton), FALSE);
+			break;
+		default:
+			gtk_toggle_button_set_active (
+				GTK_TOGGLE_BUTTON (job->priv->text_wrapping_checkbutton), FALSE);
+			gtk_toggle_button_set_active (
+				GTK_TOGGLE_BUTTON (job->priv->do_not_split_checkbutton), 
+				split_button_state);
+			gtk_toggle_button_set_inconsistent (
+				GTK_TOGGLE_BUTTON (job->priv->do_not_split_checkbutton), TRUE);
+	}
+
+	can_set = gedit_prefs_manager_print_wrap_mode_can_set ();
+
+	gtk_widget_set_sensitive (job->priv->text_wrapping_checkbutton, can_set);
+	gtk_widget_set_sensitive (job->priv->do_not_split_checkbutton, 
+				  can_set && (wrap_mode != GTK_WRAP_NONE));
+
+	/* Body font button */
+	job->priv->body_fontbutton = font_button_new ();
+	gtk_table_attach_defaults (GTK_TABLE (job->priv->fonts_table), 
+				   job->priv->body_fontbutton,
+				   1, 2, 0, 1);
+
+	/* Headers font button */
+	job->priv->headers_fontbutton = font_button_new ();
+	gtk_table_attach_defaults (GTK_TABLE (job->priv->fonts_table), 
+				   job->priv->headers_fontbutton,
+				   1, 2, 2, 3);
+
+	/* Numbers font button */
+	job->priv->numbers_fontbutton = font_button_new ();
+	gtk_table_attach_defaults (GTK_TABLE (job->priv->fonts_table), 
+				   job->priv->numbers_fontbutton,
+				   1, 2, 1, 2);
+
+	gtk_label_set_mnemonic_widget (GTK_LABEL (job->priv->body_font_label), 
+				       job->priv->body_fontbutton);
+	gtk_label_set_mnemonic_widget (GTK_LABEL (job->priv->headers_font_label), 
+				       job->priv->headers_fontbutton);
+	gtk_label_set_mnemonic_widget (GTK_LABEL (job->priv->numbers_font_label), 
+				       job->priv->numbers_fontbutton);
+
+	/* Set initial values */
+	font = gedit_prefs_manager_get_print_font_body ();
+	g_print ("setting body font to %s\n", font);
+	gtk_font_button_set_font_name (GTK_FONT_BUTTON (job->priv->body_fontbutton),
+				       font);
+	g_free (font);
+
+	font = gedit_prefs_manager_get_print_font_header ();
+	gtk_font_button_set_font_name (GTK_FONT_BUTTON (job->priv->headers_fontbutton),
+				       font);
+	g_free (font);
+
+	font = gedit_prefs_manager_get_print_font_numbers ();
+	gtk_font_button_set_font_name (GTK_FONT_BUTTON (job->priv->numbers_fontbutton),
+				       font);
+	g_free (font);
+
+	can_set = gedit_prefs_manager_print_font_body_can_set ();
+	gtk_widget_set_sensitive (job->priv->body_fontbutton, can_set);
+	gtk_widget_set_sensitive (job->priv->body_font_label, can_set);
+
+	can_set = gedit_prefs_manager_print_font_header_can_set ();
+	gtk_widget_set_sensitive (job->priv->headers_fontbutton, can_set);
+	gtk_widget_set_sensitive (job->priv->headers_font_label, can_set);
+
+	can_set = gedit_prefs_manager_print_font_numbers_can_set ();
+	gtk_widget_set_sensitive (job->priv->numbers_fontbutton, can_set);
+	gtk_widget_set_sensitive (job->priv->numbers_font_label, can_set);
+
+	g_signal_connect (job->priv->syntax_checkbutton,
+			  "toggled",
+			  G_CALLBACK (syntax_checkbutton_toggled),
+			  job);
+	g_signal_connect (job->priv->page_header_checkbutton,
+			  "toggled",
+			  G_CALLBACK (page_header_checkbutton_toggled),
+			  job);
+	g_signal_connect (job->priv->line_numbers_checkbutton,
+			  "toggled",
+			  G_CALLBACK (line_numbers_checkbutton_toggled),
+			  job);
+	g_signal_connect (job->priv->line_numbers_spinbutton,
+			  "value-changed",
+			  G_CALLBACK (line_numbers_spinbutton_value_changed),
+			  job);
+	g_signal_connect (job->priv->text_wrapping_checkbutton,
+			  "toggled",
+			  G_CALLBACK (wrap_mode_checkbutton_toggled),
+			  job);
+	g_signal_connect (job->priv->do_not_split_checkbutton,
+			  "toggled",
+			  G_CALLBACK (wrap_mode_checkbutton_toggled),
+			  job);
+	g_signal_connect (job->priv->body_fontbutton,
+			  "font-set", 
+			  G_CALLBACK (body_font_button_font_set), 
+			  job);
+	g_signal_connect (job->priv->headers_fontbutton,
+			  "font-set", 
+			  G_CALLBACK (headers_font_button_font_set), 
+			  job);
+	g_signal_connect (job->priv->numbers_fontbutton,
+			  "font-set", 
+			  G_CALLBACK (numbers_font_button_font_set), 
+			  job);
+	g_signal_connect (job->priv->restore_button,
+			  "clicked",
+			  G_CALLBACK (restore_button_clicked),
+			  job);
 
 	return G_OBJECT (widget);
 }

Added: branches/printing/gedit/gedit-print-preferences.glade
==============================================================================
--- (empty file)
+++ branches/printing/gedit/gedit-print-preferences.glade	Tue Jan 22 13:53:21 2008
@@ -0,0 +1,551 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
+<!--*- mode: xml -*-->
+<glade-interface>
+  <widget class="GtkWindow" id="window1">
+    <property name="visible">True</property>
+    <property name="title" translatable="yes">window1</property>
+    <child>
+      <widget class="GtkHBox" id="contents">
+        <property name="visible">True</property>
+        <property name="spacing">12</property>
+        <child>
+          <widget class="GtkVBox" id="vbox20">
+            <property name="visible">True</property>
+            <property name="border_width">12</property>
+            <property name="spacing">18</property>
+            <child>
+              <widget class="GtkVBox" id="vbox26">
+                <property name="visible">True</property>
+                <property name="spacing">6</property>
+                <child>
+                  <widget class="GtkLabel" id="label33">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">&lt;b&gt;Syntax Highlighting&lt;/b&gt;</property>
+                    <property name="use_markup">True</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkHBox" id="hbox21">
+                    <property name="visible">True</property>
+                    <child>
+                      <widget class="GtkLabel" id="label34">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">    </property>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkVBox" id="vbox27">
+                        <property name="visible">True</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <widget class="GtkCheckButton" id="syntax_checkbutton">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="label" translatable="yes">Print synta_x highlighting</property>
+                            <property name="use_underline">True</property>
+                            <property name="response_id">0</property>
+                            <property name="draw_indicator">True</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkVBox" id="vbox22">
+                <property name="visible">True</property>
+                <property name="spacing">6</property>
+                <child>
+                  <widget class="GtkLabel" id="label27">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">&lt;b&gt;Line Numbers&lt;/b&gt;</property>
+                    <property name="use_markup">True</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkHBox" id="hbox17">
+                    <property name="visible">True</property>
+                    <child>
+                      <widget class="GtkLabel" id="label28">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">    </property>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkVBox" id="vbox23">
+                        <property name="visible">True</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <widget class="GtkCheckButton" id="line_numbers_checkbutton">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="label" translatable="yes">Print _line numbers</property>
+                            <property name="use_underline">True</property>
+                            <property name="response_id">0</property>
+                            <property name="draw_indicator">True</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkHBox" id="line_numbers_hbox">
+                            <property name="visible">True</property>
+                            <property name="spacing">6</property>
+                            <child>
+                              <widget class="GtkLabel" id="label29">
+                                <property name="visible">True</property>
+                                <property name="xalign">0.47999998927116394</property>
+                                <property name="label" translatable="yes">_Number every</property>
+                                <property name="use_underline">True</property>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkSpinButton" id="line_numbers_spinbutton">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="adjustment">1 1 100 1 10 10</property>
+                                <property name="climb_rate">1</property>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="label30">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">lines</property>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">2</property>
+                              </packing>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkVBox" id="vbox24">
+                <property name="visible">True</property>
+                <property name="spacing">6</property>
+                <child>
+                  <widget class="GtkLabel" id="label31">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">&lt;b&gt;Text Wrapping&lt;/b&gt;</property>
+                    <property name="use_markup">True</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkHBox" id="hbox19">
+                    <property name="visible">True</property>
+                    <child>
+                      <widget class="GtkLabel" id="label32">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">    </property>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkVBox" id="vbox25">
+                        <property name="visible">True</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <widget class="GtkCheckButton" id="text_wrapping_checkbutton">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="label" translatable="yes">Enable text _wrapping</property>
+                            <property name="use_underline">True</property>
+                            <property name="response_id">0</property>
+                            <property name="draw_indicator">True</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkHBox" id="hbox20">
+                            <property name="visible">True</property>
+                            <child>
+                              <widget class="GtkCheckButton" id="do_not_split_checkbutton">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="label" translatable="yes">Do not _split words over two lines</property>
+                                <property name="use_underline">True</property>
+                                <property name="response_id">0</property>
+                                <property name="draw_indicator">True</property>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                              </packing>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkVBox" id="vbox39">
+                <property name="visible">True</property>
+                <property name="spacing">6</property>
+                <child>
+                  <widget class="GtkLabel" id="label45">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">&lt;b&gt;Page header&lt;/b&gt;</property>
+                    <property name="use_markup">True</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkHBox" id="hbox27">
+                    <property name="visible">True</property>
+                    <child>
+                      <widget class="GtkLabel" id="label46">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">    </property>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkVBox" id="vbox40">
+                        <property name="visible">True</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <widget class="GtkCheckButton" id="page_header_checkbutton">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="label" translatable="yes">_Print page headers</property>
+                            <property name="use_underline">True</property>
+                            <property name="response_id">0</property>
+                            <property name="draw_indicator">True</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="position">3</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkVBox" id="vbox36">
+            <property name="visible">True</property>
+            <property name="border_width">12</property>
+            <child>
+              <widget class="GtkVBox" id="vbox37">
+                <property name="visible">True</property>
+                <property name="spacing">6</property>
+                <child>
+                  <widget class="GtkLabel" id="label43">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">&lt;b&gt;Fonts&lt;/b&gt;</property>
+                    <property name="use_markup">True</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkHBox" id="hbox26">
+                    <property name="visible">True</property>
+                    <child>
+                      <widget class="GtkLabel" id="label44">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">    </property>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkVBox" id="vbox38">
+                        <property name="visible">True</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <widget class="GtkVBox" id="vbox41">
+                            <property name="visible">True</property>
+                            <property name="spacing">12</property>
+                            <child>
+                              <widget class="GtkTable" id="fonts_table">
+                                <property name="visible">True</property>
+                                <property name="n_rows">3</property>
+                                <property name="n_columns">2</property>
+                                <property name="column_spacing">12</property>
+                                <property name="row_spacing">12</property>
+                                <child>
+                                  <widget class="GtkFontButton" id="fontbutton3">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="response_id">0</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="left_attach">1</property>
+                                    <property name="right_attach">2</property>
+                                    <property name="top_attach">2</property>
+                                    <property name="bottom_attach">3</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"></property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkFontButton" id="fontbutton2">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="response_id">0</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="left_attach">1</property>
+                                    <property name="right_attach">2</property>
+                                    <property name="top_attach">1</property>
+                                    <property name="bottom_attach">2</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"></property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkFontButton" id="fontbutton1">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="response_id">0</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="left_attach">1</property>
+                                    <property name="right_attach">2</property>
+                                    <property name="y_options"></property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkLabel" id="headers_font_label">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">He_aders and footers:</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="mnemonic_widget">fontbutton3</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="top_attach">2</property>
+                                    <property name="bottom_attach">3</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"></property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkLabel" id="numbers_font_label">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">_Line numbers:</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="mnemonic_widget">fontbutton2</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="top_attach">1</property>
+                                    <property name="bottom_attach">2</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"></property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkLabel" id="body_font_label">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">_Body:</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="mnemonic_widget">fontbutton1</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"></property>
+                                  </packing>
+                                </child>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="label50">
+                                <property name="visible">True</property>
+                              </widget>
+                              <packing>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkHBox" id="hbox28">
+                                <property name="visible">True</property>
+                                <child>
+                                  <widget class="GtkLabel" id="label51">
+                                    <property name="visible">True</property>
+                                  </widget>
+                                </child>
+                                <child>
+                                  <widget class="GtkButton" id="restore_button">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="label" translatable="yes">_Restore Default Fonts</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="response_id">0</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="position">2</property>
+                              </packing>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </widget>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkLabel" id="label52">
+            <property name="visible">True</property>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+</glade-interface>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]