This is an automated email from the git hooks/post-receive script. nomad pushed a commit to branch master in repository apps/xfdashboard.
commit 14d5fc2abe6217afca76fac3a365989af91eac57 Author: Stephan Haller <no...@froevel.de> Date: Tue Jan 17 09:49:58 2017 +0100 Remove "enabled" property from interface XfdashboardPopupMenuItem and implement functions at actors (implementing this interface) to get/set enable state. --- libxfdashboard/popup-menu-item-button.c | 36 ++++++++++++++++++++++++++ libxfdashboard/popup-menu-item-separator.c | 32 ++++++++++++++++++++--- libxfdashboard/popup-menu-item.c | 41 ------------------------------ 3 files changed, 65 insertions(+), 44 deletions(-) diff --git a/libxfdashboard/popup-menu-item-button.c b/libxfdashboard/popup-menu-item-button.c index 73b29f6..31a4af5 100644 --- a/libxfdashboard/popup-menu-item-button.c +++ b/libxfdashboard/popup-menu-item-button.c @@ -50,6 +50,7 @@ struct _XfdashboardPopupMenuItemButtonPrivate { /* Instance related */ ClutterAction *clickAction; + gboolean enabled; }; /* IMPLEMENTATION: Private variables and methods */ @@ -71,11 +72,43 @@ static void _xfdashboard_popup_menu_item_button_clicked(XfdashboardClickAction * /* IMPLEMENTATION: Interface XfdashboardPopupMenuItem */ +/* Get enable state of this pop-up menu item */ +static gboolean _xfdashboard_popup_menu_item_button_popup_menu_item_get_enabled(XfdashboardPopupMenuItem *inMenuItem) +{ + XfdashboardPopupMenuItemButton *self; + XfdashboardPopupMenuItemButtonPrivate *priv; + + g_return_val_if_fail(XFDASHBOARD_IS_POPUP_MENU_ITEM_BUTTON(inMenuItem), FALSE); + + self=XFDASHBOARD_POPUP_MENU_ITEM_BUTTON(inMenuItem); + priv=self->priv; + + /* Return enabled state */ + return(priv->enabled); +} + +/* Set enable state of this pop-up menu item */ +static void _xfdashboard_popup_menu_item_button_popup_menu_item_set_enabled(XfdashboardPopupMenuItem *inMenuItem, gboolean inEnabled) +{ + XfdashboardPopupMenuItemButton *self; + XfdashboardPopupMenuItemButtonPrivate *priv; + + g_return_if_fail(XFDASHBOARD_IS_POPUP_MENU_ITEM_BUTTON(inMenuItem)); + + self=XFDASHBOARD_POPUP_MENU_ITEM_BUTTON(inMenuItem); + priv=self->priv; + + /* Set enabled state */ + priv->enabled=inEnabled; +} + /* Interface initialization * Set up default functions */ void _xfdashboard_popup_menu_item_button_popup_menu_item_iface_init(XfdashboardPopupMenuItemInterface *iface) { + iface->get_enabled=_xfdashboard_popup_menu_item_button_popup_menu_item_get_enabled; + iface->set_enabled=_xfdashboard_popup_menu_item_button_popup_menu_item_set_enabled; } /* IMPLEMENTATION: GObject */ @@ -99,6 +132,9 @@ static void xfdashboard_popup_menu_item_button_init(XfdashboardPopupMenuItemButt priv=self->priv=XFDASHBOARD_BUTTON_GET_PRIVATE(self); + /* Set up default values */ + priv->enabled=TRUE; + /* This actor reacts on events */ clutter_actor_set_reactive(CLUTTER_ACTOR(self), TRUE); diff --git a/libxfdashboard/popup-menu-item-separator.c b/libxfdashboard/popup-menu-item-separator.c index d84eb07..26ff949 100644 --- a/libxfdashboard/popup-menu-item-separator.c +++ b/libxfdashboard/popup-menu-item-separator.c @@ -150,11 +150,37 @@ static gboolean _xfdashboard_popup_menu_item_separator_on_draw_line_canvas(Xfdas /* IMPLEMENTATION: Interface XfdashboardPopupMenuItem */ +/* Get enable state of this pop-up menu item */ +static gboolean _xfdashboard_popup_menu_item_separator_popup_menu_item_get_enabled(XfdashboardPopupMenuItem *inMenuItem) +{ + g_return_val_if_fail(XFDASHBOARD_IS_POPUP_MENU_ITEM_SEPARATOR(inMenuItem), FALSE); + + /* Pop-up menu item separators are always disabled so return FALSE */ + return(FALSE); +} + +/* Set enable state of this pop-up menu item */ +static void _xfdashboard_popup_menu_item_separator_popup_menu_item_set_enabled(XfdashboardPopupMenuItem *inMenuItem, gboolean inEnabled) +{ + g_return_if_fail(XFDASHBOARD_IS_POPUP_MENU_ITEM_SEPARATOR(inMenuItem)); + + /* Pop-up menu item separators are always disabled so warn if someone tries + * to enabled it, otherwise ignore silently and do nothing. + */ + if(inEnabled) + { + g_warning(_("Object of type %s is always disabled and cannot be enabled."), + G_OBJECT_TYPE_NAME(inMenuItem)); + } +} + /* Interface initialization * Set up default functions */ void _xfdashboard_popup_menu_item_separator_popup_menu_item_iface_init(XfdashboardPopupMenuItemInterface *iface) { + iface->get_enabled=_xfdashboard_popup_menu_item_separator_popup_menu_item_get_enabled; + iface->set_enabled=_xfdashboard_popup_menu_item_separator_popup_menu_item_set_enabled; } /* IMPLEMENTATION: ClutterActor */ @@ -326,9 +352,9 @@ static void _xfdashboard_popup_menu_item_separator_get_property(GObject *inObjec */ static void xfdashboard_popup_menu_item_separator_class_init(XfdashboardPopupMenuItemSeparatorClass *klass) { - XfdashboardActorClass *actorClass=XFDASHBOARD_ACTOR_CLASS(klass); - ClutterActorClass *clutterActorClass=CLUTTER_ACTOR_CLASS(klass); - GObjectClass *gobjectClass=G_OBJECT_CLASS(klass); + XfdashboardActorClass *actorClass=XFDASHBOARD_ACTOR_CLASS(klass); + ClutterActorClass *clutterActorClass=CLUTTER_ACTOR_CLASS(klass); + GObjectClass *gobjectClass=G_OBJECT_CLASS(klass); /* Override functions */ gobjectClass->dispose=_xfdashboard_popup_menu_item_separator_dispose; diff --git a/libxfdashboard/popup-menu-item.c b/libxfdashboard/popup-menu-item.c index 4e5b2e1..c6a8f87 100644 --- a/libxfdashboard/popup-menu-item.c +++ b/libxfdashboard/popup-menu-item.c @@ -54,27 +54,6 @@ static guint XfdashboardPopupMenuItemSignals[SIGNAL_LAST]={ 0, }; G_OBJECT_TYPE_NAME(self), \ vfunc); -/* Default implementation of virtual function "get_enabled" */ -static gboolean _xfdashboard_popup_menu_item_real_get_enabled(XfdashboardPopupMenuItem *self) -{ - gboolean enabled; - - g_return_val_if_fail(XFDASHBOARD_IS_POPUP_MENU_ITEM(self), FALSE); - - /* By default (if not overidden) retrieve state from property "enabled" */ - g_object_get(self, "enabled", &enabled, NULL); - - return(enabled); -} - -/* Default implementation of virtual function "set_enabled" */ -static void _xfdashboard_popup_menu_item_real_set_enabled(XfdashboardPopupMenuItem *self, gboolean inEnabled) -{ - g_return_if_fail(XFDASHBOARD_IS_POPUP_MENU_ITEM(self)); - - /* By default (if not overidden) set property "enabled" to requested state */ - g_object_set(self, "enabled", inEnabled, NULL); -} /* IMPLEMENTATION: GObject */ @@ -86,29 +65,9 @@ void xfdashboard_popup_menu_item_default_init(XfdashboardPopupMenuItemInterface static gboolean initialized=FALSE; GParamSpec *property; - /* The following virtual functions should be overriden if default - * implementation does not fit. - */ - iface->get_enabled=_xfdashboard_popup_menu_item_real_get_enabled; - iface->set_enabled=_xfdashboard_popup_menu_item_real_set_enabled; - /* Define properties, signals and actions */ if(!initialized) { - /* Define properties */ - /** - * XfdashboardPopupMenuItem:enabled: - * - * A flag indicating if this pop-up menu item is enabled or disabled. - * It is set to %TRUE if enabled and it is set %FALSE if disabled. - */ - property=g_param_spec_boolean("enabled", - _("Enabled"), - _("Whether this pop-up menu item is enabled"), - TRUE, - G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); - g_object_interface_install_property(iface, property); - /* Define signals */ /** * XfdashboardPopupMenuItem::activated: -- To stop receiving notification emails like this one, please contact the administrator of this repository. _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits