[gnome-control-center] wacom: Show "stand-by" page when Wacom not available



commit 4ef431c34f8c5b6e3d3219382cb2ef298052b336
Author: Bastien Nocera <hadess hadess net>
Date:   Mon Sep 19 17:06:53 2011 +0100

    wacom: Show "stand-by" page when Wacom not available
    
    https://bugzilla.gnome.org/show_bug.cgi?id=657424

 panels/wacom/cc-wacom-panel.c          |  107 +++++-
 panels/wacom/gnome-wacom-properties.ui |  712 +++++++++++++++++---------------
 2 files changed, 486 insertions(+), 333 deletions(-)
---
diff --git a/panels/wacom/cc-wacom-panel.c b/panels/wacom/cc-wacom-panel.c
index edec43b..45b477b 100644
--- a/panels/wacom/cc-wacom-panel.c
+++ b/panels/wacom/cc-wacom-panel.c
@@ -40,10 +40,19 @@ G_DEFINE_DYNAMIC_TYPE (CcWacomPanel, cc_wacom_panel, CC_TYPE_PANEL)
 struct _CcWacomPanelPrivate
 {
 	GtkBuilder  *builder;
+	GtkWidget   *notebook;
 	GSettings   *wacom_settings;
 	GSettings   *stylus_settings;
 	GSettings   *eraser_settings;
 	/* The UI doesn't support cursor/pad at the moment */
+	GdkDeviceManager *manager;
+	guint             device_added_id;
+	guint             device_removed_id;
+};
+
+enum {
+	PLUG_IN_PAGE,
+	WACOM_PAGE
 };
 
 /* Button combo box storage columns */
@@ -370,6 +379,13 @@ cc_wacom_panel_dispose (GObject *object)
 		priv->eraser_settings = NULL;
 	}
 
+	if (priv->manager)
+	{
+		g_signal_handler_disconnect (priv->manager, priv->device_added_id);
+		g_signal_handler_disconnect (priv->manager, priv->device_removed_id);
+		priv->manager = NULL;
+	}
+
 	G_OBJECT_CLASS (cc_wacom_panel_parent_class)->dispose (object);
 }
 
@@ -397,16 +413,85 @@ cc_wacom_panel_class_finalize (CcWacomPanelClass *klass)
 {
 }
 
