From cff3ee1085515d1b97bf8cd5d210394d82a6d4f3 Mon Sep 17 00:00:00 2001 From: Manish Singh Date: Tue, 5 May 1998 02:38:10 +0000 Subject: [PATCH] make repeat last and re-show plugin menu sensitive to image type * app/plug_in.c: make repeat last and re-show plugin menu sensitive to image type -Yosh --- ChangeLog | 5 +++ app/actions/plug-in-commands.c | 64 +++++++++++++++------------- app/gui/plug-in-commands.c | 64 +++++++++++++++------------- app/gui/plug-in-menus.c | 64 +++++++++++++++------------- app/menus/plug-in-menus.c | 64 +++++++++++++++------------- app/plug-in/gimpplugin-message.c | 64 +++++++++++++++------------- app/plug-in/gimpplugin-progress.c | 64 +++++++++++++++------------- app/plug-in/gimpplugin.c | 64 +++++++++++++++------------- app/plug-in/gimppluginmanager-call.c | 64 +++++++++++++++------------- app/plug-in/gimppluginmanager-run.c | 64 +++++++++++++++------------- app/plug-in/gimppluginmanager.c | 64 +++++++++++++++------------- app/plug-in/gimppluginshm.c | 64 +++++++++++++++------------- app/plug-in/plug-in-def.c | 64 +++++++++++++++------------- app/plug-in/plug-in-message.c | 64 +++++++++++++++------------- app/plug-in/plug-in-params.c | 64 +++++++++++++++------------- app/plug-in/plug-in-progress.c | 64 +++++++++++++++------------- app/plug-in/plug-in-run.c | 64 +++++++++++++++------------- app/plug-in/plug-in-shm.c | 64 +++++++++++++++------------- app/plug-in/plug-in.c | 64 +++++++++++++++------------- app/plug-in/plug-ins.c | 64 +++++++++++++++------------- app/plug_in.c | 64 +++++++++++++++------------- 21 files changed, 685 insertions(+), 600 deletions(-) diff --git a/ChangeLog b/ChangeLog index f3ac9b839f..58125b4e4f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon May 4 19:32:54 PDT 1998 Manish Singh + + * app/plug_in.c: make repeat last and re-show plugin menu + sensitive to image type + Mon May 4 04:12:54 PDT 1998 Manish Singh * configure.in: define and export version number parts. Check for diff --git a/app/actions/plug-in-commands.c b/app/actions/plug-in-commands.c index 574b8b3fef..a249ae40e2 100644 --- a/app/actions/plug-in-commands.c +++ b/app/actions/plug-in-commands.c @@ -1072,6 +1072,7 @@ plug_in_set_menu_sensitivity (int base_type) { PlugInProcDef *proc_def; GSList *tmp; + int sensitive = FALSE; tmp = proc_defs; while (tmp) @@ -1080,36 +1081,39 @@ plug_in_set_menu_sensitivity (int base_type) tmp = tmp->next; if (proc_def->image_types_val && proc_def->menu_path) - switch (base_type) - { - case -1: - menus_set_sensitive (proc_def->menu_path, FALSE); - break; - case RGB_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGB_IMAGE); - break; - case RGBA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGBA_IMAGE); - break; - case GRAY_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAY_IMAGE); - break; - case GRAYA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAYA_IMAGE); - break; - case INDEXED_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXED_IMAGE); - break; - case INDEXEDA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXEDA_IMAGE); - break; - } + { + switch (base_type) + { + case -1: + sensitive = FALSE; + break; + case RGB_GIMAGE: + sensitive = proc_def->image_types_val & RGB_IMAGE; + break; + case RGBA_GIMAGE: + sensitive = proc_def->image_types_val & RGBA_IMAGE; + break; + case GRAY_GIMAGE: + sensitive = proc_def->image_types_val & GRAY_IMAGE; + break; + case GRAYA_GIMAGE: + sensitive = proc_def->image_types_val & GRAYA_IMAGE; + break; + case INDEXED_GIMAGE: + sensitive = proc_def->image_types_val & INDEXED_IMAGE; + break; + case INDEXEDA_GIMAGE: + sensitive = proc_def->image_types_val & INDEXEDA_IMAGE; + break; + } + + menus_set_sensitive (proc_def->menu_path, sensitive); + if (last_plug_in && (last_plug_in == &(proc_def->db_info))) + { + menus_set_sensitive ("/Filters/Repeat last", sensitive); + menus_set_sensitive ("/Filters/Re-show last", sensitive); + } + } } } diff --git a/app/gui/plug-in-commands.c b/app/gui/plug-in-commands.c index 574b8b3fef..a249ae40e2 100644 --- a/app/gui/plug-in-commands.c +++ b/app/gui/plug-in-commands.c @@ -1072,6 +1072,7 @@ plug_in_set_menu_sensitivity (int base_type) { PlugInProcDef *proc_def; GSList *tmp; + int sensitive = FALSE; tmp = proc_defs; while (tmp) @@ -1080,36 +1081,39 @@ plug_in_set_menu_sensitivity (int base_type) tmp = tmp->next; if (proc_def->image_types_val && proc_def->menu_path) - switch (base_type) - { - case -1: - menus_set_sensitive (proc_def->menu_path, FALSE); - break; - case RGB_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGB_IMAGE); - break; - case RGBA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGBA_IMAGE); - break; - case GRAY_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAY_IMAGE); - break; - case GRAYA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAYA_IMAGE); - break; - case INDEXED_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXED_IMAGE); - break; - case INDEXEDA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXEDA_IMAGE); - break; - } + { + switch (base_type) + { + case -1: + sensitive = FALSE; + break; + case RGB_GIMAGE: + sensitive = proc_def->image_types_val & RGB_IMAGE; + break; + case RGBA_GIMAGE: + sensitive = proc_def->image_types_val & RGBA_IMAGE; + break; + case GRAY_GIMAGE: + sensitive = proc_def->image_types_val & GRAY_IMAGE; + break; + case GRAYA_GIMAGE: + sensitive = proc_def->image_types_val & GRAYA_IMAGE; + break; + case INDEXED_GIMAGE: + sensitive = proc_def->image_types_val & INDEXED_IMAGE; + break; + case INDEXEDA_GIMAGE: + sensitive = proc_def->image_types_val & INDEXEDA_IMAGE; + break; + } + + menus_set_sensitive (proc_def->menu_path, sensitive); + if (last_plug_in && (last_plug_in == &(proc_def->db_info))) + { + menus_set_sensitive ("/Filters/Repeat last", sensitive); + menus_set_sensitive ("/Filters/Re-show last", sensitive); + } + } } } diff --git a/app/gui/plug-in-menus.c b/app/gui/plug-in-menus.c index 574b8b3fef..a249ae40e2 100644 --- a/app/gui/plug-in-menus.c +++ b/app/gui/plug-in-menus.c @@ -1072,6 +1072,7 @@ plug_in_set_menu_sensitivity (int base_type) { PlugInProcDef *proc_def; GSList *tmp; + int sensitive = FALSE; tmp = proc_defs; while (tmp) @@ -1080,36 +1081,39 @@ plug_in_set_menu_sensitivity (int base_type) tmp = tmp->next; if (proc_def->image_types_val && proc_def->menu_path) - switch (base_type) - { - case -1: - menus_set_sensitive (proc_def->menu_path, FALSE); - break; - case RGB_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGB_IMAGE); - break; - case RGBA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGBA_IMAGE); - break; - case GRAY_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAY_IMAGE); - break; - case GRAYA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAYA_IMAGE); - break; - case INDEXED_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXED_IMAGE); - break; - case INDEXEDA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXEDA_IMAGE); - break; - } + { + switch (base_type) + { + case -1: + sensitive = FALSE; + break; + case RGB_GIMAGE: + sensitive = proc_def->image_types_val & RGB_IMAGE; + break; + case RGBA_GIMAGE: + sensitive = proc_def->image_types_val & RGBA_IMAGE; + break; + case GRAY_GIMAGE: + sensitive = proc_def->image_types_val & GRAY_IMAGE; + break; + case GRAYA_GIMAGE: + sensitive = proc_def->image_types_val & GRAYA_IMAGE; + break; + case INDEXED_GIMAGE: + sensitive = proc_def->image_types_val & INDEXED_IMAGE; + break; + case INDEXEDA_GIMAGE: + sensitive = proc_def->image_types_val & INDEXEDA_IMAGE; + break; + } + + menus_set_sensitive (proc_def->menu_path, sensitive); + if (last_plug_in && (last_plug_in == &(proc_def->db_info))) + { + menus_set_sensitive ("/Filters/Repeat last", sensitive); + menus_set_sensitive ("/Filters/Re-show last", sensitive); + } + } } } diff --git a/app/menus/plug-in-menus.c b/app/menus/plug-in-menus.c index 574b8b3fef..a249ae40e2 100644 --- a/app/menus/plug-in-menus.c +++ b/app/menus/plug-in-menus.c @@ -1072,6 +1072,7 @@ plug_in_set_menu_sensitivity (int base_type) { PlugInProcDef *proc_def; GSList *tmp; + int sensitive = FALSE; tmp = proc_defs; while (tmp) @@ -1080,36 +1081,39 @@ plug_in_set_menu_sensitivity (int base_type) tmp = tmp->next; if (proc_def->image_types_val && proc_def->menu_path) - switch (base_type) - { - case -1: - menus_set_sensitive (proc_def->menu_path, FALSE); - break; - case RGB_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGB_IMAGE); - break; - case RGBA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGBA_IMAGE); - break; - case GRAY_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAY_IMAGE); - break; - case GRAYA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAYA_IMAGE); - break; - case INDEXED_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXED_IMAGE); - break; - case INDEXEDA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXEDA_IMAGE); - break; - } + { + switch (base_type) + { + case -1: + sensitive = FALSE; + break; + case RGB_GIMAGE: + sensitive = proc_def->image_types_val & RGB_IMAGE; + break; + case RGBA_GIMAGE: + sensitive = proc_def->image_types_val & RGBA_IMAGE; + break; + case GRAY_GIMAGE: + sensitive = proc_def->image_types_val & GRAY_IMAGE; + break; + case GRAYA_GIMAGE: + sensitive = proc_def->image_types_val & GRAYA_IMAGE; + break; + case INDEXED_GIMAGE: + sensitive = proc_def->image_types_val & INDEXED_IMAGE; + break; + case INDEXEDA_GIMAGE: + sensitive = proc_def->image_types_val & INDEXEDA_IMAGE; + break; + } + + menus_set_sensitive (proc_def->menu_path, sensitive); + if (last_plug_in && (last_plug_in == &(proc_def->db_info))) + { + menus_set_sensitive ("/Filters/Repeat last", sensitive); + menus_set_sensitive ("/Filters/Re-show last", sensitive); + } + } } } diff --git a/app/plug-in/gimpplugin-message.c b/app/plug-in/gimpplugin-message.c index 574b8b3fef..a249ae40e2 100644 --- a/app/plug-in/gimpplugin-message.c +++ b/app/plug-in/gimpplugin-message.c @@ -1072,6 +1072,7 @@ plug_in_set_menu_sensitivity (int base_type) { PlugInProcDef *proc_def; GSList *tmp; + int sensitive = FALSE; tmp = proc_defs; while (tmp) @@ -1080,36 +1081,39 @@ plug_in_set_menu_sensitivity (int base_type) tmp = tmp->next; if (proc_def->image_types_val && proc_def->menu_path) - switch (base_type) - { - case -1: - menus_set_sensitive (proc_def->menu_path, FALSE); - break; - case RGB_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGB_IMAGE); - break; - case RGBA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGBA_IMAGE); - break; - case GRAY_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAY_IMAGE); - break; - case GRAYA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAYA_IMAGE); - break; - case INDEXED_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXED_IMAGE); - break; - case INDEXEDA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXEDA_IMAGE); - break; - } + { + switch (base_type) + { + case -1: + sensitive = FALSE; + break; + case RGB_GIMAGE: + sensitive = proc_def->image_types_val & RGB_IMAGE; + break; + case RGBA_GIMAGE: + sensitive = proc_def->image_types_val & RGBA_IMAGE; + break; + case GRAY_GIMAGE: + sensitive = proc_def->image_types_val & GRAY_IMAGE; + break; + case GRAYA_GIMAGE: + sensitive = proc_def->image_types_val & GRAYA_IMAGE; + break; + case INDEXED_GIMAGE: + sensitive = proc_def->image_types_val & INDEXED_IMAGE; + break; + case INDEXEDA_GIMAGE: + sensitive = proc_def->image_types_val & INDEXEDA_IMAGE; + break; + } + + menus_set_sensitive (proc_def->menu_path, sensitive); + if (last_plug_in && (last_plug_in == &(proc_def->db_info))) + { + menus_set_sensitive ("/Filters/Repeat last", sensitive); + menus_set_sensitive ("/Filters/Re-show last", sensitive); + } + } } } diff --git a/app/plug-in/gimpplugin-progress.c b/app/plug-in/gimpplugin-progress.c index 574b8b3fef..a249ae40e2 100644 --- a/app/plug-in/gimpplugin-progress.c +++ b/app/plug-in/gimpplugin-progress.c @@ -1072,6 +1072,7 @@ plug_in_set_menu_sensitivity (int base_type) { PlugInProcDef *proc_def; GSList *tmp; + int sensitive = FALSE; tmp = proc_defs; while (tmp) @@ -1080,36 +1081,39 @@ plug_in_set_menu_sensitivity (int base_type) tmp = tmp->next; if (proc_def->image_types_val && proc_def->menu_path) - switch (base_type) - { - case -1: - menus_set_sensitive (proc_def->menu_path, FALSE); - break; - case RGB_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGB_IMAGE); - break; - case RGBA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGBA_IMAGE); - break; - case GRAY_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAY_IMAGE); - break; - case GRAYA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAYA_IMAGE); - break; - case INDEXED_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXED_IMAGE); - break; - case INDEXEDA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXEDA_IMAGE); - break; - } + { + switch (base_type) + { + case -1: + sensitive = FALSE; + break; + case RGB_GIMAGE: + sensitive = proc_def->image_types_val & RGB_IMAGE; + break; + case RGBA_GIMAGE: + sensitive = proc_def->image_types_val & RGBA_IMAGE; + break; + case GRAY_GIMAGE: + sensitive = proc_def->image_types_val & GRAY_IMAGE; + break; + case GRAYA_GIMAGE: + sensitive = proc_def->image_types_val & GRAYA_IMAGE; + break; + case INDEXED_GIMAGE: + sensitive = proc_def->image_types_val & INDEXED_IMAGE; + break; + case INDEXEDA_GIMAGE: + sensitive = proc_def->image_types_val & INDEXEDA_IMAGE; + break; + } + + menus_set_sensitive (proc_def->menu_path, sensitive); + if (last_plug_in && (last_plug_in == &(proc_def->db_info))) + { + menus_set_sensitive ("/Filters/Repeat last", sensitive); + menus_set_sensitive ("/Filters/Re-show last", sensitive); + } + } } } diff --git a/app/plug-in/gimpplugin.c b/app/plug-in/gimpplugin.c index 574b8b3fef..a249ae40e2 100644 --- a/app/plug-in/gimpplugin.c +++ b/app/plug-in/gimpplugin.c @@ -1072,6 +1072,7 @@ plug_in_set_menu_sensitivity (int base_type) { PlugInProcDef *proc_def; GSList *tmp; + int sensitive = FALSE; tmp = proc_defs; while (tmp) @@ -1080,36 +1081,39 @@ plug_in_set_menu_sensitivity (int base_type) tmp = tmp->next; if (proc_def->image_types_val && proc_def->menu_path) - switch (base_type) - { - case -1: - menus_set_sensitive (proc_def->menu_path, FALSE); - break; - case RGB_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGB_IMAGE); - break; - case RGBA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGBA_IMAGE); - break; - case GRAY_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAY_IMAGE); - break; - case GRAYA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAYA_IMAGE); - break; - case INDEXED_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXED_IMAGE); - break; - case INDEXEDA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXEDA_IMAGE); - break; - } + { + switch (base_type) + { + case -1: + sensitive = FALSE; + break; + case RGB_GIMAGE: + sensitive = proc_def->image_types_val & RGB_IMAGE; + break; + case RGBA_GIMAGE: + sensitive = proc_def->image_types_val & RGBA_IMAGE; + break; + case GRAY_GIMAGE: + sensitive = proc_def->image_types_val & GRAY_IMAGE; + break; + case GRAYA_GIMAGE: + sensitive = proc_def->image_types_val & GRAYA_IMAGE; + break; + case INDEXED_GIMAGE: + sensitive = proc_def->image_types_val & INDEXED_IMAGE; + break; + case INDEXEDA_GIMAGE: + sensitive = proc_def->image_types_val & INDEXEDA_IMAGE; + break; + } + + menus_set_sensitive (proc_def->menu_path, sensitive); + if (last_plug_in && (last_plug_in == &(proc_def->db_info))) + { + menus_set_sensitive ("/Filters/Repeat last", sensitive); + menus_set_sensitive ("/Filters/Re-show last", sensitive); + } + } } } diff --git a/app/plug-in/gimppluginmanager-call.c b/app/plug-in/gimppluginmanager-call.c index 574b8b3fef..a249ae40e2 100644 --- a/app/plug-in/gimppluginmanager-call.c +++ b/app/plug-in/gimppluginmanager-call.c @@ -1072,6 +1072,7 @@ plug_in_set_menu_sensitivity (int base_type) { PlugInProcDef *proc_def; GSList *tmp; + int sensitive = FALSE; tmp = proc_defs; while (tmp) @@ -1080,36 +1081,39 @@ plug_in_set_menu_sensitivity (int base_type) tmp = tmp->next; if (proc_def->image_types_val && proc_def->menu_path) - switch (base_type) - { - case -1: - menus_set_sensitive (proc_def->menu_path, FALSE); - break; - case RGB_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGB_IMAGE); - break; - case RGBA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGBA_IMAGE); - break; - case GRAY_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAY_IMAGE); - break; - case GRAYA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAYA_IMAGE); - break; - case INDEXED_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXED_IMAGE); - break; - case INDEXEDA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXEDA_IMAGE); - break; - } + { + switch (base_type) + { + case -1: + sensitive = FALSE; + break; + case RGB_GIMAGE: + sensitive = proc_def->image_types_val & RGB_IMAGE; + break; + case RGBA_GIMAGE: + sensitive = proc_def->image_types_val & RGBA_IMAGE; + break; + case GRAY_GIMAGE: + sensitive = proc_def->image_types_val & GRAY_IMAGE; + break; + case GRAYA_GIMAGE: + sensitive = proc_def->image_types_val & GRAYA_IMAGE; + break; + case INDEXED_GIMAGE: + sensitive = proc_def->image_types_val & INDEXED_IMAGE; + break; + case INDEXEDA_GIMAGE: + sensitive = proc_def->image_types_val & INDEXEDA_IMAGE; + break; + } + + menus_set_sensitive (proc_def->menu_path, sensitive); + if (last_plug_in && (last_plug_in == &(proc_def->db_info))) + { + menus_set_sensitive ("/Filters/Repeat last", sensitive); + menus_set_sensitive ("/Filters/Re-show last", sensitive); + } + } } } diff --git a/app/plug-in/gimppluginmanager-run.c b/app/plug-in/gimppluginmanager-run.c index 574b8b3fef..a249ae40e2 100644 --- a/app/plug-in/gimppluginmanager-run.c +++ b/app/plug-in/gimppluginmanager-run.c @@ -1072,6 +1072,7 @@ plug_in_set_menu_sensitivity (int base_type) { PlugInProcDef *proc_def; GSList *tmp; + int sensitive = FALSE; tmp = proc_defs; while (tmp) @@ -1080,36 +1081,39 @@ plug_in_set_menu_sensitivity (int base_type) tmp = tmp->next; if (proc_def->image_types_val && proc_def->menu_path) - switch (base_type) - { - case -1: - menus_set_sensitive (proc_def->menu_path, FALSE); - break; - case RGB_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGB_IMAGE); - break; - case RGBA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGBA_IMAGE); - break; - case GRAY_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAY_IMAGE); - break; - case GRAYA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAYA_IMAGE); - break; - case INDEXED_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXED_IMAGE); - break; - case INDEXEDA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXEDA_IMAGE); - break; - } + { + switch (base_type) + { + case -1: + sensitive = FALSE; + break; + case RGB_GIMAGE: + sensitive = proc_def->image_types_val & RGB_IMAGE; + break; + case RGBA_GIMAGE: + sensitive = proc_def->image_types_val & RGBA_IMAGE; + break; + case GRAY_GIMAGE: + sensitive = proc_def->image_types_val & GRAY_IMAGE; + break; + case GRAYA_GIMAGE: + sensitive = proc_def->image_types_val & GRAYA_IMAGE; + break; + case INDEXED_GIMAGE: + sensitive = proc_def->image_types_val & INDEXED_IMAGE; + break; + case INDEXEDA_GIMAGE: + sensitive = proc_def->image_types_val & INDEXEDA_IMAGE; + break; + } + + menus_set_sensitive (proc_def->menu_path, sensitive); + if (last_plug_in && (last_plug_in == &(proc_def->db_info))) + { + menus_set_sensitive ("/Filters/Repeat last", sensitive); + menus_set_sensitive ("/Filters/Re-show last", sensitive); + } + } } } diff --git a/app/plug-in/gimppluginmanager.c b/app/plug-in/gimppluginmanager.c index 574b8b3fef..a249ae40e2 100644 --- a/app/plug-in/gimppluginmanager.c +++ b/app/plug-in/gimppluginmanager.c @@ -1072,6 +1072,7 @@ plug_in_set_menu_sensitivity (int base_type) { PlugInProcDef *proc_def; GSList *tmp; + int sensitive = FALSE; tmp = proc_defs; while (tmp) @@ -1080,36 +1081,39 @@ plug_in_set_menu_sensitivity (int base_type) tmp = tmp->next; if (proc_def->image_types_val && proc_def->menu_path) - switch (base_type) - { - case -1: - menus_set_sensitive (proc_def->menu_path, FALSE); - break; - case RGB_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGB_IMAGE); - break; - case RGBA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGBA_IMAGE); - break; - case GRAY_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAY_IMAGE); - break; - case GRAYA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAYA_IMAGE); - break; - case INDEXED_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXED_IMAGE); - break; - case INDEXEDA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXEDA_IMAGE); - break; - } + { + switch (base_type) + { + case -1: + sensitive = FALSE; + break; + case RGB_GIMAGE: + sensitive = proc_def->image_types_val & RGB_IMAGE; + break; + case RGBA_GIMAGE: + sensitive = proc_def->image_types_val & RGBA_IMAGE; + break; + case GRAY_GIMAGE: + sensitive = proc_def->image_types_val & GRAY_IMAGE; + break; + case GRAYA_GIMAGE: + sensitive = proc_def->image_types_val & GRAYA_IMAGE; + break; + case INDEXED_GIMAGE: + sensitive = proc_def->image_types_val & INDEXED_IMAGE; + break; + case INDEXEDA_GIMAGE: + sensitive = proc_def->image_types_val & INDEXEDA_IMAGE; + break; + } + + menus_set_sensitive (proc_def->menu_path, sensitive); + if (last_plug_in && (last_plug_in == &(proc_def->db_info))) + { + menus_set_sensitive ("/Filters/Repeat last", sensitive); + menus_set_sensitive ("/Filters/Re-show last", sensitive); + } + } } } diff --git a/app/plug-in/gimppluginshm.c b/app/plug-in/gimppluginshm.c index 574b8b3fef..a249ae40e2 100644 --- a/app/plug-in/gimppluginshm.c +++ b/app/plug-in/gimppluginshm.c @@ -1072,6 +1072,7 @@ plug_in_set_menu_sensitivity (int base_type) { PlugInProcDef *proc_def; GSList *tmp; + int sensitive = FALSE; tmp = proc_defs; while (tmp) @@ -1080,36 +1081,39 @@ plug_in_set_menu_sensitivity (int base_type) tmp = tmp->next; if (proc_def->image_types_val && proc_def->menu_path) - switch (base_type) - { - case -1: - menus_set_sensitive (proc_def->menu_path, FALSE); - break; - case RGB_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGB_IMAGE); - break; - case RGBA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGBA_IMAGE); - break; - case GRAY_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAY_IMAGE); - break; - case GRAYA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAYA_IMAGE); - break; - case INDEXED_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXED_IMAGE); - break; - case INDEXEDA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXEDA_IMAGE); - break; - } + { + switch (base_type) + { + case -1: + sensitive = FALSE; + break; + case RGB_GIMAGE: + sensitive = proc_def->image_types_val & RGB_IMAGE; + break; + case RGBA_GIMAGE: + sensitive = proc_def->image_types_val & RGBA_IMAGE; + break; + case GRAY_GIMAGE: + sensitive = proc_def->image_types_val & GRAY_IMAGE; + break; + case GRAYA_GIMAGE: + sensitive = proc_def->image_types_val & GRAYA_IMAGE; + break; + case INDEXED_GIMAGE: + sensitive = proc_def->image_types_val & INDEXED_IMAGE; + break; + case INDEXEDA_GIMAGE: + sensitive = proc_def->image_types_val & INDEXEDA_IMAGE; + break; + } + + menus_set_sensitive (proc_def->menu_path, sensitive); + if (last_plug_in && (last_plug_in == &(proc_def->db_info))) + { + menus_set_sensitive ("/Filters/Repeat last", sensitive); + menus_set_sensitive ("/Filters/Re-show last", sensitive); + } + } } } diff --git a/app/plug-in/plug-in-def.c b/app/plug-in/plug-in-def.c index 574b8b3fef..a249ae40e2 100644 --- a/app/plug-in/plug-in-def.c +++ b/app/plug-in/plug-in-def.c @@ -1072,6 +1072,7 @@ plug_in_set_menu_sensitivity (int base_type) { PlugInProcDef *proc_def; GSList *tmp; + int sensitive = FALSE; tmp = proc_defs; while (tmp) @@ -1080,36 +1081,39 @@ plug_in_set_menu_sensitivity (int base_type) tmp = tmp->next; if (proc_def->image_types_val && proc_def->menu_path) - switch (base_type) - { - case -1: - menus_set_sensitive (proc_def->menu_path, FALSE); - break; - case RGB_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGB_IMAGE); - break; - case RGBA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGBA_IMAGE); - break; - case GRAY_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAY_IMAGE); - break; - case GRAYA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAYA_IMAGE); - break; - case INDEXED_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXED_IMAGE); - break; - case INDEXEDA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXEDA_IMAGE); - break; - } + { + switch (base_type) + { + case -1: + sensitive = FALSE; + break; + case RGB_GIMAGE: + sensitive = proc_def->image_types_val & RGB_IMAGE; + break; + case RGBA_GIMAGE: + sensitive = proc_def->image_types_val & RGBA_IMAGE; + break; + case GRAY_GIMAGE: + sensitive = proc_def->image_types_val & GRAY_IMAGE; + break; + case GRAYA_GIMAGE: + sensitive = proc_def->image_types_val & GRAYA_IMAGE; + break; + case INDEXED_GIMAGE: + sensitive = proc_def->image_types_val & INDEXED_IMAGE; + break; + case INDEXEDA_GIMAGE: + sensitive = proc_def->image_types_val & INDEXEDA_IMAGE; + break; + } + + menus_set_sensitive (proc_def->menu_path, sensitive); + if (last_plug_in && (last_plug_in == &(proc_def->db_info))) + { + menus_set_sensitive ("/Filters/Repeat last", sensitive); + menus_set_sensitive ("/Filters/Re-show last", sensitive); + } + } } } diff --git a/app/plug-in/plug-in-message.c b/app/plug-in/plug-in-message.c index 574b8b3fef..a249ae40e2 100644 --- a/app/plug-in/plug-in-message.c +++ b/app/plug-in/plug-in-message.c @@ -1072,6 +1072,7 @@ plug_in_set_menu_sensitivity (int base_type) { PlugInProcDef *proc_def; GSList *tmp; + int sensitive = FALSE; tmp = proc_defs; while (tmp) @@ -1080,36 +1081,39 @@ plug_in_set_menu_sensitivity (int base_type) tmp = tmp->next; if (proc_def->image_types_val && proc_def->menu_path) - switch (base_type) - { - case -1: - menus_set_sensitive (proc_def->menu_path, FALSE); - break; - case RGB_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGB_IMAGE); - break; - case RGBA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGBA_IMAGE); - break; - case GRAY_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAY_IMAGE); - break; - case GRAYA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAYA_IMAGE); - break; - case INDEXED_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXED_IMAGE); - break; - case INDEXEDA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXEDA_IMAGE); - break; - } + { + switch (base_type) + { + case -1: + sensitive = FALSE; + break; + case RGB_GIMAGE: + sensitive = proc_def->image_types_val & RGB_IMAGE; + break; + case RGBA_GIMAGE: + sensitive = proc_def->image_types_val & RGBA_IMAGE; + break; + case GRAY_GIMAGE: + sensitive = proc_def->image_types_val & GRAY_IMAGE; + break; + case GRAYA_GIMAGE: + sensitive = proc_def->image_types_val & GRAYA_IMAGE; + break; + case INDEXED_GIMAGE: + sensitive = proc_def->image_types_val & INDEXED_IMAGE; + break; + case INDEXEDA_GIMAGE: + sensitive = proc_def->image_types_val & INDEXEDA_IMAGE; + break; + } + + menus_set_sensitive (proc_def->menu_path, sensitive); + if (last_plug_in && (last_plug_in == &(proc_def->db_info))) + { + menus_set_sensitive ("/Filters/Repeat last", sensitive); + menus_set_sensitive ("/Filters/Re-show last", sensitive); + } + } } } diff --git a/app/plug-in/plug-in-params.c b/app/plug-in/plug-in-params.c index 574b8b3fef..a249ae40e2 100644 --- a/app/plug-in/plug-in-params.c +++ b/app/plug-in/plug-in-params.c @@ -1072,6 +1072,7 @@ plug_in_set_menu_sensitivity (int base_type) { PlugInProcDef *proc_def; GSList *tmp; + int sensitive = FALSE; tmp = proc_defs; while (tmp) @@ -1080,36 +1081,39 @@ plug_in_set_menu_sensitivity (int base_type) tmp = tmp->next; if (proc_def->image_types_val && proc_def->menu_path) - switch (base_type) - { - case -1: - menus_set_sensitive (proc_def->menu_path, FALSE); - break; - case RGB_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGB_IMAGE); - break; - case RGBA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGBA_IMAGE); - break; - case GRAY_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAY_IMAGE); - break; - case GRAYA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAYA_IMAGE); - break; - case INDEXED_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXED_IMAGE); - break; - case INDEXEDA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXEDA_IMAGE); - break; - } + { + switch (base_type) + { + case -1: + sensitive = FALSE; + break; + case RGB_GIMAGE: + sensitive = proc_def->image_types_val & RGB_IMAGE; + break; + case RGBA_GIMAGE: + sensitive = proc_def->image_types_val & RGBA_IMAGE; + break; + case GRAY_GIMAGE: + sensitive = proc_def->image_types_val & GRAY_IMAGE; + break; + case GRAYA_GIMAGE: + sensitive = proc_def->image_types_val & GRAYA_IMAGE; + break; + case INDEXED_GIMAGE: + sensitive = proc_def->image_types_val & INDEXED_IMAGE; + break; + case INDEXEDA_GIMAGE: + sensitive = proc_def->image_types_val & INDEXEDA_IMAGE; + break; + } + + menus_set_sensitive (proc_def->menu_path, sensitive); + if (last_plug_in && (last_plug_in == &(proc_def->db_info))) + { + menus_set_sensitive ("/Filters/Repeat last", sensitive); + menus_set_sensitive ("/Filters/Re-show last", sensitive); + } + } } } diff --git a/app/plug-in/plug-in-progress.c b/app/plug-in/plug-in-progress.c index 574b8b3fef..a249ae40e2 100644 --- a/app/plug-in/plug-in-progress.c +++ b/app/plug-in/plug-in-progress.c @@ -1072,6 +1072,7 @@ plug_in_set_menu_sensitivity (int base_type) { PlugInProcDef *proc_def; GSList *tmp; + int sensitive = FALSE; tmp = proc_defs; while (tmp) @@ -1080,36 +1081,39 @@ plug_in_set_menu_sensitivity (int base_type) tmp = tmp->next; if (proc_def->image_types_val && proc_def->menu_path) - switch (base_type) - { - case -1: - menus_set_sensitive (proc_def->menu_path, FALSE); - break; - case RGB_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGB_IMAGE); - break; - case RGBA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGBA_IMAGE); - break; - case GRAY_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAY_IMAGE); - break; - case GRAYA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAYA_IMAGE); - break; - case INDEXED_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXED_IMAGE); - break; - case INDEXEDA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXEDA_IMAGE); - break; - } + { + switch (base_type) + { + case -1: + sensitive = FALSE; + break; + case RGB_GIMAGE: + sensitive = proc_def->image_types_val & RGB_IMAGE; + break; + case RGBA_GIMAGE: + sensitive = proc_def->image_types_val & RGBA_IMAGE; + break; + case GRAY_GIMAGE: + sensitive = proc_def->image_types_val & GRAY_IMAGE; + break; + case GRAYA_GIMAGE: + sensitive = proc_def->image_types_val & GRAYA_IMAGE; + break; + case INDEXED_GIMAGE: + sensitive = proc_def->image_types_val & INDEXED_IMAGE; + break; + case INDEXEDA_GIMAGE: + sensitive = proc_def->image_types_val & INDEXEDA_IMAGE; + break; + } + + menus_set_sensitive (proc_def->menu_path, sensitive); + if (last_plug_in && (last_plug_in == &(proc_def->db_info))) + { + menus_set_sensitive ("/Filters/Repeat last", sensitive); + menus_set_sensitive ("/Filters/Re-show last", sensitive); + } + } } } diff --git a/app/plug-in/plug-in-run.c b/app/plug-in/plug-in-run.c index 574b8b3fef..a249ae40e2 100644 --- a/app/plug-in/plug-in-run.c +++ b/app/plug-in/plug-in-run.c @@ -1072,6 +1072,7 @@ plug_in_set_menu_sensitivity (int base_type) { PlugInProcDef *proc_def; GSList *tmp; + int sensitive = FALSE; tmp = proc_defs; while (tmp) @@ -1080,36 +1081,39 @@ plug_in_set_menu_sensitivity (int base_type) tmp = tmp->next; if (proc_def->image_types_val && proc_def->menu_path) - switch (base_type) - { - case -1: - menus_set_sensitive (proc_def->menu_path, FALSE); - break; - case RGB_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGB_IMAGE); - break; - case RGBA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGBA_IMAGE); - break; - case GRAY_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAY_IMAGE); - break; - case GRAYA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAYA_IMAGE); - break; - case INDEXED_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXED_IMAGE); - break; - case INDEXEDA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXEDA_IMAGE); - break; - } + { + switch (base_type) + { + case -1: + sensitive = FALSE; + break; + case RGB_GIMAGE: + sensitive = proc_def->image_types_val & RGB_IMAGE; + break; + case RGBA_GIMAGE: + sensitive = proc_def->image_types_val & RGBA_IMAGE; + break; + case GRAY_GIMAGE: + sensitive = proc_def->image_types_val & GRAY_IMAGE; + break; + case GRAYA_GIMAGE: + sensitive = proc_def->image_types_val & GRAYA_IMAGE; + break; + case INDEXED_GIMAGE: + sensitive = proc_def->image_types_val & INDEXED_IMAGE; + break; + case INDEXEDA_GIMAGE: + sensitive = proc_def->image_types_val & INDEXEDA_IMAGE; + break; + } + + menus_set_sensitive (proc_def->menu_path, sensitive); + if (last_plug_in && (last_plug_in == &(proc_def->db_info))) + { + menus_set_sensitive ("/Filters/Repeat last", sensitive); + menus_set_sensitive ("/Filters/Re-show last", sensitive); + } + } } } diff --git a/app/plug-in/plug-in-shm.c b/app/plug-in/plug-in-shm.c index 574b8b3fef..a249ae40e2 100644 --- a/app/plug-in/plug-in-shm.c +++ b/app/plug-in/plug-in-shm.c @@ -1072,6 +1072,7 @@ plug_in_set_menu_sensitivity (int base_type) { PlugInProcDef *proc_def; GSList *tmp; + int sensitive = FALSE; tmp = proc_defs; while (tmp) @@ -1080,36 +1081,39 @@ plug_in_set_menu_sensitivity (int base_type) tmp = tmp->next; if (proc_def->image_types_val && proc_def->menu_path) - switch (base_type) - { - case -1: - menus_set_sensitive (proc_def->menu_path, FALSE); - break; - case RGB_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGB_IMAGE); - break; - case RGBA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGBA_IMAGE); - break; - case GRAY_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAY_IMAGE); - break; - case GRAYA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAYA_IMAGE); - break; - case INDEXED_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXED_IMAGE); - break; - case INDEXEDA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXEDA_IMAGE); - break; - } + { + switch (base_type) + { + case -1: + sensitive = FALSE; + break; + case RGB_GIMAGE: + sensitive = proc_def->image_types_val & RGB_IMAGE; + break; + case RGBA_GIMAGE: + sensitive = proc_def->image_types_val & RGBA_IMAGE; + break; + case GRAY_GIMAGE: + sensitive = proc_def->image_types_val & GRAY_IMAGE; + break; + case GRAYA_GIMAGE: + sensitive = proc_def->image_types_val & GRAYA_IMAGE; + break; + case INDEXED_GIMAGE: + sensitive = proc_def->image_types_val & INDEXED_IMAGE; + break; + case INDEXEDA_GIMAGE: + sensitive = proc_def->image_types_val & INDEXEDA_IMAGE; + break; + } + + menus_set_sensitive (proc_def->menu_path, sensitive); + if (last_plug_in && (last_plug_in == &(proc_def->db_info))) + { + menus_set_sensitive ("/Filters/Repeat last", sensitive); + menus_set_sensitive ("/Filters/Re-show last", sensitive); + } + } } } diff --git a/app/plug-in/plug-in.c b/app/plug-in/plug-in.c index 574b8b3fef..a249ae40e2 100644 --- a/app/plug-in/plug-in.c +++ b/app/plug-in/plug-in.c @@ -1072,6 +1072,7 @@ plug_in_set_menu_sensitivity (int base_type) { PlugInProcDef *proc_def; GSList *tmp; + int sensitive = FALSE; tmp = proc_defs; while (tmp) @@ -1080,36 +1081,39 @@ plug_in_set_menu_sensitivity (int base_type) tmp = tmp->next; if (proc_def->image_types_val && proc_def->menu_path) - switch (base_type) - { - case -1: - menus_set_sensitive (proc_def->menu_path, FALSE); - break; - case RGB_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGB_IMAGE); - break; - case RGBA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGBA_IMAGE); - break; - case GRAY_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAY_IMAGE); - break; - case GRAYA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAYA_IMAGE); - break; - case INDEXED_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXED_IMAGE); - break; - case INDEXEDA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXEDA_IMAGE); - break; - } + { + switch (base_type) + { + case -1: + sensitive = FALSE; + break; + case RGB_GIMAGE: + sensitive = proc_def->image_types_val & RGB_IMAGE; + break; + case RGBA_GIMAGE: + sensitive = proc_def->image_types_val & RGBA_IMAGE; + break; + case GRAY_GIMAGE: + sensitive = proc_def->image_types_val & GRAY_IMAGE; + break; + case GRAYA_GIMAGE: + sensitive = proc_def->image_types_val & GRAYA_IMAGE; + break; + case INDEXED_GIMAGE: + sensitive = proc_def->image_types_val & INDEXED_IMAGE; + break; + case INDEXEDA_GIMAGE: + sensitive = proc_def->image_types_val & INDEXEDA_IMAGE; + break; + } + + menus_set_sensitive (proc_def->menu_path, sensitive); + if (last_plug_in && (last_plug_in == &(proc_def->db_info))) + { + menus_set_sensitive ("/Filters/Repeat last", sensitive); + menus_set_sensitive ("/Filters/Re-show last", sensitive); + } + } } } diff --git a/app/plug-in/plug-ins.c b/app/plug-in/plug-ins.c index 574b8b3fef..a249ae40e2 100644 --- a/app/plug-in/plug-ins.c +++ b/app/plug-in/plug-ins.c @@ -1072,6 +1072,7 @@ plug_in_set_menu_sensitivity (int base_type) { PlugInProcDef *proc_def; GSList *tmp; + int sensitive = FALSE; tmp = proc_defs; while (tmp) @@ -1080,36 +1081,39 @@ plug_in_set_menu_sensitivity (int base_type) tmp = tmp->next; if (proc_def->image_types_val && proc_def->menu_path) - switch (base_type) - { - case -1: - menus_set_sensitive (proc_def->menu_path, FALSE); - break; - case RGB_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGB_IMAGE); - break; - case RGBA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGBA_IMAGE); - break; - case GRAY_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAY_IMAGE); - break; - case GRAYA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAYA_IMAGE); - break; - case INDEXED_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXED_IMAGE); - break; - case INDEXEDA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXEDA_IMAGE); - break; - } + { + switch (base_type) + { + case -1: + sensitive = FALSE; + break; + case RGB_GIMAGE: + sensitive = proc_def->image_types_val & RGB_IMAGE; + break; + case RGBA_GIMAGE: + sensitive = proc_def->image_types_val & RGBA_IMAGE; + break; + case GRAY_GIMAGE: + sensitive = proc_def->image_types_val & GRAY_IMAGE; + break; + case GRAYA_GIMAGE: + sensitive = proc_def->image_types_val & GRAYA_IMAGE; + break; + case INDEXED_GIMAGE: + sensitive = proc_def->image_types_val & INDEXED_IMAGE; + break; + case INDEXEDA_GIMAGE: + sensitive = proc_def->image_types_val & INDEXEDA_IMAGE; + break; + } + + menus_set_sensitive (proc_def->menu_path, sensitive); + if (last_plug_in && (last_plug_in == &(proc_def->db_info))) + { + menus_set_sensitive ("/Filters/Repeat last", sensitive); + menus_set_sensitive ("/Filters/Re-show last", sensitive); + } + } } } diff --git a/app/plug_in.c b/app/plug_in.c index 574b8b3fef..a249ae40e2 100644 --- a/app/plug_in.c +++ b/app/plug_in.c @@ -1072,6 +1072,7 @@ plug_in_set_menu_sensitivity (int base_type) { PlugInProcDef *proc_def; GSList *tmp; + int sensitive = FALSE; tmp = proc_defs; while (tmp) @@ -1080,36 +1081,39 @@ plug_in_set_menu_sensitivity (int base_type) tmp = tmp->next; if (proc_def->image_types_val && proc_def->menu_path) - switch (base_type) - { - case -1: - menus_set_sensitive (proc_def->menu_path, FALSE); - break; - case RGB_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGB_IMAGE); - break; - case RGBA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & RGBA_IMAGE); - break; - case GRAY_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAY_IMAGE); - break; - case GRAYA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & GRAYA_IMAGE); - break; - case INDEXED_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXED_IMAGE); - break; - case INDEXEDA_GIMAGE: - menus_set_sensitive (proc_def->menu_path, - proc_def->image_types_val & INDEXEDA_IMAGE); - break; - } + { + switch (base_type) + { + case -1: + sensitive = FALSE; + break; + case RGB_GIMAGE: + sensitive = proc_def->image_types_val & RGB_IMAGE; + break; + case RGBA_GIMAGE: + sensitive = proc_def->image_types_val & RGBA_IMAGE; + break; + case GRAY_GIMAGE: + sensitive = proc_def->image_types_val & GRAY_IMAGE; + break; + case GRAYA_GIMAGE: + sensitive = proc_def->image_types_val & GRAYA_IMAGE; + break; + case INDEXED_GIMAGE: + sensitive = proc_def->image_types_val & INDEXED_IMAGE; + break; + case INDEXEDA_GIMAGE: + sensitive = proc_def->image_types_val & INDEXEDA_IMAGE; + break; + } + + menus_set_sensitive (proc_def->menu_path, sensitive); + if (last_plug_in && (last_plug_in == &(proc_def->db_info))) + { + menus_set_sensitive ("/Filters/Repeat last", sensitive); + menus_set_sensitive ("/Filters/Re-show last", sensitive); + } + } } }