diff options
Diffstat (limited to 'addressbook')
-rw-r--r-- | addressbook/ChangeLog | 42 | ||||
-rw-r--r-- | addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in | 2 | ||||
-rw-r--r-- | addressbook/gui/component/addressbook-migrate.c | 2 | ||||
-rw-r--r-- | addressbook/gui/component/addressbook-view.c | 12 | ||||
-rw-r--r-- | addressbook/gui/component/addressbook.c | 41 | ||||
-rw-r--r-- | addressbook/gui/contact-editor/e-contact-editor-address.c | 10 | ||||
-rw-r--r-- | addressbook/gui/contact-editor/e-contact-editor-fullname.c | 10 | ||||
-rw-r--r-- | addressbook/gui/contact-editor/e-contact-editor-im.c | 14 | ||||
-rw-r--r-- | addressbook/gui/contact-editor/e-contact-editor.c | 15 | ||||
-rw-r--r-- | addressbook/gui/widgets/e-addressbook-view.c | 13 | ||||
-rw-r--r-- | addressbook/gui/widgets/eab-gui-util.c | 9 |
11 files changed, 99 insertions, 71 deletions
diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog index bb251b4963..f634649050 100644 --- a/addressbook/ChangeLog +++ b/addressbook/ChangeLog @@ -1,3 +1,45 @@ +2008-08-14 Matthew Barnes <mbarnes@redhat.com> + + * gui/contact-editor/e-contact-editor.c: + Use e_display_help() for displaying help. + +2008-08-12 Matthew Barnes <mbarnes@redhat.com> + + * gui/component/GNOME_Evolution_Addressbook.server.in.in: + Fix a typo. (#547369) + + * gui/component/addressbook-migrate.c: + Fix TeX-style quotes. (#547372) + +2008-08-12 Milan Crha <mcrha@redhat.com> + + ** Fix for bug #547308 + + * gui/component/addressbook.c: (load_source_auth_cb): + Do not try to authenticate to the server more than twice when knows + the password and it didn't fail because of wrong user name/password. + * gui/widgets/eab-gui-util.c: (const char *status_to_string[]): + New string for new status code. + * gui/widgets/eab-gui-util.c: (eab_load_error_dialog): + Include detailed error in generic failure error, if available and is + not a repository offline error. + +2008-08-11 Matthew Barnes <mbarnes@redhat.com> + + ** Fixes part of bug #546892 + + * gui/contact-editor/e-contact-editor-fullname.c: + * gui/contact-editor/e-contact-editor-im.c: + * gui/contact-editor/e-contact-editor-address.c: + Prefer gtk_window_set_icon_name() over gtk_window_set_icon_list(). + + * gui/contact-editor/e-contact-editor-im.c: + Prefer gtk_image_new_from_icon_name() over e_icon_factory_get_image(). + + * gui/component/addressbook-view.c: + e_activity_handler_operation_started() no longer takes a GdkPixbuf. + It was ignoring the pixbuf anyway ever since we added a spinner icon. + 2008-08-07 Milan Crha <mcrha@redhat.com> ** Fix for bug #324203 diff --git a/addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in b/addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in index 4fe2ce7a6a..823d5bd89f 100644 --- a/addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in +++ b/addressbook/gui/component/GNOME_Evolution_Addressbook.server.in.in @@ -102,7 +102,7 @@ <oaf_attribute name="evolution2:config_item:priority" type="string" value="-6"/> <oaf_attribute name="name" type="string" - _value="Evolution S/Mime Certificate Management Control"/> + _value="Evolution S/MIME Certificate Management Control"/> </oaf_server> diff --git a/addressbook/gui/component/addressbook-migrate.c b/addressbook/gui/component/addressbook-migrate.c index 5b73f7ae1e..e6d5616e13 100644 --- a/addressbook/gui/component/addressbook-migrate.c +++ b/addressbook/gui/component/addressbook-migrate.c @@ -122,7 +122,7 @@ dialog_set_folder_name (MigrationContext *context, const char *folder_name) { char *text; - text = g_strdup_printf (_("Migrating `%s':"), folder_name); + text = g_strdup_printf (_("Migrating '%s':"), folder_name); gtk_label_set_text (GTK_LABEL (context->folder_label), text); g_free (text); diff --git a/addressbook/gui/component/addressbook-view.c b/addressbook/gui/component/addressbook-view.c index 7fa76e7fdc..cc8f195c98 100644 --- a/addressbook/gui/component/addressbook-view.c +++ b/addressbook/gui/component/addressbook-view.c @@ -43,7 +43,6 @@ #include "misc/e-task-bar.h" #include "misc/e-info-label.h" - #include "e-util/e-icon-factory.h" #include "e-util/e-util-private.h" #include "shell/e-user-creatable-items-handler.h" @@ -66,10 +65,6 @@ #define PARENT_TYPE G_TYPE_OBJECT static GObjectClass *parent_class = NULL; -/* This is used for the addressbook status bar */ -#define EVOLUTION_CONTACTS_PROGRESS_IMAGE "contact-new" -static GdkPixbuf *progress_icon = NULL; - #define d(x) struct _AddressbookViewPrivate { @@ -489,11 +484,8 @@ set_status_message (EABView *eav, const char *message, AddressbookView *view) } else if (priv->activity_id == 0) { char *clientid = g_strdup_printf ("%p", view); - if (progress_icon == NULL) - progress_icon = e_icon_factory_get_icon (EVOLUTION_CONTACTS_PROGRESS_IMAGE, E_ICON_SIZE_STATUS); - - priv->activity_id = e_activity_handler_operation_started (activity_handler, clientid, - progress_icon, message, TRUE); + priv->activity_id = e_activity_handler_operation_started ( + activity_handler, clientid, message, TRUE); g_free (clientid); } else { diff --git a/addressbook/gui/component/addressbook.c b/addressbook/gui/component/addressbook.c index ac135a0be0..132ad51cea 100644 --- a/addressbook/gui/component/addressbook.c +++ b/addressbook/gui/component/addressbook.c @@ -73,6 +73,9 @@ static void load_source_auth_cb (EBook *book, EBookStatus status, gpointer closure) { LoadSourceData *data = closure; + gboolean was_in = g_object_get_data (G_OBJECT (book), "authenticated") != NULL; + + g_object_set_data (G_OBJECT (book), "authenticated", NULL); if (data->cancelled) { free_load_source_data (data); @@ -99,38 +102,42 @@ load_source_auth_cb (EBook *book, EBookStatus status, gpointer closure) "%s", _("Accessing LDAP Server anonymously")); g_signal_connect (dialog, "response", G_CALLBACK(gtk_widget_destroy), NULL); gtk_widget_show (dialog); - if (data->cb) - data->cb (book, E_BOOK_ERROR_OK, data->closure); - free_load_source_data (data); - return; + status = E_BOOK_ERROR_OK; + + goto done; } } else if (status == E_BOOK_ERROR_INVALID_SERVER_VERSION) { e_error_run (NULL, "addressbook:server-version", NULL); status = E_BOOK_ERROR_OK; - if (data->cb) - data->cb (book, status, data->closure); - free_load_source_data (data); - return; - + goto done; + } else if (status == E_BOOK_ERROR_UNSUPPORTED_AUTHENTICATION_METHOD) { + goto done; } else { - const gchar *uri = e_book_get_uri (book); - gchar *stripped_uri = remove_parameters_from_uri (uri); - const gchar *auth_domain = e_source_get_property (data->source, "auth-domain"); - const gchar *component_name; + if (status == E_BOOK_ERROR_AUTHENTICATION_FAILED) { + const gchar *uri = e_book_get_uri (book); + gchar *stripped_uri = remove_parameters_from_uri (uri); + const gchar *auth_domain = e_source_get_property (data->source, "auth-domain"); + const gchar *component_name; - component_name = auth_domain ? auth_domain : "Addressbook"; + component_name = auth_domain ? auth_domain : "Addressbook"; - if (status == E_BOOK_ERROR_AUTHENTICATION_FAILED) { e_passwords_forget_password (component_name, stripped_uri); + + g_free (stripped_uri); + } else if (was_in) { + /* We already tried to authenticate to the server, and it failed with + other reason than with E_BOOK_ERROR_AUTHENTICATION_FAILED, thus stop + poking with the server and report error to the user. */ + goto done; } + g_object_set_data (G_OBJECT (book), "authenticated", GINT_TO_POINTER (1)); addressbook_authenticate (book, TRUE, data->source, load_source_auth_cb, closure); - - g_free (stripped_uri); return; } } +done: if (data->cb) data->cb (book, status, data->closure); diff --git a/addressbook/gui/contact-editor/e-contact-editor-address.c b/addressbook/gui/contact-editor/e-contact-editor-address.c index 7b2a54424b..1a1e6e18ed 100644 --- a/addressbook/gui/contact-editor/e-contact-editor-address.c +++ b/addressbook/gui/contact-editor/e-contact-editor-address.c @@ -22,7 +22,6 @@ #include <config.h> #include <e-contact-editor-address.h> -#include <e-util/e-icon-factory.h> #include <e-util/e-util-private.h> #include <glib/gi18n.h> @@ -417,7 +416,6 @@ e_contact_editor_address_init (EContactEditorAddress *e_contact_editor_address) { GladeXML *gui; GtkWidget *widget; - GList *icon_list; char *gladefile; gtk_dialog_add_buttons (GTK_DIALOG (e_contact_editor_address), @@ -450,12 +448,8 @@ e_contact_editor_address_init (EContactEditorAddress *e_contact_editor_address) gtk_box_pack_start (GTK_BOX (GTK_DIALOG (e_contact_editor_address)->vbox), widget, TRUE, TRUE, 0); g_object_unref(widget); - icon_list = e_icon_factory_get_icon_list ("contact-new"); - if (icon_list) { - gtk_window_set_icon_list (GTK_WINDOW (e_contact_editor_address), icon_list); - g_list_foreach (icon_list, (GFunc) g_object_unref, NULL); - g_list_free (icon_list); - } + gtk_window_set_icon_name ( + GTK_WINDOW (e_contact_editor_address), "contact-new"); } static void diff --git a/addressbook/gui/contact-editor/e-contact-editor-fullname.c b/addressbook/gui/contact-editor/e-contact-editor-fullname.c index 0943e2111f..af0db54e7e 100644 --- a/addressbook/gui/contact-editor/e-contact-editor-fullname.c +++ b/addressbook/gui/contact-editor/e-contact-editor-fullname.c @@ -21,7 +21,6 @@ #include <config.h> #include "e-contact-editor-fullname.h" -#include <e-util/e-icon-factory.h> #include <e-util/e-util-private.h> #include <libgnome/gnome-util.h> #include <glib/gi18n.h> @@ -100,7 +99,6 @@ e_contact_editor_fullname_init (EContactEditorFullname *e_contact_editor_fullnam { GladeXML *gui; GtkWidget *widget; - GList *icon_list; char *gladefile; gtk_widget_realize (GTK_WIDGET (e_contact_editor_fullname)); @@ -136,12 +134,8 @@ e_contact_editor_fullname_init (EContactEditorFullname *e_contact_editor_fullnam gtk_box_pack_start (GTK_BOX (GTK_DIALOG (e_contact_editor_fullname)->vbox), widget, TRUE, TRUE, 0); g_object_unref(widget); - icon_list = e_icon_factory_get_icon_list ("contact-new"); - if (icon_list) { - gtk_window_set_icon_list (GTK_WINDOW (e_contact_editor_fullname), icon_list); - g_list_foreach (icon_list, (GFunc) g_object_unref, NULL); - g_list_free (icon_list); - } + gtk_window_set_icon_name ( + GTK_WINDOW (e_contact_editor_fullname), "contact-new"); } static void diff --git a/addressbook/gui/contact-editor/e-contact-editor-im.c b/addressbook/gui/contact-editor/e-contact-editor-im.c index d438444147..8b421c0b3b 100644 --- a/addressbook/gui/contact-editor/e-contact-editor-im.c +++ b/addressbook/gui/contact-editor/e-contact-editor-im.c @@ -24,7 +24,6 @@ #include <libgnome/gnome-util.h> #include <glib/gi18n.h> #include <string.h> -#include <e-util/e-icon-factory.h> #include <e-util/e-util-private.h> static void e_contact_editor_im_init (EContactEditorIm *card); @@ -189,7 +188,8 @@ setup_service_optmenu(EContactEditorIm *editor) gtk_container_add(GTK_CONTAINER(item), hbox); gtk_widget_show(hbox); - image = e_icon_factory_get_image (im_images[i], E_ICON_SIZE_MENU); + image = gtk_image_new_from_icon_name ( + im_images[i], GTK_ICON_SIZE_MENU); gtk_size_group_add_widget(sg, image); @@ -240,7 +240,6 @@ e_contact_editor_im_init (EContactEditorIm *e_contact_editor_im) { GladeXML *gui; GtkWidget *widget; - GList *icon_list; char *gladefile; gtk_dialog_add_buttons (GTK_DIALOG (e_contact_editor_im), @@ -279,13 +278,8 @@ e_contact_editor_im_init (EContactEditorIm *e_contact_editor_im) gtk_widget_grab_focus(glade_xml_get_widget(gui, "entry-username")); - /* set the icon */ - icon_list = e_icon_factory_get_icon_list ("contact-new"); - if (icon_list) { - gtk_window_set_icon_list (GTK_WINDOW (e_contact_editor_im), icon_list); - g_list_foreach (icon_list, (GFunc) g_object_unref, NULL); - g_list_free (icon_list); - } + gtk_window_set_icon_name ( + GTK_WINDOW (e_contact_editor_im), "contact-new"); } static void diff --git a/addressbook/gui/contact-editor/e-contact-editor.c b/addressbook/gui/contact-editor/e-contact-editor.c index c0616d9916..a226cfe132 100644 --- a/addressbook/gui/contact-editor/e-contact-editor.c +++ b/addressbook/gui/contact-editor/e-contact-editor.c @@ -28,10 +28,7 @@ #include <time.h> #include <gtk/gtk.h> #include <gdk/gdkkeysyms.h> -#include <libgnomeui/gnome-window-icon.h> -#include <libgnome/gnome-util.h> #include <glib/gi18n.h> -#include <libgnome/gnome-help.h> #include <gdk-pixbuf/gdk-pixbuf.h> #include <libedataserverui/e-categories-dialog.h> @@ -45,6 +42,7 @@ #include "addressbook/gui/component/addressbook.h" #include "addressbook/printing/e-contact-print.h" #include "addressbook/gui/widgets/eab-gui-util.h" +#include "e-util/e-util.h" #include "e-util/e-gui-utils.h" #include "e-util/e-error.h" #include "misc/e-dateedit.h" @@ -3210,14 +3208,8 @@ app_delete_event_cb (GtkWidget *widget, GdkEvent *event, gpointer data) static void show_help_cb (GtkWidget *widget, gpointer data) { - GError *error = NULL; - - gnome_help_display ( - "evolution.xml", "usage-contact-cards", &error); - if (error != NULL) { - g_warning ("%s", error->message); - g_error_free (error); - } + /* FIXME Pass a proper parent window. */ + e_display_help (NULL, "usage-contact-cards"); } static GList * @@ -3314,7 +3306,6 @@ e_contact_editor_init (EContactEditor *e_contact_editor) { GladeXML *gui; GtkWidget *widget, *label; - char *icon_path; char *gladefile; e_contact_editor->name = e_contact_name_new(); diff --git a/addressbook/gui/widgets/e-addressbook-view.c b/addressbook/gui/widgets/e-addressbook-view.c index b30ece1581..ecae7ed8c3 100644 --- a/addressbook/gui/widgets/e-addressbook-view.c +++ b/addressbook/gui/widgets/e-addressbook-view.c @@ -31,7 +31,6 @@ #include <filter/rule-editor.h> #include <widgets/menus/gal-view-etable.h> #include <e-util/e-xml-utils.h> -#include <e-util/e-icon-factory.h> #include <libgnomeui/gnome-dialog-util.h> #include "addressbook/printing/e-contact-print.h" @@ -1476,8 +1475,16 @@ generate_viewoption_menu (EABSearchBarItem *subitems) char *str = NULL; str = e_str_without_underscores (subitems[i].search.text); menu_item = gtk_image_menu_item_new_with_label (str); -/* if (subitems[i].image) - gtk_image_menu_item_set_image (menu_item, e_icon_factory_get_image (subitems[i].image, E_ICON_SIZE_MENU)); */ + if (subitems[i].image) { + GtkWidget *image; + + image = gtk_image_new_from_icon_name ( + subitems[i].image, + GTK_ICON_SIZE_MENU); + gtk_image_menu_item_set_image ( + GTK_IMAGE_MENU_ITEM (menu_item), + image); + } g_free (str); } else { menu_item = gtk_menu_item_new (); diff --git a/addressbook/gui/widgets/eab-gui-util.c b/addressbook/gui/widgets/eab-gui-util.c index 1b59371935..42ce9cd8f2 100644 --- a/addressbook/gui/widgets/eab-gui-util.c +++ b/addressbook/gui/widgets/eab-gui-util.c @@ -75,7 +75,8 @@ static const char *status_to_string[] = { /* E_BOOK_ERROR_NO_SUCH_SOURCE */ N_("No such source"), /* E_BOOK_ERROR_OFFLINE_UNAVAILABLE */ N_("Not available in offline mode"), /* E_BOOK_ERROR_OTHER_ERROR */ N_("Other error"), - /* E_BOOK_ERROR_INVALID_SERVER_VERSION */ N_("Invalid server version") + /* E_BOOK_ERROR_INVALID_SERVER_VERSION */ N_("Invalid server version"), + /* E_BOOK_ERROR_UNSUPPORTED_AUTHENTICATION_METHOD */ N_("Unsupported authentication method") }; void @@ -131,6 +132,12 @@ eab_load_error_dialog (GtkWidget *parent, ESource *source, EBookStatus status) _("We were unable to open this addressbook. This either " "means you have entered an incorrect URI, or the server " "is unreachable."); + + /* do not show repository offline message, it's kind of generic error */ + if (status != E_BOOK_ERROR_REPOSITORY_OFFLINE && status > 0 && status < G_N_ELEMENTS (status_to_string) && status_to_string [status]) { + label = g_strconcat (label_string, "\n\n", _("Detailed error:"), " ", _(status_to_string [status]), NULL); + label_string = label; + } } dialog = e_error_new ((GtkWindow *) parent, "addressbook:load-error", label_string, NULL); |