+static gboolean
+has_wacom_tablet (CcWacomPanel *self)
+{
+	GList *list, *l;
+	gboolean retval;
+
+	retval = FALSE;
+	list = gdk_device_manager_list_devices (self->priv->manager,
+						GDK_DEVICE_TYPE_SLAVE);
+	for (l = list; l != NULL; l = l->next)
+	{
+		GdkDevice *device = l->data;
+		GdkInputSource source;
+
+		source = gdk_device_get_source (device);
+		if (source == GDK_SOURCE_PEN ||
+		    source == GDK_SOURCE_ERASER)
+		{
+			retval = TRUE;
+			break;
+		}
+	}
+	g_list_free (list);
+	return retval;
+}
+
+static void
+update_current_page (CcWacomPanel *self)
+{
+	gtk_notebook_set_current_page (GTK_NOTEBOOK (self->priv->notebook),
+				       has_wacom_tablet (self) ? WACOM_PAGE : PLUG_IN_PAGE);
+}
+
+static void
+device_changed_cb (GdkDeviceManager *manager,
+		   GdkDevice        *device,
+		   CcWacomPanel     *self)
+{
+	update_current_page (self);
+}
+
+static gboolean
+link_activated (GtkLinkButton *button,
+		CcWacomPanel  *self)
+{
+	CcShell *shell;
+	GError *error = NULL;
+
+	shell = cc_panel_get_shell (CC_PANEL (self));
+	if (cc_shell_set_active_panel_from_id (shell, "bluetooth", NULL, &error) == FALSE)
+	{
+		g_warning ("Failed to activate Bluetooth panel: %s", error->message);
+		g_error_free (error);
+	}
+	return TRUE;
+}
+
+static void
+enbiggen_label (GtkLabel *label)
+{
+	const char *str;
+	char *new_str;
+
+	str = gtk_label_get_text (label);
+	new_str = g_strdup_printf ("<big>%s</big>", str);
+	gtk_label_set_markup (label, new_str);
+	g_free (new_str);
+}
+
 static void
 cc_wacom_panel_init (CcWacomPanel *self)
 {
 	CcWacomPanelPrivate *priv;
-	GtkWidget *grid;
+	GtkWidget *notebook;
 	GError *error = NULL;
 	GtkComboBox *combo;
 	GtkSwitch *sw;
 	char *objects[] = {
-		"main-grid",
+		"main-notebook",
 		"liststore-tabletmode",
 		"liststore-buttons",
 		"adjustment-tip-feel",
@@ -430,9 +515,11 @@ cc_wacom_panel_init (CcWacomPanel *self)
 		return;
 	}
 
-	grid = WID ("main-grid");
-	gtk_container_add (GTK_CONTAINER (self), grid);
-	gtk_container_set_border_width (GTK_CONTAINER (grid), 24);
+	notebook = WID ("main-notebook");
+	gtk_container_add (GTK_CONTAINER (self), notebook);
+	gtk_widget_set_vexpand (GTK_WIDGET (notebook), TRUE);
+	gtk_container_set_border_width (GTK_CONTAINER (notebook), 24);
+	priv->notebook = notebook;
 
 	priv->wacom_settings  = g_settings_new (WACOM_SCHEMA);
 	priv->stylus_settings = g_settings_new (WACOM_STYLUS_SCHEMA);
@@ -471,6 +558,16 @@ cc_wacom_panel_init (CcWacomPanel *self)
 
 	gtk_image_set_from_file (GTK_IMAGE (WID ("image-tablet")), PIXMAP_DIR "/wacom-tablet.svg");
 	gtk_image_set_from_file (GTK_IMAGE (WID ("image-stylus")), PIXMAP_DIR "/wacom-stylus.svg");
+
+	enbiggen_label (GTK_LABEL (WID ("advice-label1")));
+	priv->manager = gdk_display_get_device_manager (gdk_display_get_default ());
+	priv->device_added_id = g_signal_connect (G_OBJECT (priv->manager), "device-added",
+						  G_CALLBACK (device_changed_cb), self);
+	priv->device_removed_id = g_signal_connect (G_OBJECT (priv->manager), "device-removed",
+						    G_CALLBACK (device_changed_cb), self);
+	g_signal_connect (G_OBJECT (WID ("linkbutton")), "activate-link",
+			  G_CALLBACK (link_activated), self);
+	update_current_page (self);
 }
 
 void
diff --git a/panels/wacom/gnome-wacom-properties.ui b/panels/wacom/gnome-wacom-properties.ui
index 3cf4c92..72b1391 100644
--- a/panels/wacom/gnome-wacom-properties.ui
+++ b/panels/wacom/gnome-wacom-properties.ui
@@ -81,6 +81,7 @@
   </object>
   <object class="GtkDialog" id="wacom_properties_dialog">
     <property name="can_focus">False</property>
+    <property name="vexpand">True</property>
     <property name="border_width">5</property>
     <property name="title" translatable="yes">Tablet Preferences</property>
     <property name="resizable">False</property>
@@ -138,421 +139,476 @@
           </packing>
         </child>
         <child>
-          <object class="GtkGrid" id="main-grid">
+          <object class="GtkNotebook" id="main-notebook">
             <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <child>
-              <object class="GtkImage" id="image-tablet">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="icon_name">input-tablet</property>
-              </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">0</property>
-                <property name="width">1</property>
-                <property name="height">3</property>
-              </packing>
-            </child>
+            <property name="can_focus">True</property>
+            <property name="vexpand">True</property>
+            <property name="show_tabs">False</property>
             <child>
-              <object class="GtkImage" id="image-stylus">
+              <object class="GtkBox" id="box3">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="halign">end</property>
-                <property name="valign">center</property>
-                <property name="stock">gtk-missing-image</property>
+                <property name="vexpand">True</property>
+                <property name="orientation">vertical</property>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="advice-label1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="vexpand">True</property>
+                    <property name="yalign">1</property>
+                    <property name="label" translatable="yes">No tablet detected</property>
+                    <property name="justify">center</property>
+                    <property name="use_markup">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="advice-label2">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="vexpand">True</property>
+                    <property name="yalign">0</property>
+                    <property name="label" translatable="yes">Please plug in or turn on your Wacom tablet</property>
+                    <property name="justify">center</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <object class="GtkLinkButton" id="linkbutton">
+                    <property name="label" translatable="yes">Bluetooth Settings</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">True</property>
+                    <property name="has_tooltip">True</property>
+                    <property name="halign">end</property>
+                    <property name="valign">end</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="relief">none</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">5</property>
+                  </packing>
+                </child>
               </object>
               <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">5</property>
