diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2009-05-27 20:37:17 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2009-05-27 20:37:17 +0800 |
commit | cc3a98fc1ad5bb87aa7335f3de404ee7feee1541 (patch) | |
tree | 763785c47096a6aba1ca6c03115b5e862c9f49ad /e-util/e-error.c | |
parent | 10f8406b09318b1a3e4fe9d08d41a60239f9f3a6 (diff) | |
parent | e4afd3f9fb962ea1295a0657ec9f83a427829171 (diff) | |
download | gsoc2013-evolution-cc3a98fc1ad5bb87aa7335f3de404ee7feee1541.tar.gz gsoc2013-evolution-cc3a98fc1ad5bb87aa7335f3de404ee7feee1541.tar.zst gsoc2013-evolution-cc3a98fc1ad5bb87aa7335f3de404ee7feee1541.zip |
Merge branch 'master' into kill-bonobo
Conflicts:
a11y/widgets/ea-combo-button.c
a11y/widgets/ea-combo-button.h
addressbook/gui/component/addressbook-component.c
addressbook/gui/component/addressbook-component.h
addressbook/gui/component/addressbook-view.c
addressbook/gui/component/addressbook-view.h
addressbook/gui/component/component-factory.c
addressbook/gui/widgets/e-addressbook-view.c
addressbook/gui/widgets/eab-contact-display.c
addressbook/gui/widgets/eab-gui-util.h
addressbook/gui/widgets/eab-menu.c
addressbook/gui/widgets/eab-menu.h
addressbook/gui/widgets/eab-popup-control.c
addressbook/gui/widgets/eab-popup-control.h
addressbook/gui/widgets/eab-popup.c
addressbook/gui/widgets/eab-popup.h
calendar/gui/cal-search-bar.c
calendar/gui/calendar-commands.c
calendar/gui/calendar-component.c
calendar/gui/comp-editor-factory.c
calendar/gui/comp-editor-factory.h
calendar/gui/control-factory.c
calendar/gui/dialogs/comp-editor.c
calendar/gui/e-cal-component-memo-preview.c
calendar/gui/e-cal-component-memo-preview.h
calendar/gui/e-calendar-table.c
calendar/gui/e-memo-table.c
calendar/gui/e-memos.c
calendar/gui/e-tasks.c
calendar/gui/gnome-cal.c
calendar/gui/gnome-cal.h
calendar/gui/itip-bonobo-control.c
calendar/gui/itip-bonobo-control.h
calendar/gui/main.c
calendar/gui/memos-component.c
calendar/gui/memos-control.c
calendar/gui/memos-control.h
calendar/gui/migration.c
calendar/gui/migration.h
calendar/gui/tasks-component.c
calendar/gui/tasks-control.c
calendar/importers/main.c
composer/Makefile.am
composer/e-composer-header-table.c
composer/e-composer-header.c
composer/e-composer-header.h
composer/e-composer-name-header.c
composer/e-composer-private.c
composer/e-composer-text-header.c
composer/e-msg-composer.c
composer/e-msg-composer.h
e-util/e-corba-utils.h
e-util/e-logger.c
e-util/e-logger.h
e-util/e-util-labels.c
e-util/e-util-labels.h
em-format/em-format.c
mail/Makefile.am
mail/e-mail-shell-migrate.c
mail/em-account-editor.c
mail/em-account-editor.h
mail/em-composer-prefs.c
mail/em-composer-utils.c
mail/em-composer-utils.h
mail/em-folder-browser.c
mail/em-folder-tree-model.c
mail/em-folder-tree.c
mail/em-folder-tree.h
mail/em-folder-utils.c
mail/em-folder-utils.h
mail/em-folder-view.c
mail/em-format-html-display.c
mail/em-format-html.c
mail/em-mailer-prefs.c
mail/em-mailer-prefs.h
mail/em-message-browser.c
mail/em-message-browser.h
mail/em-network-prefs.h
mail/em-popup.c
mail/em-utils.c
mail/importers/Makefile.am
mail/mail-component-factory.c
mail/mail-component.c
mail/mail-config-factory.c
mail/mail-config-factory.h
mail/mail-config.c
mail/mail-dialogs.glade
mail/mail-types.h
plugins/calendar-weather/calendar-weather.c
plugins/mail-account-disable/mail-account-disable.c
plugins/select-one-source/select-one-source.c
po/POTFILES.in
shell/e-component-registry.c
shell/e-component-registry.h
shell/e-component-view.c
shell/e-component-view.h
shell/e-corba-config-page.c
shell/e-corba-config-page.h
shell/e-shell-constants.h
shell/e-shell-settings-dialog.c
shell/e-shell-settings-dialog.h
shell/e-shell-window-commands.c
shell/e-shell-window.c
shell/e-shell.h
shell/e-sidebar.c
shell/e-sidebar.h
shell/e-user-creatable-items-handler.c
shell/e-user-creatable-items-handler.h
shell/es-menu.c
shell/es-menu.h
shell/evolution-component.h
shell/evolution-config-control.c
shell/evolution-config-control.h
shell/evolution-listener.c
shell/evolution-listener.h
shell/evolution-shell-component-utils.c
shell/evolution-shell-component-utils.h
shell/importer/evolution-importer-client.c
shell/importer/evolution-importer-client.h
shell/importer/evolution-importer-listener.c
shell/importer/evolution-importer-listener.h
shell/importer/evolution-importer.c
shell/importer/evolution-importer.h
shell/importer/evolution-intelligent-importer.c
shell/importer/evolution-intelligent-importer.h
shell/importer/intelligent.c
shell/main.c
shell/test/evolution-test-component.c
shell/test/evolution-test-component.h
widgets/menus/gal-view-instance.c
widgets/menus/gal-view-menus.c
widgets/menus/gal-view-menus.h
widgets/misc/Makefile.am
widgets/misc/e-activity-handler.c
widgets/misc/e-activity-handler.h
widgets/misc/e-charset-picker.c
widgets/misc/e-combo-button.c
widgets/misc/e-combo-button.h
widgets/misc/e-config-page.h
widgets/misc/e-dropdown-button.c
widgets/misc/e-dropdown-button.h
widgets/misc/e-filter-bar.c
widgets/misc/e-info-label.c
widgets/misc/e-info-label.h
widgets/misc/e-multi-config-dialog.c
widgets/misc/e-multi-config-dialog.h
widgets/misc/e-search-bar.c
widgets/misc/e-search-bar.h
widgets/misc/e-task-bar.c
widgets/misc/e-task-bar.h
widgets/misc/e-task-widget.c
widgets/misc/e-task-widget.h
widgets/misc/test-dropdown-button.c
widgets/misc/test-error.c
widgets/misc/test-info-label.c
widgets/table/e-table-example-1.c
Diffstat (limited to 'e-util/e-error.c')
-rw-r--r-- | e-util/e-error.c | 62 |
1 files changed, 33 insertions, 29 deletions
diff --git a/e-util/e-error.c b/e-util/e-error.c index 7c1248bb7b..f2067950bc 100644 --- a/e-util/e-error.c +++ b/e-util/e-error.c @@ -10,7 +10,7 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with the program; if not, see <http://www.gnu.org/licenses/> + * License along with the program; if not, see <http://www.gnu.org/licenses/> * * * Authors: @@ -41,27 +41,27 @@ struct _e_error_button { struct _e_error_button *next; - char *stock; - char *label; - int response; + const gchar *stock; + const gchar *label; + gint response; }; struct _e_error { guint32 flags; - char *id; - int type; - int default_response; - char *title; - char *primary; - char *secondary; - char *help_uri; + const gchar *id; + gint type; + gint default_response; + const gchar *title; + const gchar *primary; + const gchar *secondary; + const gchar *help_uri; gboolean scroll; struct _e_error_button *buttons; }; struct _e_error_table { - char *domain; - char *translation_domain; + const gchar *domain; + const gchar *translation_domain; GHashTable *errors; }; @@ -84,8 +84,8 @@ static struct _e_error default_errors[] = { /* ********************************************************************** */ static struct { - char *name; - int id; + const gchar *name; + gint id; } response_map[] = { { "GTK_RESPONSE_REJECT", GTK_RESPONSE_REJECT }, { "GTK_RESPONSE_ACCEPT", GTK_RESPONSE_ACCEPT }, @@ -111,9 +111,9 @@ map_response(const char *name) } static struct { - const char *name; - const char *icon; - const char *title; + const gchar *name; + const gchar *icon; + const gchar *title; } type_map[] = { { "info", GTK_STOCK_DIALOG_INFO, N_("Evolution Information") }, { "warning", GTK_STOCK_DIALOG_WARNING, N_("Evolution Warning") }, @@ -184,7 +184,7 @@ ee_load(const char *path) table = g_malloc0(sizeof(*table)); table->domain = g_strdup(tmp); table->errors = g_hash_table_new(g_str_hash, g_str_equal); - g_hash_table_insert(error_table, table->domain, table); + g_hash_table_insert(error_table, (gpointer) table->domain, table); tmp2 = (char *)xmlGetProp(root, (const unsigned char *)"translation-domain"); if (tmp2) { @@ -263,16 +263,20 @@ ee_load(const char *path) } } else if (!strcmp((char *)scan->name, "button")) { struct _e_error_button *b; + gchar *label = NULL; + gchar *stock = NULL; b = g_malloc0(sizeof(*b)); tmp = (char *)xmlGetProp(scan, (const unsigned char *)"stock"); if (tmp) { - b->stock = g_strdup(tmp); + stock = g_strdup(tmp); + b->stock = stock; xmlFree(tmp); } tmp = (char *)xmlGetProp(scan, (const unsigned char *)"label"); if (tmp) { - b->label = g_strdup(dgettext(table->translation_domain, tmp)); + label = g_strdup(dgettext(table->translation_domain, tmp)); + b->label = label; xmlFree(tmp); } tmp = (char *)xmlGetProp(scan, (const unsigned char *)"response"); @@ -281,10 +285,10 @@ ee_load(const char *path) xmlFree(tmp); } - if (b->stock == NULL && b->label == NULL) { + if (stock == NULL && label == NULL) { g_warning("Error file '%s': missing button details in error '%s'", path, e->id); - g_free(b->stock); - g_free(b->label); + g_free(stock); + g_free(label); g_free(b); } else { lastbutton->next = b; @@ -293,7 +297,7 @@ ee_load(const char *path) } } - g_hash_table_insert(table->errors, e->id, e); + g_hash_table_insert(table->errors, (gpointer) e->id, e); } } @@ -319,8 +323,8 @@ ee_load_tables(void) table->domain = "builtin"; table->errors = g_hash_table_new(g_str_hash, g_str_equal); for (i=0;i<sizeof(default_errors)/sizeof(default_errors[0]);i++) - g_hash_table_insert(table->errors, default_errors[i].id, &default_errors[i]); - g_hash_table_insert(error_table, table->domain, table); + g_hash_table_insert(table->errors, (gpointer) default_errors[i].id, &default_errors[i]); + g_hash_table_insert(error_table, (gpointer) table->domain, table); /* look for installed error tables */ base = g_build_filename (EVOLUTION_PRIVDATADIR, "errors", NULL); @@ -525,7 +529,7 @@ e_error_newv(GtkWindow *parent, const char *tag, const char *arg0, va_list ap) g_string_free (oerr, TRUE); } else perr = g_strdup (gtk_window_get_title (GTK_WINDOW (dialog))); - + if (e->secondary) { ee_build_label(out, e->secondary, args, TRUE); oerr = g_string_new(""); @@ -557,7 +561,7 @@ e_error_newv(GtkWindow *parent, const char *tag, const char *arg0, va_list ap) gtk_box_pack_start((GtkBox *)dialog->vbox, hbox, TRUE, TRUE, 0); g_object_set_data_full ((GObject *) dialog, "primary", perr, g_free); g_object_set_data_full ((GObject *) dialog, "secondary", serr, g_free); - + return (GtkWidget *)dialog; } |