void
panel_menu_button_popup_menu (PanelMenuButton *button,
			      guint            n_button,
			      guint32          activate_time)
{
	GdkScreen *screen;

	g_return_if_fail (PANEL_IS_MENU_BUTTON (button));

	panel_menu_button_create_menu (button);

	panel_toplevel_push_autohide_disabler (button->priv->toplevel);

	button_widget_set_ignore_leave (BUTTON_WIDGET (button), TRUE);

	screen = gtk_window_get_screen (GTK_WINDOW (button->priv->toplevel));
	gtk_menu_set_screen (GTK_MENU (button->priv->menu), screen);

	gtk_menu_popup (GTK_MENU (button->priv->menu),
			NULL,
			NULL,
			(GtkMenuPositionFunc) mate_panel_applet_position_menu,
			GTK_WIDGET (button),
			n_button,
			activate_time);
}
static void
panel_menu_button_menu_deactivated (PanelMenuButton *button)
{
	panel_toplevel_pop_autohide_disabler (button->priv->toplevel);

	GTK_BUTTON (button)->in_button = FALSE;
	button_widget_set_ignore_leave (BUTTON_WIDGET (button), FALSE);
}
Beispiel #3
0
static void
panel_menu_button_menu_deactivated (PanelMenuButton *button)
{
	panel_toplevel_pop_autohide_disabler (button->priv->toplevel);

	gtk_widget_unset_state_flags (GTK_WIDGET (button),
				      GTK_STATE_FLAG_PRELIGHT);
	button_widget_set_ignore_leave (BUTTON_WIDGET (button), FALSE);
}
static void
panel_menu_button_menu_deactivated (PanelMenuButton *button)
{
	panel_toplevel_pop_autohide_disabler (button->priv->toplevel);

#if GTK_CHECK_VERSION (3, 0, 0)
	gtk_widget_unset_state_flags (GTK_WIDGET (button),
								  GTK_STATE_FLAG_PRELIGHT);
#else
	GTK_BUTTON (button)->in_button = FALSE;
#endif
	button_widget_set_ignore_leave (BUTTON_WIDGET (button), FALSE);
}