Index: app/dialogs/preferences-dialog.c =================================================================== --- app/dialogs/preferences-dialog.c (revision 27972) +++ app/dialogs/preferences-dialog.c (working copy) @@ -1288,6 +1288,9 @@ _("Show _menubar"), GTK_BOX (checks_vbox)); #endif /* !GDK_WINDOWING_QUARTZ */ + prefs_check_button_add (object, "show-toolbar", + _("Show t_oolbar"), + GTK_BOX (checks_vbox)); prefs_check_button_add (object, "show-rulers", _("Show _rulers"), GTK_BOX (checks_vbox)); @@ -1305,6 +1308,9 @@ prefs_check_button_add (object, "show-selection", _("Show s_election"), GTK_BOX (checks_vbox)); + prefs_check_button_add (object, "show-secondary-toolbar", + _("Show se_condary toolbar"), + GTK_BOX (checks_vbox)); prefs_check_button_add (object, "show-layer-boundary", _("Show _layer boundary"), GTK_BOX (checks_vbox)); @@ -2772,6 +2778,10 @@ GIMP_HELP_PREFS_FOLDERS_MODULES, N_("Select Module Folders"), "module-path", NULL }, + { N_("Menus"), N_("Menu Folders"), "folders-menus", + GIMP_HELP_PREFS_FOLDERS_MENUS, + N_("Select Menu Folders"), + "menu-path", NULL }, { N_("Interpreters"), N_("Interpreter Folders"), "folders-interp", GIMP_HELP_PREFS_FOLDERS_INTERPRETERS, N_("Select Interpreter Folders"), Index: app/menus/menus.c =================================================================== --- app/menus/menus.c (revision 27972) +++ app/menus/menus.c (working copy) @@ -117,6 +117,10 @@ "image-menu.xml", image_menu_setup, "/quick-mask-popup", "quick-mask-menu.xml", NULL, + "/image-toolbar", + "image-toolbar.xml", NULL, + "/image-secondary-toolbar", + "image-secondary-toolbar.xml", NULL, NULL); gimp_menu_factory_manager_register (global_menu_factory, "", Index: app/actions/view-actions.c =================================================================== --- app/actions/view-actions.c (revision 27972) +++ app/actions/view-actions.c (working copy) @@ -206,6 +206,20 @@ TRUE, GIMP_HELP_VIEW_SHOW_MENUBAR }, + { "view-show-toolbar", NULL, + N_("Show Primary T_oolbar"), NULL, + N_("Show this window's toolbar"), + G_CALLBACK (view_toggle_toolbar_cmd_callback), + TRUE, + GIMP_HELP_VIEW_SHOW_TOOLBAR }, + + { "view-show-secondary-toolbar", NULL, + N_("Show Se_condary Toolbar"), NULL, + N_("Show this window's secondary toolbar"), + G_CALLBACK (view_toggle_secondary_toolbar_cmd_callback), + TRUE, + GIMP_HELP_VIEW_SHOW_SECONDARY_TOOLBAR }, + { "view-show-rulers", NULL, NC_("view-action", "Show R_ulers"), "R", NC_("view-action", "Show this window's rulers"), @@ -655,6 +669,10 @@ SET_SENSITIVE ("view-show-menubar", image); SET_ACTIVE ("view-show-menubar", display && options->show_menubar); + SET_SENSITIVE ("view-show-toolbar", image); + SET_ACTIVE ("view-show-toolbar", display && options->show_toolbar); + SET_SENSITIVE ("view-show-secondary-toolbar", image); + SET_ACTIVE ("view-show-secondary-toolbar", display && options->show_secondary_toolbar); SET_SENSITIVE ("view-show-rulers", image); SET_ACTIVE ("view-show-rulers", display && options->show_rulers); SET_SENSITIVE ("view-show-scrollbars", image); Index: app/actions/view-commands.c =================================================================== --- app/actions/view-commands.c (revision 27972) +++ app/actions/view-commands.c (working copy) @@ -407,6 +407,38 @@ } void +view_toggle_toolbar_cmd_callback (GtkAction *action, + gpointer data) +{ + GimpDisplay *display; + GimpDisplayShell *shell; + gboolean active; + return_if_no_display (display, data); + + shell = GIMP_DISPLAY_SHELL (display->shell); + + active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)); + + gimp_display_shell_set_show_toolbar (shell, active); +} + +void +view_toggle_secondary_toolbar_cmd_callback (GtkAction *action, + gpointer data) +{ + GimpDisplay *display; + GimpDisplayShell *shell; + gboolean active; + return_if_no_display (display, data); + + shell = GIMP_DISPLAY_SHELL (display->shell); + + active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)); + + gimp_display_shell_set_show_secondary_toolbar (shell, active); +} + +void view_toggle_rulers_cmd_callback (GtkAction *action, gpointer data) { Index: app/actions/view-commands.h =================================================================== --- app/actions/view-commands.h (revision 27972) +++ app/actions/view-commands.h (working copy) @@ -56,6 +56,10 @@ gpointer data); void view_toggle_menubar_cmd_callback (GtkAction *action, gpointer data); +void view_toggle_toolbar_cmd_callback (GtkAction *action, + gpointer data); +void view_toggle_secondary_toolbar_cmd_callback (GtkAction *action, + gpointer data); void view_toggle_rulers_cmd_callback (GtkAction *action, gpointer data); void view_toggle_scrollbars_cmd_callback (GtkAction *action, Index: app/display/gimpdisplayshell.c =================================================================== --- app/display/gimpdisplayshell.c (revision 27972) +++ app/display/gimpdisplayshell.c (working copy) @@ -1009,6 +1009,14 @@ shell); } + shell->toolbar = gtk_ui_manager_get_widget(GTK_UI_MANAGER (shell->menubar_manager), "/image-toolbar"); + gtk_box_pack_start (GTK_BOX (main_vbox), shell->toolbar, FALSE, FALSE, 0); + gtk_widget_show_all (shell->toolbar); + + shell->secondary_toolbar = gtk_ui_manager_get_widget(GTK_UI_MANAGER (shell->menubar_manager), "/image-secondary-toolbar"); + gtk_box_pack_start (GTK_BOX (main_vbox), shell->secondary_toolbar, FALSE, FALSE, 0); + gtk_widget_show_all (shell->secondary_toolbar); + /* another vbox for everything except the statusbar */ disp_vbox = gtk_vbox_new (FALSE, 1); gtk_box_pack_start (GTK_BOX (main_vbox), disp_vbox, TRUE, TRUE, 0); Index: app/display/gimpdisplayshell.h =================================================================== --- app/display/gimpdisplayshell.h (revision 27972) +++ app/display/gimpdisplayshell.h (working copy) @@ -146,6 +146,8 @@ GtkWidget *nav_ebox; /* SE: navigation event box */ GtkWidget *menubar; /* menubar */ + GtkWidget *toolbar; /* toolbar */ + GtkWidget *secondary_toolbar;/* toolbar */ GtkWidget *statusbar; /* statusbar */ guchar *render_buf; /* buffer for rendering the image */ Index: app/display/gimpdisplayoptions.c =================================================================== --- app/display/gimpdisplayoptions.c (revision 27972) +++ app/display/gimpdisplayoptions.c (working copy) @@ -41,6 +41,8 @@ { PROP_0, PROP_SHOW_MENUBAR, + PROP_SHOW_TOOLBAR, + PROP_SHOW_SECONDARY_TOOLBAR, PROP_SHOW_RULERS, PROP_SHOW_SCROLLBARS, PROP_SHOW_STATUSBAR, @@ -105,6 +107,14 @@ "show-menubar", SHOW_MENUBAR_BLURB, TRUE, GIMP_PARAM_STATIC_STRINGS); + GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_TOOLBAR, + "show-toolbar", SHOW_TOOLBAR_BLURB, + TRUE, + GIMP_PARAM_STATIC_STRINGS); + GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_SECONDARY_TOOLBAR, + "show-secondary-toolbar", SHOW_SECONDARY_TOOLBAR_BLURB, + TRUE, + GIMP_PARAM_STATIC_STRINGS); GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_RULERS, "show-rulers", SHOW_RULERS_BLURB, TRUE, @@ -163,6 +173,14 @@ "show-menubar", SHOW_MENUBAR_BLURB, FALSE, GIMP_PARAM_STATIC_STRINGS); + GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_TOOLBAR, + "show-toolbar", SHOW_TOOLBAR_BLURB, + FALSE, + GIMP_PARAM_STATIC_STRINGS); + GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_SECONDARY_TOOLBAR, + "show-secondary-toolbar", SHOW_SECONDARY_TOOLBAR_BLURB, + FALSE, + GIMP_PARAM_STATIC_STRINGS); GIMP_CONFIG_INSTALL_PROP_BOOLEAN (object_class, PROP_SHOW_RULERS, "show-rulers", SHOW_RULERS_BLURB, FALSE, @@ -263,6 +281,12 @@ case PROP_SHOW_MENUBAR: options->show_menubar = g_value_get_boolean (value); break; + case PROP_SHOW_TOOLBAR: + options->show_toolbar = g_value_get_boolean (value); + break; + case PROP_SHOW_SECONDARY_TOOLBAR: + options->show_secondary_toolbar = g_value_get_boolean (value); + break; case PROP_SHOW_RULERS: options->show_rulers = g_value_get_boolean (value); break; @@ -313,6 +337,12 @@ case PROP_SHOW_MENUBAR: g_value_set_boolean (value, options->show_menubar); break; + case PROP_SHOW_TOOLBAR: + g_value_set_boolean (value, options->show_toolbar); + break; + case PROP_SHOW_SECONDARY_TOOLBAR: + g_value_set_boolean (value, options->show_secondary_toolbar); + break; case PROP_SHOW_RULERS: g_value_set_boolean (value, options->show_rulers); break; Index: app/display/gimpdisplayoptions.h =================================================================== --- app/display/gimpdisplayoptions.h (revision 27972) +++ app/display/gimpdisplayoptions.h (working copy) @@ -41,6 +41,8 @@ /* GimpDisplayShell options */ gboolean show_menubar; + gboolean show_toolbar; + gboolean show_secondary_toolbar; gboolean show_rulers; gboolean show_scrollbars; gboolean show_statusbar; Index: app/display/gimpdisplayshell-appearance.c =================================================================== --- app/display/gimpdisplayshell-appearance.c (revision 27972) +++ app/display/gimpdisplayshell-appearance.c (working copy) @@ -168,6 +168,74 @@ } void +gimp_display_shell_set_show_toolbar (GimpDisplayShell *shell, + gboolean show) +{ + GimpDisplayOptions *options; + + g_return_if_fail (GIMP_IS_DISPLAY_SHELL (shell)); + + options = GET_OPTIONS (shell); + + g_object_set (options, "show-toolbar", show, NULL); + + if (shell->toolbar) + { + if (show) + gtk_widget_show (shell->toolbar); + else + gtk_widget_hide (shell->toolbar); + } + + SET_ACTIVE (shell->menubar_manager, "view-show-toolbar", show); + + if (IS_ACTIVE_DISPLAY (shell)) + SET_ACTIVE (shell->popup_manager, "view-show-toolbar", show); +} + +void +gimp_display_shell_set_show_secondary_toolbar (GimpDisplayShell *shell, + gboolean show) +{ + GimpDisplayOptions *options; + + g_return_if_fail (GIMP_IS_DISPLAY_SHELL (shell)); + + options = GET_OPTIONS (shell); + + g_object_set (options, "show-secondary-toolbar", show, NULL); + + if (shell->secondary_toolbar) + { + if (show) + gtk_widget_show (shell->secondary_toolbar); + else + gtk_widget_hide (shell->secondary_toolbar); + } + + SET_ACTIVE (shell->menubar_manager, "view-show-secondary-toolbar", show); + + if (IS_ACTIVE_DISPLAY (shell)) + SET_ACTIVE (shell->popup_manager, "view-show-secondary-toolbar", show); +} + +gboolean +gimp_display_shell_get_show_toolbar (GimpDisplayShell *shell) +{ + g_return_val_if_fail (GIMP_IS_DISPLAY_SHELL (shell), FALSE); + + return GET_OPTIONS (shell)->show_toolbar; +} + +gboolean +gimp_display_shell_get_show_secondary_toolbar (GimpDisplayShell *shell) +{ + g_return_val_if_fail (GIMP_IS_DISPLAY_SHELL (shell), FALSE); + + return GET_OPTIONS (shell)->show_secondary_toolbar; +} + +void gimp_display_shell_set_show_rulers (GimpDisplayShell *shell, gboolean show) { Index: app/display/gimpdisplayshell-appearance.h =================================================================== --- app/display/gimpdisplayshell-appearance.h (revision 27972) +++ app/display/gimpdisplayshell-appearance.h (working copy) @@ -29,6 +29,14 @@ gboolean show); gboolean gimp_display_shell_get_show_menubar (const GimpDisplayShell *shell); +void gimp_display_shell_set_show_toolbar (GimpDisplayShell *shell, + gboolean show); +gboolean gimp_display_shell_get_show_toolbar (GimpDisplayShell *shell); + +void gimp_display_shell_set_show_secondary_toolbar(GimpDisplayShell *shell, + gboolean show); +gboolean gimp_display_shell_get_show_secondary_toolbar(GimpDisplayShell *shell); + void gimp_display_shell_set_show_rulers (GimpDisplayShell *shell, gboolean show); gboolean gimp_display_shell_get_show_rulers (const GimpDisplayShell *shell); Index: app/config/gimpcoreconfig.h =================================================================== --- app/config/gimpcoreconfig.h (revision 27972) +++ app/config/gimpcoreconfig.h (working copy) @@ -42,6 +42,7 @@ GimpInterpolationType interpolation_type; gchar *plug_in_path; gchar *module_path; + gchar *menu_path; gchar *interpreter_path; gchar *environ_path; gchar *brush_path; Index: app/config/gimprc-blurbs.h =================================================================== --- app/config/gimprc-blurbs.h (revision 27972) +++ app/config/gimprc-blurbs.h (working copy) @@ -191,6 +191,9 @@ #define MODULE_PATH_BLURB \ "Sets the module search path." +#define MENU_PATH_BLURB \ +"Sets the menu search path." + #define MONITOR_RES_FROM_GDK_BLURB \ "When enabled, GIMP will use the monitor resolution from the windowing system." @@ -295,6 +298,14 @@ N_("When enabled, the menubar is visible by default. This can also be " \ "toggled with the \"View->Show Menubar\" command.") +#define SHOW_TOOLBAR_BLURB \ +N_("When enabled, the toolbar is visible by default. This can also be " \ + "toggled with the \"View->Show Toolbar\" command.") + +#define SHOW_SECONDARY_TOOLBAR_BLURB \ +N_("When enabled, the secondary toolbar is visible by default. This can also be " \ + "toggled with the \"View->Show Secondary Toolbar\" command.") + #define SHOW_RULERS_BLURB \ N_("When enabled, the rulers are visible by default. This can also be " \ "toggled with the \"View->Show Rulers\" command.") Index: app/config/gimpcoreconfig.c =================================================================== --- app/config/gimpcoreconfig.c (revision 27972) +++ app/config/gimpcoreconfig.c (working copy) @@ -51,6 +51,7 @@ PROP_INTERPOLATION_TYPE, PROP_PLUG_IN_PATH, PROP_MODULE_PATH, + PROP_MENU_PATH, PROP_INTERPRETER_PATH, PROP_ENVIRON_PATH, PROP_BRUSH_PATH, @@ -148,6 +149,13 @@ GIMP_PARAM_STATIC_STRINGS | GIMP_CONFIG_PARAM_RESTART); g_free (path); + path = gimp_config_build_data_path ("menus"); + GIMP_CONFIG_INSTALL_PROP_PATH (object_class, PROP_MENU_PATH, + "menu-path", MENU_PATH_BLURB, + GIMP_CONFIG_PATH_DIR_LIST, path, + GIMP_PARAM_STATIC_STRINGS | + GIMP_CONFIG_PARAM_RESTART); + g_free (path); path = gimp_config_build_plug_in_path ("interpreters"); GIMP_CONFIG_INSTALL_PROP_PATH (object_class, PROP_INTERPRETER_PATH, "interpreter-path", INTERPRETER_PATH_BLURB, @@ -396,6 +404,7 @@ g_free (core_config->plug_in_path); g_free (core_config->module_path); + g_free (core_config->menu_path); g_free (core_config->interpreter_path); g_free (core_config->environ_path); g_free (core_config->brush_path); @@ -448,6 +457,10 @@ g_free (core_config->module_path); core_config->module_path = g_value_dup_string (value); break; + case PROP_MENU_PATH: + g_free (core_config->menu_path); + core_config->menu_path = g_value_dup_string (value); + break; case PROP_INTERPRETER_PATH: g_free (core_config->interpreter_path); core_config->interpreter_path = g_value_dup_string (value); @@ -615,6 +628,9 @@ case PROP_MODULE_PATH: g_value_set_string (value, core_config->module_path); break; + case PROP_MENU_PATH: + g_value_set_string (value, core_config->menu_path); + break; case PROP_INTERPRETER_PATH: g_value_set_string (value, core_config->interpreter_path); break; Index: app/widgets/gimppaletteeditor.c =================================================================== --- app/widgets/gimppaletteeditor.c (revision 27972) +++ app/widgets/gimppaletteeditor.c (working copy) @@ -246,7 +246,7 @@ hbox = gtk_hbox_new (FALSE, 2); gtk_box_pack_start (GTK_BOX (editor), hbox, FALSE, FALSE, 0); - gtk_widget_show (hbox); + //gtk_widget_show (hbox); /* The color name entry */ editor->color_name = gtk_entry_new (); Index: app/widgets/gimphelp-ids.h =================================================================== --- app/widgets/gimphelp-ids.h (revision 27972) +++ app/widgets/gimphelp-ids.h (working copy) @@ -91,6 +91,8 @@ #define GIMP_HELP_VIEW_SNAP_TO_CANVAS "gimp-view-snap-to-canvas" #define GIMP_HELP_VIEW_SNAP_TO_VECTORS "gimp-view-snap-to-vectors" #define GIMP_HELP_VIEW_SHOW_MENUBAR "gimp-view-show-menubar" +#define GIMP_HELP_VIEW_SHOW_TOOLBAR "gimp-view-show-toolbar" +#define GIMP_HELP_VIEW_SHOW_SECONDARY_TOOLBAR "gimp-view-show-secondary-toolbar" #define GIMP_HELP_VIEW_SHOW_RULERS "gimp-view-show-rulers" #define GIMP_HELP_VIEW_SHOW_SCROLLBARS "gimp-view-show-scrollbars" #define GIMP_HELP_VIEW_SHOW_STATUSBAR "gimp-view-show-statusbar" @@ -427,6 +429,7 @@ #define GIMP_HELP_PREFS_FOLDERS_PLUG_INS "gimp-prefs-folders-plug-ins" #define GIMP_HELP_PREFS_FOLDERS_SCRIPTS "gimp-prefs-folders-scripts" #define GIMP_HELP_PREFS_FOLDERS_MODULES "gimp-prefs-folders-modules" +#define GIMP_HELP_PREFS_FOLDERS_MENUS "gimp-prefs-folders-menus" #define GIMP_HELP_PREFS_FOLDERS_INTERPRETERS "gimp-prefs-folders-interpreters" #define GIMP_HELP_PREFS_FOLDERS_ENVIRONMENT "gimp-prefs-folders-environment" #define GIMP_HELP_PREFS_FOLDERS_THEMES "gimp-prefs-folders-themes" Index: app/widgets/gimpuimanager.c =================================================================== --- app/widgets/gimpuimanager.c (revision 27972) +++ app/widgets/gimpuimanager.c (working copy) @@ -24,12 +24,18 @@ #include #include +#include +#include +#include #include "libgimpbase/gimpbase.h" #include "libgimpwidgets/gimpwidgets.h" +#include "libgimpconfig/gimpconfig-path.h" #include "widgets-types.h" +#include "config/gimpcoreconfig.h" + #include "core/gimp.h" #include "core/gimpmarshal.h" @@ -689,24 +695,53 @@ GimpUIManagerUIEntry *entry, GError **error) { - gchar *filename; + GList *menu_path_list; + gchar *menu_path; + GList *list; + gboolean success = FALSE; - filename = g_build_filename (gimp_data_directory (), "menus", - entry->basename, NULL); + menu_path = gimp_config_path_expand (manager->gimp->config->menu_path, TRUE, NULL); + menu_path_list = gimp_path_parse(menu_path, 16, FALSE, NULL); - if (manager->gimp->be_verbose) - g_print ("loading menu '%s' for %s\n", - gimp_filename_to_utf8 (filename), entry->ui_path); + for (list = menu_path_list; list; list = g_list_next (list)) + { + gchar *filename = g_build_filename (list->data, entry->basename, NULL); - entry->merge_id = gtk_ui_manager_add_ui_from_file (GTK_UI_MANAGER (manager), - filename, error); + if (g_access (filename, R_OK) == 0) + { + if (manager->gimp->be_verbose) + g_print ("loading menu '%s' for %s\n", + gimp_filename_to_utf8 (filename), entry->ui_path); + + entry->merge_id = gtk_ui_manager_add_ui_from_file (GTK_UI_MANAGER (manager), + filename, error); - g_free (filename); + if (entry->merge_id) + success = TRUE; + else + success = FALSE; - if (! entry->merge_id) - return FALSE; + g_free (filename); + break; + } - return TRUE; + g_free (filename); + } + + gimp_path_free(menu_path_list); + + if (!success && !*error) // FATAL: must allocate error for when the list is empty + { // If we had no success and no error (happens when no .xml file + // could be found at all) we try to old default directory as a fallback + gchar *filename = g_build_filename (gimp_data_directory (), "menus", NULL); + + g_print ("Fatal Fallback load '%s'\n", filename); + entry->merge_id = gtk_ui_manager_add_ui_from_file (GTK_UI_MANAGER (manager), + filename, error); + g_free(filename); + } + + return success; } static GimpUIManagerUIEntry * Index: docs/gimprc.5.in =================================================================== --- docs/gimprc.5.in (revision 27972) +++ docs/gimprc.5.in (working copy) @@ -89,6 +89,12 @@ search. .TP +(menu-path "${gimp_dir}/menus:${gimp_plug_in_dir}/menus") + +Sets the menus search path. This is a colon-separated list of folders to +search. + +.TP (interpreter-path "${gimp_dir}/interpreters:${gimp_plug_in_dir}/interpreters") Sets the interpreter search path. This is a colon-separated list of folders Index: po/Makefile.in.in =================================================================== --- po/Makefile.in.in (revision 27097) +++ po/Makefile.in.in (working copy) @@ -1,10 +1,10 @@ # Makefile for program source directory in GNU NLS utilities package. # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper +# Copyright (C) 2004-2008 Rodney Dawes # -# This file file be copied and used freely without restrictions. It can -# be used in projects which are not available under the GNU Public License +# This file may be copied and used freely without restrictions. It may +# be used in projects which are not available under a GNU Public License, # but which still want to provide support for the GNU gettext functionality. -# Please note that the actual code is *not* freely available. # # - Modified by Owen Taylor to use GETTEXT_PACKAGE # instead of PACKAGE and to look for po2tbl in ./ not in intl/ @@ -12,14 +12,12 @@ # - Modified by jacob berkman to install # Makefile.in.in and po2tbl.sed.in for use with glib-gettextize # -# - Modified by Rodney Dawes for use with intltool +# - Modified by Rodney Dawes for use with intltool # # We have the following line for use by intltoolize: # INTLTOOL_MAKEFILE GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -XGETTEXT_KEYWORDS=--keyword=_ --keyword=N_ --keyword=Q_:1g --keyword=C_:1c,2 - PACKAGE = @PACKAGE@ VERSION = @VERSION@ @@ -56,16 +54,16 @@ ALL_LINGUAS = @ALL_LINGUAS@ -PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; fi) +PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; else echo "$(ALL_LINGUAS)"; fi) -USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep ^$$lang$$ $(srcdir)/LINGUAS`" -o -n "`echo $$ALINGUAS|grep ' ?$$lang ?'`"; then printf "$$lang "; fi; done; fi) +USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep ^$$lang$$ $(srcdir)/LINGUAS 2>/dev/null`" -o -n "`echo $$ALINGUAS|tr ' ' '\n'|grep ^$$lang$$`"; then printf "$$lang "; fi; done; fi) -USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done) +USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)" -o -n "$(LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done) -POFILES=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done) +POFILES=$(shell LINGUAS="$(PO_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done) -DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(POFILES) -EXTRA_DISTFILES = POTFILES.skip Makevars LINGUAS +DISTFILES = Makefile.in.in POTFILES.in $(POFILES) +EXTRA_DISTFILES = ChangeLog POTFILES.skip Makevars LINGUAS POTFILES = \ # This comment gets stripped out @@ -103,7 +101,6 @@ install-data: install-data-@USE_NLS@ install-data-no: all install-data-yes: all - $(mkdir_p) $(DESTDIR)$(itlocaledir) linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \ Index: menus/image-toolbar.xml =================================================================== --- menus/image-toolbar.xml (revision 0) +++ menus/image-toolbar.xml (revision 0) @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: menus/image-menu.xml.in =================================================================== --- menus/image-menu.xml.in (revision 27972) +++ menus/image-menu.xml.in (working copy) @@ -286,6 +286,8 @@ + + Index: menus/image-secondary-toolbar.xml =================================================================== --- menus/image-secondary-toolbar.xml (revision 0) +++ menus/image-secondary-toolbar.xml (revision 0) @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: menus/Makefile.am =================================================================== --- menus/Makefile.am (revision 27972) +++ menus/Makefile.am (working copy) @@ -22,6 +22,8 @@ gradient-editor-menu.xml \ gradients-menu.xml \ images-menu.xml \ + image-toolbar.xml \ + image-secondary-toolbar.xml \ layers-menu.xml \ palette-editor-menu.xml \ palettes-menu.xml \ Index: etc/gimprc =================================================================== --- etc/gimprc (revision 27972) +++ etc/gimprc (working copy) @@ -59,6 +59,11 @@ # # (module-path "${gimp_dir}/modules:${gimp_plug_in_dir}/modules") +# Sets the menu search path. This is a colon-separated list of folders to +# search. +# +# (menu-path "${gimp_dir}/menus:${gimp_data_in_dir}/menus") + # Sets the interpreter search path. This is a colon-separated list of # folders to search. #