[glade] GladeEntryEditor: Ported to use GtkBuilder composite templates.
- From: Tristan Van Berkom <tvb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glade] GladeEntryEditor: Ported to use GtkBuilder composite templates.
- Date: Sun, 21 Apr 2013 15:52:58 +0000 (UTC)
commit 0d903542cdf433d9c9be3b526ab85e2c9469afe5
Author: Tristan Van Berkom <tristan van berkom gmail com>
Date: Mon Apr 22 00:46:29 2013 +0900
GladeEntryEditor: Ported to use GtkBuilder composite templates.
The entry editor is now much improved and better formatted, additionally
we use a check mark for 'use markup' instead of presenting both
tooltip-markup / tooltip-text properties (as we do in GladeWidgetEditor).
A few other improvements were made too, don't allow editing 'shadow-type'
if 'has-frame' is FALSE, don't allow editing 'invisible-char' if 'visibility'
is TRUE.
plugins/gtk+/Makefile.am | 1 +
plugins/gtk+/glade-entry-editor.c | 635 ++++------
plugins/gtk+/glade-entry-editor.h | 23 +-
plugins/gtk+/glade-entry-editor.ui | 1585 ++++++++++++++++++++++++
plugins/gtk+/glade-gtk-resources.gresource.xml | 1 +
plugins/gtk+/glade-gtk.c | 54 +-
plugins/gtk+/gtk+.xml.in | 39 +-
po/POTFILES.in | 1 +
8 files changed, 1892 insertions(+), 447 deletions(-)
---
diff --git a/plugins/gtk+/Makefile.am b/plugins/gtk+/Makefile.am
index a0b79b2..127ab63 100644
--- a/plugins/gtk+/Makefile.am
+++ b/plugins/gtk+/Makefile.am
@@ -103,6 +103,7 @@ BUILT_SOURCES = \
UI_FILES = \
glade-activatable-editor.ui \
glade-button-editor.ui \
+ glade-entry-editor.ui \
glade-image-editor.ui \
glade-label-editor.ui \
glade-widget-editor.ui
diff --git a/plugins/gtk+/glade-entry-editor.c b/plugins/gtk+/glade-entry-editor.c
index 7b31695..70711db 100644
--- a/plugins/gtk+/glade-entry-editor.c
+++ b/plugins/gtk+/glade-entry-editor.c
@@ -27,83 +27,146 @@
#include "glade-entry-editor.h"
#include "glade-image-editor.h" // For GladeImageEditMode
+static void glade_entry_editor_editable_init (GladeEditableIface *iface);
+static void glade_entry_editor_grab_focus (GtkWidget *widget);
+
+/* Callbacks */
+static void text_toggled (GtkWidget *widget, GladeEntryEditor *entry_editor);
+static void buffer_toggled (GtkWidget *widget, GladeEntryEditor *entry_editor);
+static void primary_stock_toggled (GtkWidget *widget, GladeEntryEditor *entry_editor);
+static void primary_icon_name_toggled (GtkWidget *widget, GladeEntryEditor *entry_editor);
+static void primary_pixbuf_toggled (GtkWidget *widget, GladeEntryEditor *entry_editor);
+static void primary_tooltip_markup_toggled (GtkWidget *widget, GladeEntryEditor *entry_editor);
+static void secondary_stock_toggled (GtkWidget *widget, GladeEntryEditor *entry_editor);
+static void secondary_icon_name_toggled (GtkWidget *widget, GladeEntryEditor *entry_editor);
+static void secondary_pixbuf_toggled (GtkWidget *widget, GladeEntryEditor *entry_editor);
+static void secondary_tooltip_markup_toggled (GtkWidget *widget, GladeEntryEditor *entry_editor);
+
+struct _GladeEntryEditorPrivate
+{
+ GtkWidget *embed;
+
+ GtkWidget *text_radio;
+ GtkWidget *buffer_radio;
+
+ GtkWidget *primary_pixbuf_radio;
+ GtkWidget *primary_stock_radio;
+ GtkWidget *primary_icon_name_radio;
+ GtkWidget *primary_tooltip_markup_check;
+ GtkWidget *primary_tooltip_notebook;
+ GtkWidget *primary_tooltip_editor_notebook;
+
+ GtkWidget *secondary_pixbuf_radio;
+ GtkWidget *secondary_stock_radio;
+ GtkWidget *secondary_icon_name_radio;
+ GtkWidget *secondary_tooltip_markup_check;
+ GtkWidget *secondary_tooltip_notebook;
+ GtkWidget *secondary_tooltip_editor_notebook;
-static void glade_entry_editor_finalize (GObject * object);
+};
-static void glade_entry_editor_editable_init (GladeEditableIface * iface);
+#define TOOLTIP_TEXT_PAGE 0
+#define TOOLTIP_MARKUP_PAGE 1
-static void glade_entry_editor_grab_focus (GtkWidget * widget);
+#define ICON_MODE_NAME(primary) ((primary) ? "primary-icon-mode" : "secondary-icon-mode")
+#define PIXBUF_NAME(primary) ((primary) ? "primary-icon-pixbuf" : "secondary-icon-pixbuf")
+#define ICON_NAME_NAME(primary) ((primary) ? "primary-icon-name" : "secondary-icon-name")
+#define STOCK_NAME(primary) ((primary) ? "primary-icon-stock" : "secondary-icon-stock")
+
+#define TOOLTIP_MARKUP_NAME(primary) ((primary) ? "primary-icon-tooltip-markup" :
"secondary-icon-tooltip-markup")
+#define TOOLTIP_TEXT_NAME(primary) ((primary) ? "primary-icon-tooltip-text" :
"secondary-icon-tooltip-text")
+#define TOOLTIP_CONTROL_NAME(primary) ((primary) ? "glade-primary-tooltip-markup" :
"glade-secondary-tooltip-markup")
static GladeEditableIface *parent_editable_iface;
-G_DEFINE_TYPE_WITH_CODE (GladeEntryEditor, glade_entry_editor, GTK_TYPE_VBOX,
+G_DEFINE_TYPE_WITH_CODE (GladeEntryEditor, glade_entry_editor, GLADE_TYPE_EDITOR_SKELETON,
G_IMPLEMENT_INTERFACE (GLADE_TYPE_EDITABLE,
glade_entry_editor_editable_init));
-
static void
glade_entry_editor_class_init (GladeEntryEditorClass * klass)
{
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
- object_class->finalize = glade_entry_editor_finalize;
widget_class->grab_focus = glade_entry_editor_grab_focus;
+
+ gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/gladegtk/glade-entry-editor.ui");
+
+ gtk_widget_class_bind_child (widget_class, GladeEntryEditorPrivate, embed);
+ gtk_widget_class_bind_child (widget_class, GladeEntryEditorPrivate, text_radio);
+ gtk_widget_class_bind_child (widget_class, GladeEntryEditorPrivate, buffer_radio);
+ gtk_widget_class_bind_child (widget_class, GladeEntryEditorPrivate, primary_stock_radio);
+ gtk_widget_class_bind_child (widget_class, GladeEntryEditorPrivate, primary_icon_name_radio);
+ gtk_widget_class_bind_child (widget_class, GladeEntryEditorPrivate, primary_pixbuf_radio);
+ gtk_widget_class_bind_child (widget_class, GladeEntryEditorPrivate, primary_tooltip_markup_check);
+ gtk_widget_class_bind_child (widget_class, GladeEntryEditorPrivate, primary_tooltip_notebook);
+ gtk_widget_class_bind_child (widget_class, GladeEntryEditorPrivate, primary_tooltip_editor_notebook);
+ gtk_widget_class_bind_child (widget_class, GladeEntryEditorPrivate, secondary_stock_radio);
+ gtk_widget_class_bind_child (widget_class, GladeEntryEditorPrivate, secondary_icon_name_radio);
+ gtk_widget_class_bind_child (widget_class, GladeEntryEditorPrivate, secondary_pixbuf_radio);
+ gtk_widget_class_bind_child (widget_class, GladeEntryEditorPrivate, secondary_tooltip_markup_check);
+ gtk_widget_class_bind_child (widget_class, GladeEntryEditorPrivate, secondary_tooltip_notebook);
+ gtk_widget_class_bind_child (widget_class, GladeEntryEditorPrivate, secondary_tooltip_editor_notebook);
+
+ gtk_widget_class_bind_callback (widget_class, text_toggled);
+ gtk_widget_class_bind_callback (widget_class, buffer_toggled);
+ gtk_widget_class_bind_callback (widget_class, primary_stock_toggled);
+ gtk_widget_class_bind_callback (widget_class, primary_icon_name_toggled);
+ gtk_widget_class_bind_callback (widget_class, primary_pixbuf_toggled);
+ gtk_widget_class_bind_callback (widget_class, primary_tooltip_markup_toggled);
+ gtk_widget_class_bind_callback (widget_class, secondary_stock_toggled);
+ gtk_widget_class_bind_callback (widget_class, secondary_icon_name_toggled);
+ gtk_widget_class_bind_callback (widget_class, secondary_pixbuf_toggled);
+ gtk_widget_class_bind_callback (widget_class, secondary_tooltip_markup_toggled);
+
+ g_type_class_add_private (object_class, sizeof (GladeEntryEditorPrivate));
}
static void
glade_entry_editor_init (GladeEntryEditor * self)
{
+ self->priv =
+ G_TYPE_INSTANCE_GET_PRIVATE (self,
+ GLADE_TYPE_ENTRY_EDITOR,
+ GladeEntryEditorPrivate);
+
+ gtk_widget_init_template (GTK_WIDGET (self));
}
static void
glade_entry_editor_load (GladeEditable * editable, GladeWidget * widget)
{
GladeEntryEditor *entry_editor = GLADE_ENTRY_EDITOR (editable);
+ GladeEntryEditorPrivate *priv = entry_editor->priv;
GladeImageEditMode icon_mode;
gboolean use_buffer = FALSE;
- GList *l;
+ gboolean primary_markup = FALSE;
+ gboolean secondary_markup = FALSE;
/* Chain up to default implementation */
parent_editable_iface->load (editable, widget);
- /* load the embedded editable... */
- if (entry_editor->embed)
- glade_editable_load (GLADE_EDITABLE (entry_editor->embed), widget);
-
- for (l = entry_editor->properties; l; l = l->next)
- glade_editor_property_load_by_widget (GLADE_EDITOR_PROPERTY (l->data),
- widget);
-
-
if (widget)
{
glade_widget_property_get (widget, "use-entry-buffer", &use_buffer);
if (use_buffer)
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
- (entry_editor->buffer_radio), TRUE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->buffer_radio), TRUE);
else
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
- (entry_editor->text_radio), TRUE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->text_radio), TRUE);
glade_widget_property_get (widget, "primary-icon-mode", &icon_mode);
switch (icon_mode)
{
case GLADE_IMAGE_MODE_STOCK:
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
- (entry_editor->primary_stock_radio),
- TRUE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->primary_stock_radio), TRUE);
break;
case GLADE_IMAGE_MODE_ICON:
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
- (entry_editor->
- primary_icon_name_radio), TRUE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->primary_icon_name_radio), TRUE);
break;
case GLADE_IMAGE_MODE_FILENAME:
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
- (entry_editor->primary_pixbuf_radio),
- TRUE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->primary_pixbuf_radio), TRUE);
break;
default:
break;
@@ -113,23 +176,33 @@ glade_entry_editor_load (GladeEditable * editable, GladeWidget * widget)
switch (icon_mode)
{
case GLADE_IMAGE_MODE_STOCK:
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
- (entry_editor->secondary_stock_radio),
- TRUE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->secondary_stock_radio), TRUE);
break;
case GLADE_IMAGE_MODE_ICON:
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
- (entry_editor->
- secondary_icon_name_radio), TRUE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->secondary_icon_name_radio), TRUE);
break;
case GLADE_IMAGE_MODE_FILENAME:
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
- (entry_editor->
- secondary_pixbuf_radio), TRUE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->secondary_pixbuf_radio), TRUE);
break;
default:
break;
}
+
+ /* Fix up notebook pages and check button state for primary / secondary tooltip markup */
+ glade_widget_property_get (widget, TOOLTIP_CONTROL_NAME (TRUE), &primary_markup);
+ glade_widget_property_get (widget, TOOLTIP_CONTROL_NAME (FALSE), &secondary_markup);
+
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->primary_tooltip_markup_check), primary_markup);
+ gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->primary_tooltip_notebook),
+ primary_markup ? TOOLTIP_MARKUP_PAGE : TOOLTIP_TEXT_PAGE);
+ gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->primary_tooltip_editor_notebook),
+ primary_markup ? TOOLTIP_MARKUP_PAGE : TOOLTIP_TEXT_PAGE);
+
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->secondary_tooltip_markup_check),
secondary_markup);
+ gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->secondary_tooltip_notebook),
+ secondary_markup ? TOOLTIP_MARKUP_PAGE : TOOLTIP_TEXT_PAGE);
+ gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->secondary_tooltip_editor_notebook),
+ secondary_markup ? TOOLTIP_MARKUP_PAGE : TOOLTIP_TEXT_PAGE);
}
}
@@ -138,46 +211,30 @@ glade_entry_editor_set_show_name (GladeEditable * editable, gboolean show_name)
{
GladeEntryEditor *entry_editor = GLADE_ENTRY_EDITOR (editable);
- glade_editable_set_show_name (GLADE_EDITABLE (entry_editor->embed),
- show_name);
+ glade_editable_set_show_name (GLADE_EDITABLE (entry_editor->priv->embed), show_name);
}
static void
glade_entry_editor_editable_init (GladeEditableIface * iface)
{
- parent_editable_iface = g_type_default_interface_peek (GLADE_TYPE_EDITABLE);
+ parent_editable_iface = g_type_interface_peek_parent (iface);
iface->load = glade_entry_editor_load;
iface->set_show_name = glade_entry_editor_set_show_name;
}
static void
-glade_entry_editor_finalize (GObject * object)
-{
- GladeEntryEditor *entry_editor = GLADE_ENTRY_EDITOR (object);
-
- if (entry_editor->properties)
- g_list_free (entry_editor->properties);
- entry_editor->properties = NULL;
- entry_editor->embed = NULL;
-
- glade_editable_load (GLADE_EDITABLE (object), NULL);
-
- G_OBJECT_CLASS (glade_entry_editor_parent_class)->finalize (object);
-}
-
-static void
glade_entry_editor_grab_focus (GtkWidget * widget)
{
GladeEntryEditor *entry_editor = GLADE_ENTRY_EDITOR (widget);
- gtk_widget_grab_focus (entry_editor->embed);
+ gtk_widget_grab_focus (entry_editor->priv->embed);
}
-
static void
text_toggled (GtkWidget * widget, GladeEntryEditor * entry_editor)
{
+ GladeEntryEditorPrivate *priv = entry_editor->priv;
GladeProperty *property;
GladeWidget *gwidget = glade_editable_loaded_widget (GLADE_EDITABLE (entry_editor));
@@ -185,7 +242,7 @@ text_toggled (GtkWidget * widget, GladeEntryEditor * entry_editor)
return;
if (!gtk_toggle_button_get_active
- (GTK_TOGGLE_BUTTON (entry_editor->text_radio)))
+ (GTK_TOGGLE_BUTTON (priv->text_radio)))
return;
glade_editable_block (GLADE_EDITABLE (entry_editor));
@@ -196,9 +253,7 @@ text_toggled (GtkWidget * widget, GladeEntryEditor * entry_editor)
property = glade_widget_get_property (gwidget, "buffer");
glade_command_set_property (property, NULL);
- property =
- glade_widget_get_property (gwidget,
- "use-entry-buffer");
+ property = glade_widget_get_property (gwidget, "use-entry-buffer");
glade_command_set_property (property, FALSE);
/* Text will only take effect after setting the property under the hood */
@@ -219,6 +274,7 @@ text_toggled (GtkWidget * widget, GladeEntryEditor * entry_editor)
static void
buffer_toggled (GtkWidget * widget, GladeEntryEditor * entry_editor)
{
+ GladeEntryEditorPrivate *priv = entry_editor->priv;
GladeProperty *property;
GladeWidget *gwidget = glade_editable_loaded_widget (GLADE_EDITABLE (entry_editor));
@@ -226,7 +282,7 @@ buffer_toggled (GtkWidget * widget, GladeEntryEditor * entry_editor)
return;
if (!gtk_toggle_button_get_active
- (GTK_TOGGLE_BUTTON (entry_editor->buffer_radio)))
+ (GTK_TOGGLE_BUTTON (priv->buffer_radio)))
return;
glade_editable_block (GLADE_EDITABLE (entry_editor));
@@ -238,8 +294,7 @@ buffer_toggled (GtkWidget * widget, GladeEntryEditor * entry_editor)
property = glade_widget_get_property (gwidget, "text");
glade_command_set_property (property, NULL);
- property =
- glade_widget_get_property (gwidget, "use-entry-buffer");
+ property = glade_widget_get_property (gwidget, "use-entry-buffer");
glade_command_set_property (property, TRUE);
glade_command_pop_group ();
@@ -250,12 +305,6 @@ buffer_toggled (GtkWidget * widget, GladeEntryEditor * entry_editor)
glade_editable_load (GLADE_EDITABLE (entry_editor), gwidget);
}
-
-#define ICON_MODE_NAME(primary) ((primary) ? "primary-icon-mode" : "secondary-icon-mode")
-#define PIXBUF_NAME(primary) ((primary) ? "primary-icon-pixbuf" : "secondary-icon-pixbuf")
-#define ICON_NAME_NAME(primary) ((primary) ? "primary-icon-name" : "secondary-icon-name")
-#define STOCK_NAME(primary) ((primary) ? "primary-icon-stock" : "secondary-icon-stock")
-
static void
set_stock_mode (GladeEntryEditor * entry_editor, gboolean primary)
{
@@ -310,13 +359,14 @@ set_pixbuf_mode (GladeEntryEditor * entry_editor, gboolean primary)
static void
primary_stock_toggled (GtkWidget * widget, GladeEntryEditor * entry_editor)
{
+ GladeEntryEditorPrivate *priv = entry_editor->priv;
GladeWidget *gwidget = glade_editable_loaded_widget (GLADE_EDITABLE (entry_editor));
if (glade_editable_loading (GLADE_EDITABLE (entry_editor)) || !gwidget)
return;
if (!gtk_toggle_button_get_active
- (GTK_TOGGLE_BUTTON (entry_editor->primary_stock_radio)))
+ (GTK_TOGGLE_BUTTON (priv->primary_stock_radio)))
return;
glade_editable_block (GLADE_EDITABLE (entry_editor));
@@ -332,17 +382,17 @@ primary_stock_toggled (GtkWidget * widget, GladeEntryEditor * entry_editor)
glade_editable_load (GLADE_EDITABLE (entry_editor), gwidget);
}
-
static void
primary_icon_name_toggled (GtkWidget * widget, GladeEntryEditor * entry_editor)
{
+ GladeEntryEditorPrivate *priv = entry_editor->priv;
GladeWidget *gwidget = glade_editable_loaded_widget (GLADE_EDITABLE (entry_editor));
if (glade_editable_loading (GLADE_EDITABLE (entry_editor)) || !gwidget)
return;
if (!gtk_toggle_button_get_active
- (GTK_TOGGLE_BUTTON (entry_editor->primary_icon_name_radio)))
+ (GTK_TOGGLE_BUTTON (priv->primary_icon_name_radio)))
return;
glade_editable_block (GLADE_EDITABLE (entry_editor));
@@ -361,13 +411,14 @@ primary_icon_name_toggled (GtkWidget * widget, GladeEntryEditor * entry_editor)
static void
primary_pixbuf_toggled (GtkWidget * widget, GladeEntryEditor * entry_editor)
{
+ GladeEntryEditorPrivate *priv = entry_editor->priv;
GladeWidget *gwidget = glade_editable_loaded_widget (GLADE_EDITABLE (entry_editor));
if (glade_editable_loading (GLADE_EDITABLE (entry_editor)) || !gwidget)
return;
if (!gtk_toggle_button_get_active
- (GTK_TOGGLE_BUTTON (entry_editor->primary_pixbuf_radio)))
+ (GTK_TOGGLE_BUTTON (priv->primary_pixbuf_radio)))
return;
glade_editable_block (GLADE_EDITABLE (entry_editor));
@@ -383,17 +434,17 @@ primary_pixbuf_toggled (GtkWidget * widget, GladeEntryEditor * entry_editor)
glade_editable_load (GLADE_EDITABLE (entry_editor), gwidget);
}
-
static void
secondary_stock_toggled (GtkWidget * widget, GladeEntryEditor * entry_editor)
{
+ GladeEntryEditorPrivate *priv = entry_editor->priv;
GladeWidget *gwidget = glade_editable_loaded_widget (GLADE_EDITABLE (entry_editor));
if (glade_editable_loading (GLADE_EDITABLE (entry_editor)) || !gwidget)
return;
if (!gtk_toggle_button_get_active
- (GTK_TOGGLE_BUTTON (entry_editor->secondary_stock_radio)))
+ (GTK_TOGGLE_BUTTON (priv->secondary_stock_radio)))
return;
glade_editable_block (GLADE_EDITABLE (entry_editor));
@@ -409,18 +460,18 @@ secondary_stock_toggled (GtkWidget * widget, GladeEntryEditor * entry_editor)
glade_editable_load (GLADE_EDITABLE (entry_editor), gwidget);
}
-
static void
secondary_icon_name_toggled (GtkWidget * widget,
GladeEntryEditor * entry_editor)
{
+ GladeEntryEditorPrivate *priv = entry_editor->priv;
GladeWidget *gwidget = glade_editable_loaded_widget (GLADE_EDITABLE (entry_editor));
if (glade_editable_loading (GLADE_EDITABLE (entry_editor)) || !gwidget)
return;
if (!gtk_toggle_button_get_active
- (GTK_TOGGLE_BUTTON (entry_editor->secondary_icon_name_radio)))
+ (GTK_TOGGLE_BUTTON (priv->secondary_icon_name_radio)))
return;
glade_editable_block (GLADE_EDITABLE (entry_editor));
@@ -439,13 +490,14 @@ secondary_icon_name_toggled (GtkWidget * widget,
static void
secondary_pixbuf_toggled (GtkWidget * widget, GladeEntryEditor * entry_editor)
{
+ GladeEntryEditorPrivate *priv = entry_editor->priv;
GladeWidget *gwidget = glade_editable_loaded_widget (GLADE_EDITABLE (entry_editor));
if (glade_editable_loading (GLADE_EDITABLE (entry_editor)) || !gwidget)
return;
if (!gtk_toggle_button_get_active
- (GTK_TOGGLE_BUTTON (entry_editor->secondary_pixbuf_radio)))
+ (GTK_TOGGLE_BUTTON (priv->secondary_pixbuf_radio)))
return;
glade_editable_block (GLADE_EDITABLE (entry_editor));
@@ -461,329 +513,116 @@ secondary_pixbuf_toggled (GtkWidget * widget, GladeEntryEditor * entry_editor)
glade_editable_load (GLADE_EDITABLE (entry_editor), gwidget);
}
+static void
+transfer_text_property (GladeWidget *gwidget,
+ const gchar *from,
+ const gchar *to)
+{
+ gchar *value = NULL;
+ gchar *comment = NULL, *context = NULL;
+ gboolean translatable = FALSE;
+ GladeProperty *prop_from;
+ GladeProperty *prop_to;
+
+ prop_from = glade_widget_get_property (gwidget, from);
+ prop_to = glade_widget_get_property (gwidget, to);
+ g_assert (prop_from);
+ g_assert (prop_to);
+
+ glade_property_get (prop_from, &value);
+ comment = (gchar *)glade_property_i18n_get_comment (prop_from);
+ context = (gchar *)glade_property_i18n_get_context (prop_from);
+ translatable = glade_property_i18n_get_translatable (prop_from);
+
+ /* Get our own copies */
+ value = g_strdup (value);
+ context = g_strdup (context);
+ comment = g_strdup (comment);
+
+ /* Set target values */
+ glade_command_set_property (prop_to, value);
+ glade_command_set_i18n (prop_to, translatable, context, comment);
+
+ /* Clear source values */
+ glade_command_set_property (prop_from, NULL);
+ glade_command_set_i18n (prop_from, TRUE, NULL, NULL);
+
+ g_free (value);
+ g_free (comment);
+ g_free (context);
+}
static void
-table_attach (GtkWidget * table, GtkWidget * child, gint pos, gint row)
+toggle_tooltip_markup (GladeEntryEditor *entry_editor,
+ GtkWidget *widget,
+ gboolean primary)
{
- gtk_grid_attach (GTK_GRID (table), child, pos, row, 1, 1);
+ GladeProperty *property;
+ GladeWidget *gwidget = glade_editable_loaded_widget (GLADE_EDITABLE (entry_editor));
+ gboolean active;
- if (pos)
- gtk_widget_set_hexpand (child, TRUE);
+ if (glade_editable_loading (GLADE_EDITABLE (entry_editor)) || !gwidget)
+ return;
+
+ active = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget));
+
+ glade_editable_block (GLADE_EDITABLE (entry_editor));
+
+ if (active)
+ {
+ if (primary)
+ glade_command_push_group (_("Setting primary icon of %s to use tooltip markup"),
+ glade_widget_get_name (gwidget));
+ else
+ glade_command_push_group (_("Setting secondary icon of %s to use tooltip markup"),
+ glade_widget_get_name (gwidget));
+
+ transfer_text_property (gwidget, TOOLTIP_TEXT_NAME (primary), TOOLTIP_MARKUP_NAME (primary));
+
+ property = glade_widget_get_property (gwidget, TOOLTIP_CONTROL_NAME (primary));
+ glade_command_set_property (property, TRUE);
+
+ glade_command_pop_group ();
+ }
+ else
+ {
+ if (primary)
+ glade_command_push_group (_("Setting primary icon of %s to not use tooltip markup"),
+ glade_widget_get_name (gwidget));
+ else
+ glade_command_push_group (_("Setting secondary icon of %s to not use tooltip markup"),
+ glade_widget_get_name (gwidget));
+
+ transfer_text_property (gwidget, TOOLTIP_MARKUP_NAME (primary), TOOLTIP_TEXT_NAME (primary));
+
+ property = glade_widget_get_property (gwidget, TOOLTIP_CONTROL_NAME (primary));
+ glade_command_set_property (property, FALSE);
+
+ glade_command_pop_group ();
+ }
+
+ glade_editable_unblock (GLADE_EDITABLE (entry_editor));
+
+ /* reload widgets and sensitivity and stuff... */
+ glade_editable_load (GLADE_EDITABLE (entry_editor), gwidget);
+}
+
+static void
+primary_tooltip_markup_toggled (GtkWidget *widget,
+ GladeEntryEditor *entry_editor)
+{
+ toggle_tooltip_markup (entry_editor, widget, TRUE);
+}
+
+static void
+secondary_tooltip_markup_toggled (GtkWidget *widget,
+ GladeEntryEditor *entry_editor)
+{
+ toggle_tooltip_markup (entry_editor, widget, FALSE);
}
GtkWidget *
-glade_entry_editor_new (GladeWidgetAdaptor * adaptor, GladeEditable * embed)
+glade_entry_editor_new (void)
{
- GladeEntryEditor *entry_editor;
- GladeEditorProperty *eprop;
- GtkWidget *table, *frame, *alignment, *label, *hbox;
- gchar *str;
-
- g_return_val_if_fail (GLADE_IS_WIDGET_ADAPTOR (adaptor), NULL);
- g_return_val_if_fail (GLADE_IS_EDITABLE (embed), NULL);
-
- entry_editor = g_object_new (GLADE_TYPE_ENTRY_EDITOR, NULL);
- entry_editor->embed = GTK_WIDGET (embed);
-
- /* Pack the parent on top... */
- gtk_box_pack_start (GTK_BOX (entry_editor), GTK_WIDGET (embed), FALSE, FALSE,
- 0);
-
-
- /* Text... */
- str = g_strdup_printf ("<b>%s</b>", _("Text"));
- label = gtk_label_new (str);
- gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
- g_free (str);
- frame = gtk_frame_new (NULL);
- gtk_frame_set_label_widget (GTK_FRAME (frame), label);
- gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE);
- gtk_box_pack_start (GTK_BOX (entry_editor), frame, FALSE, FALSE, 8);
-
- alignment = gtk_alignment_new (0.5F, 0.5F, 1.0F, 1.0F);
- gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 6, 0, 12, 0);
- gtk_container_add (GTK_CONTAINER (frame), alignment);
-
- table = gtk_grid_new ();
- gtk_orientable_set_orientation (GTK_ORIENTABLE (table),
- GTK_ORIENTATION_VERTICAL);
- gtk_grid_set_row_spacing (GTK_GRID (table), 4);
- gtk_container_add (GTK_CONTAINER (alignment), table);
-
- /* Text */
- eprop =
- glade_widget_adaptor_create_eprop_by_name (adaptor, "text", FALSE, TRUE);
- hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
- entry_editor->text_radio = gtk_radio_button_new (NULL);
- gtk_box_pack_start (GTK_BOX (hbox), entry_editor->text_radio, FALSE, FALSE,
- 2);
- gtk_box_pack_start (GTK_BOX (hbox), glade_editor_property_get_item_label (eprop), TRUE, TRUE, 2);
- table_attach (table, hbox, 0, 0);
- table_attach (table, GTK_WIDGET (eprop), 1, 0);
- entry_editor->properties = g_list_prepend (entry_editor->properties, eprop);
-
- /* Buffer */
- eprop =
- glade_widget_adaptor_create_eprop_by_name (adaptor, "buffer", FALSE,
- TRUE);
- hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
- entry_editor->buffer_radio = gtk_radio_button_new_from_widget
- (GTK_RADIO_BUTTON (entry_editor->text_radio));
- gtk_box_pack_start (GTK_BOX (hbox), entry_editor->buffer_radio, FALSE, FALSE,
- 2);
- gtk_box_pack_start (GTK_BOX (hbox), glade_editor_property_get_item_label (eprop), TRUE, TRUE, 2);
- table_attach (table, hbox, 0, 1);
- table_attach (table, GTK_WIDGET (eprop), 1, 1);
- entry_editor->properties = g_list_prepend (entry_editor->properties, eprop);
-
- /* Progress... */
- str = g_strdup_printf ("<b>%s</b>", _("Progress"));
- label = gtk_label_new (str);
- gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
- g_free (str);
- frame = gtk_frame_new (NULL);
- gtk_frame_set_label_widget (GTK_FRAME (frame), label);
- gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE);
- gtk_box_pack_start (GTK_BOX (entry_editor), frame, FALSE, FALSE, 8);
-
- alignment = gtk_alignment_new (0.5F, 0.5F, 1.0F, 1.0F);
- gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 6, 0, 12, 0);
- gtk_container_add (GTK_CONTAINER (frame), alignment);
-
- table = gtk_grid_new ();
- gtk_orientable_set_orientation (GTK_ORIENTABLE (table),
- GTK_ORIENTATION_VERTICAL);
- gtk_grid_set_row_spacing (GTK_GRID (table), 4);
- gtk_container_add (GTK_CONTAINER (alignment), table);
-
- /* Fraction */
- eprop =
- glade_widget_adaptor_create_eprop_by_name (adaptor, "progress-fraction",
- FALSE, TRUE);
- table_attach (table, glade_editor_property_get_item_label (eprop), 0, 0);
- table_attach (table, GTK_WIDGET (eprop), 1, 0);
- entry_editor->properties = g_list_prepend (entry_editor->properties, eprop);
-
- /* Pulse */
- eprop =
- glade_widget_adaptor_create_eprop_by_name (adaptor, "progress-pulse-step",
- FALSE, TRUE);
- table_attach (table, glade_editor_property_get_item_label (eprop), 0, 1);
- table_attach (table, GTK_WIDGET (eprop), 1, 1);
- entry_editor->properties = g_list_prepend (entry_editor->properties, eprop);
-
- /* Primary icon... */
- str = g_strdup_printf ("<b>%s</b>", _("Primary icon"));
- label = gtk_label_new (str);
- gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
- g_free (str);
- frame = gtk_frame_new (NULL);
- gtk_frame_set_label_widget (GTK_FRAME (frame), label);
- gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE);
- gtk_box_pack_start (GTK_BOX (entry_editor), frame, FALSE, FALSE, 8);
-
- alignment = gtk_alignment_new (0.5F, 0.5F, 1.0F, 1.0F);
- gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 6, 0, 12, 0);
- gtk_container_add (GTK_CONTAINER (frame), alignment);
-
- table = gtk_grid_new ();
- gtk_orientable_set_orientation (GTK_ORIENTABLE (table),
- GTK_ORIENTATION_VERTICAL);
- gtk_grid_set_row_spacing (GTK_GRID (table), 4);
- gtk_container_add (GTK_CONTAINER (alignment), table);
-
- /* Pixbuf */
- eprop =
- glade_widget_adaptor_create_eprop_by_name (adaptor, PIXBUF_NAME (TRUE),
- FALSE, TRUE);
- hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
- entry_editor->primary_pixbuf_radio = gtk_radio_button_new (NULL);
- gtk_box_pack_start (GTK_BOX (hbox), entry_editor->primary_pixbuf_radio, FALSE,
- FALSE, 2);
- gtk_box_pack_start (GTK_BOX (hbox), glade_editor_property_get_item_label (eprop), TRUE, TRUE, 2);
- table_attach (table, hbox, 0, 0);
- table_attach (table, GTK_WIDGET (eprop), 1, 0);
- entry_editor->properties = g_list_prepend (entry_editor->properties, eprop);
-
- /* Stock */
- eprop =
- glade_widget_adaptor_create_eprop_by_name (adaptor, STOCK_NAME (TRUE),
- FALSE, TRUE);
- hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
- entry_editor->primary_stock_radio = gtk_radio_button_new_from_widget
- (GTK_RADIO_BUTTON (entry_editor->primary_pixbuf_radio));
- gtk_box_pack_start (GTK_BOX (hbox), entry_editor->primary_stock_radio, FALSE,
- FALSE, 2);
- gtk_box_pack_start (GTK_BOX (hbox), glade_editor_property_get_item_label (eprop), TRUE, TRUE, 2);
- table_attach (table, hbox, 0, 1);
- table_attach (table, GTK_WIDGET (eprop), 1, 1);
- entry_editor->properties = g_list_prepend (entry_editor->properties, eprop);
-
- /* Icon name */
- eprop =
- glade_widget_adaptor_create_eprop_by_name (adaptor, ICON_NAME_NAME (TRUE),
- FALSE, TRUE);
- hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
- entry_editor->primary_icon_name_radio = gtk_radio_button_new_from_widget
- (GTK_RADIO_BUTTON (entry_editor->primary_pixbuf_radio));
- gtk_box_pack_start (GTK_BOX (hbox), entry_editor->primary_icon_name_radio,
- FALSE, FALSE, 2);
- gtk_box_pack_start (GTK_BOX (hbox), glade_editor_property_get_item_label (eprop), TRUE, TRUE, 2);
- table_attach (table, hbox, 0, 2);
- table_attach (table, GTK_WIDGET (eprop), 1, 2);
- entry_editor->properties = g_list_prepend (entry_editor->properties, eprop);
-
- /* Other primary icon related properties */
- eprop =
- glade_widget_adaptor_create_eprop_by_name (adaptor,
- "primary-icon-activatable",
- FALSE, TRUE);
- table_attach (table, glade_editor_property_get_item_label (eprop), 0, 3);
- table_attach (table, GTK_WIDGET (eprop), 1, 3);
- entry_editor->properties = g_list_prepend (entry_editor->properties, eprop);
-
- eprop =
- glade_widget_adaptor_create_eprop_by_name (adaptor,
- "primary-icon-sensitive",
- FALSE, TRUE);
- table_attach (table, glade_editor_property_get_item_label (eprop), 0, 4);
- table_attach (table, GTK_WIDGET (eprop), 1, 4);
- entry_editor->properties = g_list_prepend (entry_editor->properties, eprop);
-
- eprop =
- glade_widget_adaptor_create_eprop_by_name (adaptor,
- "primary-icon-tooltip-text",
- FALSE, TRUE);
- table_attach (table, glade_editor_property_get_item_label (eprop), 0, 5);
- table_attach (table, GTK_WIDGET (eprop), 1, 5);
- entry_editor->properties = g_list_prepend (entry_editor->properties, eprop);
-
- eprop =
- glade_widget_adaptor_create_eprop_by_name (adaptor,
- "primary-icon-tooltip-markup",
- FALSE, TRUE);
- table_attach (table, glade_editor_property_get_item_label (eprop), 0, 6);
- table_attach (table, GTK_WIDGET (eprop), 1, 6);
- entry_editor->properties = g_list_prepend (entry_editor->properties, eprop);
-
- /* Secondary icon... */
- str = g_strdup_printf ("<b>%s</b>", _("Secondary icon"));
- label = gtk_label_new (str);
- gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
- g_free (str);
- frame = gtk_frame_new (NULL);
- gtk_frame_set_label_widget (GTK_FRAME (frame), label);
- gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE);
- gtk_box_pack_start (GTK_BOX (entry_editor), frame, FALSE, FALSE, 8);
-
- alignment = gtk_alignment_new (0.5F, 0.5F, 1.0F, 1.0F);
- gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 6, 0, 12, 0);
- gtk_container_add (GTK_CONTAINER (frame), alignment);
-
- table = gtk_grid_new ();
- gtk_orientable_set_orientation (GTK_ORIENTABLE (table),
- GTK_ORIENTATION_VERTICAL);
- gtk_grid_set_row_spacing (GTK_GRID (table), 4);
- gtk_container_add (GTK_CONTAINER (alignment), table);
-
- /* Pixbuf */
- eprop =
- glade_widget_adaptor_create_eprop_by_name (adaptor, PIXBUF_NAME (FALSE),
- FALSE, TRUE);
- hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
- entry_editor->secondary_pixbuf_radio = gtk_radio_button_new (NULL);
- gtk_box_pack_start (GTK_BOX (hbox), entry_editor->secondary_pixbuf_radio,
- FALSE, FALSE, 2);
- gtk_box_pack_start (GTK_BOX (hbox), glade_editor_property_get_item_label (eprop), TRUE, TRUE, 2);
- table_attach (table, hbox, 0, 0);
- table_attach (table, GTK_WIDGET (eprop), 1, 0);
- entry_editor->properties = g_list_prepend (entry_editor->properties, eprop);
-
- /* Stock */
- eprop =
- glade_widget_adaptor_create_eprop_by_name (adaptor, STOCK_NAME (FALSE),
- FALSE, TRUE);
- hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
- entry_editor->secondary_stock_radio = gtk_radio_button_new_from_widget
- (GTK_RADIO_BUTTON (entry_editor->secondary_pixbuf_radio));
- gtk_box_pack_start (GTK_BOX (hbox), entry_editor->secondary_stock_radio,
- FALSE, FALSE, 2);
- gtk_box_pack_start (GTK_BOX (hbox), glade_editor_property_get_item_label (eprop), TRUE, TRUE, 2);
- table_attach (table, hbox, 0, 1);
- table_attach (table, GTK_WIDGET (eprop), 1, 1);
- entry_editor->properties = g_list_prepend (entry_editor->properties, eprop);
-
- /* Icon name */
- eprop =
- glade_widget_adaptor_create_eprop_by_name (adaptor,
- ICON_NAME_NAME (FALSE), FALSE,
- TRUE);
- hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
- entry_editor->secondary_icon_name_radio = gtk_radio_button_new_from_widget
- (GTK_RADIO_BUTTON (entry_editor->secondary_pixbuf_radio));
- gtk_box_pack_start (GTK_BOX (hbox), entry_editor->secondary_icon_name_radio,
- FALSE, FALSE, 2);
- gtk_box_pack_start (GTK_BOX (hbox), glade_editor_property_get_item_label (eprop), TRUE, TRUE, 2);
- table_attach (table, hbox, 0, 2);
- table_attach (table, GTK_WIDGET (eprop), 1, 2);
- entry_editor->properties = g_list_prepend (entry_editor->properties, eprop);
-
- /* Other secondary icon related properties */
- eprop =
- glade_widget_adaptor_create_eprop_by_name (adaptor,
- "secondary-icon-activatable",
- FALSE, TRUE);
- table_attach (table, glade_editor_property_get_item_label (eprop), 0, 3);
- table_attach (table, GTK_WIDGET (eprop), 1, 3);
- entry_editor->properties = g_list_prepend (entry_editor->properties, eprop);
-
- eprop =
- glade_widget_adaptor_create_eprop_by_name (adaptor,
- "secondary-icon-sensitive",
- FALSE, TRUE);
- table_attach (table, glade_editor_property_get_item_label (eprop), 0, 4);
- table_attach (table, GTK_WIDGET (eprop), 1, 4);
- entry_editor->properties = g_list_prepend (entry_editor->properties, eprop);
-
- eprop =
- glade_widget_adaptor_create_eprop_by_name (adaptor,
- "secondary-icon-tooltip-text",
- FALSE, TRUE);
- table_attach (table, glade_editor_property_get_item_label (eprop), 0, 5);
- table_attach (table, GTK_WIDGET (eprop), 1, 5);
- entry_editor->properties = g_list_prepend (entry_editor->properties, eprop);
-
- eprop =
- glade_widget_adaptor_create_eprop_by_name (adaptor,
- "secondary-icon-tooltip-markup",
- FALSE, TRUE);
- table_attach (table, glade_editor_property_get_item_label (eprop), 0, 6);
- table_attach (table, GTK_WIDGET (eprop), 1, 6);
- entry_editor->properties = g_list_prepend (entry_editor->properties, eprop);
-
- gtk_widget_show_all (GTK_WIDGET (entry_editor));
-
-
- /* Connect radio button signals... */
- g_signal_connect (G_OBJECT (entry_editor->text_radio), "toggled",
- G_CALLBACK (text_toggled), entry_editor);
- g_signal_connect (G_OBJECT (entry_editor->buffer_radio), "toggled",
- G_CALLBACK (buffer_toggled), entry_editor);
-
- g_signal_connect (G_OBJECT (entry_editor->primary_stock_radio), "toggled",
- G_CALLBACK (primary_stock_toggled), entry_editor);
- g_signal_connect (G_OBJECT (entry_editor->primary_icon_name_radio), "toggled",
- G_CALLBACK (primary_icon_name_toggled), entry_editor);
- g_signal_connect (G_OBJECT (entry_editor->primary_pixbuf_radio), "toggled",
- G_CALLBACK (primary_pixbuf_toggled), entry_editor);
-
- g_signal_connect (G_OBJECT (entry_editor->secondary_stock_radio), "toggled",
- G_CALLBACK (secondary_stock_toggled), entry_editor);
- g_signal_connect (G_OBJECT (entry_editor->secondary_icon_name_radio),
- "toggled", G_CALLBACK (secondary_icon_name_toggled),
- entry_editor);
- g_signal_connect (G_OBJECT (entry_editor->secondary_pixbuf_radio), "toggled",
- G_CALLBACK (secondary_pixbuf_toggled), entry_editor);
-
- return GTK_WIDGET (entry_editor);
+ return g_object_new (GLADE_TYPE_ENTRY_EDITOR, NULL);
}
diff --git a/plugins/gtk+/glade-entry-editor.h b/plugins/gtk+/glade-entry-editor.h
index 6819b72..efd1329 100644
--- a/plugins/gtk+/glade-entry-editor.h
+++ b/plugins/gtk+/glade-entry-editor.h
@@ -34,35 +34,22 @@ G_BEGIN_DECLS
typedef struct _GladeEntryEditor GladeEntryEditor;
typedef struct _GladeEntryEditorClass GladeEntryEditorClass;
+typedef struct _GladeEntryEditorPrivate GladeEntryEditorPrivate;
struct _GladeEntryEditor
{
- GtkVBox parent;
+ GladeEditorSkeleton parent;
- GtkWidget *embed;
-
- GtkWidget *text_radio;
- GtkWidget *buffer_radio;
-
- GtkWidget *primary_pixbuf_radio;
- GtkWidget *primary_stock_radio;
- GtkWidget *primary_icon_name_radio;
-
- GtkWidget *secondary_pixbuf_radio;
- GtkWidget *secondary_stock_radio;
- GtkWidget *secondary_icon_name_radio;
-
- GList *properties;
+ GladeEntryEditorPrivate *priv;
};
struct _GladeEntryEditorClass
{
- GtkVBoxClass parent;
+ GladeEditorSkeletonClass parent;
};
GType glade_entry_editor_get_type (void) G_GNUC_CONST;
-GtkWidget *glade_entry_editor_new (GladeWidgetAdaptor *adaptor,
- GladeEditable *editable);
+GtkWidget *glade_entry_editor_new (void);
G_END_DECLS
diff --git a/plugins/gtk+/glade-entry-editor.ui b/plugins/gtk+/glade-entry-editor.ui
new file mode 100644
index 0000000..7599143
--- /dev/null
+++ b/plugins/gtk+/glade-entry-editor.ui
@@ -0,0 +1,1585 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gladeui 0.0 -->
+ <!-- interface-requires gtk+ 3.8 -->
+ <template class="GladeEntryEditor" parent="GladeEditorSkeleton">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkGrid" id="grid">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="entry_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="label" translatable="yes">Entry</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">6</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladeEditorTable" id="embed">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">6</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyLabel" id="completion_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">completion</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="completion_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">completion</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyLabel" id="purpose_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">input-purpose</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">3</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="purpose_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">input-purpose</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">3</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyLabel" id="hints_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">input-hints</property>
+ <property name="custom_text" translatable="yes">Input Hints:</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">4</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="hints_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">input-hints</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">4</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="visibility_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">visibility</property>
+ <property name="editor_type">GladeEpropCheck</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">8</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="invisible_char_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">invisible-char</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="GladePropertyShell" id="has_frame_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">has-frame</property>
+ <property name="editor_type">GladeEpropCheck</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">9</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="shadow_type_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">shadow-type</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">9</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="editable_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">editable</property>
+ <property name="editor_type">GladeEpropCheck</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">10</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="activates_default_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">activates-default</property>
+ <property name="editor_type">GladeEpropCheck</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">10</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="overwrite_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">overwrite-mode</property>
+ <property name="editor_type">GladeEpropCheck</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">11</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="truncate_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">truncate-multiline</property>
+ <property name="editor_type">GladeEpropCheck</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">11</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="caps_warn_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">caps-lock-warning</property>
+ <property name="editor_type">GladeEpropCheck</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">12</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyLabel" id="max_length_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">max-length</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">5</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="max_length_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">max-length</property>
+ </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="GladePropertyShell" id="populate_all_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">populate-all</property>
+ <property name="editor_type">GladeEpropCheck</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">12</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="text_title">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="label" translatable="yes">Text</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">13</property>
+ <property name="width">6</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="text_radio">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="receives_default">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled" handler="text_toggled" swapped="no"/>
+ <child>
+ <object class="GladePropertyLabel" id="text_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="property_name">text</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">14</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="text-editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="property_name">text</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">14</property>
+ <property name="width">4</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="buffer_radio">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="receives_default">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">text_radio</property>
+ <signal name="toggled" handler="buffer_toggled" swapped="no"/>
+ <child>
+ <object class="GladePropertyLabel" id="buffer_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="property_name">buffer</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">15</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="buffer_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="property_name">buffer</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">15</property>
+ <property name="width">4</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyLabel" id="placeholder_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">placeholder-text</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">16</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="placeholder_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="property_name">placeholder-text</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">16</property>
+ <property name="width">4</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="progress_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="label" translatable="yes">Progress</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">17</property>
+ <property name="width">6</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyLabel" id="fraction_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">progress-fraction</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">18</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="fraction_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">progress-fraction</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">18</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyLabel" id="pulse_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">progress-pulse-step</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">19</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="pulse_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">progress-pulse-step</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">19</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="primary_icon_title">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="label" translatable="yes">Primary Icon</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">20</property>
+ <property name="width">6</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="primary_stock_radio">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="receives_default">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled" handler="primary_stock_toggled" swapped="no"/>
+ <child>
+ <object class="GladePropertyLabel" id="primary_stock_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="property_name">primary-icon-stock</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">21</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="primary_stock_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">primary-icon-stock</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">21</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="primary_icon_name_radio">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="receives_default">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">primary_stock_radio</property>
+ <signal name="toggled" handler="primary_icon_name_toggled" swapped="no"/>
+ <child>
+ <object class="GladePropertyLabel" id="primary_icon_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="property_name">primary-icon-name</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">22</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="primary_pixbuf_radio">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="receives_default">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">primary_stock_radio</property>
+ <signal name="toggled" handler="primary_pixbuf_toggled" swapped="no"/>
+ <child>
+ <object class="GladePropertyLabel" id="primary_pixbuf_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="property_name">primary-icon-pixbuf</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">23</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="primary_icon_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">primary-icon-name</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">22</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="primary_pixbuf_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">primary-icon-pixbuf</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">23</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkNotebook" id="primary_tooltip_notebook">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="show_tabs">False</property>
+ <property name="show_border">False</property>
+ <child>
+ <object class="GladePropertyLabel" id="primary_tooltip_text_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="property_name">primary-icon-tooltip-text</property>
+ <property name="custom_text" translatable="yes">Tooltip:</property>
+ </object>
+ </child>
+ <child type="tab">
+ <placeholder/>
+ </child>
+ <child>
+ <object class="GladePropertyLabel" id="primary_tooltip_markup_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="property_name">primary-icon-tooltip-markup</property>
+ <property name="custom_text" translatable="yes">Tooltip:</property>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child type="tab">
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">25</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="primary_tooltip_markup_check">
+ <property name="label" translatable="yes">Use markup</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">Whether to use markup in the
+primary icon's tooltip
+</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled" handler="primary_tooltip_markup_toggled" swapped="no"/>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">26</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkNotebook" id="primary_tooltip_editor_notebook">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="show_tabs">False</property>
+ <property name="show_border">False</property>
+ <child>
+ <object class="GladePropertyShell" id="primary_tooltip_text_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="property_name">primary-icon-tooltip-text</property>
+ </object>
+ </child>
+ <child type="tab">
+ <placeholder/>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="primary_tooltip_markup_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="property_name">primary-icon-tooltip-markup</property>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child type="tab">
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">24</property>
+ <property name="width">4</property>
+ <property name="height">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="primary_icon_sensitive_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">primary-icon-sensitive</property>
+ <property name="editor_type">GladeEpropCheck</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">27</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="primary_icon_activatable_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">primary-icon-activatable</property>
+ <property name="editor_type">GladeEpropCheck</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">27</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="secondary_icon_title">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="halign">start</property>
+ <property name="valign">center</property>
+ <property name="label" translatable="yes">Secondary Icon</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">28</property>
+ <property name="width">6</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="secondary_stock_radio">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="receives_default">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled" handler="secondary_stock_toggled" swapped="no"/>
+ <child>
+ <object class="GladePropertyLabel" id="secondary_stock_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="property_name">secondary-icon-stock</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">29</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="secondary_icon_name_radio">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="receives_default">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">secondary_stock_radio</property>
+ <signal name="toggled" handler="secondary_icon_name_toggled" swapped="no"/>
+ <child>
+ <object class="GladePropertyLabel" id="secondary_icon_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="property_name">secondary-icon-name</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">30</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="secondary_pixbuf_radio">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="receives_default">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">secondary_stock_radio</property>
+ <signal name="toggled" handler="secondary_pixbuf_toggled" swapped="no"/>
+ <child>
+ <object class="GladePropertyLabel" id="secondary_pixbuf_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="property_name">secondary-icon-pixbuf</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">31</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="secondary_stock_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">secondary-icon-stock</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">29</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="secondary_icon_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">secondary-icon-name</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">30</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="secondary_pixbuf_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">secondary-icon-pixbuf</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">31</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkNotebook" id="secondary_tooltip_notebook">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="show_tabs">False</property>
+ <property name="show_border">False</property>
+ <child>
+ <object class="GladePropertyLabel" id="secondary_tooltip_text_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="property_name">secondary-icon-tooltip-text</property>
+ <property name="custom_text" translatable="yes">Tooltip:</property>
+ </object>
+ </child>
+ <child type="tab">
+ <placeholder/>
+ </child>
+ <child>
+ <object class="GladePropertyLabel" id="secondary_tooltip_markup_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="property_name">secondary-icon-tooltip-markup</property>
+ <property name="custom_text" translatable="yes">Tooltip:</property>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child type="tab">
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">33</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="secondary_tooltip_markup_check">
+ <property name="label" translatable="yes">Use markup</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">Whether to use markup in the
+primary icon's tooltip</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled" handler="secondary_tooltip_markup_toggled" swapped="no"/>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">34</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkNotebook" id="secondary_tooltip_editor_notebook">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="show_tabs">False</property>
+ <property name="show_border">False</property>
+ <child>
+ <object class="GladePropertyShell" id="secondary_tooltip_text_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="property_name">secondary-icon-tooltip-text</property>
+ </object>
+ </child>
+ <child type="tab">
+ <placeholder/>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="secondary_tooltip_markup_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="property_name">secondary-icon-tooltip-markup</property>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child type="tab">
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">32</property>
+ <property name="width">4</property>
+ <property name="height">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="secondary_icon_sensitive_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">secondary-icon-sensitive</property>
+ <property name="editor_type">GladeEpropCheck</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">35</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="secondary_icon_activatable_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">secondary-icon-activatable</property>
+ <property name="editor_type">GladeEpropCheck</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">35</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyLabel" id="invisible_char_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="halign">end</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">invisible-char</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">8</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyLabel" id="shadow_type_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="halign">end</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">shadow-type</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">9</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyLabel" id="width_chars_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">width-chars</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">6</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="width_chars_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">width-chars</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="GladePropertyLabel" id="xalign_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="margin_left">12</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">xalign</property>
+ <property name="custom_text" translatable="yes">Horizontal Alignment:</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">7</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GladePropertyShell" id="xalign_editor">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_focus">False</property>
+ <property name="is_focus">False</property>
+ <property name="hexpand">False</property>
+ <property name="property_name">xalign</property>
+ </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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child-editors>
+ <editor id="embed"/>
+ <editor id="completion_label"/>
+ <editor id="completion_editor"/>
+ <editor id="purpose_label"/>
+ <editor id="purpose_editor"/>
+ <editor id="hints_label"/>
+ <editor id="hints_editor"/>
+ <editor id="visibility_editor"/>
+ <editor id="invisible_char_editor"/>
+ <editor id="has_frame_editor"/>
+ <editor id="shadow_type_editor"/>
+ <editor id="editable_editor"/>
+ <editor id="activates_default_editor"/>
+ <editor id="overwrite_editor"/>
+ <editor id="truncate_editor"/>
+ <editor id="caps_warn_editor"/>
+ <editor id="max_length_label"/>
+ <editor id="max_length_editor"/>
+ <editor id="populate_all_editor"/>
+ <editor id="text_label"/>
+ <editor id="text-editor"/>
+ <editor id="buffer_label"/>
+ <editor id="buffer_editor"/>
+ <editor id="placeholder_label"/>
+ <editor id="placeholder_editor"/>
+ <editor id="fraction_label"/>
+ <editor id="fraction_editor"/>
+ <editor id="pulse_label"/>
+ <editor id="pulse_editor"/>
+ <editor id="primary_stock_label"/>
+ <editor id="primary_stock_editor"/>
+ <editor id="primary_icon_label"/>
+ <editor id="primary_pixbuf_label"/>
+ <editor id="primary_icon_editor"/>
+ <editor id="primary_pixbuf_editor"/>
+ <editor id="primary_tooltip_text_label"/>
+ <editor id="primary_tooltip_markup_label"/>
+ <editor id="primary_tooltip_text_editor"/>
+ <editor id="primary_tooltip_markup_editor"/>
+ <editor id="primary_icon_sensitive_editor"/>
+ <editor id="primary_icon_activatable_editor"/>
+ <editor id="secondary_stock_label"/>
+ <editor id="secondary_icon_label"/>
+ <editor id="secondary_pixbuf_label"/>
+ <editor id="secondary_stock_editor"/>
+ <editor id="secondary_icon_editor"/>
+ <editor id="secondary_pixbuf_editor"/>
+ <editor id="secondary_tooltip_text_label"/>
+ <editor id="secondary_tooltip_markup_label"/>
+ <editor id="secondary_tooltip_text_editor"/>
+ <editor id="secondary_tooltip_markup_editor"/>
+ <editor id="secondary_icon_sensitive_editor"/>
+ <editor id="secondary_icon_activatable_editor"/>
+ <editor id="invisible_char_label"/>
+ <editor id="shadow_type_label"/>
+ <editor id="width_chars_label"/>
+ <editor id="width_chars_editor"/>
+ <editor id="xalign_label"/>
+ <editor id="xalign_editor"/>
+ </child-editors>
+ </template>
+</interface>
diff --git a/plugins/gtk+/glade-gtk-resources.gresource.xml b/plugins/gtk+/glade-gtk-resources.gresource.xml
index c7d6c79..16380e4 100644
--- a/plugins/gtk+/glade-gtk-resources.gresource.xml
+++ b/plugins/gtk+/glade-gtk-resources.gresource.xml
@@ -3,6 +3,7 @@
<gresource prefix="/org/gnome/gladegtk">
<file compressed="true" preprocess="xml-stripblanks">glade-activatable-editor.ui</file>
<file compressed="true" preprocess="xml-stripblanks">glade-button-editor.ui</file>
+ <file compressed="true" preprocess="xml-stripblanks">glade-entry-editor.ui</file>
<file compressed="true" preprocess="xml-stripblanks">glade-image-editor.ui</file>
<file compressed="true" preprocess="xml-stripblanks">glade-label-editor.ui</file>
<file compressed="true" preprocess="xml-stripblanks">glade-widget-editor.ui</file>
diff --git a/plugins/gtk+/glade-gtk.c b/plugins/gtk+/glade-gtk.c
index 2e8c30c..a443b99 100644
--- a/plugins/gtk+/glade-gtk.c
+++ b/plugins/gtk+/glade-gtk.c
@@ -2816,15 +2816,10 @@ GladeEditable *
glade_gtk_entry_create_editable (GladeWidgetAdaptor * adaptor,
GladeEditorPageType type)
{
- GladeEditable *editable;
-
- /* Get base editable */
- editable = GWA_GET_CLASS (GTK_TYPE_WIDGET)->create_editable (adaptor, type);
-
if (type == GLADE_PAGE_GENERAL)
- return (GladeEditable *) glade_entry_editor_new (adaptor, editable);
-
- return editable;
+ return (GladeEditable *) glade_entry_editor_new ();
+ else
+ return GWA_GET_CLASS (GTK_TYPE_WIDGET)->create_editable (adaptor, type);
}
@@ -2943,7 +2938,24 @@ glade_gtk_entry_set_property (GladeWidgetAdaptor * adaptor,
g_signal_handlers_unblock_by_func (object, glade_gtk_entry_changed,
gwidget);
-
+ }
+ else if (!strcmp (id, "has-frame"))
+ {
+ if (g_value_get_boolean (value))
+ glade_widget_property_set_sensitive (gwidget, "shadow-type", TRUE, NULL);
+ else
+ glade_widget_property_set_sensitive (gwidget, "shadow-type", FALSE,
+ _("This property is only available\n"
+ "if the entry has a frame"));
+ }
+ else if (!strcmp (id, "visibility"))
+ {
+ if (g_value_get_boolean (value))
+ glade_widget_property_set_sensitive (gwidget, "invisible-char", FALSE,
+ _("This property is only available\n"
+ "if the entry characters are invisible"));
+ else
+ glade_widget_property_set_sensitive (gwidget, "invisible-char", TRUE, NULL);
}
else if (GPC_VERSION_CHECK
(glade_property_get_class (property), gtk_major_version, gtk_minor_version + 1))
@@ -2963,7 +2975,7 @@ glade_gtk_entry_read_widget (GladeWidgetAdaptor * adaptor,
/* First chain up and read in all the normal properties.. */
GWA_GET_CLASS (GTK_TYPE_WIDGET)->read_widget (adaptor, widget, node);
- if (glade_widget_property_original_default (widget, "text") == FALSE)
+ if (!glade_widget_property_original_default (widget, "text"))
{
property = glade_widget_get_property (widget, "text");
glade_widget_property_set (widget, "use-entry-buffer", FALSE);
@@ -2989,21 +3001,19 @@ glade_gtk_entry_read_widget (GladeWidgetAdaptor * adaptor,
glade_widget_property_set (widget, "use-entry-buffer", FALSE);
}
- if (glade_widget_property_original_default (widget, "primary-icon-name") ==
- FALSE)
+ if (!glade_widget_property_original_default (widget, "primary-icon-name"))
{
property = glade_widget_get_property (widget, "primary-icon-name");
glade_widget_property_set (widget, "primary-icon-mode",
GLADE_IMAGE_MODE_ICON);
}
- else if (glade_widget_property_original_default
- (widget, "primary-icon-pixbuf") == FALSE)
+ else if (!glade_widget_property_original_default (widget, "primary-icon-pixbuf"))
{
property = glade_widget_get_property (widget, "primary-icon-pixbuf");
glade_widget_property_set (widget, "primary-icon-mode",
GLADE_IMAGE_MODE_FILENAME);
}
- else /* if (glade_widget_property_original_default (widget, "stock") == FALSE) */
+ else /* if (glade_widget_property_original_default (widget, "stock") == FALSE) */
{
property = glade_widget_get_property (widget, "primary-icon-stock");
glade_widget_property_set (widget, "primary-icon-mode",
@@ -3012,21 +3022,19 @@ glade_gtk_entry_read_widget (GladeWidgetAdaptor * adaptor,
glade_property_sync (property);
- if (glade_widget_property_original_default (widget, "secondary-icon-name") ==
- FALSE)
+ if (!glade_widget_property_original_default (widget, "secondary-icon-name"))
{
property = glade_widget_get_property (widget, "secondary-icon-name");
glade_widget_property_set (widget, "secondary-icon-mode",
GLADE_IMAGE_MODE_ICON);
}
- else if (glade_widget_property_original_default
- (widget, "secondary-icon-pixbuf") == FALSE)
+ else if (!glade_widget_property_original_default (widget, "secondary-icon-pixbuf"))
{
property = glade_widget_get_property (widget, "secondary-icon-pixbuf");
glade_widget_property_set (widget, "secondary-icon-mode",
GLADE_IMAGE_MODE_FILENAME);
}
- else /* if (glade_widget_property_original_default (widget, "stock") == FALSE) */
+ else /* if (glade_widget_property_original_default (widget, "stock") == FALSE) */
{
property = glade_widget_get_property (widget, "secondary-icon-stock");
glade_widget_property_set (widget, "secondary-icon-mode",
@@ -3034,6 +3042,12 @@ glade_gtk_entry_read_widget (GladeWidgetAdaptor * adaptor,
}
glade_property_sync (property);
+
+ if (!glade_widget_property_original_default (widget, "primary-icon-tooltip-markup"))
+ glade_widget_property_set (widget, "glade-primary-tooltip-markup", TRUE);
+
+ if (!glade_widget_property_original_default (widget, "secondary-icon-tooltip-markup"))
+ glade_widget_property_set (widget, "glade-secondary-tooltip-markup", TRUE);
}
/* ----------------------------- GtkFixed/GtkLayout ------------------------------ */
diff --git a/plugins/gtk+/gtk+.xml.in b/plugins/gtk+/gtk+.xml.in
index 34d14b2..7ab00cd 100644
--- a/plugins/gtk+/gtk+.xml.in
+++ b/plugins/gtk+/gtk+.xml.in
@@ -982,7 +982,7 @@ embedded in another object</_tooltip>
<properties>
<property id="attributes" since="3.6" disabled="True"/>
- <property id="input-purpose" since="3.6">
+ <property id="input-purpose" since="3.6" custom-layout="True">
<displayable-values>
<value id="GTK_INPUT_PURPOSE_FREE_FORM" _name="Free Form"/>
<value id="GTK_INPUT_PURPOSE_ALPHA" _name="Alpha"/>
@@ -996,7 +996,7 @@ embedded in another object</_tooltip>
<value id="GTK_INPUT_PURPOSE_PIN" _name="Pin Code"/>
</displayable-values>
</property>
- <property id="input-hints" since="3.6">
+ <property id="input-hints" since="3.6" custom-layout="True">
<displayable-values>
<value id="GTK_INPUT_HINT_NONE" _name="None"/>
<value id="GTK_INPUT_HINT_SPELLCHECK" _name="Spellcheck"/>
@@ -1010,14 +1010,20 @@ embedded in another object</_tooltip>
</displayable-values>
</property>
- <property id="attributes" since="3.6" disabled="True"/>
-
+ <property id="overwrite-mode" custom-layout="True"/>
+ <property id="caps-lock-warning" custom-layout="True"/>
+ <property id="editable" custom-layout="True"/>
+ <property id="activates-default" custom-layout="True"/>
+ <property id="xalign" custom-layout="True"/>
+ <property id="width-chars" custom-layout="True"/>
+ <property id="max-length" custom-layout="True"/>
+ <property id="has-frame" custom-layout="True" needs-sync="True"/>
+ <property id="visibility" custom-layout="True" needs-sync="True"/>
<property id="text" translatable="True" custom-layout="True"/>
<property id="buffer" create-type="GtkEntryBuffer" since="2.18" custom-layout="True"/>
- <property id="placeholder-text" translatable="True" since="3.2"/>
- <property id="inner-border" since="2.10"/>
- <property id="truncate-multiline" since="2.10"/>
- <property id="shadow-type" since="2.12"/>
+ <property id="placeholder-text" translatable="True" since="3.2" custom-layout="True"/>
+ <property id="truncate-multiline" custom-layout="True" since="2.10"/>
+ <property id="shadow-type" custom-layout="True" since="2.12"/>
<property id="editing-canceled" disabled="True" since="2.20"/>
<property id="primary-icon-gicon" disabled="True"/>
<property id="secondary-icon-gicon" disabled="True"/>
@@ -1042,7 +1048,9 @@ embedded in another object</_tooltip>
<property id="progress-fraction" _name="Progress Fraction" since="2.16" custom-layout="True"/>
<property id="progress-pulse-step" _name="Progress Pulse Step" since="2.16" custom-layout="True"/>
- <property id="invisible-char-set" _name="Invisible Char Set" since="2.16"/>
+ <property id="populate-all" custom-layout="True" since="3.8"/>
+ <property id="invisible-char" custom-layout="True" optional="True" optional-default="False"/>
+ <property id="invisible-char-set" disabled="True" since="2.16"/>
<property id="primary-icon-tooltip-text" translatable="True" multiline="True"
_name="Primary Icon Tooltip Text" custom-layout="True" since="2.16"/>
<property id="secondary-icon-tooltip-text" translatable="True" multiline="True"
@@ -1053,8 +1061,7 @@ embedded in another object</_tooltip>
_name="Secondary Icon Tooltip Markup" custom-layout="True" since="2.16"/>
<property id="im-module" disabled="True"/>
-
- <property id="completion" since="3.2"/>
+ <property id="completion" since="3.2" custom-layout="True"/>
<!-- Virtual edit mode properties -->
<property id="use-entry-buffer" visible="False" save="False" default="False">
@@ -1072,6 +1079,16 @@ embedded in another object</_tooltip>
<type>GParamInt</type>
</parameter-spec>
</property>
+ <property id="glade-primary-tooltip-markup" save="False" custom-layout="True" ignore="True"
default="False">
+ <parameter-spec>
+ <type>GParamBoolean</type>
+ </parameter-spec>
+ </property>
+ <property id="glade-secondary-tooltip-markup" save="False" custom-layout="True" ignore="True"
default="False">
+ <parameter-spec>
+ <type>GParamBoolean</type>
+ </parameter-spec>
+ </property>
<!-- Atk activate property -->
<property id="atk-activate" _name="Activate" ignore="True" atk-property="True" save="False"
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 938fe5e..1361765 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -80,6 +80,7 @@ plugins/gtk+/gtkunixprint.xml.in
plugins/gtk+/gtk+.xml.in
[type: gettext/glade]plugins/gtk+/glade-activatable-editor.ui
[type: gettext/glade]plugins/gtk+/glade-button-editor.ui
+[type: gettext/glade]plugins/gtk+/glade-entry-editor.ui
[type: gettext/glade]plugins/gtk+/glade-image-editor.ui
[type: gettext/glade]plugins/gtk+/glade-label-editor.ui
[type: gettext/glade]plugins/gtk+/glade-widget-editor.ui
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]