forked from AuroraMiddleware/gtk
toolbutton: Stop implementing GtkActivatable
This commit is contained in:
parent
dd03372eac
commit
efe4a36746
@ -27,7 +27,6 @@
|
|||||||
#include "gtkbox.h"
|
#include "gtkbox.h"
|
||||||
#include "gtkintl.h"
|
#include "gtkintl.h"
|
||||||
#include "gtktoolbarprivate.h"
|
#include "gtktoolbarprivate.h"
|
||||||
#include "deprecated/gtkactivatable.h"
|
|
||||||
#include "gtkicontheme.h"
|
#include "gtkicontheme.h"
|
||||||
#include "gtkactionable.h"
|
#include "gtkactionable.h"
|
||||||
#include "gtkprivate.h"
|
#include "gtkprivate.h"
|
||||||
@ -108,12 +107,6 @@ static void button_clicked (GtkWidget *widget,
|
|||||||
static void gtk_tool_button_construct_contents (GtkToolItem *tool_item);
|
static void gtk_tool_button_construct_contents (GtkToolItem *tool_item);
|
||||||
|
|
||||||
static void gtk_tool_button_actionable_iface_init (GtkActionableInterface *iface);
|
static void gtk_tool_button_actionable_iface_init (GtkActionableInterface *iface);
|
||||||
static void gtk_tool_button_activatable_interface_init (GtkActivatableIface *iface);
|
|
||||||
static void gtk_tool_button_update (GtkActivatable *activatable,
|
|
||||||
GtkAction *action,
|
|
||||||
const gchar *property_name);
|
|
||||||
static void gtk_tool_button_sync_action_properties (GtkActivatable *activatable,
|
|
||||||
GtkAction *action);
|
|
||||||
|
|
||||||
|
|
||||||
struct _GtkToolButtonPrivate
|
struct _GtkToolButtonPrivate
|
||||||
@ -132,7 +125,6 @@ struct _GtkToolButtonPrivate
|
|||||||
};
|
};
|
||||||
|
|
||||||
static GObjectClass *parent_class = NULL;
|
static GObjectClass *parent_class = NULL;
|
||||||
static GtkActivatableIface *parent_activatable_iface;
|
|
||||||
static guint toolbutton_signals[LAST_SIGNAL] = { 0 };
|
static guint toolbutton_signals[LAST_SIGNAL] = { 0 };
|
||||||
|
|
||||||
GType
|
GType
|
||||||
@ -148,12 +140,6 @@ gtk_tool_button_get_type (void)
|
|||||||
(GInterfaceFinalizeFunc) NULL,
|
(GInterfaceFinalizeFunc) NULL,
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
const GInterfaceInfo activatable_info =
|
|
||||||
{
|
|
||||||
(GInterfaceInitFunc) gtk_tool_button_activatable_interface_init,
|
|
||||||
(GInterfaceFinalizeFunc) NULL,
|
|
||||||
NULL
|
|
||||||
};
|
|
||||||
|
|
||||||
g_define_type_id = g_type_register_static_simple (GTK_TYPE_TOOL_ITEM,
|
g_define_type_id = g_type_register_static_simple (GTK_TYPE_TOOL_ITEM,
|
||||||
I_("GtkToolButton"),
|
I_("GtkToolButton"),
|
||||||
@ -163,12 +149,8 @@ gtk_tool_button_get_type (void)
|
|||||||
(GInstanceInitFunc) gtk_tool_button_init,
|
(GInstanceInitFunc) gtk_tool_button_init,
|
||||||
0);
|
0);
|
||||||
|
|
||||||
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
|
|
||||||
g_type_add_interface_static (g_define_type_id,
|
g_type_add_interface_static (g_define_type_id,
|
||||||
GTK_TYPE_ACTIONABLE, &actionable_info);
|
GTK_TYPE_ACTIONABLE, &actionable_info);
|
||||||
g_type_add_interface_static (g_define_type_id,
|
|
||||||
GTK_TYPE_ACTIVATABLE, &activatable_info);
|
|
||||||
G_GNUC_END_IGNORE_DEPRECATIONS;
|
|
||||||
}
|
}
|
||||||
return g_define_type_id;
|
return g_define_type_id;
|
||||||
}
|
}
|
||||||
@ -840,17 +822,6 @@ static void
|
|||||||
button_clicked (GtkWidget *widget,
|
button_clicked (GtkWidget *widget,
|
||||||
GtkToolButton *button)
|
GtkToolButton *button)
|
||||||
{
|
{
|
||||||
GtkAction *action;
|
|
||||||
|
|
||||||
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
|
|
||||||
|
|
||||||
action = gtk_activatable_get_related_action (GTK_ACTIVATABLE (button));
|
|
||||||
|
|
||||||
if (action)
|
|
||||||
gtk_action_activate (action);
|
|
||||||
|
|
||||||
G_GNUC_END_IGNORE_DEPRECATIONS;
|
|
||||||
|
|
||||||
g_signal_emit_by_name (button, "clicked");
|
g_signal_emit_by_name (button, "clicked");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -860,105 +831,6 @@ gtk_tool_button_toolbar_reconfigured (GtkToolItem *tool_item)
|
|||||||
gtk_tool_button_construct_contents (tool_item);
|
gtk_tool_button_construct_contents (tool_item);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
gtk_tool_button_activatable_interface_init (GtkActivatableIface *iface)
|
|
||||||
{
|
|
||||||
parent_activatable_iface = g_type_interface_peek_parent (iface);
|
|
||||||
iface->update = gtk_tool_button_update;
|
|
||||||
iface->sync_action_properties = gtk_tool_button_sync_action_properties;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
gtk_tool_button_update (GtkActivatable *activatable,
|
|
||||||
GtkAction *action,
|
|
||||||
const gchar *property_name)
|
|
||||||
{
|
|
||||||
GtkToolButton *button;
|
|
||||||
GtkWidget *image;
|
|
||||||
gboolean use_action_appearance;
|
|
||||||
|
|
||||||
parent_activatable_iface->update (activatable, action, property_name);
|
|
||||||
|
|
||||||
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
|
|
||||||
use_action_appearance = gtk_activatable_get_use_action_appearance (activatable);
|
|
||||||
G_GNUC_END_IGNORE_DEPRECATIONS;
|
|
||||||
|
|
||||||
if (!use_action_appearance)
|
|
||||||
return;
|
|
||||||
|
|
||||||
button = GTK_TOOL_BUTTON (activatable);
|
|
||||||
|
|
||||||
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
|
|
||||||
|
|
||||||
if (strcmp (property_name, "short-label") == 0)
|
|
||||||
gtk_tool_button_set_label (button, gtk_action_get_short_label (action));
|
|
||||||
else if (strcmp (property_name, "gicon") == 0)
|
|
||||||
{
|
|
||||||
GIcon *icon = gtk_action_get_gicon (action);
|
|
||||||
GtkIconSize icon_size = GTK_ICON_SIZE_BUTTON;
|
|
||||||
|
|
||||||
image = gtk_tool_button_get_icon_widget (button);
|
|
||||||
icon_size = gtk_tool_item_get_icon_size (GTK_TOOL_ITEM (button));
|
|
||||||
|
|
||||||
if (!image)
|
|
||||||
image = gtk_image_new ();
|
|
||||||
|
|
||||||
gtk_tool_button_set_icon_widget (button, image);
|
|
||||||
gtk_image_set_from_gicon (GTK_IMAGE (image), icon, icon_size);
|
|
||||||
|
|
||||||
}
|
|
||||||
else if (strcmp (property_name, "icon-name") == 0)
|
|
||||||
gtk_tool_button_set_icon_name (button, gtk_action_get_icon_name (action));
|
|
||||||
|
|
||||||
G_GNUC_END_IGNORE_DEPRECATIONS;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
gtk_tool_button_sync_action_properties (GtkActivatable *activatable,
|
|
||||||
GtkAction *action)
|
|
||||||
{
|
|
||||||
GtkToolButton *button;
|
|
||||||
GIcon *icon;
|
|
||||||
|
|
||||||
parent_activatable_iface->sync_action_properties (activatable, action);
|
|
||||||
|
|
||||||
if (!action)
|
|
||||||
return;
|
|
||||||
|
|
||||||
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
|
|
||||||
if (!gtk_activatable_get_use_action_appearance (activatable))
|
|
||||||
return;
|
|
||||||
|
|
||||||
button = GTK_TOOL_BUTTON (activatable);
|
|
||||||
|
|
||||||
gtk_tool_button_set_label (button, gtk_action_get_short_label (action));
|
|
||||||
gtk_tool_button_set_use_underline (button, TRUE);
|
|
||||||
gtk_tool_button_set_icon_name (button, gtk_action_get_icon_name (action));
|
|
||||||
|
|
||||||
if ((icon = gtk_action_get_gicon (action)) != NULL)
|
|
||||||
{
|
|
||||||
GtkIconSize icon_size = gtk_tool_item_get_icon_size (GTK_TOOL_ITEM (button));
|
|
||||||
GtkWidget *image = gtk_tool_button_get_icon_widget (button);
|
|
||||||
|
|
||||||
if (!image)
|
|
||||||
{
|
|
||||||
image = gtk_image_new ();
|
|
||||||
gtk_widget_show (image);
|
|
||||||
gtk_tool_button_set_icon_widget (button, image);
|
|
||||||
}
|
|
||||||
|
|
||||||
gtk_image_set_from_gicon (GTK_IMAGE (image), icon, icon_size);
|
|
||||||
}
|
|
||||||
else if (gtk_action_get_icon_name (action))
|
|
||||||
gtk_tool_button_set_icon_name (button, gtk_action_get_icon_name (action));
|
|
||||||
else
|
|
||||||
gtk_tool_button_set_label (button, gtk_action_get_short_label (action));
|
|
||||||
|
|
||||||
|
|
||||||
G_GNUC_END_IGNORE_DEPRECATIONS;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gtk_tool_button_new:
|
* gtk_tool_button_new:
|
||||||
* @label: (allow-none): a string that will be used as label, or %NULL
|
* @label: (allow-none): a string that will be used as label, or %NULL
|
||||||
|
Loading…
Reference in New Issue
Block a user