diff options
| author | Thomas Holder <thomas@thomas-holder.de> | 2019-07-07 15:38:50 +0000 |
|---|---|---|
| committer | Thomas Holder <thomas@thomas-holder.de> | 2019-07-11 21:09:59 +0000 |
| commit | c8e95a89313c4a5943295914ff40723de20a145e (patch) | |
| tree | 8ecc6fe720f5f663aac14317c1063f7370444aa5 /src/widgets | |
| parent | CMake: Sync states of WITH_NLS and ENABLE_NLS if gettext isn't found (diff) | |
| download | inkscape-c8e95a89313c4a5943295914ff40723de20a145e.tar.gz inkscape-c8e95a89313c4a5943295914ff40723de20a145e.zip | |
macOS menu: "Window" before "Help"
Closes #322
Diffstat (limited to 'src/widgets')
| -rw-r--r-- | src/widgets/desktop-widget.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/widgets/desktop-widget.cpp b/src/widgets/desktop-widget.cpp index be477baf4..99f24f818 100644 --- a/src/widgets/desktop-widget.cpp +++ b/src/widgets/desktop-widget.cpp @@ -878,6 +878,19 @@ sp_desktop_widget_size_allocate (GtkWidget *widget, GtkAllocation *allocation) } } +#ifdef GDK_WINDOWING_QUARTZ +static GtkMenuItem *_get_help_menu(GtkMenuShell *menu) +{ + // Assume "Help" is the last child in menu + GtkMenuItem *last = nullptr; + auto callback = [](GtkWidget *widget, gpointer data) { + *static_cast<GtkMenuItem **>(data) = GTK_MENU_ITEM(widget); + }; + gtk_container_foreach(GTK_CONTAINER(menu), callback, &last); + return last; +} +#endif + /** * Callback to realize desktop widget. */ @@ -939,6 +952,7 @@ sp_desktop_widget_realize (GtkWidget *widget) menushell->set_parent(*window); gtkosx_application_set_menu_bar(osxapp, menushell->gobj()); gtkosx_application_set_use_quartz_accelerators(osxapp, false); + gtkosx_application_set_help_menu(osxapp, _get_help_menu(menushell->gobj())); gtkosx_application_set_window_menu(osxapp, nullptr); } #endif |
