** Changed error messages to use EError.
2004-04-28 Not Zed <NotZed@Ximian.com> ** Changed error messages to use EError. svn path=/trunk/; revision=25653
This commit is contained in:
@ -1,3 +1,7 @@
|
||||
2004-04-28 Not Zed <NotZed@Ximian.com>
|
||||
|
||||
** Changed error messages to use EError.
|
||||
|
||||
2004-04-27 Not Zed <NotZed@Ximian.com>
|
||||
|
||||
** See bug #57659.
|
||||
|
||||
@ -184,6 +184,11 @@ server_DATA = $(server_in_files:.server.in.in=_$(BASE_VERSION).server)
|
||||
|
||||
# Misc data to install
|
||||
|
||||
error_in_files = mail-errors.xml.in
|
||||
error_DATA = $(error_in_files:.xml.in=.xml)
|
||||
errordir = $(privdatadir)/errors
|
||||
@INTLTOOL_XML_RULE@
|
||||
|
||||
glade_DATA = mail-config.glade subscribe-dialog.glade message-tags.glade mail-search.glade mail-security.glade
|
||||
MARSHAL_GENERATED = em-marshal.c em-marshal.h
|
||||
@EVO_MARSHAL_RULE@
|
||||
@ -194,6 +199,7 @@ EXTRA_DIST = \
|
||||
ChangeLog.pre-1-4 \
|
||||
em-marshal.list \
|
||||
$(SPELL_IDL) \
|
||||
$(error_in_files) \
|
||||
$(glade_DATA) \
|
||||
$(schema_DATA) \
|
||||
$(server_in_files) \
|
||||
@ -237,5 +243,6 @@ install-data-local:
|
||||
dist-hook:
|
||||
cd $(distdir); rm -f $(BUILT_SOURCES)
|
||||
|
||||
BUILT_SOURCES = $(SPELL_IDL_GENERATED) $(MARSHAL_GENERATED) $(server_DATA)
|
||||
BUILT_SOURCES = $(SPELL_IDL_GENERATED) $(MARSHAL_GENERATED) $(server_DATA) $(error_DATA)
|
||||
|
||||
CLEANFILES = $(BUILT_SOURCES)
|
||||
|
||||
@ -37,6 +37,7 @@
|
||||
#include "mail-send-recv.h"
|
||||
|
||||
#include "e-util/e-account-list.h"
|
||||
#include "widgets/misc/e-error.h"
|
||||
|
||||
#include "em-account-prefs.h"
|
||||
|
||||
@ -202,7 +203,6 @@ account_delete_clicked (GtkButton *button, gpointer user_data)
|
||||
EAccount *account = NULL;
|
||||
EAccountList *accounts;
|
||||
GtkTreeModel *model;
|
||||
GtkWidget *confirm;
|
||||
GtkTreeIter iter;
|
||||
int ans;
|
||||
|
||||
@ -214,24 +214,7 @@ account_delete_clicked (GtkButton *button, gpointer user_data)
|
||||
if (account == NULL || prefs->editor != NULL)
|
||||
return;
|
||||
|
||||
confirm = gtk_message_dialog_new (PREFS_WINDOW (prefs),
|
||||
GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||
GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE,
|
||||
_("Are you sure you want to delete this account?"));
|
||||
|
||||
button = (GtkButton *) gtk_button_new_from_stock (GTK_STOCK_YES);
|
||||
gtk_button_set_label (button, _("Delete"));
|
||||
gtk_dialog_add_action_widget ((GtkDialog *) confirm, (GtkWidget *) button, GTK_RESPONSE_YES);
|
||||
gtk_widget_show ((GtkWidget *) button);
|
||||
|
||||
button = (GtkButton *) gtk_button_new_from_stock (GTK_STOCK_NO);
|
||||
gtk_button_set_label (button, _("Don't delete"));
|
||||
gtk_dialog_add_action_widget ((GtkDialog *) confirm, (GtkWidget *) button, GTK_RESPONSE_NO);
|
||||
gtk_widget_show ((GtkWidget *) button);
|
||||
|
||||
ans = gtk_dialog_run ((GtkDialog *) confirm);
|
||||
gtk_widget_destroy (confirm);
|
||||
|
||||
ans = e_error_run(PREFS_WINDOW(prefs), "mail:ask-account-delete", NULL);
|
||||
if (ans == GTK_RESPONSE_YES) {
|
||||
int len;
|
||||
|
||||
|
||||
@ -47,6 +47,8 @@
|
||||
#include <gtk/gtktreeview.h>
|
||||
|
||||
#include "widgets/misc/e-charset-picker.h"
|
||||
#include "widgets/misc/e-error.h"
|
||||
|
||||
#include <e-util/e-icon-factory.h>
|
||||
|
||||
#include "mail-config.h"
|
||||
@ -355,7 +357,6 @@ sig_add_script_response (GtkWidget *widget, int button, EMComposerPrefs *prefs)
|
||||
{
|
||||
const char *name;
|
||||
char *script;
|
||||
GtkWidget *dialog;
|
||||
GtkWidget *entry;
|
||||
|
||||
if (button == GTK_RESPONSE_ACCEPT) {
|
||||
@ -390,14 +391,8 @@ sig_add_script_response (GtkWidget *widget, int button, EMComposerPrefs *prefs)
|
||||
}
|
||||
}
|
||||
|
||||
e_error_run((GtkWindow *)prefs->sig_script_dialog, "mail:signature-notscript", script, NULL);
|
||||
g_free(script);
|
||||
dialog = gtk_message_dialog_new (GTK_WINDOW (prefs->sig_script_dialog),
|
||||
GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||
GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE,
|
||||
"%s", _("You must specify a valid script name."));
|
||||
|
||||
gtk_dialog_run ((GtkDialog *) dialog);
|
||||
gtk_widget_destroy (dialog);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@ -20,13 +20,14 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include <gtk/gtkdialog.h>
|
||||
|
||||
#include "mail-mt.h"
|
||||
#include "mail-ops.h"
|
||||
#include "mail-tools.h"
|
||||
@ -35,7 +36,7 @@
|
||||
#include "mail-send-recv.h"
|
||||
#include "mail-component.h"
|
||||
|
||||
#include <e-util/e-dialog-utils.h> /* e_notice */
|
||||
#include "widgets/misc/e-error.h"
|
||||
|
||||
#include "em-utils.h"
|
||||
#include "em-composer-utils.h"
|
||||
@ -119,48 +120,31 @@ ask_confirm_for_unwanted_html_mail (EMsgComposer *composer, EDestination **recip
|
||||
}
|
||||
}
|
||||
|
||||
/* FIXME: this wording sucks */
|
||||
res = em_utils_prompt_user((GtkWindow *) composer, GTK_RESPONSE_YES, "/apps/evolution/mail/prompts/unwanted_html",
|
||||
_("You are sending an HTML-formatted message. Please make sure that\n"
|
||||
"the following recipients are willing and able to receive HTML mail:\n"
|
||||
"%s"
|
||||
"Send anyway?"),
|
||||
str->str);
|
||||
g_string_free (str, TRUE);
|
||||
|
||||
res = em_utils_prompt_user((GtkWindow *)composer,"/apps/evolution/mail/prompts/unwanted_html",
|
||||
"mail:ask-send-html", str->str, NULL);
|
||||
g_string_free(str, TRUE);
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
ask_confirm_for_empty_subject (EMsgComposer *composer)
|
||||
{
|
||||
return em_utils_prompt_user((GtkWindow *)composer, GTK_RESPONSE_YES, "/apps/evolution/mail/prompts/empty_subject",
|
||||
_("This message has no subject.\nReally send?"));
|
||||
return em_utils_prompt_user((GtkWindow *)composer, "/apps/evolution/mail/prompts/empty_subject",
|
||||
"mail:ask-send-no-subject", NULL);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
ask_confirm_for_only_bcc (EMsgComposer *composer, gboolean hidden_list_case)
|
||||
{
|
||||
const char *first_text;
|
||||
|
||||
/* If the user is mailing a hidden contact list, it is possible for
|
||||
them to create a message with only Bcc recipients without really
|
||||
realizing it. To try to avoid being totally confusing, I've changed
|
||||
this dialog to provide slightly different text in that case, to
|
||||
better explain what the hell is going on. */
|
||||
|
||||
if (hidden_list_case) {
|
||||
first_text = _("Since the contact list you are sending to "
|
||||
"is configured to hide the list's addresses, "
|
||||
"this message will contain only Bcc recipients.");
|
||||
} else {
|
||||
first_text = _("This message contains only Bcc recipients.");
|
||||
}
|
||||
|
||||
return em_utils_prompt_user ((GtkWindow *) composer, GTK_RESPONSE_YES, "/apps/evolution/mail/prompts/only_bcc",
|
||||
"%s\n%s", first_text,
|
||||
_("It is possible that the mail server may reveal the recipients "
|
||||
"by adding an Apparently-To header.\nSend anyway?"));
|
||||
return em_utils_prompt_user((GtkWindow *)composer, "/apps/evolution/mail/prompts/only_bcc",
|
||||
hidden_list_case?"mail:ask-send-only-bcc-contact":"mail:ask-send-only-bcc", NULL);
|
||||
}
|
||||
|
||||
struct _send_data {
|
||||
@ -301,8 +285,7 @@ composer_get_message (EMsgComposer *composer, gboolean post, gboolean save_html_
|
||||
if (no_recipients)
|
||||
*no_recipients = TRUE;
|
||||
} else {
|
||||
e_notice ((GtkWindow *) composer, GTK_MESSAGE_WARNING,
|
||||
_("You must specify recipients in order to send this message."));
|
||||
e_error_run((GtkWindow *)composer, "mail:send-no-recipients", NULL);
|
||||
goto finished;
|
||||
}
|
||||
}
|
||||
@ -570,9 +553,7 @@ em_utils_composer_save_draft_cb (EMsgComposer *composer, int quit, gpointer user
|
||||
mail_msg_wait (id);
|
||||
|
||||
if (!folder) {
|
||||
if (!em_utils_prompt_user ((GtkWindow *) composer, GTK_RESPONSE_YES, NULL,
|
||||
_("Unable to open the drafts folder for this account.\n"
|
||||
"Would you like to use the default drafts folder?")))
|
||||
if (e_error_run((GtkWindow *)composer, "mail:ask-default-drafts", NULL) != GTK_RESPONSE_YES)
|
||||
return;
|
||||
|
||||
folder = drafts_folder;
|
||||
|
||||
@ -49,8 +49,9 @@
|
||||
|
||||
#include "e-util/e-mktemp.h"
|
||||
#include "e-util/e-request.h"
|
||||
#include "e-util/e-dialog-utils.h"
|
||||
#include <e-util/e-icon-factory.h>
|
||||
#include "e-util/e-icon-factory.h"
|
||||
|
||||
#include "widgets/misc/e-error.h"
|
||||
|
||||
#include "filter/vfolder-rule.h"
|
||||
|
||||
@ -1972,11 +1973,9 @@ emft_popup_copy_folder_selected (const char *uri, void *data)
|
||||
{
|
||||
struct _copy_folder_data *cfd = data;
|
||||
struct _EMFolderTreePrivate *priv;
|
||||
CamelStore *fromstore, *tostore;
|
||||
CamelStore *fromstore = NULL, *tostore = NULL;
|
||||
char *tobase = NULL, *frombase;
|
||||
GtkWindow *parent;
|
||||
CamelException ex;
|
||||
GtkWidget *dialog;
|
||||
CamelURL *url;
|
||||
|
||||
if (uri == NULL) {
|
||||
@ -1989,20 +1988,24 @@ emft_popup_copy_folder_selected (const char *uri, void *data)
|
||||
d(printf ("%sing folder '%s' to '%s'\n", cfd->delete ? "move" : "copy", priv->selected_path, uri));
|
||||
|
||||
camel_exception_init (&ex);
|
||||
if (!(fromstore = camel_session_get_store (session, priv->selected_uri, &ex)))
|
||||
goto exception;
|
||||
|
||||
frombase = priv->selected_path + 1;
|
||||
if (fromstore == mail_component_peek_local_store (NULL) && is_special_local_folder (frombase)) {
|
||||
if (cfd->delete)
|
||||
camel_exception_setv (&ex, CAMEL_EXCEPTION_SYSTEM, _("Cannot move folder `%s': illegal operation"), frombase);
|
||||
camel_object_unref (fromstore);
|
||||
goto exception;
|
||||
|
||||
if (!(fromstore = camel_session_get_store (session, priv->selected_uri, &ex))) {
|
||||
e_error_run((GtkWindow *)gtk_widget_get_ancestor ((GtkWidget *) cfd->emft, GTK_TYPE_WINDOW),
|
||||
cfd->delete?"mail:no-move-folder-notexist":"mail:no-copy-folder-notexist", frombase, uri, ex.desc, NULL);
|
||||
goto fail;
|
||||
}
|
||||
|
||||
if (cfd->delete && fromstore == mail_component_peek_local_store (NULL) && is_special_local_folder (frombase)) {
|
||||
e_error_run((GtkWindow *)gtk_widget_get_ancestor ((GtkWidget *) cfd->emft, GTK_TYPE_WINDOW),
|
||||
"mail:no-rename-special-folder", frombase, NULL);
|
||||
goto fail;
|
||||
}
|
||||
|
||||
if (!(tostore = camel_session_get_store (session, uri, &ex))) {
|
||||
camel_object_unref (fromstore);
|
||||
goto exception;
|
||||
e_error_run((GtkWindow *)gtk_widget_get_ancestor ((GtkWidget *) cfd->emft, GTK_TYPE_WINDOW),
|
||||
cfd->delete?"mail:no-move-folder-to-notexist":"mail:no-move-folder-to-notexist", frombase, uri, ex.desc, NULL);
|
||||
goto fail;
|
||||
}
|
||||
|
||||
url = camel_url_new (uri, NULL);
|
||||
@ -2016,18 +2019,12 @@ emft_popup_copy_folder_selected (const char *uri, void *data)
|
||||
emft_copy_folders (tostore, tobase, fromstore, frombase, cfd->delete);
|
||||
|
||||
camel_url_free (url);
|
||||
g_free (cfd);
|
||||
|
||||
return;
|
||||
|
||||
exception:
|
||||
|
||||
parent = (GtkWindow *) gtk_widget_get_ancestor ((GtkWidget *) cfd->emft, GTK_TYPE_WINDOW);
|
||||
dialog = gtk_message_dialog_new (parent, GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||
GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, _("%s"), ex.desc);
|
||||
g_signal_connect (dialog, "response", G_CALLBACK (gtk_widget_destroy), dialog);
|
||||
fail:
|
||||
if (fromstore)
|
||||
camel_object_unref(fromstore);
|
||||
if (tostore)
|
||||
camel_object_unref(tostore);
|
||||
camel_exception_clear (&ex);
|
||||
gtk_widget_show (dialog);
|
||||
g_free (cfd);
|
||||
}
|
||||
|
||||
@ -2174,40 +2171,31 @@ em_folder_tree_create_folder (EMFolderTree *emft, const char *path, const char *
|
||||
struct _EMFolderTreePrivate *priv = emft->priv;
|
||||
struct _EMFolderTreeModelStoreInfo *si;
|
||||
gboolean created = FALSE;
|
||||
GtkWindow *window;
|
||||
GtkWidget *dialog;
|
||||
CamelStore *store;
|
||||
CamelException ex;
|
||||
|
||||
d(printf ("Creating folder: %s (%s)\n", path, uri));
|
||||
|
||||
camel_exception_init (&ex);
|
||||
if (!(store = (CamelStore *) camel_session_get_service (session, uri, CAMEL_PROVIDER_STORE, &ex)))
|
||||
goto exception;
|
||||
if (!(store = (CamelStore *) camel_session_get_service (session, uri, CAMEL_PROVIDER_STORE, &ex))) {
|
||||
e_error_run((GtkWindow *)gtk_widget_get_ancestor((GtkWidget *)emft, GTK_TYPE_WINDOW),
|
||||
"mail:no-create-folder-nostore", path, ex.desc, NULL);
|
||||
goto fail;
|
||||
}
|
||||
|
||||
if (!(si = g_hash_table_lookup (priv->model->store_hash, store))) {
|
||||
abort();
|
||||
camel_object_unref (store);
|
||||
goto exception;
|
||||
goto fail;
|
||||
}
|
||||
|
||||
camel_object_unref (store);
|
||||
|
||||
mail_msg_wait (emft_create_folder (si->store, path, created_cb, &created));
|
||||
fail:
|
||||
camel_exception_clear(&ex);
|
||||
|
||||
return created;
|
||||
|
||||
exception:
|
||||
|
||||
window = (GtkWindow *) gtk_widget_get_ancestor ((GtkWidget *) emft, GTK_TYPE_WINDOW);
|
||||
dialog = gtk_message_dialog_new (window, GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||
GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, _("%s"), ex.desc);
|
||||
g_signal_connect (dialog, "response", G_CALLBACK (gtk_widget_destroy), dialog);
|
||||
camel_exception_clear (&ex);
|
||||
|
||||
gtk_widget_show (dialog);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void
|
||||
@ -2394,7 +2382,7 @@ emft_popup_delete_response (GtkWidget *dialog, guint response, EMFolderTree *emf
|
||||
camel_exception_init (&ex);
|
||||
emft_popup_delete_folders (store, path, &ex);
|
||||
if (camel_exception_is_set (&ex)) {
|
||||
e_notice (NULL, GTK_MESSAGE_ERROR, _("Could not delete folder: %s"), ex.desc);
|
||||
e_error_run(NULL, "mail:no-delete-folder", path, ex.desc, NULL);
|
||||
camel_exception_clear (&ex);
|
||||
}
|
||||
}
|
||||
@ -2409,7 +2397,7 @@ emft_popup_delete_folder (GtkWidget *item, EMFolderTree *emft)
|
||||
GtkTreeIter iter;
|
||||
GtkWidget *dialog;
|
||||
const char *full_name;
|
||||
char *title, *path;
|
||||
char *path;
|
||||
|
||||
selection = gtk_tree_view_get_selection (priv->treeview);
|
||||
if (!emft_selection_get_selected (selection, &model, &iter))
|
||||
@ -2421,26 +2409,11 @@ emft_popup_delete_folder (GtkWidget *item, EMFolderTree *emft)
|
||||
|
||||
full_name = path[0] == '/' ? path + 1 : path;
|
||||
if (store == local && is_special_local_folder (full_name)) {
|
||||
e_notice (NULL, GTK_MESSAGE_ERROR, _("Cannot delete local %s folder."), full_name);
|
||||
e_error_run(NULL, "mail:no-delete-spethal-folder", full_name, NULL);
|
||||
return;
|
||||
}
|
||||
|
||||
dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_MODAL,
|
||||
GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE,
|
||||
_("Really delete folder \"%s\" and all of its subfolders?"),
|
||||
full_name);
|
||||
|
||||
gtk_dialog_add_button ((GtkDialog *) dialog, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL);
|
||||
gtk_dialog_add_button ((GtkDialog *) dialog, GTK_STOCK_DELETE, GTK_RESPONSE_OK);
|
||||
|
||||
gtk_dialog_set_default_response ((GtkDialog *) dialog, GTK_RESPONSE_OK);
|
||||
gtk_container_set_border_width ((GtkContainer *) dialog, 6);
|
||||
gtk_box_set_spacing ((GtkBox *) ((GtkDialog *) dialog)->vbox, 6);
|
||||
|
||||
title = g_strdup_printf (_("Delete \"%s\""), full_name);
|
||||
gtk_window_set_title ((GtkWindow *) dialog, title);
|
||||
g_free (title);
|
||||
|
||||
|
||||
dialog = e_error_new(NULL, "mail:ask-delete-folder", full_name, NULL);
|
||||
g_signal_connect (dialog, "response", G_CALLBACK (emft_popup_delete_response), emft);
|
||||
gtk_widget_show (dialog);
|
||||
}
|
||||
@ -2473,7 +2446,7 @@ emft_popup_rename_folder (GtkWidget *item, EMFolderTree *emft)
|
||||
|
||||
/* don't allow user to rename one of the special local folders */
|
||||
if (store == local && is_special_local_folder (full_name)) {
|
||||
e_notice (NULL, GTK_MESSAGE_ERROR, _("Cannot rename local %s folder."), full_name);
|
||||
e_error_run(NULL, "mail:no-rename-spethal-folder", full_name, NULL);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -2506,10 +2479,7 @@ emft_popup_rename_folder (GtkWidget *item, EMFolderTree *emft)
|
||||
camel_exception_init (&ex);
|
||||
if ((fi = camel_store_get_folder_info (store, path, CAMEL_STORE_FOLDER_INFO_FAST, &ex)) != NULL) {
|
||||
camel_store_free_folder_info (store, fi);
|
||||
|
||||
e_notice (NULL, GTK_MESSAGE_ERROR,
|
||||
_("A folder named \"%s\" already exists. Please use a different name."),
|
||||
new_name);
|
||||
e_error_run(NULL, "mail:no-rename-folder-exists", name, new_name, NULL);
|
||||
} else {
|
||||
const char *oldpath, *newpath;
|
||||
|
||||
@ -2521,7 +2491,7 @@ emft_popup_rename_folder (GtkWidget *item, EMFolderTree *emft)
|
||||
camel_exception_clear (&ex);
|
||||
camel_store_rename_folder (store, oldpath, newpath, &ex);
|
||||
if (camel_exception_is_set (&ex)) {
|
||||
e_notice (NULL, GTK_MESSAGE_ERROR, _("Could not rename folder: %s"), ex.desc);
|
||||
e_error_run(NULL, "mail:no-rename-folder", oldpath, newpath, ex.desc, NULL);
|
||||
camel_exception_clear (&ex);
|
||||
}
|
||||
|
||||
|
||||
@ -46,8 +46,9 @@
|
||||
#include "message-tag-followup.h"
|
||||
|
||||
#include <e-util/e-mktemp.h>
|
||||
#include <e-util/e-dialog-utils.h>
|
||||
#include <e-util/e-account-list.h>
|
||||
#include <e-util/e-dialog-utils.h>
|
||||
#include "widgets/misc/e-error.h"
|
||||
|
||||
#include <gal/util/e-util.h>
|
||||
|
||||
@ -63,10 +64,9 @@ static void emu_save_part_done (CamelMimePart *part, char *name, int done, void
|
||||
/**
|
||||
* em_utils_prompt_user:
|
||||
* @parent: parent window
|
||||
* @def: default response
|
||||
* @promptkey: gconf key to check if we should prompt the user or not.
|
||||
* @fmt: prompt format
|
||||
* @Varargs: varargs
|
||||
* @tag: e_error tag.
|
||||
* @arg0: The first of a NULL terminated list of arguments for the error.
|
||||
*
|
||||
* Convenience function to query the user with a Yes/No dialog and a
|
||||
* "Don't show this dialog again" checkbox. If the user checks that
|
||||
@ -76,29 +76,25 @@ static void emu_save_part_done (CamelMimePart *part, char *name, int done, void
|
||||
* Returns %TRUE if the user clicks Yes or %FALSE otherwise.
|
||||
**/
|
||||
gboolean
|
||||
em_utils_prompt_user(GtkWindow *parent, int def, const char *promptkey, const char *fmt, ...)
|
||||
em_utils_prompt_user(GtkWindow *parent, const char *promptkey, const char *tag, const char *arg0, ...)
|
||||
{
|
||||
GtkWidget *mbox, *check = NULL;
|
||||
va_list ap;
|
||||
int button;
|
||||
char *str;
|
||||
GConfClient *gconf = mail_config_get_gconf_client();
|
||||
|
||||
if (promptkey
|
||||
&& !gconf_client_get_bool(gconf, promptkey, NULL))
|
||||
return TRUE;
|
||||
|
||||
va_start (ap, fmt);
|
||||
str = g_strdup_vprintf (fmt, ap);
|
||||
va_end (ap);
|
||||
mbox = gtk_message_dialog_new (parent, GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||
GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO,
|
||||
"%s", str);
|
||||
g_free (str);
|
||||
gtk_dialog_set_default_response ((GtkDialog *) mbox, def);
|
||||
|
||||
va_start(ap, arg0);
|
||||
mbox = e_error_newv(parent, tag, arg0, ap);
|
||||
va_end(ap);
|
||||
|
||||
if (promptkey) {
|
||||
check = gtk_check_button_new_with_label (_("Don't show this message again."));
|
||||
gtk_box_pack_start ((GtkBox *)((GtkDialog *) mbox)->vbox, check, TRUE, TRUE, 10);
|
||||
gtk_container_set_border_width((GtkContainer *)check, 12);
|
||||
gtk_box_pack_start ((GtkBox *)((GtkDialog *) mbox)->vbox, check, TRUE, TRUE, 0);
|
||||
gtk_widget_show (check);
|
||||
}
|
||||
|
||||
@ -278,9 +274,7 @@ em_utils_edit_filters (GtkWidget *parent)
|
||||
g_free (user);
|
||||
|
||||
if (((RuleContext *) fc)->error) {
|
||||
e_notice (parent, GTK_MESSAGE_ERROR,
|
||||
_("Error loading filter information:\n%s"),
|
||||
((RuleContext *) fc)->error);
|
||||
e_error_run((GtkWindow *)parent, "mail:filter-load-error", ((RuleContext *)fc)->error, NULL);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1432,13 +1426,11 @@ emu_can_save(GtkWindow *parent, const char *path)
|
||||
|
||||
if (access (path, F_OK) == 0) {
|
||||
if (access (path, W_OK) != 0) {
|
||||
e_notice (parent, GTK_MESSAGE_ERROR,
|
||||
_("Cannot save to `%s'\n %s"), path, g_strerror (errno));
|
||||
e_error_run(parent, "mail:no-save-path", path, g_strerror(errno), NULL);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return em_utils_prompt_user (parent, GTK_RESPONSE_NO, NULL,
|
||||
_("`%s' already exists.\nOverwrite it?"), path);
|
||||
return e_error_run(parent, "mail:ask-save-path-overwrite", path, NULL) == GTK_RESPONSE_OK;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
@ -1516,8 +1508,7 @@ em_utils_save_part_to_file(GtkWidget *parent, const char *filename, CamelMimePar
|
||||
|
||||
dirname = g_path_get_dirname(filename);
|
||||
if (camel_mkdir(dirname, 0777) == -1) {
|
||||
e_notice(parent, GTK_MESSAGE_ERROR,
|
||||
_("Cannot save to `%s'\n %s"), filename, g_strerror(errno));
|
||||
e_error_run((GtkWindow *)parent, "mail:no-create-path", filename, g_strerror(errno), NULL);
|
||||
g_free(dirname);
|
||||
return FALSE;
|
||||
}
|
||||
@ -1525,15 +1516,13 @@ em_utils_save_part_to_file(GtkWidget *parent, const char *filename, CamelMimePar
|
||||
|
||||
if (access(filename, F_OK) == 0) {
|
||||
if (access(filename, W_OK) != 0) {
|
||||
e_notice(parent, GTK_MESSAGE_ERROR,
|
||||
_("Cannot save to `%s'\n %s"), filename, g_strerror(errno));
|
||||
e_error_run((GtkWindow *)parent, E_ERROR_ASK_FILE_EXISTS_OVERWRITE, filename, NULL);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
if (stat(filename, &st) != -1 && !S_ISREG(st.st_mode)) {
|
||||
e_notice(parent, GTK_MESSAGE_ERROR,
|
||||
_("Error: '%s' exists and is not a regular file"), filename);
|
||||
e_error_run((GtkWindow *)parent, "no-write-path-notfile", filename, NULL);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -2121,10 +2110,7 @@ em_utils_temp_save_part(GtkWidget *parent, CamelMimePart *part)
|
||||
|
||||
tmpdir = e_mkdtemp("evolution-tmp-XXXXXX");
|
||||
if (tmpdir == NULL) {
|
||||
e_notice(parent, GTK_MESSAGE_ERROR,
|
||||
_("Could not create temporary directory: %s"),
|
||||
g_strerror (errno));
|
||||
|
||||
e_error_run((GtkWindow *)parent, "mail:no-create-tmp-path", g_strerror(errno), NULL);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -2451,12 +2437,7 @@ em_utils_expunge_folder (GtkWidget *parent, CamelFolder *folder)
|
||||
|
||||
camel_object_get(folder, NULL, CAMEL_OBJECT_DESCRIPTION, &name, 0);
|
||||
|
||||
if (!em_utils_prompt_user ((GtkWindow *) parent, GTK_RESPONSE_NO,
|
||||
"/apps/evolution/mail/prompts/expunge",
|
||||
_("This operation will permanently remove all deleted messages "
|
||||
"in the folder `%s'. If you continue, you "
|
||||
"will not be able to recover these messages.\n"
|
||||
"\nReally erase these messages?"), name))
|
||||
if (!em_utils_prompt_user ((GtkWindow *) parent, "/apps/evolution/mail/prompts/expunge", "mail:ask-expunge", name, NULL))
|
||||
return;
|
||||
|
||||
mail_expunge_folder(folder, NULL, NULL);
|
||||
@ -2477,11 +2458,7 @@ em_utils_empty_trash (GtkWidget *parent)
|
||||
EIterator *iter;
|
||||
CamelException ex;
|
||||
|
||||
if (!em_utils_prompt_user ((GtkWindow *) parent, GTK_RESPONSE_NO, "/apps/evolution/mail/prompts/empty_trash",
|
||||
_("This operation will permanently remove all deleted messages "
|
||||
"in all folders. If you continue, you will not be able to "
|
||||
"recover these messages.\n"
|
||||
"\nReally erase these messages?")))
|
||||
if (!em_utils_prompt_user((GtkWindow *) parent, "/apps/evolution/mail/prompts/empty_trash", "mail:ask-empty-trash", NULL))
|
||||
return;
|
||||
|
||||
camel_exception_init (&ex);
|
||||
|
||||
@ -42,7 +42,7 @@ struct _GtkSelectionData;
|
||||
struct _GtkAdjustment;
|
||||
struct _EMsgComposer;
|
||||
|
||||
gboolean em_utils_prompt_user(struct _GtkWindow *parent, int def, const char *promptkey, const char *fmt, ...);
|
||||
gboolean em_utils_prompt_user(struct _GtkWindow *parent, const char *promptkey, const char *tag, const char *arg0, ...);
|
||||
|
||||
GPtrArray *em_utils_uids_copy (GPtrArray *uids);
|
||||
void em_utils_uids_free (GPtrArray *uids);
|
||||
|
||||
@ -107,7 +107,7 @@ apply_changes (MailAccountEditor *editor)
|
||||
if (page != -1) {
|
||||
gtk_notebook_set_current_page (editor->notebook, page);
|
||||
gtk_widget_grab_focus (incomplete);
|
||||
e_notice (editor, GTK_MESSAGE_ERROR, _("You have not filled in all of the required information."));
|
||||
e_error_run(editor, "mail:account-incomplete", NULL);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
@ -22,7 +22,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
@ -36,9 +35,10 @@
|
||||
#include <gconf/gconf-client.h>
|
||||
|
||||
#include <e-util/e-account-list.h>
|
||||
#include <e-util/e-dialog-utils.h>
|
||||
#include <e-util/e-signature-list.h>
|
||||
|
||||
#include <widgets/misc/e-error.h>
|
||||
|
||||
#include "em-account-prefs.h"
|
||||
#include "em-folder-selection-button.h"
|
||||
#include "mail-account-gui.h"
|
||||
@ -2266,7 +2266,8 @@ mail_account_gui_save (MailAccountGui *gui)
|
||||
account = mail_config_get_account_by_name (new_name);
|
||||
|
||||
if (account && account != new) {
|
||||
e_notice (gui->account_name, GTK_MESSAGE_ERROR, _("You may not create two accounts with the same name."));
|
||||
e_error_run((GtkWindow *)gtk_widget_get_toplevel((GtkWidget *)gui->account_name),
|
||||
"mail:account-notunique", NULL);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
@ -427,22 +427,17 @@ mail_filter_delete_uri(CamelStore *store, const char *uri)
|
||||
GString *s;
|
||||
GList *l;
|
||||
|
||||
s = g_string_new (_("The following filter rule(s):\n"));
|
||||
s = g_string_new("");
|
||||
l = deleted;
|
||||
while (l) {
|
||||
g_string_append_printf (s, " %s\n", (char *)l->data);
|
||||
l = l->next;
|
||||
}
|
||||
g_string_append_printf (s, _("Used the removed folder:\n '%s'\n"
|
||||
"And have been updated."), euri);
|
||||
|
||||
dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_INFO,
|
||||
GTK_BUTTONS_CLOSE, "%s", s->str);
|
||||
|
||||
dialog = e_error_new(NULL, "mail:filter-updated", s->str, euri, NULL);
|
||||
g_signal_connect_swapped (dialog, "response", G_CALLBACK (gtk_widget_destroy), dialog);
|
||||
|
||||
g_string_free (s, TRUE);
|
||||
|
||||
gtk_widget_show (dialog);
|
||||
g_string_free(s, TRUE);
|
||||
gtk_widget_show(dialog);
|
||||
|
||||
printf("Folder deleterename '%s' changed filters, resaving\n", euri);
|
||||
if (rule_context_save ((RuleContext *) fc, user) == -1)
|
||||
|
||||
@ -45,6 +45,7 @@
|
||||
#include "em-migrate.h"
|
||||
|
||||
#include "widgets/misc/e-info-label.h"
|
||||
#include "widgets/misc/e-error.h"
|
||||
|
||||
#include "filter/rule-context.h"
|
||||
#include "mail-config.h"
|
||||
@ -57,6 +58,7 @@
|
||||
#include "mail-send-recv.h"
|
||||
#include "mail-session.h"
|
||||
#include "mail-offline-handler.h"
|
||||
#include "message-list.h"
|
||||
|
||||
#include "e-activity-handler.h"
|
||||
#include "shell/e-user-creatable-items-handler.h"
|
||||
@ -68,7 +70,6 @@
|
||||
#include <gtk/gtklabel.h>
|
||||
|
||||
#include <e-util/e-mktemp.h>
|
||||
#include <e-util/e-dialog-utils.h>
|
||||
|
||||
#include <gal/e-table/e-tree.h>
|
||||
#include <gal/e-table/e-tree-memory.h>
|
||||
@ -616,20 +617,9 @@ impl_requestQuit(PortableServer_Servant servant, CORBA_Environment *ev)
|
||||
folder = mc_default_folders[MAIL_COMPONENT_FOLDER_OUTBOX].folder;
|
||||
if (folder != NULL
|
||||
&& camel_folder_get_message_count(folder) != 0
|
||||
&& camel_session_is_online(session)) {
|
||||
GtkWidget *dialog;
|
||||
guint resp;
|
||||
|
||||
/* FIXME: HIG? */
|
||||
dialog = gtk_message_dialog_new(NULL, 0, GTK_MESSAGE_INFO, GTK_BUTTONS_YES_NO,
|
||||
_("You have unsent messages, do you wish to quit anyway?"));
|
||||
gtk_dialog_set_default_response((GtkDialog *)dialog, GTK_RESPONSE_NO);
|
||||
resp = gtk_dialog_run((GtkDialog *)dialog);
|
||||
gtk_widget_destroy(dialog);
|
||||
|
||||
if (resp != GTK_RESPONSE_YES)
|
||||
return FALSE;
|
||||
}
|
||||
&& camel_session_is_online(session)
|
||||
&& e_error_run(NULL, "mail:exit-unsaved", NULL) != GTK_RESPONSE_YES)
|
||||
return FALSE;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -138,14 +138,6 @@ The message is stored in the Outbox folder. Check the message for errors and re
|
||||
<_secondary>{1}</_secondary>
|
||||
</error>
|
||||
|
||||
<error id="ask-save-path-overwrite" type="error" default="GTK_RESPONSE_CANCEL">
|
||||
<_title>Overwrite file?</_title>
|
||||
<_primary>File exists "{0}".</_primary>
|
||||
<_secondary>Do you wish to overwrite it?</_secondary>
|
||||
<button stock="gtk-cancel" response="GTK_RESPONSE_CANCEL"/>
|
||||
<button _label="_Overwrite" response="GTK_RESPONSE_OK"/>
|
||||
</error>
|
||||
|
||||
<error id="no-create-path" type="error">
|
||||
<_primary>Cannot save to file "{0}".</_primary>
|
||||
<_secondary>Cannot create the save directory, because "{1}"</_secondary>
|
||||
|
||||
@ -19,13 +19,15 @@
|
||||
#include <gal/widgets/e-gui-utils.h>
|
||||
|
||||
#include "e-util/e-msgport.h"
|
||||
#include "camel/camel-operation.h"
|
||||
#include "widgets/misc/e-error.h"
|
||||
|
||||
#include "e-activity-handler.h"
|
||||
#include <e-util/e-icon-factory.h>
|
||||
|
||||
#include "mail-config.h"
|
||||
#include "camel/camel-url.h"
|
||||
#include "camel/camel-operation.h"
|
||||
|
||||
#include "mail-config.h"
|
||||
#include "mail-component.h"
|
||||
#include "mail-session.h"
|
||||
#include "mail-mt.h"
|
||||
@ -231,8 +233,7 @@ static void error_response(GtkObject *o, int button, void *data)
|
||||
void mail_msg_check_error(void *msg)
|
||||
{
|
||||
struct _mail_msg *m = msg;
|
||||
char *what = NULL;
|
||||
char *text;
|
||||
char *what;
|
||||
GtkDialog *gd;
|
||||
|
||||
#ifdef MALLOC_CHECK
|
||||
@ -252,30 +253,25 @@ void mail_msg_check_error(void *msg)
|
||||
if (active_errors == NULL)
|
||||
active_errors = g_hash_table_new(NULL, NULL);
|
||||
|
||||
if (m->ops->describe_msg)
|
||||
what = m->ops->describe_msg(m, FALSE);
|
||||
|
||||
if (what) {
|
||||
text = g_strdup_printf(_("Error while '%s':\n%s"), what, camel_exception_get_description(&m->ex));
|
||||
g_free (what);
|
||||
} else
|
||||
text = g_strdup_printf(_("Error while performing operation:\n%s"), camel_exception_get_description(&m->ex));
|
||||
|
||||
/* check to see if we have dialogue already running for this operation */
|
||||
/* we key on the operation pointer, which is at least accurate enough
|
||||
for the operation type, although it could be on a different object. */
|
||||
if (g_hash_table_lookup(active_errors, m->ops)) {
|
||||
g_warning("Error occured while existing dialogue active:\n%s", text);
|
||||
g_free(text);
|
||||
g_warning("Error occured while existing dialogue active:\n%s", camel_exception_get_description(&m->ex));
|
||||
return;
|
||||
}
|
||||
|
||||
gd = (GtkDialog *)gtk_message_dialog_new(NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "%s", text);
|
||||
if (m->ops->describe_msg
|
||||
&& (what = m->ops->describe_msg(m, FALSE))) {
|
||||
gd = (GtkDialog *)e_error_new(NULL, "mail:async-error", what, camel_exception_get_description(&m->ex), NULL);
|
||||
g_free(what);
|
||||
} else
|
||||
gd = (GtkDialog *)e_error_new(NULL, "mail:async-error-nodescribe", camel_exception_get_description(&m->ex), NULL);
|
||||
|
||||
g_hash_table_insert(active_errors, m->ops, gd);
|
||||
g_signal_connect(gd, "response", G_CALLBACK(error_response), m->ops);
|
||||
g_signal_connect(gd, "destroy", G_CALLBACK(error_destroy), m->ops);
|
||||
gtk_widget_show((GtkWidget *)gd);
|
||||
g_free (text);
|
||||
}
|
||||
|
||||
void mail_msg_cancel(unsigned int msgid)
|
||||
|
||||
@ -52,6 +52,7 @@
|
||||
#include "e-util/e-passwords.h"
|
||||
#include "e-util/e-msgport.h"
|
||||
#include "em-junk-filter.h"
|
||||
#include "widgets/misc/e-error.h"
|
||||
|
||||
#define d(x)
|
||||
|
||||
@ -270,14 +271,10 @@ request_password (struct _pass_msg *m)
|
||||
else
|
||||
title = g_strdup (_("Enter Password"));
|
||||
|
||||
password_dialog = (GtkDialog *) gtk_message_dialog_new (NULL, 0, GTK_MESSAGE_QUESTION,
|
||||
GTK_BUTTONS_OK_CANCEL, "%s", m->prompt);
|
||||
password_dialog = (GtkDialog *)e_error_new(NULL, "mail:ask-session-password", m->prompt, NULL);
|
||||
gtk_window_set_title (GTK_WINDOW (password_dialog), title);
|
||||
gtk_dialog_set_default_response (password_dialog, GTK_RESPONSE_OK);
|
||||
g_free (title);
|
||||
|
||||
gtk_container_set_border_width ((GtkContainer *) password_dialog, 6);
|
||||
|
||||
m->entry = gtk_entry_new ();
|
||||
gtk_entry_set_visibility ((GtkEntry *) m->entry, !(m->flags & CAMEL_SESSION_PASSWORD_SECRET));
|
||||
g_signal_connect (m->entry, "activate", G_CALLBACK (pass_activate), password_dialog);
|
||||
@ -456,11 +453,17 @@ user_message_destroy_notify (struct _user_message_msg *m, GObject *deadbeef)
|
||||
message_dialog = NULL;
|
||||
}
|
||||
|
||||
/* This is kinda ugly/inefficient, but oh well, it works */
|
||||
static const char *error_type[] = {
|
||||
"session-message-info", "session-message-warning", "session-message-error",
|
||||
"session-message-info-cancel", "session-message-warning-cancel", "session-message-error-cancel"
|
||||
};
|
||||
|
||||
static void
|
||||
do_user_message (struct _mail_msg *mm)
|
||||
{
|
||||
struct _user_message_msg *m = (struct _user_message_msg *)mm;
|
||||
GtkMessageType msg_type;
|
||||
int type;
|
||||
|
||||
if (!m->ismain && message_dialog != NULL) {
|
||||
e_dlist_addtail (&message_list, (EDListNode *)m);
|
||||
@ -469,23 +472,22 @@ do_user_message (struct _mail_msg *mm)
|
||||
|
||||
switch (m->type) {
|
||||
case CAMEL_SESSION_ALERT_INFO:
|
||||
msg_type = GTK_MESSAGE_INFO;
|
||||
type = 0;
|
||||
break;
|
||||
case CAMEL_SESSION_ALERT_WARNING:
|
||||
msg_type = GTK_MESSAGE_WARNING;
|
||||
type = 1;
|
||||
break;
|
||||
case CAMEL_SESSION_ALERT_ERROR:
|
||||
msg_type = GTK_MESSAGE_ERROR;
|
||||
type = 2;
|
||||
break;
|
||||
default:
|
||||
msg_type = GTK_MESSAGE_INFO;
|
||||
type = 0;
|
||||
}
|
||||
|
||||
if (m->allow_cancel)
|
||||
type += 3;
|
||||
|
||||
message_dialog = (GtkDialog *) gtk_message_dialog_new (
|
||||
NULL, 0, msg_type,
|
||||
m->allow_cancel ? GTK_BUTTONS_OK_CANCEL : GTK_BUTTONS_OK,
|
||||
"%s", m->prompt);
|
||||
gtk_dialog_set_default_response (message_dialog, m->allow_cancel ? GTK_RESPONSE_CANCEL : GTK_RESPONSE_OK);
|
||||
message_dialog = (GtkDialog *)e_error_new(NULL, error_type[type], m->prompt, NULL);
|
||||
g_object_set ((GObject *) message_dialog, "allow_shrink", TRUE, "allow_grow", TRUE, NULL);
|
||||
|
||||
/* We only need to wait for the result if we allow cancel otherwise show but send result back instantly */
|
||||
|
||||
@ -21,7 +21,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
@ -38,7 +37,7 @@
|
||||
#include <bonobo/bonobo-stream-memory.h>
|
||||
|
||||
#include <e-util/e-signature-list.h>
|
||||
#include <e-util/e-dialog-utils.h>
|
||||
#include "widgets/misc/e-error.h"
|
||||
|
||||
#include "e-msg-composer.h"
|
||||
#include "mail-signature-editor.h"
|
||||
@ -83,7 +82,7 @@ menu_file_save_error (BonoboUIComponent *uic, CORBA_Environment *ev)
|
||||
|
||||
err = ev->_major != CORBA_NO_EXCEPTION ? bonobo_exception_get_text (ev) : g_strdup (g_strerror (errno));
|
||||
|
||||
e_notice (NULL, GTK_MESSAGE_ERROR, _("Could not save signature file: %s"), err);
|
||||
e_error_run(NULL, "mail:no-save-signature", err, NULL);
|
||||
g_warning ("Exception while saving signature: %s", err);
|
||||
|
||||
g_free (err);
|
||||
@ -224,25 +223,9 @@ do_exit (ESignatureEditor *editor)
|
||||
CORBA_exception_init (&ev);
|
||||
|
||||
if (GNOME_GtkHTML_Editor_Engine_hasUndo (editor->engine, &ev)) {
|
||||
GtkWidget *dialog;
|
||||
int button;
|
||||
|
||||
dialog = gtk_message_dialog_new (GTK_WINDOW (editor->win),
|
||||
GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_MODAL,
|
||||
GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE, "%s",
|
||||
_("This signature has been changed, but hasn't been saved.\n"
|
||||
"\nDo you wish to save your changes?"));
|
||||
gtk_dialog_add_buttons ((GtkDialog *) dialog,
|
||||
_("_Discard changes"), GTK_RESPONSE_NO,
|
||||
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
|
||||
GTK_STOCK_SAVE, GTK_RESPONSE_YES,
|
||||
NULL);
|
||||
gtk_window_set_title ((GtkWindow *) dialog, _("Save signature"));
|
||||
gtk_dialog_set_default_response ((GtkDialog *) dialog, GTK_RESPONSE_YES);
|
||||
|
||||
button = gtk_dialog_run ((GtkDialog *) dialog);
|
||||
gtk_widget_destroy (dialog);
|
||||
|
||||
|
||||
button = e_error_run((GtkWindow *)editor->win, "mail:ask-signature-changed", NULL);
|
||||
exit_dialog_cb (button, editor);
|
||||
} else
|
||||
destroy_editor (editor);
|
||||
|
||||
@ -39,7 +39,7 @@
|
||||
#include "em-utils.h"
|
||||
|
||||
#include "e-util/e-account-list.h"
|
||||
#include "e-util/e-dialog-utils.h"
|
||||
#include "widgets/misc/e-error.h"
|
||||
|
||||
#include "camel/camel.h"
|
||||
#include "camel/camel-vee-folder.h"
|
||||
@ -521,11 +521,7 @@ mail_vfolder_delete_uri(CamelStore *store, const char *curi)
|
||||
GtkWidget *dialog;
|
||||
char *user;
|
||||
|
||||
dialog = gtk_message_dialog_new (NULL, 0, GTK_MESSAGE_INFO, GTK_BUTTONS_OK,
|
||||
_("The following vFolder(s):\n%s"
|
||||
"Used the removed folder:\n '%s'\n"
|
||||
"And have been updated."),
|
||||
changed->str, uri);
|
||||
dialog = e_error_new(NULL, "mail:vfolder-updated", changed->str, uri, NULL);
|
||||
g_signal_connect_swapped (dialog, "response", G_CALLBACK (gtk_widget_destroy), dialog);
|
||||
gtk_widget_show (dialog);
|
||||
|
||||
@ -981,8 +977,8 @@ vfolder_edit_rule(const char *uri)
|
||||
g_signal_connect(gd, "response", G_CALLBACK(edit_rule_response), NULL);
|
||||
gtk_widget_show((GtkWidget *)gd);
|
||||
} else {
|
||||
e_notice (NULL, GTK_MESSAGE_WARNING,
|
||||
_("Trying to edit a vfolder '%s' which doesn't exist."), uri);
|
||||
/* TODO: we should probably just create it ... */
|
||||
e_error_run(NULL, "mail:vfolder-notexist", uri, NULL);
|
||||
}
|
||||
|
||||
if (url)
|
||||
@ -1002,15 +998,7 @@ new_rule_clicked(GtkWidget *w, int button, void *data)
|
||||
}
|
||||
|
||||
if (rule_context_find_rule ((RuleContext *)context, rule->name, rule->source)) {
|
||||
GtkWidget *dialog =
|
||||
gtk_message_dialog_new ((GtkWindow *) w, 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);
|
||||
|
||||
e_error_run((GtkWindow *)w, "mail:vfolder-notunique", rule->name, NULL);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user