-                <property name="width">2</property>
-                <property name="height">4</property>
+                <property name="tab_expand">True</property>
               </packing>
             </child>
-            <child>
-              <object class="GtkComboBox" id="combo-tabletmode">
+            <child type="tab">
+              <object class="GtkLabel" id="label4">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="valign">center</property>
-                <property name="model">liststore-tabletmode</property>
+                <property name="label">Plugin</property>
               </object>
               <packing>
-                <property name="left_attach">3</property>
-                <property name="top_attach">1</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
+                <property name="tab_fill">False</property>
               </packing>
             </child>
             <child>
-              <object class="GtkLabel" id="label-trackingmode">
+              <object class="GtkGrid" id="main-grid">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="halign">end</property>
-                <property name="valign">center</property>
-                <property name="margin_right">10</property>
-                <property name="xpad">3</property>
-                <property name="label" translatable="yes">Tracking Mode</property>
-                <property name="justify">right</property>
-                <style>
-                    <class name="dim-label"/>
-                </style>
-              </object>
-              <packing>
-                <property name="left_attach">2</property>
-                <property name="top_attach">1</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="button-calibrate">
-                <property name="label" translatable="yes">Calibrate...</property>
-                <property name="visible">False</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
-                <property name="halign">start</property>
-                <property name="valign">center</property>
-                <property name="use_action_appearance">False</property>
-              </object>
-              <packing>
-                <property name="left_attach">3</property>
-                <property name="top_attach">2</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
-            </child>
-            <child>
-                <object class="GtkLabel" id="label-left-handed">
+                <child>
+                  <object class="GtkImage" id="image-tablet">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">Left-Handed Orientation:</property>
+                    <property name="icon_name">input-tablet</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
+                    <property name="width">1</property>
+                    <property name="height">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkImage" id="image-stylus">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">end</property>
+                    <property name="valign">center</property>
+                    <property name="stock">gtk-missing-image</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">5</property>
+                    <property name="width">2</property>
+                    <property name="height">4</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkComboBox" id="combo-tabletmode">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="valign">center</property>
+                    <property name="model">liststore-tabletmode</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">3</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label-trackingmode">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">end</property>
+                    <property name="valign">center</property>
+                    <property name="margin_right">10</property>
+                    <property name="xpad">3</property>
+                    <property name="label" translatable="yes">Tracking Mode</property>
+                    <property name="justify">right</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkButton" id="button-calibrate">
+                    <property name="label" translatable="yes">Calibrate...</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">True</property>
                     <property name="halign">start</property>
                     <property name="valign">center</property>
-                </object>
-                <packing>
+                    <property name="use_action_appearance">False</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">3</property>
+                    <property name="top_attach">2</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label-left-handed">
+                    <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">Left-Handed Orientation:</property>
+                  </object>
+                  <packing>
                     <property name="left_attach">3</property>
                     <property name="top_attach">3</property>
                     <property name="width">2</property>
                     <property name="height">1</property>
-                </packing>
-            </child>
-            <child>
-                <object class="GtkSwitch" id="switch-left-handed">
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkSwitch" id="switch-left-handed">
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="halign">end</property>
                     <property name="valign">center</property>
                     <property name="use_action_appearance">False</property>
-                </object>
-                <packing>
+                  </object>
+                  <packing>
                     <property name="left_attach">3</property>
                     <property name="top_attach">3</property>
                     <property name="width">1</property>
                     <property name="height">1</property>
-                </packing>
-            </child>
-            <child>
-              <object class="GtkBox" id="box2">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
+                  </packing>
+                </child>
                 <child>
-                  <object class="GtkLabel" id="label-eraser-soft">
+                  <object class="GtkBox" id="box2">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">Soft</property>
-                    <attributes>
-                      <attribute name="style" value="italic"/>
-                      <attribute name="scale" value="0.82999999999999996"/>
-                    </attributes>
+                    <child>
+                      <object class="GtkLabel" id="label-eraser-soft">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes">Soft</property>
+                        <attributes>
+                          <attribute name="style" value="italic"/>
+                          <attribute name="scale" value="0.82999999999999996"/>
+                        </attributes>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkScale" id="scale-eraser-feel">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="valign">center</property>
+                        <property name="margin_left">10</property>
+                        <property name="margin_right">10</property>
+                        <property name="adjustment">adjustment-eraser-feel</property>
+                        <property name="digits">0</property>
+                        <property name="draw_value">False</property>
+                      </object>
+                      <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="label-eraser-firm">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes">Firm</property>
+                        <attributes>
+                          <attribute name="style" value="italic"/>
+                          <attribute name="scale" value="0.82999999999999996"/>
+                        </attributes>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
                   </object>
                   <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">0</property>
