|
Packit |
1e8aac |
/*
|
|
Packit |
1e8aac |
* glade-gtk-button.c - GladeWidgetAdaptor for GtkButton classes
|
|
Packit |
1e8aac |
*
|
|
Packit |
1e8aac |
* Copyright (C) 2013 Tristan Van Berkom
|
|
Packit |
1e8aac |
*
|
|
Packit |
1e8aac |
* Authors:
|
|
Packit |
1e8aac |
* Tristan Van Berkom <tristan.van.berkom@gmail.com>
|
|
Packit |
1e8aac |
*
|
|
Packit |
1e8aac |
* This library is free software; you can redistribute it and/or modify it
|
|
Packit |
1e8aac |
* under the terms of the GNU Lesser General Public License as
|
|
Packit |
1e8aac |
* published by the Free Software Foundation; either version 2.1 of
|
|
Packit |
1e8aac |
* the License, or (at your option) any later version.
|
|
Packit |
1e8aac |
*
|
|
Packit |
1e8aac |
* This library is distributed in the hope that it will be useful, but
|
|
Packit |
1e8aac |
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
1e8aac |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit |
1e8aac |
* Lesser General Public License for more details.
|
|
Packit |
1e8aac |
*
|
|
Packit |
1e8aac |
* You should have received a copy of the GNU Lesser General Public
|
|
Packit |
1e8aac |
* License along with this program; if not, write to the Free Software
|
|
Packit |
1e8aac |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
Packit |
1e8aac |
*/
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
#include <config.h>
|
|
Packit |
1e8aac |
#include <glib/gi18n-lib.h>
|
|
Packit |
1e8aac |
#include <gladeui/glade.h>
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
#include "glade-button-editor.h"
|
|
Packit |
1e8aac |
#include "glade-scale-button-editor.h"
|
|
Packit |
1e8aac |
#include "glade-font-button-editor.h"
|
|
Packit |
1e8aac |
#include "glade-eprop-enum-int.h"
|
|
Packit |
1e8aac |
#include "glade-gtk.h"
|
|
Packit |
1e8aac |
#include "glade-gtk-button.h"
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
/* ----------------------------- GtkFontButton ------------------------------ */
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
/* Use the font-buttons launch dialog to actually set the font-name
|
|
Packit |
1e8aac |
* glade property through the glade-command api.
|
|
Packit |
1e8aac |
*/
|
|
Packit |
1e8aac |
static void
|
|
Packit |
1e8aac |
glade_gtk_font_button_refresh_font_name (GtkFontButton * button,
|
|
Packit |
1e8aac |
GladeWidget * gbutton)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
GladeProperty *property;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
if ((property = glade_widget_get_property (gbutton, "font-name")) != NULL)
|
|
Packit |
1e8aac |
glade_command_set_property (property,
|
|
Packit |
1e8aac |
gtk_font_button_get_font_name (button));
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
/* ----------------------------- GtkColorButton ------------------------------ */
|
|
Packit |
1e8aac |
static void
|
|
Packit |
1e8aac |
glade_gtk_color_button_refresh_color (GtkColorButton * button,
|
|
Packit |
1e8aac |
GladeWidget * gbutton)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
GladeProperty *property;
|
|
Packit |
1e8aac |
GdkRGBA rgba = { 0, };
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
gtk_color_chooser_get_rgba (GTK_COLOR_CHOOSER (button), &rgba);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
if ((property = glade_widget_get_property (gbutton, "color")) != NULL)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
if (glade_property_get_enabled (property))
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
GdkColor color = { 0, };
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
color.red = (gint16) (rgba.red * 65535);
|
|
Packit |
1e8aac |
color.green = (gint16) (rgba.green * 65535);
|
|
Packit |
1e8aac |
color.blue = (gint16) (rgba.blue * 65535);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
glade_command_set_property (property, &color;;
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
if ((property = glade_widget_get_property (gbutton, "rgba")) != NULL)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
if (glade_property_get_enabled (property))
|
|
Packit |
1e8aac |
glade_command_set_property (property, &rgba);
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
void
|
|
Packit |
1e8aac |
glade_gtk_color_button_set_property (GladeWidgetAdaptor * adaptor,
|
|
Packit |
1e8aac |
GObject * object,
|
|
Packit |
1e8aac |
const gchar * id, const GValue * value)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
GladeProperty *property;
|
|
Packit |
1e8aac |
GladeWidget *gwidget = glade_widget_get_from_gobject (object);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
if (!strcmp (id, "color"))
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
if ((property = glade_widget_get_property (gwidget, "color")) != NULL &&
|
|
Packit |
1e8aac |
glade_property_get_enabled (property) && g_value_get_boxed (value))
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
GdkColor *color = g_value_get_boxed (value);
|
|
Packit |
1e8aac |
GdkRGBA copy;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
copy.red = color->red / 65535.0;
|
|
Packit |
1e8aac |
copy.green = color->green / 65535.0;
|
|
Packit |
1e8aac |
copy.blue = color->blue / 65535.0;
|
|
Packit |
1e8aac |
copy.alpha = 1.0;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
gtk_color_chooser_set_rgba (GTK_COLOR_CHOOSER (object), ©);
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
else if (!strcmp (id, "rgba"))
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
if ((property = glade_widget_get_property (gwidget, "rgba")) != NULL &&
|
|
Packit |
1e8aac |
glade_property_get_enabled (property) && g_value_get_boxed (value))
|
|
Packit |
1e8aac |
gtk_color_chooser_set_rgba (GTK_COLOR_CHOOSER (object),
|
|
Packit |
1e8aac |
(GdkRGBA *) g_value_get_boxed (value));
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
else
|
|
Packit |
1e8aac |
GWA_GET_CLASS (GTK_TYPE_BUTTON)->set_property (adaptor, object, id, value);
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
/* ----------------------------- GtkButton ------------------------------ */
|
|
Packit |
1e8aac |
GladeEditable *
|
|
Packit |
1e8aac |
glade_gtk_button_create_editable (GladeWidgetAdaptor * adaptor,
|
|
Packit |
1e8aac |
GladeEditorPageType type)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
if (type == GLADE_PAGE_GENERAL)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
GType type = glade_widget_adaptor_get_object_type (adaptor);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
if (g_type_is_a (type, GTK_TYPE_FONT_BUTTON))
|
|
Packit |
1e8aac |
return (GladeEditable *) glade_font_button_editor_new ();
|
|
Packit |
1e8aac |
else if (g_type_is_a (type, GTK_TYPE_SCALE_BUTTON))
|
|
Packit |
1e8aac |
return (GladeEditable *) glade_scale_button_editor_new ();
|
|
Packit |
1e8aac |
else if (!g_type_is_a (type, GTK_TYPE_LOCK_BUTTON))
|
|
Packit |
1e8aac |
return (GladeEditable *) glade_button_editor_new ();
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
return GWA_GET_CLASS (GTK_TYPE_CONTAINER)->create_editable (adaptor, type);
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
static void
|
|
Packit |
1e8aac |
glade_gtk_button_update_stock (GladeWidget *widget)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
gboolean use_stock;
|
|
Packit |
1e8aac |
gchar *label = NULL;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
/* Update the stock property */
|
|
Packit |
1e8aac |
glade_widget_property_get (widget, "use-stock", &use_stock);
|
|
Packit |
1e8aac |
if (use_stock)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
glade_widget_property_get (widget, "label", &label);
|
|
Packit |
1e8aac |
glade_widget_property_set (widget, "stock", label);
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
void
|
|
Packit |
1e8aac |
glade_gtk_button_post_create (GladeWidgetAdaptor * adaptor,
|
|
Packit |
1e8aac |
GObject * button, GladeCreateReason reason)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
GladeWidget *gbutton = glade_widget_get_from_gobject (button);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
g_return_if_fail (GTK_IS_BUTTON (button));
|
|
Packit |
1e8aac |
g_return_if_fail (GLADE_IS_WIDGET (gbutton));
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
if (GTK_IS_FONT_BUTTON (button))
|
|
Packit |
1e8aac |
g_signal_connect
|
|
Packit |
1e8aac |
(button, "font-set",
|
|
Packit |
1e8aac |
G_CALLBACK (glade_gtk_font_button_refresh_font_name), gbutton);
|
|
Packit |
1e8aac |
else if (GTK_IS_COLOR_BUTTON (button))
|
|
Packit |
1e8aac |
g_signal_connect
|
|
Packit |
1e8aac |
(button, "color-set",
|
|
Packit |
1e8aac |
G_CALLBACK (glade_gtk_color_button_refresh_color), gbutton);
|
|
Packit |
1e8aac |
else if (GTK_IS_LOCK_BUTTON (button))
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
/* Gtk <= 3.12 crash if you click on a LockButton without a permission set */
|
|
Packit |
1e8aac |
gtk_lock_button_set_permission (GTK_LOCK_BUTTON (button),
|
|
Packit |
1e8aac |
g_simple_permission_new (TRUE));
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
/* Disabled response-id until its in an action area */
|
|
Packit |
1e8aac |
glade_widget_property_set_sensitive (gbutton, "response-id", FALSE,
|
|
Packit |
1e8aac |
RESPID_INSENSITIVE_MSG);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
if (reason == GLADE_CREATE_USER)
|
|
Packit |
1e8aac |
glade_gtk_button_update_stock (gbutton);
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
static inline gboolean
|
|
Packit |
1e8aac |
glade_gtk_lock_button_is_own_property (GladeProperty *property)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
GladePropertyClass *klass = glade_property_get_class (property);
|
|
Packit |
1e8aac |
GParamSpec *spec = glade_property_class_get_pspec (klass);
|
|
Packit |
1e8aac |
return (spec->owner_type == GTK_TYPE_LOCK_BUTTON);
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
void
|
|
Packit |
1e8aac |
glade_gtk_button_set_property (GladeWidgetAdaptor * adaptor,
|
|
Packit |
1e8aac |
GObject * object,
|
|
Packit |
1e8aac |
const gchar * id, const GValue * value)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
GladeWidget *widget = glade_widget_get_from_gobject (object);
|
|
Packit |
1e8aac |
GladeProperty *property = glade_widget_get_property (widget, id);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
if (strcmp (id, "custom-child") == 0)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
GtkWidget *child = gtk_bin_get_child (GTK_BIN (object));
|
|
Packit |
1e8aac |
gboolean custom_child = g_value_get_boolean (value);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
/* Avoid removing a child if we already have a custom child */
|
|
Packit |
1e8aac |
if (custom_child && (child && glade_widget_get_from_gobject (child)))
|
|
Packit |
1e8aac |
return;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
if (custom_child)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
if (child)
|
|
Packit |
1e8aac |
gtk_container_remove (GTK_CONTAINER (object), child);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
gtk_container_add (GTK_CONTAINER (object), glade_placeholder_new ());
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
else if (child && GLADE_IS_PLACEHOLDER (child))
|
|
Packit |
1e8aac |
gtk_container_remove (GTK_CONTAINER (object), child);
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
else if (strcmp (id, "stock") == 0)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
gboolean use_stock = FALSE;
|
|
Packit |
1e8aac |
glade_widget_property_get (widget, "use-stock", &use_stock);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
if (use_stock)
|
|
Packit |
1e8aac |
gtk_button_set_label (GTK_BUTTON (object), g_value_get_string (value));
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
else if (strcmp (id, "use-stock") == 0)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
/* I guess its my bug in GTK+, we need to resync the appearance property
|
|
Packit |
1e8aac |
* on GtkButton when the GtkButton:use-stock property changes.
|
|
Packit |
1e8aac |
*/
|
|
Packit |
1e8aac |
GWA_GET_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor, object,
|
|
Packit |
1e8aac |
id, value);
|
|
Packit |
1e8aac |
glade_gtk_sync_use_appearance (widget);
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
else if (GPC_VERSION_CHECK (glade_property_get_class (property), gtk_major_version, gtk_minor_version + 1))
|
|
Packit |
1e8aac |
GWA_GET_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor, object, id, value);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
/* GtkLockButton hides itself after setting a property so we need to make sure
|
|
Packit |
1e8aac |
* we keep it visible.
|
|
Packit |
1e8aac |
*/
|
|
Packit |
1e8aac |
if (GTK_IS_LOCK_BUTTON (object) && glade_gtk_lock_button_is_own_property (property))
|
|
Packit |
1e8aac |
gtk_widget_set_visible (GTK_WIDGET (object), TRUE);
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
void
|
|
Packit |
1e8aac |
glade_gtk_button_read_widget (GladeWidgetAdaptor * adaptor,
|
|
Packit |
1e8aac |
GladeWidget * widget, GladeXmlNode * node)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
GObject *object;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
if (!(glade_xml_node_verify_silent (node, GLADE_XML_TAG_WIDGET) ||
|
|
Packit |
1e8aac |
glade_xml_node_verify_silent (node, GLADE_XML_TAG_TEMPLATE)))
|
|
Packit |
1e8aac |
return;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
/* First chain up and read in all the normal properties.. */
|
|
Packit |
1e8aac |
GWA_GET_CLASS (GTK_TYPE_CONTAINER)->read_widget (adaptor, widget, node);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
glade_gtk_button_update_stock (widget);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
/* Fold "font-name" property into the "font" propery */
|
|
Packit |
1e8aac |
object = glade_widget_get_object (widget);
|
|
Packit |
1e8aac |
if (GTK_IS_FONT_BUTTON (object))
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
gchar *font_prop_value = NULL;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
glade_widget_property_get (widget, "font-name", &font_prop_value);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
if (font_prop_value != NULL)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
glade_widget_property_set (widget, "font", font_prop_value);
|
|
Packit |
1e8aac |
glade_widget_property_set (widget, "font-name", NULL);
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
void
|
|
Packit |
1e8aac |
glade_gtk_button_write_widget (GladeWidgetAdaptor * adaptor,
|
|
Packit |
1e8aac |
GladeWidget * widget,
|
|
Packit |
1e8aac |
GladeXmlContext * context, GladeXmlNode * node)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
GladeProperty *prop;
|
|
Packit |
1e8aac |
gboolean use_stock;
|
|
Packit |
1e8aac |
gchar *stock = NULL;
|
|
Packit |
1e8aac |
GObject *object;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
if (!(glade_xml_node_verify_silent (node, GLADE_XML_TAG_WIDGET) ||
|
|
Packit |
1e8aac |
glade_xml_node_verify_silent (node, GLADE_XML_TAG_TEMPLATE)))
|
|
Packit |
1e8aac |
return;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
object = glade_widget_get_object (widget);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
/* Do not save GtkColorButton GtkFontButton GtkLockButton and GtkScaleButton
|
|
Packit |
1e8aac |
* label property
|
|
Packit |
1e8aac |
*/
|
|
Packit |
1e8aac |
if (!(GTK_IS_COLOR_BUTTON (object) || GTK_IS_FONT_BUTTON (object) ||
|
|
Packit |
1e8aac |
GTK_IS_LOCK_BUTTON (object) || GTK_IS_SCALE_BUTTON (object)))
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
/* Make a copy of the GladeProperty,
|
|
Packit |
1e8aac |
* override its value and ensure non-translatable if use-stock is TRUE
|
|
Packit |
1e8aac |
*/
|
|
Packit |
1e8aac |
prop = glade_widget_get_property (widget, "label");
|
|
Packit |
1e8aac |
prop = glade_property_dup (prop, widget);
|
|
Packit |
1e8aac |
glade_widget_property_get (widget, "use-stock", &use_stock);
|
|
Packit |
1e8aac |
if (use_stock)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
glade_widget_property_get (widget, "stock", &stock);
|
|
Packit |
1e8aac |
glade_property_i18n_set_translatable (prop, FALSE);
|
|
Packit |
1e8aac |
glade_property_set (prop, stock);
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
glade_property_write (prop, context, node);
|
|
Packit |
1e8aac |
g_object_unref (G_OBJECT (prop));
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
/* Write out other normal properties and any other class derived custom properties after ... */
|
|
Packit |
1e8aac |
GWA_GET_CLASS (GTK_TYPE_CONTAINER)->write_widget (adaptor, widget, context,
|
|
Packit |
1e8aac |
node);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
GladeEditorProperty *
|
|
Packit |
1e8aac |
glade_gtk_button_create_eprop (GladeWidgetAdaptor * adaptor,
|
|
Packit |
1e8aac |
GladePropertyClass * klass,
|
|
Packit |
1e8aac |
gboolean use_command)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
GladeEditorProperty *eprop;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
if (strcmp (glade_property_class_id(klass), "response-id")==0)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
eprop = glade_eprop_enum_int_new (klass, GTK_TYPE_RESPONSE_TYPE, use_command);
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
else
|
|
Packit |
1e8aac |
eprop = GWA_GET_CLASS
|
|
Packit |
1e8aac |
(GTK_TYPE_WIDGET)->create_eprop (adaptor, klass, use_command);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
return eprop;
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
/* Shared with other classes */
|
|
Packit |
1e8aac |
void
|
|
Packit |
1e8aac |
glade_gtk_sync_use_appearance (GladeWidget *gwidget)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
GladeProperty *prop;
|
|
Packit |
1e8aac |
gboolean use_appearance;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
/* This is the kind of thing we avoid doing at project load time ;-) */
|
|
Packit |
1e8aac |
if (glade_widget_superuser ())
|
|
Packit |
1e8aac |
return;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
prop = glade_widget_get_property (gwidget, "use-action-appearance");
|
|
Packit |
1e8aac |
use_appearance = FALSE;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
glade_property_get (prop, &use_appearance);
|
|
Packit |
1e8aac |
if (use_appearance)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
glade_property_set (prop, FALSE);
|
|
Packit |
1e8aac |
glade_property_set (prop, TRUE);
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
}
|