diff options
Diffstat (limited to 'filter/rule-context.c')
-rw-r--r-- | filter/rule-context.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/filter/rule-context.c b/filter/rule-context.c index c7208dbd69..a131db6d63 100644 --- a/filter/rule-context.c +++ b/filter/rule-context.c @@ -33,7 +33,7 @@ #include <errno.h> #include <gtk/gtk.h> - +#include <libgnome/gnome-i18n.h> #include <gal/util/e-xml-utils.h> #include "rule-context.h" @@ -654,6 +654,18 @@ new_rule_response(GtkWidget *dialog, int button, RuleContext *context) /* no need to popup a dialog because the validate code does that. */ return; } + + if (rule_context_find_rule (context, rule->name, rule->source)) { + dialog = gtk_message_dialog_new ((GtkWindow *) dialog, GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, + _("Rule name '%s' is not unique, choose another."), + rule->name); + + gtk_dialog_run ((GtkDialog *) dialog); + gtk_widget_destroy (dialog); + + return; + } g_object_ref(rule); rule_context_add_rule(context, rule); |