+                    <property name="left_attach">3</property>
+                    <property name="top_attach">5</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkScale" id="scale-eraser-feel">
+                  <object class="GtkLabel" id="label-eraser-feel">
                     <property name="visible">True</property>
-                    <property name="can_focus">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">end</property>
                     <property name="valign">center</property>
-                    <property name="margin_left">10</property>
                     <property name="margin_right">10</property>
-                    <property name="adjustment">adjustment-eraser-feel</property>
-                    <property name="digits">0</property>
-                    <property name="draw_value">False</property>
+                    <property name="label" translatable="yes">Eraser Pressure Feel</property>
+                    <property name="justify">right</property>
                   </object>
                   <packing>
-                    <property name="expand">True</property>
-                    <property name="fill">True</property>
-                    <property name="position">1</property>
+                    <property name="left_attach">2</property>
+                    <property name="top_attach">5</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkLabel" id="label-eraser-firm">
+                  <object class="GtkComboBox" id="combo-topbutton">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">Firm</property>
-                    <attributes>
-                      <attribute name="style" value="italic"/>
-                      <attribute name="scale" value="0.82999999999999996"/>
-                    </attributes>
+                    <property name="valign">center</property>
+                    <property name="model">liststore-buttons</property>
                   </object>
                   <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">2</property>
+                    <property name="left_attach">3</property>
+                    <property name="top_attach">6</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
-              </object>
-              <packing>
-                <property name="left_attach">3</property>
-                <property name="top_attach">5</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="label-eraser-feel">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="halign">end</property>
-                <property name="valign">center</property>
-                <property name="margin_right">10</property>
-                <property name="label" translatable="yes">Eraser Pressure Feel</property>
-                <property name="justify">right</property>
-                <style>
-                    <class name="dim-label"/>
-                </style>
-              </object>
-              <packing>
-                <property name="left_attach">2</property>
-                <property name="top_attach">5</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkComboBox" id="combo-topbutton">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="valign">center</property>
-                <property name="model">liststore-buttons</property>
-              </object>
-              <packing>
-                <property name="left_attach">3</property>
-                <property name="top_attach">6</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkComboBox" id="combo-bottombutton">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="valign">center</property>
-                <property name="model">liststore-buttons</property>
-              </object>
-              <packing>
-                <property name="left_attach">3</property>
-                <property name="top_attach">7</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkBox" id="box1">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
                 <child>
-                  <object class="GtkLabel" id="label-tip-soft">
+                  <object class="GtkComboBox" id="combo-bottombutton">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">Soft</property>
-                    <attributes>
-                      <attribute name="style" value="italic"/>
-                      <attribute name="scale" value="0.82999999999999996"/>
-                    </attributes>
+                    <property name="valign">center</property>
+                    <property name="model">liststore-buttons</property>
                   </object>
                   <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">0</property>
+                    <property name="left_attach">3</property>
+                    <property name="top_attach">7</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkScale" id="scale-tip-feel">
+                  <object class="GtkBox" id="box1">
                     <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="margin_left">10</property>
+                    <property name="can_focus">False</property>
+                    <child>
+                      <object class="GtkLabel" id="label-tip-soft">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes">Soft</property>
+                        <attributes>
+                          <attribute name="style" value="italic"/>
+                          <attribute name="scale" value="0.82999999999999996"/>
+                        </attributes>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkScale" id="scale-tip-feel">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="margin_left">10</property>
+                        <property name="margin_right">10</property>
+                        <property name="adjustment">adjustment-tip-feel</property>
+                        <property name="digits">0</property>
+                        <property name="draw_value">False</property>
+                      </object>
+                      <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="label-tip-firm">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes">Firm</property>
+                        <attributes>
+                          <attribute name="style" value="italic"/>
+                          <attribute name="scale" value="0.82999999999999996"/>
+                        </attributes>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="left_attach">3</property>
+                    <property name="top_attach">8</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label-lower-button">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">end</property>
+                    <property name="valign">center</property>
                     <property name="margin_right">10</property>
