forked from AuroraMiddleware/gtk
6b26664c41
Provide a mechanism for hiding the "Quit", "About" and "Preferences" menu items from the normal places in a traditional menubar layout (in the File and Edit menus) when the menu is being rendered in the Mac OS menubar. These items can already be found in the application menu. With this feature, applications can now define a single menu to use in all 'traditional' scenarios. Use this new attribute in Bloatpad. https://bugzilla.gnome.org/show_bug.cgi?id=741610
56 lines
3.3 KiB
C
56 lines
3.3 KiB
C
/*
|
|
* Copyright © 2013 Canonical Limited
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2 of the licence, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
|
*
|
|
* Author: Ryan Lortie <desrt@desrt.ca>
|
|
*/
|
|
|
|
#ifndef __GTK_MENU_TRACKER_H__
|
|
#define __GTK_MENU_TRACKER_H__
|
|
|
|
#include "gtkmenutrackeritem.h"
|
|
|
|
typedef struct _GtkMenuTracker GtkMenuTracker;
|
|
|
|
typedef void (* GtkMenuTrackerInsertFunc) (GtkMenuTrackerItem *item,
|
|
gint position,
|
|
gpointer user_data);
|
|
|
|
typedef void (* GtkMenuTrackerRemoveFunc) (gint position,
|
|
gpointer user_data);
|
|
|
|
|
|
GtkMenuTracker * gtk_menu_tracker_new (GtkActionObservable *observer,
|
|
GMenuModel *model,
|
|
gboolean with_separators,
|
|
gboolean merge_sections,
|
|
gboolean mac_os_mode,
|
|
const gchar *action_namespace,
|
|
GtkMenuTrackerInsertFunc insert_func,
|
|
GtkMenuTrackerRemoveFunc remove_func,
|
|
gpointer user_data);
|
|
|
|
GtkMenuTracker * gtk_menu_tracker_new_for_item_link (GtkMenuTrackerItem *item,
|
|
const gchar *link_name,
|
|
gboolean merge_sections,
|
|
gboolean mac_os_mode,
|
|
GtkMenuTrackerInsertFunc insert_func,
|
|
GtkMenuTrackerRemoveFunc remove_func,
|
|
gpointer user_data);
|
|
|
|
void gtk_menu_tracker_free (GtkMenuTracker *tracker);
|
|
|
|
#endif /* __GTK_MENU_TRACKER_H__ */
|