-                    <property name="adjustment">adjustment-tip-feel</property>
-                    <property name="digits">0</property>
-                    <property name="draw_value">False</property>
+                    <property name="label" translatable="yes">Lower Button</property>
+                    <property name="justify">right</property>
                   </object>
                   <packing>
-                    <property name="expand">True</property>
-                    <property name="fill">True</property>
-                    <property name="position">1</property>
+                    <property name="left_attach">2</property>
+                    <property name="top_attach">7</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkLabel" id="label-tip-firm">
+                  <object class="GtkLabel" id="label-tip-feel">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">Firm</property>
+                    <property name="halign">end</property>
+                    <property name="valign">center</property>
+                    <property name="margin_right">10</property>
+                    <property name="label" translatable="yes">Tip Pressure Feel</property>
+                    <property name="justify">right</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="top_attach">8</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label-top-button">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">end</property>
+                    <property name="valign">center</property>
+                    <property name="margin_right">10</property>
+                    <property name="label" translatable="yes">Top Button</property>
+                    <property name="justify">right</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="top_attach">6</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label-stylus">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">start</property>
+                    <property name="valign">center</property>
+                    <property name="margin_left">10</property>
+                    <property name="label" translatable="yes">Stylus</property>
                     <attributes>
-                      <attribute name="style" value="italic"/>
-                      <attribute name="scale" value="0.82999999999999996"/>
+                      <attribute name="weight" value="bold"/>
                     </attributes>
                   </object>
                   <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">2</property>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">4</property>
+                    <property name="width">2</property>
+                    <property name="height">1</property>
                   </packing>
                 </child>
+                <child>
+                  <object class="GtkLabel" id="label-tabletmodel">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">start</property>
+                    <property name="valign">center</property>
+                    <property name="margin_left">10</property>
+                    <property name="xpad">3</property>
+                    <property name="label" translatable="yes">Wacom Tablet</property>
+                    <attributes>
+                      <attribute name="weight" value="bold"/>
+                    </attributes>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">0</property>
+                    <property name="width">2</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
               </object>
               <packing>
-                <property name="left_attach">3</property>
-                <property name="top_attach">8</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="label-lower-button">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="halign">end</property>
-                <property name="valign">center</property>
-                <property name="margin_right">10</property>
-                <property name="label" translatable="yes">Lower Button</property>
-                <property name="justify">right</property>
-                <style>
-                    <class name="dim-label"/>
-                </style>
-              </object>
-              <packing>
-                <property name="left_attach">2</property>
-                <property name="top_attach">7</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="label-tip-feel">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="halign">end</property>
-                <property name="valign">center</property>
-                <property name="margin_right">10</property>
-                <property name="label" translatable="yes">Tip Pressure Feel</property>
-                <property name="justify">right</property>
-                <style>
-                    <class name="dim-label"/>
-                </style>
-              </object>
-              <packing>
-                <property name="left_attach">2</property>
-                <property name="top_attach">8</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="label-top-button">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="halign">end</property>
-                <property name="valign">center</property>
-                <property name="margin_right">10</property>
-                <property name="label" translatable="yes">Top Button</property>
-                <property name="justify">right</property>
-                <style>
-                    <class name="dim-label"/>
-                </style>
-              </object>
-              <packing>
-                <property name="left_attach">2</property>
-                <property name="top_attach">6</property>
-                <property name="width">1</property>
-                <property name="height">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="label-stylus">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="halign">start</property>
-                <property name="valign">center</property>
-                <property name="margin_left">10</property>
-                <property name="label" translatable="yes">Stylus</property>
-                <attributes>
-                  <attribute name="weight" value="bold"/>
-                </attributes>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="top_attach">4</property>
-                <property name="width">2</property>
-                <property name="height">1</property>
+                <property name="position">1</property>
               </packing>
             </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <object class="GtkLabel" id="label-tabletmodel">
+            <child type="tab">
+              <object class="GtkLabel" id="label1">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="halign">start</property>
-                <property name="valign">center</property>
-                <property name="margin_left">10</property>
-                <property name="xpad">3</property>
-                <property name="label" translatable="yes">Wacom Tablet</property>
-                <attributes>
-                  <attribute name="weight" value="bold"/>
-                </attributes>
+                <property name="label">Wacom</property>
               </object>
               <packing>
-                <property name="left_attach">1</property>
-                <property name="top_attach">0</property>
-                <property name="width">2</property>
-                <property name="height">1</property>
+                <property name="position">1</property>
+                <property name="tab_fill">False</property>
               </packing>
             </child>
           </object>



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