aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/misc
diff options
context:
space:
mode:
Diffstat (limited to 'widgets/misc')
-rw-r--r--widgets/misc/ChangeLog3010
-rw-r--r--widgets/misc/ChangeLog.pre-1-41903
-rw-r--r--widgets/misc/Makefile.am7
-rw-r--r--widgets/misc/e-account-combo-box.c3
-rw-r--r--widgets/misc/e-account-combo-box.h2
-rw-r--r--widgets/misc/e-account-tree-view.c2
-rw-r--r--widgets/misc/e-action-combo-box.c4
-rw-r--r--widgets/misc/e-activity-proxy.c7
-rw-r--r--widgets/misc/e-attachment-handler-image.c4
-rw-r--r--widgets/misc/e-attachment-paned.c6
-rw-r--r--widgets/misc/e-attachment-view.c5
-rw-r--r--widgets/misc/e-attachment.c60
-rw-r--r--widgets/misc/e-attachment.h5
-rw-r--r--widgets/misc/e-buffer-tagger.c4
-rw-r--r--widgets/misc/e-calendar-item.c5
-rw-r--r--widgets/misc/e-calendar.c34
-rw-r--r--widgets/misc/e-canvas-background.c36
-rw-r--r--widgets/misc/e-canvas-vbox.c16
-rw-r--r--widgets/misc/e-canvas.c4
-rw-r--r--widgets/misc/e-dateedit.c4
-rw-r--r--widgets/misc/e-hinted-entry.c4
-rw-r--r--widgets/misc/e-import-assistant.c105
-rw-r--r--widgets/misc/e-map.c50
-rw-r--r--widgets/misc/e-menu-tool-button.c3
-rw-r--r--widgets/misc/e-online-button.c10
-rw-r--r--widgets/misc/e-paned.c16
-rw-r--r--widgets/misc/e-preferences-window.c2
-rw-r--r--widgets/misc/e-search-bar.c4
-rw-r--r--widgets/misc/e-selection-model-array.c8
-rw-r--r--widgets/misc/e-selection-model.c12
-rw-r--r--widgets/misc/e-send-options.c6
-rw-r--r--widgets/misc/e-send-options.ui10
-rw-r--r--widgets/misc/e-spinner.c992
-rw-r--r--widgets/misc/e-spinner.h39
-rw-r--r--widgets/misc/e-web-view-preview.c481
-rw-r--r--widgets/misc/e-web-view-preview.h101
-rw-r--r--widgets/misc/e-web-view.c100
-rw-r--r--widgets/misc/e-web-view.h5
38 files changed, 865 insertions, 6204 deletions
diff --git a/widgets/misc/ChangeLog b/widgets/misc/ChangeLog
deleted file mode 100644
index 276f80062a..0000000000
--- a/widgets/misc/ChangeLog
+++ /dev/null
@@ -1,3010 +0,0 @@
-2009-04-24 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #572348
-
- * e-dateedit.c:
- * e-combo-button.c:
- * e-dropdown-button.c:
- * e-canvas.c:
- * e-cell-date-edit.h:
- * e-cell-date-edit.c:
- Remove deprecated Gtk+ symbols.
-
-2009-04-13 Johnny Jacob <jjohnny@novell.com>
-
- ** Fixes #578685 – evolution crashed with SIGSEGV.
-
- ** Patch by Takao Fujiwara <Takao.Fujiwara@Sun.COM>
-
- * e-attachment-bar.c (update): Copy string. Avoids SIGSEGV.
-
-2009-03-09 Chenthill Palanisamy <pchenthill@novell.com>
-
- * widgets/misc/e-calendar-item.c: Removed the string
- marked for translation as it not required and also breaks
- the string freeze.
-
-2009-03-08 Chenthill Palanisamy <pchenthill@novell.com>
-
- Fixes #342446
- * widgets/misc/e-calendar-item.c: Check whether its
- appropriate to use %Id format for digits. Incorporated
- the fix from Wang Xin <jedy.wang@sun.com> to build in
- solaris.
-
-2009-02-25 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #559027
-
- * e-dateedit.c: (on_date_entry_focus_out):
- Do not set date for 'None' value.
-
-2009-02-12 Milan Crha <mcrha@redhat.com>
-
- ** Part of fix for bug #404232
-
- * e-filter-bar.c: (rule_advanced_response): Emit signal after
- search bar text is set, thus the text will not be empty, which
- is considered as "no search" these days.
-
-2009-01-30 Suman Manjunath <msuman@novell.com>
-
- ** Fix for bug #342446
-
- ** Committing on behalf of Behnam Esfahbod
-
- * e-calendar-item.c (e_calendar_item_draw_day_numbers),
- (e_calendar_item_recalc_sizes), (e_calendar_item_position_menu):
- Use localized digits in the calendar widget.
-
-2009-01-11 Matthew Barnes <mbarnes@redhat.com>
-
- * e-attachment-bar.c (eab_icon_clicked_cb):
- * e-url-entry.c (button_clicked_cb):
- Call e_show_uri() instead of gnome_url_show().
-
-2009-01-10 Matthew Barnes <mbarnes@redhat.com>
-
- * test-dropdown-button.c:
- Remove unneeded #include <libgnomeui/gnome-stock-icons.h>.
-
-2009-01-10 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #567281
-
- * e-cell-date-edit.c:
- * e-cell-percent.c:
- Remove unneeded #include <libgnomeui/gnome-messagebox.h>.
-
-2009-01-10 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #567276
-
- * test-color.c:
- We don't ship this. Remove it.
-
-2009-01-10 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #567285
-
- * e-activity-handler.c:
- * e-dropdown-button.c:
- Remove unneeded #include <libgnomeui/gnome-popup-menu.h>.
-
-2008-12-10 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #556303
-
- * e-attachment-bar.c: (eab_icon_clicked_cb):
- Check whether attachment has a body already before accessing it.
-
-2008-12-09 Milan Crha <mcrha@redhat.com>
-
- ** Part of fix for bug #563669
-
- * e-send-options.glade:
- Use zero GtkSpinButton's PageSize, as Gtk+ requires.
-
-2008-10-29 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-url-entry.c:
- * e-url-entry.h:
-
-2008-10-21 Sankar P <psankar@novell.com>
-
- * e-spinner.c (e_spinner_stop),
- (e_spinner_new_spinning_small_shown):
- * e-spinner.h:
- * e-task-widget.c (e_task_widget_construct):
- Re-factor spinner usage.
-
-2008-10-17 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-dateedit.c:
- * e-dateedit.h:
-
-2008-10-10 Sankar P <psankar@novell.com>
-
-License Changes + code cleanup
-
- * e-reflow.c (e_reflow_event), (e_reflow_init):
-
-2008-10-01 Milan Crha <mcrha@redhat.com>
-
- ** Part of fix for bug #554418
-
- * e-attachment.c: (attachment_guess_mime_type):
- Allow guessing mime_type based on the file content.
-
-2008-10-01 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-canvas-background.c:
- * e-dateedit.c:
-
-2008-09-30 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-expander.c:
-
-2008-09-29 Milan Crha <mcrha@redhat.com>
-
- ** Part of fix for bug #530716
-
- * e-activity-handler.c: (error_cleanup): GtkDialog errors close
- by the response message, not as other widgets, because creator
- of the dialog waits for that signal and takes care of the widget.
-
-2008-09-29 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-colors.c:
-
-2008-09-24 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-canvas.c:
- * e-combo-button.c:
-
-2008-09-19 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-attachment-bar.c:
- * e-search-bar.c:
- * e-search-bar.h:
- * e-task-widget.c:
-
-2008-09-16 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-calendar.c:
- * e-cell-percent.c:
- * e-unicode.h:
-
-2008-09-12 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-online-button.c:
- * e-online-button.h:
-
-2008-09-06 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #549968
-
- * e-attachment-bar.c (e_attachment_bar_bonobo_ui_populate_with):
- Use the same mnemonic for "Recent Documents" as composer.
-
-2008-09-06 Michael Meeks <michael.meeks@novell.com>
-
- * e-spinner.c: correct licensing cockup; apologies.
- * e-icon-entry.h: ditto.
-
-2008-09-04 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-calendar-item.c:
- * e-charset-picker.c:
- * e-config-page.c:
- * e-dropdown-button.c:
- * e-multi-config-dialog.c:
- * e-multi-config-dialog.h:
- * test-multi-config-dialog.c:
-
-2008-09-02 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-activity-handler.c:
- * e-activity-handler.h:
- * e-attachment-bar.h:
- * e-attachment.h:
- * e-calendar.h:
- * e-canvas-background.h:
- * e-canvas-utils.h:
- * e-canvas-vbox.c:
- * e-canvas-vbox.h:
- * e-canvas.h:
- * e-cell-date-edit.c:
- * e-cell-renderer-combo.c:
- * e-colors.h:
- * e-combo-button.h:
- * e-combo-cell-editable.c:
- * e-config-page.h:
- * e-cursors.c:
- * e-dropdown-button.h:
- * e-expander.h:
- * e-filter-bar.c:
- * e-filter-bar.h:
- * e-gui-utils.c:
- * e-gui-utils.h:
- * e-image-chooser.c:
- * e-info-label.c:
- * e-map.c:
- * e-pilot-settings.c:
- * e-popup-menu.c:
- * e-popup-menu.h:
- * e-printable.c:
- * e-reflow.h:
- * e-selection-model.c:
- * e-send-options.c:
- * e-task-bar.c:
- * e-task-bar.h:
- * e-task-widget.h:
- * e-unicode.c:
- * test-calendar.c:
- * test-dateedit.c:
- * test-dropdown-button.c:
-
-2008-09-01 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes bug #550334
-
- * e-activity-handler.c:
- Use standard icon names for warning and information.
-
-2008-08-30 Matthew Barnes <mbarnes@redhat.com>
-
- * e-info-label.c (e_info_label_set_info):
- Fix vertical alignment of labels.
-
-2008-08-27 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-account-combo-box.c:
- * e-account-combo-box.h:
- * e-attachment.c:
- * e-calendar-item.h:
- * e-canvas-utils.c:
- * e-cell-date-edit.h:
- * e-cell-percent.h:
- * e-cell-renderer-combo.h:
- * e-charset-picker.h:
- * e-combo-cell-editable.h:
- * e-cursors.h:
- * e-icon-entry.h:
- * e-image-chooser.h:
- * e-info-label.h:
- * e-map.h:
- * e-pilot-settings.h:
- * e-printable.h:
- * e-reflow-model.c:
- * e-reflow-model.h:
- * e-selection-model-array.c:
- * e-selection-model-array.h:
- * e-selection-model-simple.c:
- * e-selection-model-simple.h:
- * e-selection-model.h:
- * e-send-options.h:
- * e-signature-combo-box.c:
- * e-signature-combo-box.h:
- * e-spinner.c:
- * e-spinner.h:
- * test-charset-picker.c:
- * test-color.c:
- * test-error.c:
- * test-info-label.c:
-
-2008-08-14 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #547411
-
- * e-online-button.c (e_online_button_set_online):
- The button icons are themed now but still oblong.
- Load the icons by filename so GTK+ doesn't scale them.
-
-2008-08-14 Matthew Barnes <mbarnes@redhat.com>
-
- * e-multi-config-dialog.c:
- * e-send-options.c:
- Use e_display_help() for displaying help.
-
-2008-08-11 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #546892
-
- * e-combo-button.c:
- * e-info-label.c:
- * e-url-entry.c:
- * e-task-widget.c:
- Prefer gtk_image_new_from_stock() over e_icon_factory_get_image().
-
- * e-activity-handler.c:
- * e-task-widget.c:
- Purge the GdkPixbuf arguments from the API. We've been ignoring
- them since the spinner icon was added.
-
-2008-07-23 Milan Crha <mcrha@redhat.com>
-
- ** Part of fix for bug #543943
-
- * e-activity-handler.c: (e_activity_handler_operation_set_error):
- * e-task-bar.c: (e_task_bar_class_init), (impl_finalize):
- Leak fix.
-
-2008-07-20 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #542587
-
- * e-online-button.c:
- * e-online-button.h:
- New widget implements the online/offline button used in the main
- window. The button just maintains an "online" flag and displays
- the appropriate button image for the flag.
-
-2008-17-14 Paolo Borelli <pborelli@katamail.com>
-
- ** Fix for bug #542889
-
- * e-search-bar.h:
- * widgets/misc/e-search-bar.c:
- * widgets/misc/e-task-widget.c:
- Port to the new gtk tooltip api.
-
-2008-07-12 Paolo Borelli <pborelli@katamail.com>
-
- ** Fix for bug #542631
-
- * e-attachment-bar.c: use g_format_size_for_display instead of cut and
- pasted code.
-
-2008-07-07 Suman Manjunath <msuman@novell.com>
-
- ** Fix for bug #370731 (bugzilla.novell.com)
-
- * e-calendar-item.c (e_calendar_item_update),
- (e_calendar_item_draw_month), (e_calendar_item_draw_day_numbers),
- (e_calendar_item_recalc_sizes):
- * e-calendar-item.h:
- Use MAX (<max width of day-names>, (2 * <max width of a digit>))
- to determine the minimal size for each cell. This prevents the numbers
- and day-names from getting fuzzy when using large font-sizes.
-
-2008-06-30 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bug #519536
-
- * e-activity-handler.c: (cancel_wrapper): Handle freeing of data
- safely.
-
-2008-06-18 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #532597
-
- * e-selection-model-array.c: (e_selection_model_array_delete_rows):
- Do not leave selected more than one item if somebody else took care
- or reposition of the cursor row before the delete.
-
-2008-06-10 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #340683
-
- * e-attachment-bar.c: (get_system_thumbnail), (scale_pixbuf),
- (e_attachment_bar_create_attachment_cache), (update):
- Allow creating thumbnails of non-pictures with a gnome's thumbnailer.
-
-2008-06-03 Kjartan Maraas <kmaraas@gnome.org>
-
- * e-cell-date-edit.c: (e_cell_date_edit_init):
- * e-dateedit.c: (create_children):
- * e-multi-config-dialog.c: (e_multi_config_dialog_init):
- * e-unicode.h:
- * test-calendar.c: (main):
- * test-dateedit.c: (main):
- * test-info-label.c: (main):
- Migrate from gtk_window_set_policy() to gtk_window_set_resizable()
- and clean up a bunch of coding style issues along the way.
-
-2008-05-28 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #532597
-
- * e-selection-model-array.h: (struct ESelectionModelArray):
- * e-selection-model-array.c: (es_row_model_to_sorted),
- (es_row_sorted_to_model), (e_selection_model_array_delete_rows),
- (e_selection_model_array_insert_rows), (esma_invert_selection),
- (e_selection_model_array_move_row), (esma_clear), (esma_select_all),
- (esma_change_cursor), (esma_set_selection_end),
- (e_selection_model_array_init): Work with sorted cursor row to keep
- right position after insert/delete/move row(s).
-
-2008-05-22 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #534360
-
- * e-activity-handler.h:
- * e-attachment-bar.h:
- * e-attachment.c:
- * e-calendar-item.c:
- * e-calendar-item.h:
- * e-calendar.h:
- * e-canvas-background.h:
- * e-canvas-vbox.h:
- * e-canvas.c:
- * e-canvas.h:
- * e-cell-date-edit.c:
- * e-cell-date-edit.h:
- * e-combo-button.c:
- * e-combo-button.h:
- * e-config-page.h:
- * e-dateedit.c:
- * e-dateedit.h:
- * e-dropdown-button.c:
- * e-dropdown-button.h:
- * e-filter-bar.c:
- * e-gui-utils.c:
- * e-gui-utils.h:
- * e-image-chooser.c:
- * e-map.c:
- * e-map.h:
- * e-multi-config-dialog.h:
- * e-popup-menu.h:
- * e-printable.h:
- * e-reflow.h:
- * e-send-options.h:
- * e-task-bar.h:
- * e-task-widget.h:
- * e-url-entry.c:
- * e-url-entry.h:
- Migrate from deprecated GtkObject symbols to GObject equivalents.
-
-2008-05-14 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes bug #311042, Patch by Milan Crha
-
- * e-info-label.c: (el_size_allocate), (el_class_init),
- (e_info_label_set_info), (get_text_full_width): Allocate size for
- location and info labels differently, than GtkHBox does, to be able
- to minimize it as much as possible and do not waste empty space.
-
-2008-05-06 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #424744
-
- * e-attachment-bar.c:
- * e-unicode.c:
- Use camel-iconv.c instead of e-iconv.h (now deprecated).
-
-2008-04-30 Milan Crha <mcrha@redhat.com>
-
- ** Part of fix for bug #528288
-
- * e-filter-bar.c: (get_property): Do not return any query
- with empty text from search bar.
-
-2008-04-25 Danny Baumann <dannybaumann@web.de>
-
- ** Fix for bug #529893
-
- * e-dateedit.c (create_children):
- * e-combo-cell-editable.c (build_popup):
- * e-cell-date-edit.c (e_cell_date_edit_init):
- Properly set type hint on popup windows.
-
-2008-04-22 Matthew Barnes <mbarnes@Redhat.com>
-
- ** Fixes part of bug #529641
-
- * e-dateedit.c (create_children):
- * e-map.c (e_map_new):
- Prefer the term "drop-down combination box" to "combo box" per the
- GNOME Documentation Style Guide.
-
-2008-04-20 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bug #334444
-
- * e-attachment-bar.c: (e_attachment_bar_add_attachment_silent),
- (e_attachment_bar_refresh):
- * e-attachment-bar.h:
-
-2008-04-17 Milan Crha <mcrha@redhat.com>
-
- ** Part of fix for bug #526739
-
- * e-attachment.h: (struct _EAttachment):
- * e-attachment.c: (finalise), (init), (attachment_guess_mime_type),
- (e_attachment_new), (struct DownloadInfo), (download_info_free),
- (data_ready_cb), (download_to_local_path),
- (e_attachment_new_remote_file):
- Use gio instead of gnome-vfs to download remote files.
- * e-image-chooser.c: (image_drag_data_received_cb):
- Use new util function to read file.
- * e-attachment-bar.c: (size_to_string): Stolen from gnome-vfs.
-
-2008-04-14 Matthew Barnes <mbarnes@redhat.com>
-
- * e-attachment-bar.c
- (e_attachment_bar_bonobo_ui_populate_with_recent):
- Fix a compiler warning.
-
-2008-04-11 Suman Manjunath <msuman@novell.com>
-
- ** Fix for bug #517134
-
- * e-attachment-bar.c: (destroy), (init): Related changes.
- (e_attachment_bar_bonobo_ui_populate_with_recent): New API to populate
- a bonoboUI menu with "Recent Documents".
- (action_recent_cb), (e_attachment_bar_recent_action_new): New API to
- obtain a new, pre-configured GtkRecentAction (which can be used as a
- "Recent Documents" menu)
- * e-attachment-bar.h: APIs' signatures
-
-2008-04-02 Matthew Barnes <mbarnes@redhat.com>
-
- * Makefile.am:
- Add EVOLUTION_MAIL_LIBS.
-
- * e-account-combo-box.c:
- * e-account-combo-box.h:
- New function e_account_combo_box_get_account_list().
- Emit a "refreshed" signal when the EAccountList changes.
- Add an internal reverse-lookup index.
-
- * e-charset-picker.c (e_charser_add_radio_actions):
- New function adds radio actions to an action group.
- Will eventually replace e_charset_picker_bonobo_ui_populate().
-
- * e-signature-combo-box.c:
- * e-signature-combo-box.h:
- New function e_signature_combo_box_get_signature_list().
-
-2008-03-27 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #507526
-
- * e-send-options.glade: Add translators' comment.
-
-2008-03-14 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #482148
-
- * e-search-bar.c: (entry_activated_cb), (entry_changed_cb),
- (search_now_verb_cb), (clear_verb_cb), (clear_button_clicked_cb):
- Allow clear search when some search is active and text is empty.
-
-2008-03-13 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #460204
-
- * e-attachment.c: (attachment_guess_mime_type):
- Check whether found mime type is valid before returning it.
- My thanks come to Effenberg whom helped me to debug it.
-
-2008-03-13 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #512543
-
- * e-calendar-item.c: Get rid of ENABLE_CAIRO define.
-
-2008-02-18 Milan Crha <mcrha@redhat.com>
-
- ** Part of fix for bug #515744
-
- * e-cursors.c: (e_cursors_init):
- * e-calendar-item.c: (e_calendar_item_draw_month):
- Memory leak fix.
-
-2008-02-18 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bnc #178778
-
- * e-calendar-item.c: (e_calendar_item_destroy):
-
-2008-02-07 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #249501
-
- * e-attachment.c: (attachment_guess_mime_type):
- gnome_vfs_get_file_info expects URI,
- thus if file_name contains '%' it failed.
-
-2007-01-25 Johnny Jacob <jjohnny@novell.com>
-
- * e-filter-bar.h : Added a cameloperation cancel field for vfolder
- based search.
-
-2008-01-24 Tor Lillqvist <tml@novell.com>
-
- * Makefile.am (libemiscwidgets_la_LIBADD): Fix typo:
- s/EVOLUTON_MAIL_LIBS/EVOLUTION_MAIL_LIBS/. No need to use
- CAMEL_LIBS as EVOLUTION_MAIL_LIBS already covers that.
-
-2008-01-24 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #402487
-
- * e-search-bar.c: (search_now_verb_cb), (scopeoption_changed_cb):
- Memory leak fix.
-
-2008-01-24 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-multi-config-dialog.c: (canvas_realize),
- (e_multi_config_dialog_add_page): Enable for Cairofication of the
- settings dialogs's etable.
-
-2008-01-11 Jeffrey Stedfast <fejj@novell.com>
-
- Patch by Jean-Christophe BEGUE to fix bug #329692.
-
- * e-attachment.c (e_attachment_new_from_mime_part): Get the
- content size of the MIME part by calling the new
- camel_mime_part_get_content_size() function.
-
-2008-01-11 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #488213
-
- * e-spinner.c: (scale_to_size):
- * e-image-chooser.c: (set_image_from_data):
- * e-attachment-bar.c: (e_attachment_bar_create_attachment_cache),
- (update):
- Use global function e_icon_factory_pixbuf_scale for scaling pixbufs.
-
-2008-01-10 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Add better support to show info/errors
-
- * e-activity-handler.c: (setup_task_bar), (cancel_wrapper),
- (handle_error), (error_cleanup), (e_activity_handler_make_error),
- (e_activity_handler_operation_set_error):
- * e-activity-handler.h:
- * e-task-widget.c: (e_task_widget_update_image):
-
-2008-01-07 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #339813
-
- * e-dateedit.h: (e_date_edit_get_twodigit_year_can_future),
- (e_date_edit_set_twodigit_year_can_future):
- Added new option for component.
- * e-dateedit.c: (e_date_edit_get_twodigit_year_can_future),
- (e_date_edit_set_twodigit_year_can_future),
- (struct _EDateEditPrivate::twodigit_year_can_future),
- (e_date_edit_init), (e_date_edit_parse_date):
- Implementing new option for component.
- * e-dateedit.c: (on_date_entry_focus_out):
- Always repaint value on focus out.
- * e-dateedit.c: (e_date_edit_update_date_entry):
- Forced to always show 4-digit year.
-
-2008-01-04 Milan Crha <mcrha@redhat.com>
-
- * Part of bug #504480
- * e-task-widget.c: (e_task_widget_construct):
- Possible leak fix.
- * e-task-widget.c: (e_task_widget_update_image):
- Function prototype changed and using parameter stock now.
-
-2008-01-04 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fix for bug #504480
-
- * e-task-bar.c: (e_task_bar_init): Increases the height
- of the ETaskBar to eliminate the constant resizing.
-
-2007-12-14 Milan Crha <mcrha@redhat.com>
-
- ** Part of fix for bug #211353
-
- * e-search-bar.c: (e_search_bar_get_viewitem_id):
- Return -1 if no viewmenu is setup yet.
-
-2007-12-17 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Revamped Activity handler and task bar/widget for non-intrusive
- error reporting
-
- * e-activity-handler.c: (activity_info_new), (activity_info_free),
- (task_widget_new_from_activity_info), (setup_task_bar),
- (e_activity_handler_init),
- (e_activity_handler_set_error_flush_time),
- (e_activity_handler_set_logger), (cancel_wrapper),
- (e_activity_handler_cancelable_operation_started),
- (e_activity_handler_operation_started), (handle_error),
- (error_cleanup), (e_activity_handler_make_error),
- (e_activity_handler_operation_set_error),
- (e_activity_handler_operation_progressing),
- (e_activity_handler_operation_finished):
- * e-activity-handler.h:
- * e-task-bar.c: (e_task_bar_prepend_task),
- (e_task_bar_remove_task_from_id), (e_task_bar_remove_task),
- (e_task_bar_get_task_widget_from_id):
- * e-task-bar.h:
- * e-task-widget.c: (e_task_widget_init), (button_press_event_cb),
- (prepare_popup), (e_task_widget_construct),
- (e_task_widget_new_with_cancel), (e_task_widget_new),
- (e_task_widget_update_image):
- * e-task-widget.h:
-
-2007-12-05 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #392747 (extra cleanup work)
-
- * e-calendar-item.c (e_calendar_item_show_popup_menu):
- Call e_get_month_name() instead of e_utf8_strftime().
-
-2007-12-03 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #392747
-
- * e-calendar-item.h (struct _ECalendarItem):
- * e-calendar-item.c (e_calendar_item_init), (e_calendar_item_draw):
- Lose the local weekday name cache and just call e_get_weekday_name().
-
-2007-12-01 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #495123
-
- * Makefile.am:
- Add e-signature-combo-box.[ch].
-
- * e-account-combo-box.c (account_combo_box_refresh_cb):
- Make sure the EAccount isn't lost while swapping models.
-
- * e-signature-combo-box.c:
- * e-signature-combo-box.h:
- New widget renders an ESignatureList as a combo box. Also listens
- for changes to the ESignatureList and updates itself accordingly.
-
-2007-11-27 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #495123
-
- * Makefile.am:
- Add e-account-combo-box.[ch].
-
- * e-account-combo-box.c:
- * e-account-combo-box.h:
- New widget renders an EAccountList as a combo box. Also listens
- for changes to the EAccountList and updates itself accordingly.
-
-2007-11-05 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #231166
-
- * e-dateedit.c: (create_children), (e_date_edit_check_time_changed),
- (rebuild_time_popup), (on_date_edit_time_selected),
- (on_time_entry_key_press), (e_date_edit_update_time_entry),
- (e_date_edit_grab_focus), (e_date_edit_update_time_combo_state):
- Migrate from gtk_combo to gtk_com_box_entry for time_combo.
-
-2007-11-05 Milan Crha <mcrha@redhat.com>
-
- ** Part of fix for bug #351932
-
- * e-dateedit.h: (e_date_edit_have_time):
- * e-dateedit.c: (e_date_edit_have_time): Extend API to be able
- to check if time is set independently of date part.
-
-2007-10-29 Kjartan Maraas <kmaraas@gnome.org>
-
- * e-activity-handler.c: (e_activity_handler_new):
- * e-canvas.c: (e_canvas_new), (emit_event), (pick_current_item),
- (e_canvas_button):
- * e-combo-button.c: (menu_detacher), (impl_destroy),
- (impl_button_press_event):
- * e-combo-cell-editable.c: (e_combo_cell_editable_new):
- * e-expander.c: (e_expander_init), (e_expander_size_request),
- (e_expander_size_allocate), (e_expander_button_press),
- (e_expander_focus):
- * e-gui-utils.c: (e_popup_menu),
- (e_container_change_tab_order_callback):
- * e-image-chooser.c: (image_drag_data_received_cb):
- * e-info-label.c: (e_info_label_new):
- * e-map.c: (e_map_key_press), (e_map_new), (update_render_pixbuf),
- (blowup_window_area), (zoom_do), (set_scroll_area):
- * e-pilot-settings.c: (e_pilot_settings_get_source):
- * e-printable.c: (e_printable_will_fit):
- * e-reflow.c: (items_inserted), (model_changed), (set_empty),
- (e_reflow_event), (e_reflow_draw):
- * e-search-bar.c: (set_option):
- * e-search-bar.h:
- * e-unicode.c: (e_xml_get_translated_utf8_string_prop_by_name):
-
- Warning fixes:
- - NULL vs 0 vs FALSE
- - ANSIfication of function declarations.
- - Use non-deprecated GSignal functions
- - Don't mix different enum types
-
-2007-10-31 Michael Monreal <mmonreal@svn.gnome.org>
-
- ** Fix for bug #483785
-
- * e-url-entry.c: (init):
- Use go-jump icon instead of stock_connect-to-url
- to get rid of deprecated icons from gnome-icon-theme.
-
-2007-10-26 Tobias Mueller <tobiasmue@svn.gnome.org>
-
- ** Workaround for bug #395272
-
- * e-search-bar.c:
- Minor code cleanups and value checking
-
-2007-10-22 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #417999
-
- * e-pilot-settings.c:
- Use ESourceComboBox instead of ESourceOptionMenu (deprecated).
-
-2007-10-09 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #437579
-
- * e-cursors.c:
- * e-spinner.c:
- * e-unicode.c:
- Fix various compiler warnings. Patch from Milan Crha.
-
-2007-10-01 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #413420
-
- * e-attachment.c: (file_ext_is): New helper function.
- * e-attachment.c: (attachment_guess_mime_type): Change mimetype
- if knows the extension and if the content of file is valid.
-
-2007-09-26 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #423401
-
- * e-attachment.h: (e_attachment_new_remote_file):
- * e-attachment.c: (struct DownloadInfo), (async_progress_update_cb),
- (e_attachment_new_remote_file):
- * e-attachment-bar.c: (e_attachment_bar_attach_remote_file):
- Better error handling when attaching remote file.
-
-2007-09-26 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #351333
-
- * e-search-bar.c: (paint_search_text), (option_activated_cb):
- Added more descriptive hint over search bar's option button.
-
-2007-09-12 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #476040
-
- * e-attachment-bar.c:
- Use "mail-attachment" icon for unknown attachment types.
-
-2007-08-31 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Move away from g_assert to g_return* critical warnings to debug
- them better.
-
- * e-canvas.c: (e_canvas_button):
- * e-cursors.c: (create_bitmap_and_mask_from_xpm), (e_cursors_init):
- * e-expander.c: (e_expander_focus):
- * e-search-bar.c: (clear_button_state_changed), (search_verb_cb):
- * e-selection-model.c: (e_selection_model_do_something),
- (e_selection_model_select_as_key_press):
- * e-spinner.c: (e_spinner_images_load), (e_spinner_expose):
- * e-task-bar.c: (reduce_displayed_activities_per_component):
-
-2007-08-16 Milan Crha <mcrha@redhat.com>
-
- ** Part of fix for bug #350539
-
- * e-attachment.c: (e_attachment_edit):
- * e-attachment-bar.c: (e_attachment_bar_create_attachment_cache),
- (update), (attach_to_multipart):
- Ensures non-NULL part.
-
-2007-08-06 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bug #429234
-
- * e-attachment-bar.c: (destroy): Remove the weak ref while the purpose
- is achieved.
-
-2007-08-03 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #335566
-
- * e-attachment-bar.c: (e_attachment_bar_create_attachment_cache),
- (update): When scaling image, ensures nonzero width or height.
-
-2007-08-03 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bug #451599
-
- * e-attachment.c: (async_progress_update_cb): Timing of setting the
- attachment is downloaded has to be after creating the attachment.
-
-2007-08-03 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #331729
-
- * e-selection-model.c: (move_selection): Don't call
- e_sorter_model_to_sorted when there is no selected row.
-
-2007-07-27 Matthew Barnes <mbarnes@redhat.com>
-
- * Makefile.am:
- Rename EXTRA_GNOME_CFLAGS to GNOME_PLATFORM_CFLAGS.
- Similarly for EXTRA_GNOME_LIBS.
-
-2007-07-09 Chenthill Palanisamy <pchenthill@novell.com>
-
- Fixes #387844
- * e-dateedit.c: Increase the buffer size.
-
- Committing on behalf of Makuchaku <mayank.gnu@gmail.com>
-
-2007-06-18 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bug #448223 from Gilles Dartiguelongue
-
- * e-search-bar.c: (set_option), (e_search_bar_set_viewoption),
- (e_search_bar_set_scopeoption):
-
-2007-06-15 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #257118
-
- * e-search-bar.c: (set_clear_menuitem_sensitive),
- (clear_button_state_changed): Added two helper functions.
- * e-search-bar.c: (setup_standard_verbs), (setup_bonobo_menus):
- Using these helper functions, clear menu item is synchronized
- by changed state of clear_button of search bar.
-
-2007-06-15 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #263207
-
- * e-filter-bar.c: (dialog_rule_changed): New callback
- for disabling OK button in dialog when rule isn't valid.
- * e-filter-bar.c: (do_advanced), (save_search_dialog):
- Connecting dialog_rule_changed on "changed" signal of
- actual rule.
-
-2007-06-15 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #447727
-
- * e-info-label.c:
- * e-multi-config-dialog.c:
- * e-task-bar.c:
- Use ellipsized GtkLabels instead of EClippedLabels.
-
- * e-clipped-label.[ch]:
- Remove these files. GTK+ provides this functionality now.
-
- * Makefile.am:
- Remove e-clipped-label.[ch].
-
-2007-06-04 Chenthill Palanisamy <pchenthill@novell.com>
-
- * e-filter-bar.[c]: (e_filter_bar_new), (e_filter_bar_new_construct):
- Added a construct function.
-
- Committing on behalf of Keshav Upadhayaya <ukeshav@novell.com>
-
-2007-06-03 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bug #386503 from Matthew Barnes
-
- * e-multi-config-dialog.c: (impl_response):
- * e-send-options.c: (e_send_options_cb):
-
-2007-06-03 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bug #416031 from Martin Jürgens
-
- * e-charset-picker.c:
-
-2007-06-02 Gilles Dartiguelongue <dartigug@esiee.fr>
-
- ** Fixes part of bug #441014
-
- * e-dateedit.c: (rebuild_time_popup):
- * e-filter-bar.c: (get_property), (xml_get_prop_int),
- (set_property):
- * e-image-chooser.c: (set_image_from_data),
- (image_drag_data_received_cb):
- * e-task-widget.c: (e_task_widget_construct):
- * e-unicode.c: (e_utf8_strstrcasedecomp), (e_utf8_strstrcase),
- (e_utf8_from_iconv_string_sized), (e_utf8_to_iconv_string_sized),
- (e_utf8_xml1_decode), (e_utf8_xml1_encode),
- (e_xml_get_translated_utf8_string_prop_by_name): various
- compilation cleanups.
-
-+2007-05-25 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #441010
-
- * gal-combo-box.c:
- * gal-combo-box.h:
- * gal-combo-text.c:
- * gal-combo-text.h:
- Bye bye old widgets, go back to Motif!
-
- * Makefile.am:
- Remove the aforementioned files.
-
-2007-05-21 Wang Xin <jedy.wang@sun.com>
-
- * e-dateedit.c: Fixes #439049.
-
-2006-02-28 Andre Klapper <a9016009@gmx.de>
-
- * e-clipped-label.c: add translator comments for a string.
- Fixes bug #325118.
-
-2007-05-03 Matthew Barnes <mbarnes@redhat.com>
-
- * e-attachment-bar.c (e_attachment_bar_remove_selected):
- Emit "changed" signal. (#434981)
-
-2007-04-24 Matthew Barnes <mbarnes@redhat.com>
-
- * e-task-widget.c: #include "e-spinner.h" (#433005)
- Patch from Daniel Gryniewicz.
-
-2007-04-20 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-task-widget.c: (e_task_widget_construct): Show spinner instead of
- the component icon.
-
-2007-04-19 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #429422
-
- * e-combo-cell-editable.c (ecce_init):
- * e-dateedit.c (e_date_edit_set_editable):
- Use gtk_editable_set_editable() instead of gtk_entry_set_editable().
-
- * e-dateedit.c (create_children):
- * e-cell-date-edit.c (e_cell_date_edit_init):
- Use gtk_box_set_spacing() instead of gtk_button_box_set_spacing().
- Remove gtk_button_box_set_child_ipadding() and
- gtk_button_box_set_child_size(). Use style properties instead.
-
- * e-clipped-label.c (e_clipped_label_new):
- * e-combo-button.c (e_combo_button_new):
- * e-config-page.c (e_config_page_init):
- * e-multi-config-dialog.c (e_multi_config_dialog_init):
- * e-dropdown-button.c (e_dropdown_button_new):
- * e-cell-date-edit.c (e_cell_date_edit_new):
- * e-filter-bar.c (e_filter_bar_new):
- * e-url-entry.c (mnemonic_activate):
- * e-map.c (e_map_new):
- * e-search-bar.c (e_search_bar_new):
- * e-calendar.c (e_calendar_new):
- Use g_object_new() instead of gtk_type_new().
-
- * test-calendar.c (main):
- * test-info-label.c (main):
- * test-multi-config-dialog.c (main):
- * test-dropdown-button.c (main):
- Use gnome_program_init() instead of gnome_init().
-
- * e-combo-button.c (impl_released):
- Replace gtk_widget_draw() with GTK's 2-line implementation.
-
- * e-multi-config-dialog.c (set_page_timeout_callback),
- (e_multi_config_dialog_show_page):
- Use gtk_notebook_set_current_page() instead of
- gtk_notebook_set_page().
-
- * e-dropdown-button.c (impl_destroy):
- Use g_object_unref() instead of gtk_accel_group_unref().
-
- * e-cell-percent.c (show_percent_warning):
- * e-cell-date-edit.c (e_cell_date_edit_show_time_invalid_warning):
- Use GtkMessageDialog instead of GnomeMessageDialog.
-
- * e-cell-date-edit.c (e_cell_date_edit_select_matching_time),
- (e_cell_date_edit_on_time_selected):
- Use gtk_label_get_text() instead of gtk_label_get().
-
- * e-filter-bar.c (class_init):
- * gal-combo-box.c (gal_combo_box_init), (gtk_combo_popup_tear_off),
- (gtk_combo_popup_reparent):
- * e-map.c (e_map_set_scroll_adjustments):
- * e-task-widget.c (e_task_widget_construct):
- Use g_object_ref_sink() instead of gtk_object_sink().
-
- * gal-combo-box.c (gtk_combo_tearoff_bg_copy),
- (gtk_combo_popup_reparent):
- * gal-combo-text.c (gal_combo_text_construct):
- Use gtk_widget_set_size_request() instead of gtk_widget_set_usize().
-
- * test-dropdown-button.c:
- Use GTK_STOCK_* constants instead of GNOME_STOCK_*.
-
- * e-calendar.c (e_calendar_init):
- Use g_signal_connect_swapped() instead of gtk_signal_connect_object().
-
- * e-calendar.c (e_calendar_destroy), (e_calendar_stop_auto_move):
- Use g_source_remove() instead of gtk_timeout_remove().
-
-2007-04-11 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Added spinner widgets.
-
- * Makefile.am: Add them to the build
- * e-spinner.[ch]: Spinner widget for progress indiation.
-
-2007-04-09 Jeff Cai<jeff.cai@sun.com>
-
- * e-dateedit.c: (rebuild_time_popup):
- Use e_time_format_time to ensure evolution and evolution-
- data-server use same translations.
- Fix #380843.
-
-2007-03-29 Matthew Barnes <mbarnes@redhat.com>
-
- * e-icon-entry.c:
- Fix "incompatible pointer type" warnings (#360619).
-
-2007-03-27 Matthew Barnes <mbarnes@redhat.com>
-
- * e-filter-bar.c (menubar_activated): Fix build breakage due to
- poorly placed preprocessor condition.
-
-2007-03-27 Matthew Barnes <mbarnes@redhat.com>
-
- * e-filter-bar.c:
- * e-multi-config-dialog.c:
- Don't mix declarations and code (#405495).
-
-2007-03-20 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #419524
-
- * Include <glib/gi18n.h> instead of <libgnome/gnome-i18n.h>.
-
-2007-03-16 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #360240
-
- * e-calendar-item.c (e_calendar_item_unrealize):
- * e-icon-entry.c (e_icon_entry_pack_widget):
- Remove unused variables.
-
-2007-02-12 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bug #368983 from Ebby Wiselyn
-
- * e-filter-bar.c: (menubar_activated):
-
-2007-02-12 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Print migration updates from Ebby Wiselyn
-
- * e-printable.c: (e_printable_print_page), (e_printable_height),
- (e_printable_will_fit):
- * e-printable.h:
-
-2007-01-08 Harish Krishnaswamy <kharish@novell.com>
-
- * e-filter-bar.c: (build_items): Initialize ESearchBarItem
- type to ESB_ITEMTYPE_RADIO. Fixes #382860.
-
-2006-12-04 Matthew Barnes <mbarnes@redhat.com>
-
- Fixes bug #357970
-
- * e-calendar-item.c:
- * e-canvas-background.c:
- * e-filter-bar.c:
- * e-search-bar.c:
- * gal-combo-box.c:
- Don't call deprecated GLib / GDK functions.
-
- * e-colors.c (e_color_alloc): Remove unused function.
-
-2006-12-04 Harish Krishnaswamy <kharish@novell.com>
-
- * e-filter-bar.c: (build_items): Fix read of uninitialized
- ESearchBarItems. Partially fixes #381642.
-
-2006-11-21 Harish Krishnaswamy <kharish@novell.com>
-
- * e-filter-bar.c: (e_filter_bar_new): type should be
- initialized to 0, not NULL.
-
-2006-11-03 Parthasarathi Susarla <ajaysusarla@gmail.com>
-
- ** Fixes bug #357492
- * e-attachment-bar.c: (e_attachment_bar_remove_selected):
- put the attachment pointes into a temporary array. Free the
- pointers and the array after going thru the entire list
- This prevents a crash and also fixes the issue of only few
- attachments getting deleted.
-
-2006-10-11 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bug #360237 & bug #359236
-
- * e-filter-bar.c: (rule_advanced_response), (set_property): Fix for a
- crash while saving empty search.
-
-2006-10-03 Francisco Javier F. Serrador <serrador@tecknolabs.com>
-
- * e-dateedit.c: Make two strings translatable.
-
-2006-10-02 Harish Krishnaswamy <kharish@novell.com>
-
- * Revert the previous patch as per rel-team
- disapproval on the commit.
-
-2006-08-23 Ushveen kaur <kushveen@novell.com>
-
- ** Fix for bug #329694
-
- * e-charset-picker.c : Translator comment added for "logical".
-
-2006-09-28 Ushveen Kaur <kushveen@novell.com>
-
- ** Fixes bug #335814
-
- * e-charset-picker.c: Name and subclass changed for
- E_CHARSET_HEBREW from "ISO-8859-8","Visual" to "ISO-8859-8-i","Logical".
-
-2006-09-29 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fixes a lot of search issues.
-
- * e-filter-bar.c: (rule_advanced_response), (do_advanced),
- (menubar_activated), (option_changed), (free_items),
- (get_property), (set_property):
- * e-search-bar.c: (clear_search), (clear_verb_cb),
- (paint_search_text), (e_search_bar_paint), (viewitem_activated_cb),
- (scopeitem_activated_cb), (option_activated_cb),
- (clear_button_clicked_cb), (scopeoption_changed_cb), (set_option),
- (init), (e_search_bar_construct), (e_search_bar_set_viewitem_id),
- (e_search_bar_set_item_id), (e_search_bar_set_item_menu),
- (e_search_bar_set_search_scope), (e_search_bar_set_ids):
- * e-search-bar.h:
-
-2006-09-29 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fixes bug #341474 patch from Ushveen
-
- * e-attachment-bar.c: (size_to_string): Use
- gnome_vfs_format_file_size_for_display instead of manual calculations.
-
-2006-09-12 Ushveen Kaur <kushveen@novell.com>
-
- ** Fix for bug #325614
-
- * e-task-widget.c (e_task_widget_update) : Translator comment
- added.
-
-2006-09-07 Hiroyuki Ikezoe <poincare@ikezoe.net>
-
- ** Fixes bug #341099.
- * e-canvas-item.c: (e_canvas_unrealize):
- Set second argument of gtk_im_context_set_client_window to NULL.
-
-2006-08-28 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bug #353059
-
- * e-search-bar.c: (e_search_bar_set_scopeoption): Added translatable
- options to search strings, which are already translated.
-
-2006-08-23 Behnam Esfahbod <behnam@zwnj.org>
-
- * e-calendar.c:
- * e-calendar-item.c:
- flip month view in RTL locale - fixes bug 342443.
- committed by Andre Klapper
-
-2006-08-23 Matthew Barnes <mbarnes@redhat.com>
-
- * e-multi-config-dialog.c:
- improve GError initialization code - fixes bug 352423.
- committed by Andre Klapper
-
-2006-08-07 Ushveen Kaur <kushveen@novell.com>
-
- ** Fix for bug #347238
-
- * e-attachment-bar.c: Changed the file permission changed to 644
- while saving the attachment.
-
-2006-08-21 Li Yuan <li.yuan@sun.com>
-
- ** Fixes bug #348753
-
- * e-search-bar.c: (entry_key_press_cb), (e_search_bar_construct):
- Add accelerate key to the search bar. <ALT ARROW_DOWN> open option window.
-
-2006-08-21 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-filter-bar.c: (rule_editor_destroyed),
- (rule_advanced_response), (do_advanced), (save_search_dialog),
- (menubar_activated), (option_changed), (set_property):
- * e-search-bar.[ch]: (clear_search), (clear_verb_cb),
- (paint_search_text), (entry_focus_out_cb), (entry_changed_cb),
- (scopeoption_changed_cb), (set_option), (class_init), (init),
- (e_search_bar_construct), (e_search_bar_set_scopeoption),
- (e_search_bar_set_item_id), (e_search_bar_get_text),
- (e_search_bar_scope_enable): Fixes a lot of search issue.
-
-2006-08-21 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bug 347430
-
- * e-cell-date-edit.c: (e_cell_date_edit_update_cell): commit the text
- on updation of cell.
-
-2006-08-20 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Patch from Pavel Roskin.
-
- * e-icon-entry.c: Added missing headers.
-
-2006-08-18 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-filter-bar.c: (rule_editor_destroyed),
- (rule_advanced_response), (do_advanced), (save_search_dialog),
- (menubar_activated), (option_changed), (set_property):
- * e-search-bar.c: (clear_search), (clear_verb_cb),
- (paint_search_text), (entry_focus_out_cb), (entry_changed_cb),
- (scopeoption_changed_cb), (set_option), (class_init), (init),
- (e_search_bar_construct), (e_search_bar_set_scopeoption),
- (e_search_bar_set_item_id), (e_search_bar_get_text),
- (e_search_bar_scope_enable):
- * e-search-bar.h:
-
-2006-08-10 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bug #341482
-
- * e-attachment-bar.c: (eab_drag_data_get), (eab_icon_clicked_cb):
- * e-attachment.c: (e_attachment_new),
- (e_attachment_build_remote_file): Use file:// as the uri.
-
-2006-08-04 Johnny Jacob <jjohnny@novell.com>
-
- * e-icon-entry.c: (set_cursor) : Added. Change cursor over icon.
- (e_icon_entry_create_button) : Handle enter/leave-notify signals
- for changing cursor.
- * e-search-bar.c: (e_search_bar_construct) : Added mnemonic for
- "Sho_w". Added tooltips for e-icon-entry.
- (option_activated_cb) : Set the selected item's label in tooltip.
-
-
-2006-08-02 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bug #349565
-
- * e-search-bar.c: (clear_search): Dont clear the criteria.
-
-2006-07-28 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-calendar-item.c: Removed the hardcoded ENABLE_CAIRO for tag
- calendar.
-
-2006-07-22 Yuri Pankov <yuri.pankov@gmail.com>
-
- Reviewed by Harish Krishnaswamy <kharish@novell.com>
- * e-icon-entry.c: Add missing headers. Fixes #347689.
-
-2006-07-20 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-search-bar.c: (e_search_bar_construct): Modified
- the mnemonics for avoiding the conflict with attachment bar.
-
-2006-07-18 Andre Klapper <a9016009@gmx.de>
-
- * e-attachment.glade:
- * gal-categories.glade:
- remove "*" from translation. Fixes bug #331147.
-
-2006-07-17 Sankar P <psankar@novell.com>
-
- * Replaced classification with security in the send-options
- so that the client ui looks consistent (GW)
- * e-send-options.[c|h|glade]:
-
-2006-07-11 Hiroyuki Ikezoe <poincare@ikezoe.net>
-
- ** Fixes bug #347166
-
- * widgets/misc.e-search-bar.c: (set_option):
- remove gtk_option_menu_set_history().
-
-2006-06-07 Ushveen Kaur <kushveen@novell.com>
-
- ** Fixes bug #341333
-
- * e-dateedit.c: accelarator for 'now'('w') and 'today'('t')
- 'None'('n')
-
-2006-07-11 Li Yuan <li.yuan@sun.com>
-
- Fixes bug #345402
-
- * e-dateedit.c: (on_date_popup_key_press):
- Grab the popup window when some key except ESC is pressed.
-
-2006-07-04 Andre Klapper <a9016009@gmx.de>
-
- * e-search-bar.c: fixing two typos, adding translator comments.
-
-2006-07-03 Harry Lu <harry.lu@sun.com>
-
- Fix compile error in solaris
-
- * e-filter-bar.h: E_FILTERBAR_SEPARATOR should have 3 members.
- * e-search-bar.h: add the declaration of e_search_bar_set_viewitem_id.
-
-2006-06-19 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fixes bug #252814
- Committing a patch from Oswald.
-
- * e-combo-button.c: (e_combo_button_init),
- (e_combo_button_pack_hbox), (e_combo_button_pack_vbox):
- * e-combo-button.h: Adds new packing support for supporting toolbar
- options.
-
-2006-06-19 Chpe <chpe@gnome.org>
-
- * e-combo-button.c: (paint): Fix for bug #262210
-
-2006-06-09 Johnny Jacob <johnnyjacob@gmail.com>
-
- * e-dateedit.c (): Removing aggressive time check when entering a
- date in the editor. Fixes bug #335400. (Committed by Andre Klapper)
-
-2006-06-08 Jeffrey Stedfast <fejj@novell.com>
-
- * e-attachment-bar.c (attachment_destroy): Call update (bar); the
- rest of the fix for bug #178631.
-
-2006-06-07 Federico Mena Quintero <federico@novell.com>
-
- * e-map.c (e_map_class_init): Don't use gtk_signal_new() for the
- set_scroll_adjustments signal, and use the correct marshaler.
- Fixes bug #331743.
-
-2006-06-02 Hiroyuki Ikezoe <poincare@ikezoe.net>
-
- ** Fixes bug 343494
-
- * e-search-bar.c (add_button): Use gtk_button_set_image if GTK+ is
- 2.6 or higher.
-
-2006-05-30 Li Yuan <li.yuan@sun.com>
-
- Fix for #343280.
-
- * e-search-bar.c (add_button): No need to add label when we use
- gtk_button_new_from_stock to create a button.
-
-2006-05-26 Jeffrey Stedfast <fejj@novell.com>
-
- Fix for Novell bug #178631
-
- * e-attachment-bar.c: Changed the EAttachmentBarPrivate struct, we
- no longer use a linked list, instead we use a GPtrArray - faster,
- simpler (plus all the code used indexes anyway, so it was really
- bizarre).
- (free_attachment_list): Removed.
- (attachment_destroy): New GWeakNotify callback for when an
- EAttachment object gets destroyed. Remove the attachment from the
- attachments array.
- (add_common): Updated to add to an array rather than a linked
- list. Also weak_ref the attachment object.
- (remove_attachment): Removed.
- (update): Updated to use the array instead of linked list of
- attachments.
- (e_attachment_bar_remove_selected): Same.
- (e_attachment_bar_set_width): Same.
- (e_attachment_bar_edit_selected): Same.
- (e_attachment_bar_get_selected): Same.
- (e_attachment_bar_get_attachment): Same.
- (e_attachment_bar_get_all_attachments): Same and also optimised
- since we can cheat now without having to g_slist_reverse.
- (e_attachment_bar_get_parts): Same.
- (destroy): Same.
- (eab_drag_data_get): Same.
- (init): Init attachments to a g_ptr_array_new
- (e_attachment_bar_to_multipart): Updated to use the attachments
- array.
- (e_attachment_bar_get_num_attachments): Updated to return the
- attachments->len.
- (e_attachment_bar_get_download_count): Updated to use the array.
-
- * e-attachment.c (finalise): Close the editor dialog if it is
- open.
- (async_progress_update_cb): If the phase is COMPLETE but the
- file_size is 0, then treat it as an error. In the error case,
- unref the attachment object (this will magically remove it from
- the EAttachmentBar).
- (close_cb): Don't unref the attachment object here anymore.
- (e_attachment_edit): Don't ref the EAttachment anymore.
-
-2006-05-25 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-attachment-bar.c (update, eab_icon_clicked_cb),
- (e_attachment_bar_attach_remote_file):
-
- * e-attachment-bar.h:
-
- * e-attachment.c (e_attachment_new_remote_file),
- (e_attachment_build_remote_file): Added code to specify the
- attachment type for remote files. Also added code to save files
- to CamelStreamVfs
-
-2006-05-04 Rajeev Ramanathan <rajeevramanathan_2004@yahoo.co.in>
-
- * e-calendar-item.c (e_calendar_item_draw),
- (e_calendar_item_draw_month, e_calendar_item_draw_day_numbers),
- (layout_set_day_text): enable build without cairo using
- ENABLE_CAIRO macro. Also it fixes a bold issue, where entire
- evolution appears with bold text.
-
-2006-04-27 Boby Wang <boby.wang@sun.com>
-
- ** Fixes bug #339138
-
- * e-calendar.c (e_calendar_init): Correct the button's accessible
- name.
-
-2006-04-27 Boby Wang <boby.wang@sun.com>
-
- ** Fixes bug #332821
-
- * e-expander.c (e_expander_class_init): Implement the
- accessibility of EExpander.
-
-2006-04-26 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-search-bar.c (append_xml_menu_item, setup_bonobo_menus): Added
- icons to search menu.
-
-2006-04-26 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-search-bar.c (add_button, e_search_bar_construct): Adding
- icons for find and clear buttons. (Patch from PR Suman)
-
-2006-04-26 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Patch from charu_jayaprakasam@yahoo.com fixes bug #335861
-
- * e-search-bar.c (e_search_bar_construct): Change the mnemonics
- for Find Now button.
-
-2006-04-24 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-calendar-item.c (e_calendar_item_draw),
- (e_calendar_item_draw_month, e_calendar_item_draw_day_numbers):
- Used Cairo to draw the Tag Calendar. (Rajeev)
-
-2006-04-22 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-attachment-bar.c (e_attachment_bar_create_attachment_cache):
- Added a new function that creates a attachment with a image cache.
-
-2006-03-28 Li Yuan <li.yuan@sun.com>
-
- **Fixes bug #335618
-
- * e-selection-model-array.c (e_selection_model_array_delete_rows):
- If the row being deleted is the last one, we should change the
- selection_start_row.
-
-2006-03-06 Simon Zheng <simon.zheng@sun.com>
-
- Fixes bug #332140
-
- * e-attachment-bar.c (temp_save_part): Changed to transfer
- filenames from utf-8 to glib encoding before really saving files.
-
-2006-03-06 Jeff Cai <jeff.cai@sun.com>
-
- ** Fixes for 333235
-
- * e-combo-button.c (paint): If width of a widget is 0, don't draw
- it.
-
-2006-02-28 Devashish Sharma <sdevashish@novell.com>
-
- * e-reflow.c (do_adjustment): Check and see if reflow->items and
- reflow->items[row] are NULL or not. Fixes Bug # 331998.
-
- Patch submitted by Irene Huang <Irene.Huang@sun.com>
-
-2006-02-24 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fixes bug #322789
-
- * e-image-chooser.c (set_image_from_data): Added code to get the
- pixbuf after closing the loaded.
-
-2006-02-13 Andre Klapper <a9016009@gmx.de>
-
- * e-charset-picker.c: adding thai support.
- fixes the UI part of bug 251062.
-
-2006-02-11 Karsten Bräckelmann <guenther@rudersport.de>
-
- * e-search-bar.c (activate_by_subitems):
- * e-dateedit.c (e_date_edit_new, create_children)
- (create_children, create_children):
- * e-calendar.c (e_calendar_init):
- Change a11y names. Fixes part of bug #330723.
-
-2006-01-16 Nancy Cai <nancy.cai@sun.com>
-
- ** Fixes bug #326649
-
- * e-multi-config-dialog.c (set_page_timeout_callback): make the
- preferences dialog's keyboard navigation more consistent.
-
-2006-01-13 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fixes bug #326265
-
- * e-charset-picker.c (e_charset_picker_bonobo_ui_populate): Added
- mnemonics to "Character Encoding" menu.
-
-2006-01-11 Chenthill Palanisamy <pchenthill@novell.com>
-
- * Makefile.am: Remove the e-util-marshal.list from extra dist.
- Fixes a build break.
-
-2006-01-10 Simon Zheng <simon.zheng@sun.com>
-
- * Makefile.am:
- * e-dateedit.c:
- * e-image-chooser.c:
- * e-printable.c:
- * e-reflow-model.c:
- * e-reflow.c:
- * e-search-bar.c:
- * e-selection-model.c:
- * gal-combo-box.c:
- Remove e-util-marshal.list in current directory, and
- use the copy in evolution/e-util directory instead.
-
- *e-util-marshal.list: removed
-
-2006-01-06 Parthasarathi Susarla <sparthasarathi@novell.com>
-
- * e-search-bar.c (clear_verb_cb): assign the data first before
- accessing it.
-
-2006-01-02 Harish Krishnaswamy <kharish@novell.com>
-
- reviewed by: Srinivasa Ragavan <sragavan@novell.com>
-
- * e-canvas-background.c (ecb_style_set): Set the foreground only
- if the widget has already been realized. Fixes #309618.
-
-2005-12-21 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fixes bug #324590
-
- * e-search-bar.c (search_now_verb_cb, clear_verb_cb): Added code
- to clear search entry from menu.
-
-2005-12-20 Johnny Jacob <johnnyjacob@gmail.com>
-
- ** See Bug #246233
-
- * e-filter-bar.c (member_activated): Changed "Search Editor" to
- "Searches"
-
-2005-12-18 Tor Lillqvist <tml@novell.com>
-
- * Makefile.am: Link with bootstrap libs on Win32. Use
- EVOLUTION_IMAGES instead of MAP_DIR for uniformity. Use
- EVOLUTION_MAIL_CFLAGS instead of E_WIDGETS_CFLAGS. Use privsolib
- instead of privlib (no difference on Unix). Use -no-undefined on
- Win32. Link with all required libraries.
-
- * e-attachment.c
- * e-send-options.c: Use gstdio wrappers. Construct glade file name
- at run-time.
-
- * e-map.c: Construct map file name at run-time.
-
- * gal-combo-text.c (strcase_equal): Use g_ascii_strcasecmp().
- (strcase_hash): Use g_ascii_tolower().
-
-2005-12-15 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-filter-bar.c (rule_advanced_response, option_changed)
- (set_property): Added code to Show color in search widget. *
-
- * e-search-bar.c (entry_activated_cb),
- (activate_button_clicked_cb, clear_button_clicked_cb): Added code
- to show color in search widget, when the filter is active.
-
-2005-11-24 Tor Lillqvist <tml@novell.com>
-
- * e-dateedit.c:
- * e-cell-date-edit.c: Include e-time-utils.h from libedataserver
- instead of using evolution's copy which is going away.
-
-2005-11-23 Johnny Jacob <johnnyjacob@gmail.com>
-
- * e-dateedit.c (on_date_entry_focus_out, on_time_entry_focus_out):
- Validation for date and time during focus out event.
-
-2005-11-22 Johnny Jacob <johnnyjacob@gmail.com>
-
- ** See Bug #303856
-
- * e-dateedit.c (create_children): Added a signal handler for
- date_entry's "key_release_event".
-
-2005-11-17 Harish Krishnaswamy <kharish@novell.com>
-
- * e-attachment-bar.c (update, e_attachment_bar_set_width): Fix a
- division-by-zero error crasher.
-
-2005-11-15 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-attachment-bar.c (e_attachment_bar_get_all_attachments): Added
- a function to get all attachments of the attachment bar for plugin
- purposes.
-
-2005-11-14 Chenthill Palanisamy <pchenthill@novell.com>
-
- * e-dateedit.c (create_children): Adjusted the size for the
- dateedit widgets.
-
-2005-11-14 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-dateedit.c (create_children): Set a size for the date
- edit widgets, so that it doesnt expand too much.
-
-2005-09-28 Veerapuram Varadhan <vvaradhan@novell.com>
-
- * e-attachment-bar.c (update): gtk_pixbuf_add_alpha returns a
- newly allocated pixbuf, so, free the original one.
-
-2005-09-28 Tor Lillqvist <tml@novell.com>
-
- * e-charset-picker.c (e_charset_picker_new)
- (e_charset_picker_bonobo_ui_populate): Use g_ascii_strcasecmp()
- instead of strcasecmp(). We are comparing to strings known to be
- plain ASCII, so just casefolding ASCII is enough. Also better for
- portability.
-
-2005-09-20 Devashish Sharma <sdevashish@novell.com>
-
- * e-search-bar.c (subitem_activated_cb): Emits the signal "search
- activated" when after selecting option "Category is" in search bar
- category is selected. So dont have to explicitly click "Find Now".
- Fixes #263269.
-
-2005-08-22 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-attachment.c (e_attachment_build_remote_file):
- Fix for bug #314136. Shows filename in the remote download in
- composer.
-
-2005-08-22 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-attachment-bar.c (update): Better space management.
- Kills one extra row that happens some times.
- (e_attachment_bar_set_width): Just adjusts the size instead of
- rebuild of the bar, which is the cause for the freeze. Fixes the
- bug #313799. Remove the function e_attachment_bar_refresh
-
- * e-attachment-bar.h: Remove the function e_attachment_bar_refresh
-
-2005-08-23 Not Zed <NotZed@Ximian.com>
-
- * e-send-options.c (get_widgets): cast warning away.
-
- * e-calendar-item.c (e_calendar_item_realize): remove some unused
- vars.
-
-2005-08-17 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-attachment-bar.c (eab_drag_data_get): Use camel_url to
- construct url
- (eab_icon_clicked_cb, e_attachment_bar_new): Fixed part of bug
- #312224. It handles double click on a attachment icon and calls
- gnome_url_show.
-
- * e-attachment.c (finalise, init): Add a new member to preserve
- the stored location
- (e_attachment_new)(e_attachment_build_remote_file): Camel_url to
- construct urls
-
-2005-08-16 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-attachment.c (download_to_local_path, e_attachment_edit):
- Fixed few warnings
-
-2005-08-16 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-attachment.c (finalise, e_attachment_new)
- (e_attachment_build_remote_file, e_attachment_new_from_mime_part)
- (ok_cb): Maintain the filename of the attachment in the structure
- and free it in finalize.
-
- * e-attachment-bar.c (update): For display consider the filename
- from the structure before from the part.
-
-2005-08-03 Not Zed <NotZed@Ximian.com>
-
- * e-filter-bar.c (build_items): revert dobey's last patch here, it
- completely broke customisation of the menu.
-
-2005-08-11 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-attachment-bar.c (e_attachment_bar_refresh): Added a function
- to force refresh/resize the icons.
-
-2005-08-02 David Malcolm <dmalcolm@redhat.com>
-
- * e-attachment-bar.c (update_remote_file): escape the "%"
- character correctly.
-
-2005-07-29 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-attachment.c (e_attachment_new_from_mime_part): used ref
- instead of copying the entire mime part.
-
-2005-07-15 Diego Gonzalez <diego@pemas.net>
-
- * e-image-chooser.c (image_drag_data_received_cb): modificatio to
- avoid getting into an infinite loop. Also remove some debug
- output.
- (set_image_from_data): substitute calls to gdk_pixbuf_unref and
- gdk_pixbuf_ref and use g_object_ref/unref instead. The first ones
- are deprecated API. Fixes #310488
-
-2005-07-25 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-attachment-bar.c (e_attachment_bar_remove_selected)
- (e_attachment_bar_edit_selected)
- (e_attachment_bar_get_attachment, e_attachment_bar_get_parts)
- (e_attachment_bar_get_download_count)
- (e_attachment_bar_attach_remote_file): Added checks for the
- parameters.
-
-2005-07-20 Vivek Jain <jvivek@novell.com>
-
- * e-send-options.h: ESendOptionsDialogClass: has a member new
- virtual method for default callback of "sod_response"
-
- * e-send-options.c: introduced a new signal "sod_response"
- captures the response for the child dialog and makes it available
- at the object level (useful for the external members invoking the
- dialog)
-
-2005-07-20 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-attachment-bar.c (remove_attachment, update)
- (e_attachment_bar_get_selector, e_attachment_bar_get_attachment)
- (destroy, init, e_attachment_bar_new)
- (e_attachment_bar_add_attachment)
- (e_attachment_bar_attach_remote_file): Cleaned up most of
- it. Added the DnD.
-
- * e-attachment.c (real_changed, class_init, init)
- (e_attachment_new, e_attachment_new_remote_file)
- (e_attachment_build_remote_file): Moved the remote download code
- from bar to here and few cleanups.
-
-2005-07-11 Srinivasa Ragavan <sragavan@novell.com>
-
- * Makefile.am: Added e-attachment-bar.[ch], e-attachment.[ch],
- and e-attachment.glade.
-
- * e-attachment.[ch]: Merge of em-attachment.[ch] and
- cal-attachment.[ch]
-
- * e-attachment-bar.[ch]: Merge of em-attachment-bar.[ch] and
- cal-attachment-bar.[ch].
-
-2005-06-23 Kaushal Kumar <kakumar@novell.com>
-
- * Makefile.am: Use 'misc' for widgetsincludedir, instead of
- 'widgets', to match source directory name and fix
- evolution-exchange build.
-
-2005-05-31 Li Yuan <li.yuan@sun.com>
-
- * e-dateedit.c (e_date_edit_update_date_entry): add relation to
- date_button.
-
- Fixes #302267
-
-2005-05-16 Not Zed <NotZed@Ximian.com>
-
- * Makefile.am: move e-error.[ch] and e-system-errors.xml to
- e-util/. remove test-error.
-
-2005-05-13 Rodney Dawes <dobey@novell.com>
-
- * e-filter-bar.[ch]: Update for the new menu layout
-
-2005-05-12 Shreyas Srinivasan <sshreyas@novell.com>
-
- * e-send-options.c: Fixed #272005
-
-2005-05-06 Sarfraaz Ahmed <asarfraaz@novell.com>
-
- * e-send-options.glade: Fixed a typo. #273095
-
-2005-05-06 Harish Krishnaswamy <kharish@novell.com>
-
- * e-send-options.glade: Fix for bugs #273096, #273097
-
-2005-03-01 Jeffrey Stedfast <fejj@novell.com>
-
- * e-search-bar.c (subitem_activated_cb): Make the entry widget
- grab focus. Fixes bug #60551.
-
-2005-02-21 Rodney Dawes <dobey@novell.com>
-
- * e-combo-button.c (paint): Fix the calculation of which shadow type
- to use to be more appropriate for the widget state and relief
- Always call gtk_box_paint and not only in special cases like GtkButton
- (e_combo_button_init): Change the arrow packing to pack_end
-
- Fixes #54503
-
-2005-02-02 Li Yuan <li.yuan@sun.com>
-
- * e-url-entry.c (init): add a11y name to url link button.
-
-2005-01-26 Rodney Dawes <dobey@novell.com>
-
- * e-error.c (e_error_newv): Fix up spacing to be HIG compliant for
- the borders around the dialogs
-
-2005-01-25 Not Zed <NotZed@Ximian.com>
-
- * e-error.c: turn off debug output, people think its a significant
- error.
-
-2005-01-24 Mengjie Yu <meng-jie.yu@sun.com>
-
- * e-search-bar.c (set_option): add a11y name for the option menu.
-
-2005-01-20 Not Zed <NotZed@Ximian.com>
-
- ** See bug #64964.
-
- * e-error.c (e_error_newv): just use add_button, not
- add_action_widget, for stock+label widgets, since they both show
- the same, and for some reason set_default_response doesn't work
- otherwise.
-
-2005-01-20 Harry Lu <harry.lu@sun.com>
-
- * e-search-bar.c (activate_by_subitems): add a translater note.
-
-2005-01-19 Harry Lu <harry.lu@sun.com>
-
- Fix for 46359, enable "Alt+Down Arrow" to show the popup for
- e-combo-cell-editable.c.
-
- * e-combo-cell-editable.c (show_popup): rewrite it to a more
- generic function.
- (button_clicked_cb): call the new show_popup function.
- (entry_key_press_event_cb): show popup if "Alt+Down Arrow".
- (ecce_grab_focus): new function.
- (ecce_class_init): add grab_focus handler so that the entry can
- get focus.
-
-2005-01-17 Harry Lu <harry.lu@sun.com>
-
- Fix for 62831.
-
- * e-search-bar.c (activate_by_subitems): add an a11y name for the
- search entry.
-
-2005-01-12 Chenthill Palanisamy <pchenthill@novell.com>
-
- * e-send-options.c (e_send_options_get_widgets_data),
- (e_send_options_fill_widgets_with_data): Get the value for the
- autodelete toggle button
- (page_changed_cb): Do not hide the classification label and its
- combo box here.
-
-2005-01-10 Chenthill Palanisamy <pchenthill@novell.com>
-
- * e-send-options.c (e_send_options_get_widgets_data),
- (e_send_options_fill_widgets_with_data, page_changed_cb),
- (init_widgets, get_widgets, setup_widgets),
- (e_sendoptions_set_global, e_sendoptions_dialog_run),
- (e_sendoptions_dialog_finalize, e_sendoptions_dialog_dispose),
- (e_sendoptions_dialog_init, e_sendoptions_dialog_class_init),
- (e_sendoptions_dialog_get_type): Added code to support global
- options. Filled the finalize and dispose functions.
-
- * e-send-options.glade: Changed a label id.
-
- * e-send-options.h: Added the set_global function.
-
-2005-01-06 JP Rosevear <jpr@novell.com>
-
- * Makefile.am: dist the glade file
-
-2005-01-06 Chenthill Palanisamy <pchenthill@novell.com>
-
- Commiting the files mentioned below again to HEAD since it
- was not added in head.
-
-2005-01-06 Chenthill Palanisamy <pchenthill@novell.com>
-
- merging send options
-
- * Makefile.am:
-
- * e-send-options.[ch]: Widgets for the send options dialog
-
- * e-send-options.glade: Contains interface for the dialog
-
-2005-01-04 Harry Lu <harry.lu@sun.com>
-
- * misc/e-combo-button.c (e_combo_button_popup): new internal
- function to popup the menu.
- (impl_button_press_event): call the new function.
- (e_combo_button_class_init): init a11y.
- (e_combo_button_get_label): new function to return label.
- (e_combo_button_popup_menu): new function to popup menu.
-
- * misc/e-combo-button.h: add function declarations.
-
-2004-12-17 Not Zed <NotZed@Ximian.com>
-
- * e-error.c (ee_load, e_error_newv): translate strings based on
- translation-domain, if supplied.
-
-2004-12-14 Rodney Dawes <dobey@novell.com>
-
- * e-calendar-item.c (e_calendar_item_draw): Use gtk_paint_foo instead
- of the deprecated gtk_draw_foo functions
- (e_calendar_item_get_day_style): Use colors from the theme for the
- background and foreground of various items
-
- * test-calendar.c (main): Don't set a callback for getting the day
- style, we want the test app to use the widget defaults
- (get_day_style): Remove all this duplicated code as we want to use
- the widget default colors for day fg/bg
-
-2004-11-26 JP Rosevear <jpr@novell.com>
-
- * test-info-label.c: test prog
-
- * e-url-entry.c: get image directly from icon factory
-
- * e-combo-button.c: ditto; convert to G_DEFINE_TYPE
-
- * e-activity-handler.c: convert to G_DEFINE_TYPE
-
- * e-task-widget.c: ditto
-
- * e-task-bar.c: ditto
-
- * e-multi-config-dialog.c: ditto
-
- * e-dropdown-button.c: ditto
-
- * e-cell-renderer-combo.c: ditto
-
- * e-cell-date-edit.c: ditto
-
- * e-calendar.c: ditto
-
- * e-calendar-item.c: ditto
-
- * Makefile.am: don't build the title bar, build an info label test
- program
-
-2004-10-28 Li Yuan <li.yuan@sun.com>
-
- * e-calendar.c (e_calendar_init, e_calendar_new): Make
- accessibility name and description translatable. Add a atk name
- for the two buttons so that they can be UI grabbed by GOK.
-
- * e-dateedit.c (e_date_edit_new, create_children): Add a name for
- atk object. Make accessibility name and description translatable.
- Add name and description for the date_entry, date_button and
- time_combo.
- (e_date_edit_show_date_popup), (hide_date_popup): Grab and ungrab
- keyboard. add_relation(): New function to add labelled_by
- relation for entry and combobox.
-
- * e-map.c (e_map_new): Add a name for world map widget. Make
- accessibility name and description translatable. Set the atk role
- to image.
-
- * e-multi-config-dialog.c (e_multi_config_dialog_add_page): Add an
- atk name for the page.
-
-2004-10-27 JP Rosevear <jpr@novell.com>
-
- * Makefile.am: use E_WIDGET instead of GNOME_FULL
-
-2004-10-14 JP Rosevear <jpr@novell.com>
-
- * e-pilot-settings.c: fix e-source-option-menu include
-
-2004-10-13 JP Rosevear <jpr@novell.com>
-
- * Makefile.am: don't build source selector or source option menu
- or test programs any more
-
-2004-10-08 Harry Lu <harry.lu@sun.com>
-
- * e-source-selector.c (e_source_selector_popup_menu),
- (class_init): implement popup_menu so that popup menu can be shown
- with Shift+F10.
-
-2004-10-06 JP Rosevear <jpr@novell.com>
-
- Fixes #66164
-
- * e-cell-date-edit.c (e_cell_date_edit_get_popup_pos): replicate
- fix to e-cell-combo.c by NotZed
-
-2004-10-01 Not Zed <NotZed@Ximian.com>
-
- * e-util-marshal.list: added boolean object boxed.
-
- * e-source-selector.c (class_init): add new 'popup event' signal,
- to replace fill_popup_menu.
- (selector_button_press_event): emit a POPUP_EVENT rather than a
- FILL_POPUP_MENU.
-
-2004-09-13 Rodney Dawes <dobey@novell.com>
-
- * e-multi-config-dialog.c (impl_response):
- Point at "config-prefs" instead of "config" for the help section
-
-2004-08-03 JP Rosevear <jpr@novell.com>
-
- * Makefile.am: Really dist the pilot sources this time
-
-2004-08-03 JP Rosevear <jpr@novell.com>
-
- * Makefile.am: Dist the pilot sources
-
-2004-08-01 JP Rosevear <jpr@novell.com>
-
- * e-pilot-settings.c (e_pilot_settings_get_source): accessor
- (e_pilot_settings_set_source): ditto
- (build_ui): show the source option menu
- (e_pilot_settings_new): use above
-
- * e-pilot-settings.h: add prototypes
-
-2004-07-20 JP Rosevear <jpr@novell.com>
-
- * Makefile.am: build pilot setting
-
-2004-07-26 JP Rosevear <jpr@novell.com>
-
- * e-search-bar.c (setup_bonobo_menus): use ctrl-shift-q to clear
- search bar
-
-2004-07-20 Not Zed <NotZed@Ximian.com>
-
- * e-error.c: include config.h. See #61395.
-
-2004-07-20 JP Rosevear <jpr@novell.com>
-
- * e-source-selector.h: remove proto
-
- * e-source-selector.c (selection_func): don't force the item to be
- checked
- (cell_toggled_callback): allow the cell to be untoggled even if
- its primary
- (init): set the pixbuf renderable
- (e_source_selector_set_toggle_selection): no longer necessary
-
-2004-07-16 Chris Toshok <toshok@ximian.com>
-
- * e-clipped-label.c (e_clipped_label_recalc_chars_displayed):
- remove debug spew and fix the display when
- pango_layout_line_x_to_index returns FALSE (before we were drawing
- both the ellipses and the text).
-
-2004-07-12 Jeffrey Stedfast <fejj@novell.com>
-
- * e-charset-picker.c: s/GB-2312/GB2312/ - fixes bug #61385.
-
-2004-06-24 Rodney Dawes <dobey@novell.com>
-
- * e-error.c (e_error_newv): Fix alignment of the icon to be 0x0
-
- Fixes #60493
-
-2004-06-24 Rodney Dawes <dobey@novell.com>
-
- * e-source-selector.[ch]: Add new "select_new" property to
- private structure of the ESourceSelector
- (rebuild_cb): Add code to select the new source, and cause the
- selection_changed signal to get emitted, if we select new sources
- (init): Don't select new sources by default
- (e_source_selector_set_select_new): Add function to set whether or not
- we want to select new sources when we add them
-
-2004-06-22 Hans Petter Jansson <hpj@ximian.com>
-
- * e-source-selector.c (e_source_selector_peek_primary_selection):
- Add preconditions. Make sure garbage or NULL data doesn't get
- used.
-
-2004-06-16 Not Zed <NotZed@Ximian.com>
-
- * e-source-selector.c (cell_toggled_callback): fix a path leak and
- maek the code more structured.
- (e_source_selector_set_toggle_selection): set the mode on whether
- you can toggle the currnet selection or not.
- (cell_toggled_callback): implement set_toggle_selection behaviour.
-
-2004-06-11 Larry Ewing <lewing@ximian.com>
-
- * e-source-selector.c: make the source selector use a colock block
- instead of setting the foreground to indicate the source color.
- (pixbuf_cell_data_func): actually initialize the pixbuf (bad
- larry).
- (pixbuf_cell_data_func): clean up warnings. (double bad larry).
- (pixbuf_cell_data_func): fix the appearance a little.
-
-2004-06-03 William Jon McCann <mccann@jhu.edu>
-
- * e-error.c (e_error_newv): Add HIG border width for dialog window.
-
-2004-06-01 Christian Neumair <chris@gnome-de.org>
-
- * Makefile.am (test_error_LDADD): Link test-error against libeutil.
-
-2004-06-01 Anders Carlsson <andersca@gnome.org>
-
- * e-expander.c (e_expander_expose): Don't propagate the expose
- to the label widget, the parent expose handler does that.
-
-2004-05-28 Anders Carlsson <andersca@gnome.org>
-
- * e-error.c (e_error_newv): Use the constructed title string.
-
-2004-05-27 Rodney Dawes <dobey@novell.com>
-
- * Makefile.am (EXTRA_DIST): Add $(error_i18n)
-
-2004-05-21 Not Zed <NotZed@Ximian.com>
-
- * e-error.c (e_error_default_parent): set a default error parent
- fallback.
- (e_error_newv): if parent is null, see if we have a default still
- alive, and use that. warn if not.
- (e_error_default_parent): uh, fix the sense of the
- if-we-dont-have-it test.
-
-2004-05-20 JP Rosevear <jpr@novell.com>
-
- * e-task-widget.c (e_task_widget_construct): only unref the mask
- if there is one
-
-2004-05-19 JP Rosevear <jpr@novell.com>
-
- * Makefile.am: don't dist the error .h file
-
-2004-05-18 Not Zed <NotZed@Ximian.com>
-
- * e-error.c (ee_load): load the <help> tag if present.
- (ee_response): handle the help response and swallow the signal.
- (e_error_newv): setup help button if we have a help uri.
-
-2004-05-17 Jeffrey Stedfast <fejj@novell.com>
-
- * e-url-entry.c (init): Use E_ICON_SIZE_BUTTON for the icon size
- in the e_icon_factory_get_icon() call.
-
- * e-combo-button.c (create_empty_image_widget): Don't hard-code
- the size of the icon in pixels, instead use the appropriate
- E_ICON_SIZE_ enum.
-
-2004-05-17 JP Rosevear <jpr@novell.com>
-
- Fixes #58460
-
- * e-task-widget.c (e_task_widget_construct): bitmap_unref the
- mask, don't object_unref it
-
-2004-05-12 Not Zed <NotZed@Ximian.com>
-
- * e-error.c (ee_load): duh, use the right node pointer for title
- and secondary text.
-
- * e-system-errors.xml: make the Because cases the same.
-
- * e-system-errors.xml.h: add for translators.
-
- * e-error.c (ee_load): just use _() to do i18n rather than the
- nasty lang stuff.
- (find_node): no longer needed.
-
- * Makefile.am (%.xml.h): setup the build rules for the i18n file
- for the errors.
-
- * e-system-errors.xml.in: Removed, renamed to .xml and removed the
- _ stuff.
-
-2004-05-04 Xan Lopez <xan@gnome.org>
-
- * Makefile.am:
-
- Build fixes.
-
-2004-05-03 Not Zed <NotZed@Ximian.com>
-
- * e-error.c (ee_build_label): blah, need to do entity decoding.
- #57918.
-
-2004-04-29 JP Rosevear <jpr@ximian.com>
-
- * e-activity-handler.c (impl_dispose): pass the correct data when
- weak unreffing
-
-2004-04-29 Not Zed <NotZed@Ximian.com>
-
- * e-error.c (e_error_newv): make the label selectable.
- (e_error_newv): if we have stock and label set, then use a stock
- button with an override label.
-
-2004-04-28 Not Zed <NotZed@Ximian.com>
-
- * e-system-errors.xml.in: holder for system errors.
-
- * test-error.c: helper to show an error message/test it.
-
- * e-error.[ch]: Api for disk-based, hig-compliant error messages
- and query boxes.
-
-2004-04-19 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-info-label.c (e_info_label_new): Updated to sue E_ICON_SIZE enums.
-
-2004-04-19 Rodney Dawes <dobey@ximian.com>
-
- * e-info-label.c (e_info_label_new): Update to use EIconFactory to
- get the filename for the component icons using the icon theme
-
-2004-04-19 Michael Terry <mike@mterry.name>
-
- * e-combo-buddon.c:
- * e-url-entry.c: Update these to use EIconFactory and GtkImages
- directly instead of GdkPixmaps
-
-2004-04-09 Rodney Dawes <dobey@ximian.com>
-
- * e-charset-picker.c: Include gtkhbox.h in here to avoid the warnings
- (activate_other):
- (e_charset_picker_dialog): Make these dialogs be more HIG-compliant
- * e-filter-bar.c (do_advanced):
- (menubar_activated): Make these dialogs be more HIG-compliant
-
-2004-04-08 Not Zed <NotZed@Ximian.com>
-
- * e-info-label.c (e_info_label_set_info): ugh, fix some last
- minute changes which broke shit.
-
- * e-info-label.[ch]: A widget to show component info for the
- current component/view.
-
-2004-04-07 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-multi-config-dialog.c: Updated for changes to e-config-page.c
- (init): Removed the OK and Apply buttons.
-
- * e-config-page.c (e_config_page_apply): Removed.
- (e_config_page_is_applied): Removed.
- (e_config_page_changed): Removed.
-
-2004-04-01 Dan Winship <danw@ximian.com>
-
- * e-url-entry.c (init): Make the button initially insensitive.
- Connect to the entry's "changed" signal.
- (entry_changed_cb): sensitize the button iff the entry is
- non-empty
- (button_clicked_cb): simplify a bit by using gtk_entry_get_text
- rather than gtk_editable_get_chars.
-
-2004-04-01 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-charset-picker.c (e_charset_picker_new): Create a new class
- for "Western European, New" to fix a translation issue.
-
-2004-03-31 Not Zed <NotZed@Ximian.com>
-
- * e-filter-bar.c (menubar_activated): start the rule editor with
- the right label.
-
-2004-03-26 Rodney Dawes <dobey@ximian.com>
-
- * e-multi-config-dialog.c (init): Remove the dialog separator
- Set the border widths of the dialog's vbox and action area to be more
- HIG-compliant
- Set the border width of the dialog's child to 12 for HIG-compliance
-
-2004-03-15 JP Rosevear <jpr@ximian.com>
-
- * e-calendar-item.c (e_calendar_item_class_init): change arg name
- (e_calendar_item_init): ditto
- (e_calendar_item_get_arg): ditto
- (e_calendar_item_set_arg): ditto
- (e_calendar_item_preserve_day_selection): set the selection day to
- the given selection
- (e_calendar_item_set_first_month): use above to preserve selected
- day of week
-
- * e-calendar-item.h: change field name
-
-2004-03-13 Trent Lloyd <lathiat@sixlabs.org>
-
- * e-search-bar.c (remove_bonobo_menus): move function above
- setup_bonobo_menus, fixes implicit declaration.
-
-2004-03-12 Kidd Wang <kidd.wang@sun.com>
-
- * e-dateedit.c (create_children): enlarge the text box to
- accomodate the time info in different locales.
-
-2004-03-11 Jeffrey Stedfast <fejj@ximian.com>
-
- Fix for bug #55267.
-
- * e-filter-bar.c (set_property): Use efb->setquery properly (set
- to TRUE before calling set_item_id and FALSE afterwards). Also
- setquery to TRUE before emitting the "search-activated" signal so
- that we don't run the callback for the signal we are emitting.
-
-2004-03-02 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-filter-bar.c (set_property): Emit the "search-activated"
- signal. Fixes bug #55054.
-
-2004-02-26 Rodney Dawes <dobey@ximian.com>
-
- * e-cell-renderer-combo.c (ecrc_get_size):
- * e-dateedit.c (create_children):
- * e-dropdown-button.c (e_dropdown_button_construct): Create the
- arrows in these widgets as GTK_SHADOW_NONE, since the default arrow
- type in GTK+ 2.x is flat triangle arrows, and shadow types are
- generally ignored for arrows anyway, and so we don't look ugly with
- themes that handle shadow types on arrows correctly
-
-2004-02-26 Bill Zhu <bill.zhu@sun.com>
-
- * e-search-bar.c (setup_bonobo_menus): Before Update the bonobo ui
- component, remove it first.
-
- Fixes #54788
-
-2004-02-11 Rodney Dawes <dobey@ximian.com>
-
- * e-multi-config-dialog.c (impl_response): Change the filename and
- section that we pass to gnome_help_display_desktop so that the help
- browser displays the documentation correctly
-
-2004-02-10 Rodney Dawes <dobey@ximian.com>
-
- * e-multi-config-dialog.c (init): Add a Help button
- (impl_response): Handle the Help button and open the documentation
-
- Fixes #30681
-
-2004-02-05 Rodney Dawes <dobey@ximian.com>
-
- * e-task-bar.c: Don't show the task label by default
-
-2004-02-03 Dan Winship <danw@ximian.com>
-
- * e-activity-handler.c:
- * e-activity-handler.h:
- * e-task-bar.c:
- * e-task-bar.h:
- * e-task-widget.c:
- * e-task-widget.h: Moved here from shell/, since they are now used
- only by the components, not the shell itself.
-
- * Makefile.am (widgetsinclude_HEADERS,
- libemiscwidgets_la_SOURCES): add new files
-
-2004-02-02 Chris Toshok <toshok@ximian.com>
-
- * e-image-chooser.c (set_image_from_data): set
- image_buf/image_buf_size here instead of in all callers. also
- emit the "changed" signal here.
- (image_drag_data_received_cb): remove the copying to image_buf and
- emitting of "changed" from here.
- (e_image_chooser_set_from_file): only g_free (data) here if
- set_image_from_data failed.
- (e_image_chooser_set_image_data): copy the image data we're passed
- before calling set_image_data. free it if rv == FALSE.
-
-2004-01-30 Chris Toshok <toshok@ximian.com>
-
- * e-image-chooser.c (e_image_chooser_init): add an alignment
- around the image. This might not be enough. hrm.
- (set_image_from_data): handle the case where there's no image
- (image_height == image_width == 0).
- (e_image_chooser_get_image_data): new function.
- (e_image_chooser_set_image_data): new function.
-
- * e-image-chooser.h: add prototypes for set/get_image_data.
-
-2004-01-30 Chris Toshok <toshok@ximian.com>
-
- * e-image-chooser.[ch]: abstract out the drag and droppable image
- widget from the contact list editor and stick it here. There's
- some code for a "Browse..." button here but it's not enabled.
-
- * Makefile.am (widgetsinclude_HEADERS): add e-image-chooser.h.
- (libemiscwidgets_la_SOURCES): add e-image-chooser.c
-
-2004-01-30 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-filter-bar.c (get_property): Only save the search-bar state OR
- the filter-bar state - decided based on what the search is. If the
- search is an advanced search, then save the filter-bar state,
- otherwise save the search-bar state.
- (set_property): Only need to restore the first state we find
- (filter-bar vs search-bar). If we are restoring filter-bar state,
- set efb->setquery to TRUE and then set the item_id to
- E_FILTERBAR_ADVANCED_ID.
-
-2004-01-29 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-filter-bar.c (option_changed): Don't call efb->config() if the
- current_query is NULL.
-
-2004-01-28 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-search-bar.c (impl_get_property): Same.
-
- * e-filter-bar.c (get_property): Use
- g_value_set_string_take_ownership() instead of
- g_value_take_string() since we need snaps to work with glib-2.0
- earlier than 2.3.x.
-
-2004-01-28 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-filter-bar.c: Added a new property "state" which is READ-WRITE
- so that we can save/restore state in the mailer code if we want
- to. Sort of a work-in-progress toward fixing bug #53195.
- (class_init): Ported to use the GObject property stuff instead of
- the deprecated GtkArg stuff.
- (get_property): Ported from impl_get_arg().
- (set_property): New object::set_property implementation to set the
- query state.
-
-2004-01-24 JP Rosevear <jpr@ximian.com>
-
- * e-source-selector.c (cell_toggled_callback): if the source is
- primary, don't allow it to be un-selected
-
-2004-01-20 Rodney Dawes <dobey@ximian.com>
-
- * e-combo-button.c (paint): Be even more exactly like the GtkButton
- painting stuff
-
- Fixes #52988
-
-2004-01-20 JP Rosevear <jpr@ximian.com>
-
- * e-source-selector.c (rebuild_model): set a primary selection if
- there is one before the rebuild
- (e_source_selector_set_primary_selection): block the signals when
- clearing the tree selection to make the op atomic; emit the
- selection_changed signal if a hidden selection is not currently
- selectecd
-
-2004-01-20 JP Rosevear <jpr@ximian.com>
-
- * e-source-selector.c (find_source_iter): provide parent iter
- in/out arg
- (test_collapse_row_callback): use priv shortcut
- (e_source_selector_select_source): pass parent iter
- (e_source_selector_unselect_source): ditto
- (e_source_selector_peek_primary_selection): return the right thing
- if the primary selection is currently hidden
- (e_source_selector_set_primary_selection): set the primary
- selection properly if the source node is currently hidden
-
-2004-01-20 JP Rosevear <jpr@ximian.com>
-
- * e-source-selector.c (clear_saved_primary_selection): util
- routine to clear the row reference to the saved primary selection
- (find_source_iter): unref the model data retrieved
- (rebuild_existing_cb): ditto
- (toggle_cell_data_func): ditto
- (text_cell_data_func): ditto
- (selection_func): ditto; clear the saved primary selection if
- something else is selected
- (cell_toggled_callback): ditto
- (test_collapse_row_callback): clear the toggled_last flag
- (row_expanded_callback): once we've restored the saved primary
- selection, clear it
- (selector_button_press_event): unref the model data
- (impl_dispose): use clear_saved_primary_selection
- (init): the store column holds object not pointer type
- (e_source_selector_peek_primary_selection): unref the model data
-
-2004-01-20 JP Rosevear <jpr@ximian.com>
-
- * e-source-selector.c (test_collapse_row_callback): check if the
- collapsing node has its child selected, if so take a row reference
- to remember the selection
- (row_expanded_callback): check if the expanding node has the saved
- primary selection under it and re-select if so
- (init): listen for signals
- (impl_dispose): free the primary selection
-
-2004-01-19 JP Rosevear <jpr@ximian.com>
-
- * e-source-selector.c (create_rebuild_data): create the data
- structure for rebuilding the model
- (free_rebuild_data): free it
- (rebuild_existing_cb): check for the sources that are still
- existing or deleted
- (rebuild_model): do incremental updates
- (selection_func): if the last thing we did was toggle, we don't
- actually want to highlight and if the source is not checked, check
- it
- (cell_toggled_callback): indicate that a toggle just occurred
- (init): initial toggled last to false
- (e_source_selector_set_primary_selection): set some preconditions
-
- Fixes #51787
-
-2004-01-19 JP Rosevear <jpr@ximian.com>
-
- * e-source-selector.c (cell_toggled_callback): indicate that a toggle just occurred
-
-2004-01-19 JP Rosevear <jpr@ximian.com>
-
- * e-source-selector.c
-
- (selector_button_press_event): when right clicking, make sure the
- calendar is highlighted and that groups can't be right clicked on
-
-2004-01-14 Rodney Dawes <dobey@ximian.com>
-
- * e-expander.[ch]: Fix remaining usages of GTK_*EXPANDER* defines
-
-2003-12-22 Rodney Dawes <dobey@ximian.com>
-
- Fix for bug #46349
-
- * e-combo-button.c: Use the appropriate style painting for a
- button widget, since we are a button
-
-2003-12-18 Harry Lu <harry.lu@sun.com>
-
- * e-cell-date-edit.c: (e_cell_date_edit_do_popup): call
- gdk_window_focus() so that keyboard works correctly.
-
-2003-12-16 Hans Petter Jansson <hpj@ximian.com>
-
- * e-source-option-menu.c (select_source_foreach_menu_item): Use
- e_source_equal() instead of comparing pointers. This allows user
- to pass in a source that was obtained from somewhere else. Set the
- matching internal source as "selected" instead of the one passed
- in.
- (select_source): Emit signal only if we found a match. Don't
- ref/unref anything, since the selected source will always be from
- our internal list.
-
-2003-12-04 Harry Lu <harry.lu@sun.com>
-
- Fix for bugzilla bug #51624 and #51627.
-
- * e-calendar-item.c: (e_calendar_item_selection_add_days):
- set the date to the first day of the month so that user can use
- keyboard's arrow key to select a date.
- (e_calendar_item_set_selection_if_emission): only set selection_changed
- if emission is TRUE.
- * e-calendar.c: (e_calendar_init): add back the "clicked" handler so
- that user can use keyboard to click the button.
- (e_calendar_start_auto_move): no need to move since it is already
- handled by the clicked handler
- (e_calendar_on_prev_clicked), (e_calendar_on_next_clicked): move the
- month here.
- * e-dateedit.c: (e_date_edit_show_date_popup): use gdk_window_focus
- instead of gdk_keyboard_grab so that the focus won't lost if user click
- the button with keyboard.
- (hide_date_popup): no need to call gdk_keyboard_ungrab.
-
-2003-12-02 Ettore Perazzoli <ettore@ximian.com>
-
- * e-source-selector.c (init): Set the mode on the text cell
- renderer to GTK_CELL_RENDERER_MODE_ACTIVATABLE so clicking on the
- text doesn't change the status of the checkbox. [Many thanks to
- Jonathan Blandford for telling me how to do this!]
-
-2003-12-01 JP Rosevear <jpr@ximian.com>
-
- * e-source-selector.c (class_init): list the signal args properly
-
-2003-11-30 ERDI Gergo <cactus@cactus.rulez.org>
-
- * e-calendar.c: canned the _clicked handlers as those make it
- impossible to move just one month at a time
-
-2003-11-30 Ettore Perazzoli <ettore@ximian.com>
-
- * e-util-marshal.list: Add NONE:POINTER.
-
- * test-source-option-menu.c (source_selected_callback): New
- callback to test the "source_selected" signal.
- (on_idle_create_widget): Connect.
-
- * e-source-option-menu.c: Add "source_selected" signal.
- (select_source): Assume source != NULL and emit "source_selected".
-
-2003-11-30 Ettore Perazzoli <ettore@ximian.com>
-
- * test-source-option-menu.c: New test.
-
- * e-source-option-menu.h: New.
- * e-source-option-menu.c: New.
-
-2003-11-23 ERDI Gergo <cactus@cactus.rulez.org>
-
- * e-expander.c: Added the late eggexpander
-
- * e-expander.c (e_expander_button_release): Emit 'activate' signal when
- appropriate
-
-
-2003-11-17 Charles Zhang <charles.zhang@sun.com>
-
- * e-search-bar.c(add_button): allow new lable with mnemonic
- (e_search_bar_construct): alter lable name. [50810]
-
-2003-11-16 JP Rosevear <jpr@ximian.com>
-
- * e-source-selector.c (e_source_selector_set_primary_selection):
- use find_source_iter and get the selection from the right spot
- (find_source_iter): util function to find the iter given the
- source
- (e_source_selector_select_source): signal that the model changed
- (e_source_selector_unselect_source): ditto
-
-2003-11-14 JP Rosevear <jpr@ximian.com>
-
- * e-source-selector.h: include e-source stuff from e-d-s
-
- * Makefile.am: use new cflags/libs to build
-
-2003-11-13 Bolian Yin <bolian.yin@sun.com>
-
- * e-calendar-item.c: remove a declaration of a deleted func.
-
-2003-11-12 JP Rosevear <jpr@ximian.com>
-
- * e-calendar-item.c (e_calendar_item_class_init): a canvas item
- does not inherit from gtkwidget
-
-2003-11-11 Bolian Yin <bolian.yin@sun.com>
-
- Fixes #50538
-
- * e-calendar-item: make e_calendar_item_normalize_date public func.
- add "selection_preview_changed" signal.
- move some definition of constants to .h
-
-2003-11-10 Ettore Perazzoli <ettore@ximian.com>
-
- * e-source-selector.c (e_source_selector_new): Expand all the
- nodes.
-
-2003-11-07 JP Rosevear <jpr@ximian.com>
-
- * Makefile.am: make sure the marshal stuff is in the sources and
- remove the built files when disting
-
-2003-10-28 Rodrigo Moya <rodrigo@ximian.com>
-
- * e-source-selector.c (class_init): fill_popup_menu signal has
- 2 arguments.
-
-2003-10-28 Rodrigo Moya <rodrigo@ximian.com>
-
- * e-source-selector.[ch]: added "fill_popup_menu" signal, to
- allow the addition of new items to the popup menu.
- (class_init): create new signal.
- (init): connect to "button_press_event" for the tree view.
- (selector_button_press_event): callback for "button_press_event".
- (e_source_selector_selection_shown): use g_return_val_if_fail.
-
-2003-10-22 Dan Winship <danw@ximian.com>
-
- * e-bonobo-widget.[ch]: Remove these (unused since 1.2)
-
-2003-09-30 Mike Kestner <mkestner@ximian.com>
-
- * e-cell-renderer-combo.* : new, treeview renderer for combo cells
- * e-combo-cell-editable.* : new, GtkCellEditable for combo cells
- * Makefile.am : build the new files
-
-2003-09-19 Bolian Yin <bolian.yin@sun.com>
-
- Fixes #1245. ECalendar should be usable with the keyboard
-
- * e-calendar-item.c (e_calendar_item_focus): new func, focus
- handler.
- (e_calendar_item_key_press_event): new func, key press event
- handler
- (e_calendar_item_selection_add_days,
- e_calendar_item_stop_selecting): helpers.
- (e_calendar_item_ensure_days_visible,
- e_calendar_item_set_selection_if_emission): add the flag to
- control if we should emit e-calendar signals.
- (e_calendar_item_class_init): register focus handler.
- (e_calendar_item_event): add code for GDK_FOCUS_CHANGE and
- GDK_KEY_PRESS.
-
- * e-calendar.c (e_calendar_focus): new func, focus handler
- (e_calendar_button_has_focus): new func, if prev/next button has
- focus.
- (e_calendar_on_next_clicked, e_calendar_on_prev_clicked): click
- signal handler for prev/next buttons.
- (e_calendar_set_focusable): set if the e-calendar is focusable
-
- * e-dateedit.c (e_date_edit_show_date_popup, hide_date_popup):
- grab/ungrab gdk keyboard.
-
-2003-08-27 Hans Petter Jansson <hpj@ximian.com>
-
- Fixes #15638.
-
- * e-dateedit.c (rebuild_time_popup): Make 12-hour time format not
- be zero-padded. Right-align time labels so digits line up.
-
-2003-08-27 Bolian Yin <bolian.yin@sun.com>
-
- * Makefile.am: add dependency on a11y/widgets.
-
- * e-calendar-item.c (e_calendar_item_class_init): a11y init.
- (e_calendar_item_bounds): new func, impl the bounds virtual
- func.
-
-2003-08-18 Ettore Perazzoli <ettore@ximian.com>
-
- * e-source-selector.c (e_source_selector_selection_shown)
- (e_source_selector_show_selection): Add precondition.
-
-2003-08-18 Ettore Perazzoli <ettore@ximian.com>
-
- * test-source-selector.c (on_idle_create_widget): Add a
- checkbutton to the test window for toggling the checkboxes on and
- off. Also, put the list in a scrolled window and set a default
- size for the main window.
- (check_toggled_callback): Callback for the checkbutton.
-
- * e-source-selector.c: New member checkboxes_shown in struct
- ESourceSelectorPrivate.
- (init): Set to TRUE.
- (e_source_selector_show_selection): New.
- (e_source_selector_selection_shown): New.
- (toggle_cell_data_func): Don't show the toggle if checkboxes_shown
- is FALSE.
-
-2003-08-17 Ettore Perazzoli <ettore@ximian.com>
-
- * e-source-selector.c: New signal "primary_selection_changed",
- removed members list_changed_callback_id and
- selection_changed_callback_id in ESourceSelectorPrivate.
- (rebuild_model): If the new set of selected sources is smaller
- than the old one, emit "selection_changed".
- (e_source_selector_peek_primary_selection): New.
- (e_source_selector_set_primary_selection): New.
- (selection_changed_callback): New callback for the "changed"
- signal on our associated GtkTreeSelection.
- (init): Connect.
- (impl_dispose): Disconnect.
- (setup_model): Use signal_connect_object() instead of saving the
- ID.
-
-2003-08-15 Ettore Perazzoli <ettore@ximian.com>
-
- * e-source-selector.c (cell_toggled_callback): Call
- gtk_tree_model_row_changed() to let the model know that we changed
- the data.
-
-2003-08-15 Ettore Perazzoli <ettore@ximian.com>
-
- * test-source-selector.c: New test program.
-
- * e-source-selector.c: New file.
- * e-source-selector.h: New file.
-
-2003-07-23 Dan Winship <danw@ximian.com>
-
- * Makefile.am: use EVO_MARSHAL_RULE
-
- * e-combo-button.c (create_empty_pixmap_widget): Create the pixbuf
- from empty.xpm rather than just calling gdk_pixbuf_new(), which
- doesn't actually initialize the pixel data.
-
- * e-messagebox.c: Remove this, since it claims to be deprecated,
- and nothing is actually using it any more.
-
- * Makefile.am: Remove e-messagebox.[ch]
-
-2003-07-11 Federico Mena Quintero <federico@ximian.com>
-
- * e-dateedit.c (e_date_edit_mnemonic_activate): Added a handler
- for GtkWidget::mnemonic_activate().
-
- * e-url-entry.c (mnemonic_activate): Likewise.
-
-2003-07-09 Federico Mena Quintero <federico@ximian.com>
-
- * e-url-entry.c (destroy): Chain to the parent handler. Fixes #45236.
-
-2003-06-23 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (set_menu): Translate the text. [#45112]
-
-2003-06-18 Suresh Chandrasekharan <suresh.chandrasekharan@sun.com>
-
- * e-charset-picker.c: Fix for #45082: GB18030 BIG5HKSCS and EUC-TW
- charsets not supported in evolution mail
-
-2003-06-17 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-charset-picker.c (e_charset_picker_bonobo_ui_populate): Don't
- use the charset class in the menu label if it is 'Unknown'.
- (e_charset_picker_bonobo_ui_populate): For user-defined charsets,
- just use the name of the charset rather than "Unknown".
- (add_charset): Don't escape _'s anymore, this seems to not be
- needed int gtk2.
- (add_other_charset): g_strdup() the charset name. Fixes bug
- #43917.
-
-2003-06-11 Larry Ewing <lewing@ximian.com>
-
- * e-search-bar.c (impl_get_property): take ownership of the duped
- string.
-
diff --git a/widgets/misc/ChangeLog.pre-1-4 b/widgets/misc/ChangeLog.pre-1-4
deleted file mode 100644
index 7a5cae8211..0000000000
--- a/widgets/misc/ChangeLog.pre-1-4
+++ /dev/null
@@ -1,1903 +0,0 @@
-2003-05-29 JP Rosevear <jpr@ximian.com>
-
- Fixes #43775
-
- * e-calendar-item.c (layout_set_day_text): calculate the day
- character correctly
- (e_calendar_item_draw_month): use it
-
- * e-dateedit.c (rebuild_time_popup): use e_utf8_strftime
- (e_date_edit_update_date_entry): ditto
- (e_date_edit_update_time_entry): ditto
-
- * e-calendar-item.c (layout_set_day_text): calculate the day
- character correctly
- (e_calendar_item_draw_month): use e_utf8_strftime and above
- (e_calendar_item_show_popup_menu): use e_utf8_strftime
- (e_calendar_item_recalc_sizes): use layout_set_day_text
-
-2003-05-19 Anna Marie Dirks <anna@ximian.com>
-
- * e-multi-config-dialog.c (init): Added HIG-appropriate spacing/
- padding to the main hbox into which the icons and page widgets
- are packed.
-
-2003-05-19 Larry Ewing <lewing@ximian.com>
-
- * e-charset-picker.c: port to GtkDialog.
-
-2003-05-14 JP Rosevear <jpr@ximian.com>
-
- * e-combo-button.c (impl_destroy): guard against multiple destroys
-
-2003-05-13 Ettore Perazzoli <ettore@ximian.com>
-
- [#42628]
- * e-search-bar.c (search_now_verb_cb): Call
- emit_search_activated() instead of emit_query_changed().
-
-2003-05-11 Chris Toshok <toshok@ximian.com>
-
- [ fixes bug #42177 ]
- * e-dateedit.c (e_date_edit_init): remove the CAN_FOCUS flag.
-
-2003-05-09 Ettore Perazzoli <ettore@ximian.com>
-
- * e-combo-button.c (menu_deactivate_callback): Set in_button to
- FALSE; this makes sure the button gets the right appearance after
- the menu is popped down (the reason why this is necessary is that
- the widget doesn't never gets to the leave_notify event).
-
-2003-05-07 JP Rosevear <jpr@ximian.com>
-
- * e-search-bar.c (e_search_bar_set_text): trash e_utf8_gtk function
- (e_search_bar_get_text): ditto
-
-2003-04-29 Dan Winship <danw@ximian.com>
-
- * e-dateedit.c (e_date_edit_forall): Remove this so that
- GtkContainer's destroy method will destroy all of the internal
- widgets. (This is how other compound-widgets-that-aren't-
- meant-to-be-used-as-containers behave.) #41458
-
-2003-04-16 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (remove_bonobo_menus): Only do the actual remove
- if the ui component actually has a container; this suppresses a
- BonoboUI warning at each folder view switch.
-
-2003-04-15 Hans Petter Jansson <hpj@ximian.com>
-
- * e-calendar-item.c (e_calendar_item_update): Unref the metrics.
- (e_calendar_item_draw): Re-use the widget's context instead of
- creating a new one. Unref the metrics.
- (e_calendar_item_draw_month): Unref the metrics. Don't create the
- layout where it might be leaked by an early return. Unref the layout
- before returning if we're outside the clip area.
- (e_calendar_item_draw_day_numbers): Unref the metrics.
- (e_calendar_item_recalc_sizes): Unref the metrics.
- (e_calendar_item_convert_position_to_day): Unref the metrics.
-
- * e-calendar.c (e_calendar_size_allocate): Unref the metrics.
-
-2003-04-11 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-filter-bar.c (do_advanced): Change the border width and
- padding to comply with the HIG. Fixes bug #41202.
- (do_advanced): Changed the button ordering from Cancel/Save/OK to
- Save/Cancel/OK to comply with the HIG. Fixes bug #41207.
-
-2003-04-08 Mike Kestner <mkestner@ximian.com>
-
- * e-search-bar.c (set_option): kill an old e_utf8_gtk usage
-
-2003-04-06 Chris Toshok <toshok@ximian.com>
-
- * e-cell-percent.h: e_cell_percent_get_type returns GType, not
- GtkType.
-
- * e-cell-percent.c (e_cell_percent_new): use g_object_new, not
- gtk_object_new.
-
-2003-04-02 Hans Petter Jansson <hpj@ximian.com>
-
- * e-calendar-item.c (e_calendar_item_set_selection): For example;
- a selection ending 2003-apr-02 does not fit into the remaining
- shown days after 1969-dec. Stop assuming that it does.
-
-2003-04-01 Hans Petter Jansson <hpj@ximian.com>
-
- * e-calendar-item.c (e_calendar_item_class_init)
- (e_calendar_item_destroy)
- (e_calendar_item_get_arg)
- (e_calendar_item_set_arg)
- (e_calendar_item_update)
- (e_calendar_item_draw)
- (e_calendar_item_draw_month)
- (e_calendar_item_draw_day_numbers)
- (e_calendar_item_recalc_sizes)
- (e_calendar_item_convert_position_to_day): Nuke GdkFont and use
- Pango's font measuring for everything.
-
- * e-calendar-item.h: Ditto.
-
- * e-calendar.c (e_calendar_init)
- (e_calendar_size_allocate): Ditto.
-
-2003-03-30 Hans Petter Jansson <hpj@ximian.com>
-
- * e-calendar-item.c (e_calendar_item_destroy): Handle multiple
- destroys.
-
-2003-03-28 JP Rosevear <jpr@ximian.com>
-
- * e-search-bar.c (clear_search): set the sub item to the default
- as well
-
-2003-03-25 Dan Winship <danw@ximian.com>
-
- * e-calendar.c: #include gtkarrow.h
- * e-combo-button.c: Likewise
-
- * e-charset-picker.c: Update for e_notice move
-
-2003-03-19 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-filter-bar.c: Updated to use GtkDialog instead of
- GnomeDialog. Also fixed bug #39550 while I was at it.
-
-2003-03-10 Rodney Dawes <dobey@ximian.com>
-
- * e-calendar.c: Use GtkArrow instead of pixmaps
- * e-combo-button.c: Use GtkArrow instead of pixmaps
- * e-filter-bar.c: gtk_window_set_policy () is deprecated
- * e-url-entry.c: Load the icon in a pixbuf instead of GdkPixmap
-
-2003-03-06 Ettore Perazzoli <ettore@ximian.com>
-
- * e-url-entry.c (destroy): Removed unused variable.
-
-2003-03-06 Ettore Perazzoli <ettore@ximian.com>
-
- * e-dropdown-button.c (menu_deactivate_cb): Removed debugging
- spew.
-
-2003-02-27 Chris Toshok <toshok@ximian.com>
-
- * e-url-entry.c (destroy): guard this so we don't try to free priv
- multiple times.
-
-2003-02-25 Dan Winship <danw@ximian.com>
-
- * e-map.c (e_map_destroy): Use
- g_signal_handlers_disconnect_by_func since
- gtk_signal_disconnect_by_data doesn't seem to work right.
- (e_map_set_scroll_adjustments): Likewise.
-
-2003-02-25 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-dateedit.c (on_date_popup_date_selected): Same as below.
-
- * e-cell-date-edit.c (e_cell_date_edit_on_ok_clicked): Also
- updated to use the new GDate API from glib 2.0
-
- * test-calendar.c (on_selection_changed): Fixed to use glib 2.0's
- GDate API.
-
- * e-calendar-item.c (e_calendar_item_get_week_number): Port to
- glib 2.0's GDate API.
- (e_calendar_item_set_selection): Same.
-
- * e-search-bar.c (append_xml_menu_item): Use
- g_string_append_printf instead of g_string_sprintfa since the
- latter is now deprecated.
- (setup_bonobo_menus): Same.
-
- * e-filter-bar.c (do_advanced): Use gtk_window_set_resizable()
-
- * e-charset-picker.c: Fixes to make it build cleanly with
- -DG_DISABLE_DEPRECATED
- (add_charset): Escape _'s so we don't get underline weirdness due
- to GtkLabel thinking the _ means to underline the next char.
- (e_charset_picker_bonobo_ui_populate): Same here.
-
-2003-02-20 Dan Winship <danw@ximian.com>
-
- * Makefile.am: Make libemiscwidgets and libefilterbar dynamic
- libraries instead of static so they can be portably linked into
- the shlib components
-
-2003-02-05 Dan Winship <danw@ximian.com>
-
- * Makefile.am (INCLUDES): Define MAP_DIR in terms of $(imagesdir).
- (widgetsincludedir): Define in terms of $(privincludedir)
-
-2003-02-02 Hans Petter Jansson <hpj@ximian.com>
-
- * e-calendar-item.[ch]: Use Pango to draw.
- (e_calendar_item_class_init): Add font_desc and week_number_font_desc
- args.
- (e_calendar_item_get_arg): Ditto.
- (e_calendar_item_set_arg): Ditto.
- (e_calendar_item_draw_month): Use Pango.
- (e_calendar_item_draw_day_numbers): Ditto.
-
- * e-calendar.c: Use Pango to draw. Specify just the size of the small
- font to use, instead of all aspects of it.
- (e_calendar_init): Produce the small font description and pass it to
- the ECalendarItem.
-
-2003-02-01 Hans Petter Jansson <hpj@ximian.com>
-
- * e-dateedit.c (create_children): Don't request combo boxes that are
- 0 pixels tall.
- (position_date_popup): Make this work when the button doesn't have
- its own window.
-
-2003-01-26 Chris Toshok <toshok@ximian.com>
-
- * e-clipped-label.c (e_clipped_label_new): init the layout to
- NULL.
-
-2003-01-23 Ettore Perazzoli <ettore@ximian.com>
-
- * e-title-bar.c (e_title_bar_construct): Make the label bold using
- the new args to e_clipped_label_new().
-
- * e-clipped-label.c (build_layout): Honor ->font_size and ->layout
- in the newly created PangoLayout.
- (e_clipped_label_new): New args font_weight, font_size.
- (e_clipped_label_size_request): Removed unused variables.
- (e_clipped_label_expose): Likewise.
- (e_clipped_label_expose): Likewise.
- (e_clipped_label_set_text): Likewise.
- (e_clipped_label_recalc_chars_displayed): Likewise.
-
- * e-clipped-label.h (struct _EClippedLabel): Add font_size, layout
- members.
-
-2003-01-22 Ettore Perazzoli <ettore@ximian.com>
-
- * Makefile.am (widgetsincludedir): Version using $(BASE_VERSION).
-
-2003-01-14 Ettore Perazzoli <ettore@ximian.com>
-
- * e-multi-config-dialog.c (init): Change dialog from
- OK/Apply/Cancel to Apply/Close/OK to be closer to the HIG.
-
-2003-01-14 Ettore Perazzoli <ettore@ximian.com>
-
- * Makefile.am (widgetsinclude_HEADERS): Ooops, remove
- e-bonobo-widget.h.
- (libemiscwidgets_a_SOURCES): Likewise, remove e-bonobo-widget.c.
-
-2003-01-14 Ettore Perazzoli <ettore@ximian.com>
-
- * Makefile.am (EXTRA_DIST): e-util-marshal.list, not
- e-book-marshal.list.
- (widgetsinclude_HEADERS): Add e-bonobo-widget.h.
- (libemiscwidgets_a_SOURCES): Add e-bonobo-widget.c.
-
-2003-01-08 Ettore Perazzoli <ettore@ximian.com>
-
- * Makefile.am: Images are now in $(datadir)/evolution/images
- instead of $(datadir)/images/evolution.
-
-2002-12-10 Not Zed <NotZed@Ximian.com>
-
- * e-multi-config-dialog.c (impl_response): Removed the
- g_assert_not_reached(). If you hit the close button on your
- window it would abort, treat same as close.
-
-2002-12-09 Chris Toshok <toshok@ximian.com>
-
- * e-clipped-label.[ch]: rework this to be faster and deal more
- correctly with the ellipsis.
-
-2002-12-03 Not Zed <NotZed@Ximian.com>
-
- * e-search-bar.c (impl_dispose): dispose can be run multiple times
- too ... bloody gobject crap.
-
-2002-11-27 Not Zed <NotZed@Ximian.com>
-
- * e-charset-picker.c: Add include of gnome-dialog.h
-
- * *.[ch]: ran fix.sh script over everything.
-
-2002-11-26 Not Zed <NotZed@Ximian.com>
-
- * e-combo-button.c (impl_button_press_event): Dont grab_add
- anymore on the button, gtk_button is changed in gtk2 not to do
- this anymore.
-
-2002-11-15 Chris Toshok <toshok@ximian.com>
-
- * e-clipped-label.c (build_layout): new function, build pango
- layout for string.
- (e_clipped_label_size_request): pango-ize this, make the size
- requested dependent on the label.
- (e_clipped_label_expose): pango-ize this.
- (e_clipped_label_recalc_chars_displayed): pango-ize this.
-
-2002-11-14 Ettore Perazzoli <ettore@ximian.com>
-
- * e-clipped-label.c (e_clipped_label_finalize): New.
- (e_clipped_label_destroy): Removed.
-
- * e-title-bar.c (destroy): Removed.
- (impl_finalize): New.
- (class_init): Install GObject::finalize handler instead of
- GtkObject::destroy handler.
-
-2002-11-14 Ettore Perazzoli <ettore@ximian.com>
-
- * e-filter-bar.c: Changed to use g_object_*() and g_signal_*()
- functions instead of gtk_object_*() and gtk_signal_*().
- (destroy): Removed.
- (dispose): New.
- (class_init): Install GObject::dispose handler instead of
- GtkObject::destroy handler.
-
-2002-11-11 Chris Toshok <toshok@ximian.com>
-
- * e-dateedit.[ch]: port to GObject.
-
-2002-11-11 Ettore Perazzoli <ettore@ximian.com>
-
- * e-multi-config-dialog.c (init): Use GObject functions instead of
- GtkObject throughout.
-
-2002-11-11 Ettore Perazzoli <ettore@ximian.com>
-
- * e-multi-config-dialog.c (impl_destroy): Removed.
- (impl_finalize): New.
- (class_init): Override GObject::finalize, not GtkObject::destroy.
-
- * e-config-page.c (impl_destroy): Removed.
- (impl_finalize): New.
- (class_init): Override GObject::finalize, not GtkObject::destroy.
-
- * e-multi-config-dialog.c: Converted to a GtkDialog subclass
- [instead of GnomeDialog].
-
-2002-11-07 JP Rosevear <jpr@ximian.com>
-
- * e-filter-bar.c: include gnome-dialog.h
-
-2002-11-06 Chris Toshok <toshok@ximian.com>
-
- * .cvsignore: ignore the generated marshal source.
-
- * Makefile.am: add marshal stuff.
-
- * e-util-marshal.list: marshaller list.
-
- * e-search-bar.[ch]: gobjectify this.
-
-2002-11-04 Ettore Perazzoli <ettore@ximian.com>
-
- * e-combo-button.c (impl_expose_event): Use
- gtk_container_propagate_expose().
-
-2002-11-01 Ettore Perazzoli <ettore@ximian.com>
-
- * test-title-bar.c: #include <libgnomeui/gnome-ui-init.h> instead
- of <libgnomeui/gnome-init.h>.
- (main): Use a GtkLabel, not a GtkText.
-
- * test-dropdown-button.c: #include <libgnomeui/gnome-ui-init.h>
- instead of <libgnomeui/gnome-init.h>, and
- <libgnomeui/gnome-stock-icons.h> instead of
- <libgnomeui/gnome-stock.h>.
-
- * test-dateedit.c: #include <libgnomeui/gnome-ui-init.h> instead
- of <libgnomeui/gnome-init.h>.
- (main): Use gnome_program_init().
-
- * test-calendar.c: #include <libgnomeui/gnome-ui-init.h>.
-
- * e-url-entry.c (button_clicked_cb): Pass NULL as the error arg to
- gnome_url_show().
-
- * e-title-bar.c (class_init): GTK2-ified. Use GTK_TYPE_POINTER
- instead of GTK_TYPE_GDK_EVENT.
-
- * e-search-bar.c: Removed #include <libgnome/gnome-defs.h>.
- #include <string.h>.
- (class_init): GTK2-ified.
- (e_search_bar_set_menu): Use GTK_OBJECT_GET_CLASS.
- (e_search_bar_set_option): Likewise.
-
- * e-messagebox.c (e_message_box_class_init): Updated to put
- finalize in GObjectClass intead of GtkObjectClass.
- (e_message_box_finalize): Likewise.
- (e_message_box_construct): Just check if pixmap is NULL, instead
- of pixmap->pixmap.
-
- * e-messagebox.h: No {BEGIN,END}_GNOME_DECLS.
- (e_message_box_get_type): Fix prototype, should return GtkType
- instead of guint.
-
- * e-map.c: Removed e_map_signals, which was unused.
- (e_map_finalize): Update for the fact that finalize is now in
- GObjectClass.
- (e_map_class_init): Likewise. Also GTK2-ify.
- (e_map_draw): Removed.
- (load_map_background): Pass NULL as the gdk_pixbuf_new_from_file()
- error arg.
-
- * e-dropdown-button.c (menu_position_cb): Added arg push_in.
-
- * e-dateedit.c (e_date_edit_class_init): GTK2-ified.
- (e_date_edit_show_date_popup): Constify local variable.
- (e_date_edit_check_date_changed): Likewise.
- (e_date_edit_check_time_changed): Likewise.
- (e_date_edit_check_date_changed): Likewise.
- (field_set_to_none): Constify arg text.
- (e_date_edit_parse_date): Constify arg date_text.
- (e_date_edit_parse_time): Constify arg time_text.
-
- * e-dateedit.h: No {BEGIN,END}_GNOME_DECLS.
-
- * e-combo-button.c (menu_position_func): New arg push_in.
- (impl_draw): Removed.
- (class_init): GTK2-ified.
- (init): style->xthickness instead of style->klass->xthickness.
-
- * e-config-page.c (class_init): GTK2-ified.
-
- * e-clipped-label.c (e_clipped_label_size_request): Use
- gtk_style_get_font().
- (e_clipped_label_recalc_chars_displayed): Likewise.
- (e_clipped_label_expose): Likewise.
-
- * e-charset-picker.c: No #include <libgnome/gnome-defs.h> or
- <libgnome/gnome-i18n.h> or <libgnome/gnome-stock.h>. Also no
- <gal/gunicode.h>. On the other hand, #include <gtk/gtkvbox.h>.
- (e_charset_picker_new): Make locale_charset const.
- (e_charset_picker_bonobo_ui_populate): Make locale_charset const.
-
- * e-cell-percent.c: #include <stdio.h> for sscanf().
-
- * e-cell-percent.h: Removed BEGIN_GNOME_DECLS, END_GNOME_DECLS.
-
- * e-cell-percent.c: Do not #include <libgnomeui/gnome-stock.h>.
-
- * e-cell-date-edit.c: Do not #include <libgnomeui/gnome-stock.h>.
- Added a bunch of #includes for GTK stuff.
- (e_cell_date_edit_on_ok_clicked): Constified variable.
-
- * e-calendar-item.c: Do not #include <libgnome/gnome-defs.h>.
- (e_calendar_item_class_init): Use GTK_TYPE_POINTER instead of
- GTK_TYPE_GDK_POINTER.
- (e_calendar_item_class_init): GTK_CLASS_TYPE() instead of
- object_class->type.
- (e_calendar_item_class_init): No gtk_object_class_add_signals().
- (e_calendar_item_update): style->[xy]thickness instead of
- style->klass->[xy]thickness.
- (e_calendar_item_draw): Likewise.
- (e_calendar_item_draw_month): Likewise.
- (e_calendar_item_draw_month): Likewise.
- (e_calendar_item_recalc_sizes): Likewise.
- (e_calendar_item_convert_position_to_day): Likewise.
- (e_calendar_item_update): Use gtk_style_get_font().
- (e_calendar_item_draw_month): Likewise.
- (e_calendar_item_draw_day_numbers): Likewise.
- (e_calendar_item_convert_position_to_day): Likewise.
- (e_calendar_item_recalc_sizes): Likewise.
- (e_calendar_item_signal_emission_idle_cb): Removed check for
- GTK_OBJECT_DESTROY.
- (e_calendar_item_position_menu): Add push_in arg.
-
- * e-calendar.c (e_calendar_draw): Remove.
- (e_calendar_size_request): style->[xy]thickness instead of
- style->klass->[xy]thickness.
- (e_calendar_size_allocate): Likewise.
- (e_calendar_get_border_size): Likewise.
- (e_calendar_size_allocate): Get font from style with
- gtk_style_get_font().
-
- * e-calendar-item.h: #include <libgnomecanvas/gnome-canvas.h>
- instead of <libgnomeui/gnome-canvas.h>.
- * e-calendar.c: Likewise for
- <libgnomecanvas/gnome-canvas-widget.h>.
-
- * Makefile.am: Don't compile e-bonobo-widget.c, e-bonobo-widget.h.
- [Unused right now, so we can avoid porting until, and if, they are
- needed.]
-
- * e-filter-bar.c: Do not #include <libgnome/gnome-defs.h>. Do not
- #include <libgnomeui/gnome-stock.h>. #include <gtk/gtksignal.h>.
- Also remove gal #includes.
- (do_advanced): Add some GTK_SIGNAL_FUNC() casts.
- (menubar_activated): Likewise.
- (menubar_activated): Likewise.
-
-2002-10-30 Ettore Perazzoli <ettore@ximian.com>
-
- * e-map.h: Do not #include <libgnome/gnome-defs.h>.
-
-2002-10-28 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-search-bar.c (clear_search): Emit a search_activated signal.
- (e_search_bar_set_item_id): Revert to original implementation.
-
-2002-10-23 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-filter-bar.c (option_changed): If the clear button was
- pressed, we want the entry to be sensitive (not insensitive).
-
- * e-search-bar.c (e_search_bar_set_item_id): If the item id is
- CLEAR_ID, we want to select the first item (0) but still set the
- esb->item_id to CLEAR_ID.
- (set_find_now_sensitive): Don't bother getting the GtkEntry text,
- we don't even use it?
- (clear_search): Set the item id as E_SEARCHBAR_CLEAR_ID rather
- than 0 so that it can be checked for.
-
-2002-10-23 Ettore Perazzoli <ettore@ximian.com>
-
- [#26128, thanks to Federico Mena Quintero <federico@ximian.com>
- for providing this fix.]
-
- * e-search-bar.c (activate_by_subitems): gtk_widget_grab_focus()
- on the entry when adding it in.
-
-2002-10-11 JP Rosevear <jpr@ximian.com>
-
- * e-calendar-item.c (e_calendar_item_ensure_days_visible): check
- if the selection fits in the leftover days
-
-2002-09-30 Ettore Perazzoli <ettore@ximian.com>
-
- [Add a small delay to the switching of pages in the multi-config
- dialog. This makes keyboard navigation slightly nicer, and also
- happens to fix mysterious bug #28931.]
-
- * e-multi-config-dialog.c: New constant SWITCH_PAGE_INTERVAL. New
- members set_page_timeout_id and set_page_timeout_page in
- EMultiConfigDialogPrivate.
- (init): Initialize new member variables.
- (table_cursor_change_callback): Set up a timeout instead of
- switching right away.
- (set_page_timeout_callback): Timeout function to switch page after
- a small delay.
- (impl_destroy): Remove a pending timeout.
-
-2002-09-27 Ettore Perazzoli <ettore@ximian.com>
-
- * e-multi-config-dialog.c (create_page_container): Don't set up
- the description label here.
-
-2002-09-24 Not Zed <NotZed@Ximian.com>
-
- * e-search-bar.c (clear_search): Clear search by setting text to
- "" and search to first search.
-
- * e-filter-bar.c (option_changed): Revert change of 2002-08-29
- below, always do advanced search if we have the advanced id.
- Handle clear elsewhere.
- (menubar_activated): If we get the advanced menu, set the advanced
- option menu, and let that handle it, rather than doing it
- ourselves. For #31060 & #29625.
-
-2002-09-22 Dan Winship <danw@ximian.com>
-
- * e-filter-bar.c: Fix some non-ANSI switch statements.
-
-2002-08-29 Chris Toshok <toshok@ximian.com>
-
- * e-search-bar.c (subitem_activated_cb): need to make the find now
- button sensitive when you select something from a submenu.
-
-2002-08-29 Peter Williams <peterw@ximian.com>
-
- * e-filter-bar.c (option_changed): If the item is ADVANCED_ID, check
- the query and efb->setquery to see whether we should pop up the advanced
- dialog or clear an advanced search. Fixes #29625.
-
-2002-08-21 Peter Williams <peterw@ximian.com>
-
- * e-search-bar.c (clear_search): Don't set the item id; clear search
- isn't in the menu anymore. Fixes #29211.
-
-2002-08-22 JP Rosevear <jpr@ximian.com>
-
- * e-dateedit.c (e_date_edit_parse_date): don't adjust for two
- digit dates here, the e_time_parse routines do that now
-
-2002-08-06 Not Zed <NotZed@Ximian.com>
-
- * e-filter-bar.c (menubar_activated): Set the query text into the
- filter name when saving it, for #10979.
-
-2002-07-24 Ettore Perazzoli <ettore@ximian.com>
-
- * e-calendar-item.c (e_calendar_item_signal_emission_idle_cb): Add
- missing cast.
- (e_calendar_item_signal_emission_idle_cb): Likewise.
-
- * e-search-bar.c (init): Don't initialize dropdown_menu here
- anymore since we got rid of it.
-
- * e-search-bar.h (struct _ESearchBar): Removed member
- dropdown_menu.
-
-2002-07-22 Peter Williams <peterw@ximian.com>
-
- * e-filter-bar.c (do_advanced): Break out the code for creating
- the advanced rule editor into a separate function, so that...
- (menubar_activated): ... can also create an Advanced dialog;
- needed when the Search menu's advanced button is used.
- (option_changed): Change this to call the function instead of
- having all the code to itself.
-
- * e-search-bar.h: Add id's for the FIND_NOW and CLEAR actions
- so that other code (eg, EFilterBar) doesn't get confused by
- an old id being used when the search-activated signal gets
- emitted.
-
- * e-search-bar.c (clear_search): Set the item_id to CLEAR
- before emitting the signal.
- (search_now_verb_cb): Just make this emit query_changed,
- as the button in the toolbar does.
-
-2002-07-17 Ettore Perazzoli <ettore@ximian.com>
-
- [Fix #27854, spurious warnings from ESearchBar.]
-
- * e-search-bar.c (setup_standard_verbs): Set the <commands> part
- of the XML manually with bonobo_ui_component_set() otherwise the
- verbs don't get added on the other side for us to be able to do
- bonobo_ui_component_set_prop().
- (setup_bonobo_menus): New, menu setup code taken from
- update_bonobo_menus().
- (remove_bonobo_menus): New; removes the Bonobo menus.
- (update_bonobo_menus): Rewritten, just call remove_bonobo_menus()
- first and setup_bonobo_menus() then.
- (e_search_bar_set_ui_component): Call setup_bonobo_menus() and
- remove_bonobo_menus() as appropriate instead of just
- update_bonobo_menus().
-
-2002-07-02 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (update_sensitivity): Removed.
- (set_find_now_sensitive): New.
- (entry_changed_cb): Always make the "Find Now" button and menu
- item sensitive here.
- (emit_search_activated): ...And here, always insensitive.
- (setup_standard_verbs): Always start up insensitive.
- (activate_button_clicked_cb): Make the entry grab the focus.
- (clear_button_clicked_cb): Likewise.
-
-2002-07-02 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (subitem_activated_cb): Don't emit
- "search_activated" here.
- (e_search_bar_set_subitem_id): And not here either.
- (e_search_bar_set_text): Same.
-
-2002-07-02 Ettore Perazzoli <ettore@ximian.com>
-
- [Fix #7736.]
-
- * e-search-bar.c (activate_by_subitems): Don't set the entry to be
- an empty string here.
-
-2002-06-18 Ettore Perazzoli <ettore@ximian.com>
-
- * e-filter-bar.c (build_items): Put the numbers in front of the
- rules only if type is zero [i.e. not in the option menu].
-
-2002-05-30 Ettore Perazzoli <ettore@ximian.com>
-
- * e-filter-bar.c (dup_item_no_subitems): New helper function.
- (build_items): g_strdup() the text for all the items. Prepend the
- user-defined items with an order number.
- (free_built_items): New function to free the array returned by
- build_items, freeing the text strings too [since now they are
- newly allocated instead of just pointing to the exiting ones].
- (generate_menu): Call free_built_items() on the built items
- instead of just g_array_free().
- (set_option): Likewise.
-
-2002-05-22 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (update_bonobo_menus): Put the stuff in
- /menu/Searchplaceholder/Search instead of /menu/Search.
-
- * e-combo-button.c (impl_draw): New, overrides GtkWidget::draw.
- (impl_expose_event): New, overrides GtkWidget::expose_event.
-
-2002-05-20 Ettore Perazzoli <ettore@ximian.com>
-
- * e-filter-bar.c (build_items): Prepend the advanced menu with a
- separator.
-
- * e-filter-bar.h: Add E_FILTERBAR_SEPARATOR. Rename the "Advanced
- Search..." menu item into "Advanced...".
-
-2002-05-20 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (activate_by_subitems): Strip underscores from
- the menu item labels.
-
-2002-04-26 Christopher James Lahey <clahey@ximian.com>
-
- * e-multi-config-dialog.c (fill_in_pixbufs): Don't print out the
- colors here unless debugging is turned on.
-
-2002-04-22 Christopher James Lahey <clahey@ximian.com>
-
- * e-multi-config-dialog.c (e_multi_config_dialog_add_page):
- Updated this to match the changed function name in gal.
-
-2002-04-09 Dan Winship <danw@ximian.com>
-
- * e-search-bar.c (e_search_bar_construct, add_button): Oops. The
- previous change made the search bar widgets get packed in the
- wrong order. So use gtk_box_pack_end instead in add_button and add
- the two buttons in reverse order. It's all good now. Noticed by
- Ettore, who I then promptly blamed for it. Sorry Ettore!
-
-2002-04-08 Dan Winship <danw@ximian.com>
-
- * e-search-bar.c (e_search_bar_construct): Construct the buttons
- earlier so that the option-menu-setup code that tries to adjust
- the button sensitivity won't fail and g_warn.
-
-2002-04-06 JP Rosevear <jpr@ximian.com>
-
- * e-multi-config-dialog.c (e_multi_config_dialog_show_page): show
- a specific page number
-
- * e-multi-config-dialog.h: new proto
-
-2002-03-29 Ettore Perazzoli <ettore@ximian.com>
-
- * e-multi-config-dialog.c: Change the ETable specs so it doesn't
- sort.
-
-2002-03-20 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (update_bonobo_menus): Add accelerators for "Find
- Now" and "Clear".
-
- * e-filter-bar.h: Change search labels as suggested in Anna's
- redesign [#16246].
-
-2002-03-20 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (update_bonobo_menus): Remove all the SearchBar
- items before setting them up again.
- (free_menu_items): New.
- (impl_destroy): Call it.
- (set_menu): Call it here too before adding the new items.
-
-2002-03-18 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (verb_name_from_id): New.
- (e_search_bar_set_menu_sensitive): Rewritten using it.
-
-2002-03-18 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (update_bonobo_menus): No accelerator for
- "FindNow".
- (add_button): Add a one-pixel padding to the button.
-
-2002-03-18 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (update_bonobo_menus): Rename the "Search Now"
- menu entry to "Find Now". Rename the corresponding verb to
- "ESearchBar:FindNow".
- (update_sensitivity): Updated accordingly.
- (setup_standard_verbs): Likewise.
-
-2002-03-18 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (update_sensitivity): New halper function to
- update the sensitivity of the commands.
- (entry_changed_cb): New callback to make the activate_button and
- the "Find Now" verb sensitive only if the entry has some contents.
- (activate_by_subitems): Connect the callback here.
- (setup_standard_verbs): Call update_sensitivity() here.
-
-2002-03-18 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (init): Init clear_button to NULL.
- (add_button): New helper function to add a button to the search
- bar with the right spacing etc.
- (clear_search): New helper function.
- (add_activate_button): Removed.
- (clear_button_clicked_cb): New.
- (e_search_bar_construct): Just add the button here using
- `add_button'. Also add a clear_button.
- (clear_verb_cb): Rewritten by means of `clear_search()'.
-
- * e-search-bar.h (ESearchBar): Add clear_button.
-
-2002-03-18 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (search_now_verb_cb): New, implementation for a
- new "SearchNow" verb.
- (setup_standard_verbs): Create verb here.
- (update_bonobo_menus): Add SearchNow menu item.
-
-2002-03-18 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (clear_verb_cb): New.
- (setup_standard_verbs): New.
- (e_search_bar_set_ui_component): Call it if a new
- BonoboUIComponent is set.
- (append_xml_menu_item): New helper function.
- (update_bonobo_menus): Use it. Also add a "Clear" menu item.
- (e_search_bar_construct): @menu_items can be NULL now.
- (e_search_bar_new): Same here.
- (set_menu): Work with NULL items.
-
- * e-filter-bar.c (menubar_activated): Don't handle
- E_FILTERBAR_RESET_ID anymore.
-
- * e-filter-bar.h: Remove `E_FILTERBAR_RESET_ID' and `E_FILTERBAR_RESET'.
-
-2002-03-15 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (init): Init various members to NULL.
- (set_dropdown): Removed.
- (add_dropdown): Removed.
- (set_menu): New.
- (add_menu_items): New.
- (set_option): No need to setup the dropdown size here anymore.
- (verb_cb): Function implementing the search menu verbs.
- (update_bonobo_menus): New.
- (e_search_bar_set_ui_component): New.
-
- * e-search-bar.h: Remove the dropdown button stuff from struct
- ESearchBar. Add `uic' and `items' members.
-
- * e-filter-bar.c (e_filter_bar_new): Get a @uic arg.
-
-2002-03-15 Christopher James Lahey <clahey@ximian.com>
-
- * e-multi-config-dialog.c (init): Set horizontal scroll policy to
- GTK_POLICY_NEVER here. Don't set usize here. Changed RGBA_COLOR
- to RGB_COLOR. Turned on horizontal resize.
-
-2002-03-13 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-charset-picker.c (add_charset): If the charset item doesn't
- have a class (aka "Unknown"), don't write a class name, instead
- just give the charset name as the menu item label. Fixes bug
- #14753.
-
-2002-03-13 Christopher James Lahey <clahey@ximian.com>
-
- * e-multi-config-dialog.c: Added alpha blending here.
-
-2002-03-12 Christopher James Lahey <clahey@ximian.com>
-
- * e-multi-config-dialog.c: Removed Page struct.
- (e_multi_config_dialog_add_page): Select the initial row after
- appending to the model.
-
-2002-03-12 Christopher James Lahey <clahey@ximian.com>
-
- * e-multi-config-dialog.c (init): Use Use e_table_memory_store
- instead of e_table_memory_callbacks. Use e_cell_vbox to include a
- pixbuf cell and a text cell.
-
-2002-03-11 Ettore Perazzoli <ettore@ximian.com>
-
- * e-multi-config-dialog.c (init): Use GNOME_STOCK_BUTTON_CLOSE,
- not GNOME_STOCK_BUTTON_CANCEL.
- (do_close): Renamed from `cancel'.
- (do_apply): Renamed from `apply'.
- (do_ok): Renamed from `ok'.
-
-2002-03-09 Ettore Perazzoli <ettore@ximian.com>
-
- * e-multi-config-dialog.c: Rename Page.widget -> Page.page_widget;
- it is now an EConfigPage instead of just a GtkWidget. Add
- `num_unapplied' to EMultiConfigDialogPrivate. Derive from
- GnomeDialog, not GtkWindow.
- (update_buttons): New function to update the sensitiveness of the
- buttons according to whether all the settings have been applied or
- not.
- (page_new): Likewise.
- (create_page_container): Renamed from `create_page_widget'.
- (init): Add Apply/OK/Cancel buttons to the dialog. Init
- ->num_unapplied to zero.
- (page_changed_callback): New, callback for the page's "changed"
- signal.
- (e_multi_config_dialog_add_page): Connect the callback, update
- ->num_unapplied, update the buttons by calling `update_buttons'.
- (ok): New function for handling the OK button.
- (apply): New function for handling the Apply button.
- (cancel): New function for handling the Cancel button.
- (impl_clicked): Implementation for the GnomeDialog's ::clicked
- signal.
- (class_init): Install.
-
- * test-multi-config-dialog.c (add_pages): Update to use
- EConfigPages instead of plain GtkWidgets.
-
- * e-multi-config-dialog.c, e-multi-config-dialog.h: Derive from
- GnomeDialog, not GtkWindow.
-
- * e-config-page.c: New.
- * e-config-page.h: New.
-
-2002-03-07 Ettore Perazzoli <ettore@ximian.com>
-
- * e-multi-config-dialog.c: Don't display a header in the table on
- the left.
-
-2002-03-05 Ettore Perazzoli <ettore@ximian.com>
-
- * test-multi-config-dialog.c: New.
- * test-multi-config-dialog.h: New.
-
- * e-multi-config-dialog.c: New.
- * e-multi-config-dialog.h: New.
-
-2002-02-24 Chris Toshok <toshok@ximian.com>
-
- * e-filter-bar.c (init): preserve behavior - hook search_activated
- signal to the same function as query_changed.
-
- * e-search-bar.c (emit_search_activated): new function.
- (entry_activated_cb): use emit_search_activated instead of
- emit_query_changed.
- (subitem_activated_cb): same.
- (activate_button_clicked_cb): same.
- (class_init): add the search_activated signal.
- (idle_activate_hack): rename idle_change_hack to this, and
- emit_search_activated.
- (e_search_bar_construct): idle_change_hack -> idle_activate_hack.
- (e_search_bar_set_subitem_id): emit_search_activated instead of
- emit_query_changed.
- (e_search_bar_set_text): same.
-
- * e-search-bar.h (struct _ESearchBarClass): add a search_activated
- signal.
-
-2002-02-21 Ettore Perazzoli <ettore@ximian.com>
-
- * e-combo-button.c (set_icon): gtk_widget_show() the icon_pixmap
- if the specified icon is not NULL.
-
-2002-02-20 Ettore Perazzoli <ettore@ximian.com>
-
- * e-combo-button.c (set_icon): Work with a NULL @pixbuf as well
- [in that case, just hide the current icon widget].
- (e_combo_button_set_icon): Remove the precondition about @pixbuf
- being non-NULL.
-
-2002-02-08 JP Rosevear <jpr@ximian.com>
-
- * e-url-button.[hc]: remove briefly used files
-
-2002-02-08 JP Rosevear <jpr@ximian.com>
-
- * e-url-entry.[hc]: button/entry combo that launchs the gnome url
- handler on the entry text when the button is clicked
-
- * Makefile.am: build new files
-
-2002-02-08 JP Rosevear <jpr@ximian.com>
-
- * Makefile.am: build new files
-
- * e-url-button.[hc]: button widget that when clicked slurps the
- url of an entry and launchs the gnome url handler on the text
-
-2002-01-27 Ettore Perazzoli <ettore@ximian.com>
-
- * Makefile.am: Use GNOME_FULL_CFLAGS and GNOME_FULL_LIBS.
-
-2002-01-23 Ettore Perazzoli <ettore@ximian.com>
-
- * e-combo-button.c: Remove member `separator' from
- `EComboButtonPrivate'. New members `icon', `label'.
- (init): There shall be no separator no more. Init `icon' and
- `label' to %NULL.
- (e_combo_button_construct): Set no relief.
- (e_combo_button_new): Don't get a @menu arg anymore.
- (e_combo_button_construct): Likewise.
- (e_combo_button_set_icon): New.
- (e_combo_button_set_label): New.
- (e_combo_button_set_menu): New.
- (impl_clicked): New, overriding the "clicked" method for
- GtkButton.
- (class_init): Install.
- (impl_button_release_event): Removed.
- (class_init): No need to override ::release_event with this
- anymore.
- (impl_released): New, override for the GtkButton::released method.
- (class_init): Install.
-
-2002-01-04 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-charset-picker.c: Added iso-8859-8 (Hebrew; Visual) to the
- list of charsets in the menu. Fixes bug #15655.
-
-2001-12-20 Ettore Perazzoli <ettore@ximian.com>
-
- * e-combo-button.c: New.
- * e-combo-button.h: New.
-
-2001-11-21 Not Zed <NotZed@Ximian.com>
-
- * e-filter-bar.c (menubar_activated): Mark the dialogue as already
- up so we dont allow multiple dialogues up. Behaviour fix part of
- #15745.
-
-2001-11-28 Damon Chaplin <damon@ximian.com>
-
- * e-map.c: updated to new version from Ximian Setup Tools.
- Fixes bug #7641.
-
-2001-11-27 Damon Chaplin <damon@ximian.com>
-
- * e-dateedit.c (e_date_edit_get_date): if allow_no_date_set is FALSE,
- return the last valid date entered, even if the field is currently
- empty. Fixes bug #15749.
-
-2001-11-05 JP Rosevear <jpr@ximian.com>
-
- * e-dateedit.c (e_date_edit_set_date_and_time_of_day): set both
- the date and the time of day in one call, creating only a single
- changed signal
-
- * e-dateedit.h: add proto
-
-2001-11-05 Christopher James Lahey <clahey@ximian.com>
-
-Based on a patch by Damon Chaplin <damon@ximian.com>
-
- * e-cell-date-edit.c: Connect to the button_press signal on the
- popup and do the grab correctly so that this dialog behaves
- properly when the user clicks it away. Also, changed all
- instances of setting of popup_shown field of ECellPopup to call
- e_cell_popup_set_shown. Fixes Ximian bug #14016.
-
-2001-10-31 <NotZed@Ximian.com>
-
- * e-filter-bar.c (build_items): Snotty code so we only disconnect
- to rules we no longer have, etc.
-
-2001-11-01 Not Zed <NotZed@Ximian.com>
-
- * e-filter-bar.c (build_items): Ref and connect to rule changed
- here, also clear out previous ref's.
- (generate_menu): No longer connect to rules, or reset rule array.
- (set_option): Dont reset option rules array.
- (context_rule_removed): Disconnect changed event on rule.
- (clear_rules): Fujnction to clear rules from an array.
- (destroy): Disconnect from context signals, and clear rules arrays.
-
- * e-filter-bar.h: Remove hash table for change id's.
-
-2001-10-30 Damon Chaplin <damon@ximian.com>
-
- * e-dateedit.c (e_date_edit_set_time_of_day): emit signal when time
- set to none/empty.
-
-2001-10-30 <NotZed@Ximian.com>
-
- * e-filter-bar.c (generate_menu): Hook to rule changed events.
- (destroy): Free change id table/unconnect to signals.
- (init): Setup change id table.
- (e_filter_bar_new): Hook onto rule removed signal.
- (context_rule_removed): If rule removed, disconnect from signal handler.
- (rule_changed): For changed rules, also rebuild menu. Fixed #12233.
-
-2001-10-30 Damon Chaplin <damon@ximian.com>
-
- * e-cell-date-edit.c (e_cell_date_edit_set_popup_values): try to parse
- just a date first, and if that works we assume it is a DATE value,
- so we clear the time field in the popup.
- (e_cell_date_edit_on_ok_clicked): if the time field is empty, use a
- DATE value.
- Also removed some debug messages.
-
-2001-10-30 <NotZed@Ximian.com>
-
- * e-filter-bar.c (set_option): Set the item to the option_base on
- it, so the current item is set. Fix for #7081.
-
-2001-10-30 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-date-edit.c (e_cell_date_edit_get_popup_pos): Adapt to
- the new ECellPopup signature.
-
-2001-10-29 Damon Chaplin <damon@ximian.com>
-
- * e-calendar-item.c (e_calendar_item_signal_emission_idle_cb): ref
- the ECalendarItem and check if it gets destroyed, to try to avoid a
- free memory write.
-
- * e-dateedit.c (e_date_edit_set_time_of_day): allow setting the time
- to empty by passing hour as -1.
-
-2001-10-23 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-filter-bar.c (rule_editor_clicked): Don't add the menu item
- here, do this in the context_changed signal callback instead.
- (context_changed): rebuild the search menu.
- (set_menu): Copy the items into a default_items list so we can
- regenerate the menu when something changes. Then call
- generate_menu().
- (generate_menu): Do what set_menu() used to do.
- (e_filter_bar_new): Don't do a rule_context_load() anymore since
- we don't need to.
- (destroy): free the default_items list.
-
-2001-10-23 Damon Chaplin <damon@ximian.com>
-
- * e-search-bar.c (copy_subitems): copy the translate field over as
- well. Should fix an uninitialized memory read.
-
-2001-10-23 Damon Chaplin <damon@ximian.com>
-
- * e-dateedit.c (e_date_edit_check_date_changed):
- (e_date_edit_check_time_changed): clear the struct tm fields to keep
- purify happy.
-
-2001-10-22 Damon Chaplin <damon@ximian.com>
-
- * e-cell-date-edit.c (e_cell_date_edit_set_popup_values):
- (e_cell_date_edit_update_cell): use the new ECellText methods to get
- the text and set the value.
-
- * e-cell-percent.c: new subclass of ECellText to display & edit a
- percentage value.
-
-2001-10-20 Jon Trowbridge <trow@ximian.com>
-
- * e-dateedit.c (e_date_edit_check_date_changed): Keep us from
- reading tmp_tm uninitialized, so purify won't complain.
-
-2001-10-09 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-charset-picker.c (e_charset_picker_bonobo_ui_populate): Now
- takes a menu path argument.
-
-2001-10-04 Rodrigo Moya <rodrigo@ximian.com>
-
- * Makefile.am: added BONOBO_GNOME_CFLAGS to make it compile with
- latest Bonobo
-
-2001-10-04 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-date-edit.c (e_cell_date_edit_get_popup_pos): Call
- gnome_canvas_world_to_window here. Finishes fixing Ximian bug
- #2613.
-
-2001-09-18 Damon Chaplin <damon@ximian.com>
-
- * e-dateedit.c (e_date_edit_grab_focus): grab focus to the date entry
- or the time entry, depending on which is visible. Fixes bug #7237.
-
-2001-09-16 Chris Toshok <toshok@ximian.com>
-
- * e-dateedit.h: add prototype for e_date_edit_set_editable.
-
- * e-dateedit.c (e_date_edit_set_editable): new function, analogous
- to gtk_entry_set_editable: let's the user select but not edit (or
- in this case, bring up the calendar view.)
-
-2001-09-13 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-search-bar.c (set_dropdown): Don't unref the old dropdown, we
- don't "own" it.
-
-2001-09-13 Larry Ewing <lewing@ximian.com>
-
- * e-search-bar.c (set_dropdown): unref the old dropdown_menu if
- there is one.
-
-2001-09-12 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-filter-bar.c (menubar_activated): No longer need the context
- in order to clone a FilterRule.
- (option_changed): Same.
-
-2001-09-06 Anna Marie Dirks <anna@ximian.com>
-
- * e-filter-bar.c: added a default size for the saved search
- dialog of 600 x 300 such that it opens at a usable size.
- this fixes bug #7083.
-
-2001-09-05 Anna Marie Dirks <anna@ximian.com>
-
- * e-search-bar.c (add_activate_button): added a wee bit of
- padding around the find now label in response to bug #7049.
-
-2001-08-23 Federico Mena Quintero <federico@ximian.com>
-
- * e-search-bar.c (e_search_bar_set_ids): New function to set the
- item_id and the subitem_id simultaneously.
-
-2001-08-16 Damon Chaplin <damon@ximian.com>
-
- * e-dateedit.c: added e_date_edit_get/set_make_time_insensitive()
- which makes the time field insensitive rather than hiding it.
- I'm not sure we're going to actually use this now, though.
-
-2001-08-16 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (activate_by_subitems): Set the horizontal usize
- of the entry to 4.
-
-2001-08-16 Jon Trowbridge <trow@ximian.com>
-
- * e-filter-bar.c (option_changed): Adjusted for renamed ESearchBar
- functions.
- (menubar_activated): Adjusted for renamed ESearchBar functions.
-
- * e-search-bar.c: Renames some of the horrible function names:
- s/option_choice/item_id/, s/suboption_choice/subitem_id/.
-
-2001-08-14 Federico Mena Quintero <federico@ximian.com>
-
- * e-cell-date-edit.c (e_cell_date_edit_destroy): Destroy, do not
- unref, the popup_window.
-
-2001-08-14 Federico Mena Quintero <federico@ximian.com>
-
- * e-search-bar.c (activate_by_subitems): Correctness fixes for
- when the entry and submenu must be interchanged.
-
-2001-08-14 Federico Mena Quintero <federico@ximian.com>
-
- *Please* add accessor functions instead of just object arguments!
-
- * e-search-bar.c (e_search_bar_set_option_choice): New function.
- (e_search_bar_set_suboption_choice): New function.
- (e_search_bar_set_text): New function.
- (impl_set_arg): Use the functions above instead of setting things
- directly.
- (add_dropdown): If the item is a separator, set it as insensitive.
- (activate_by_subitems): Handle the translate field in the subitem
- structure. Also, allow the creation of separators by having NULL
- text strings in the subitems.
- (set_option): If the item is a separator, set it as insensitive.
- (set_option): Do not use the subitem_garbage hack. Do proper
- memory management instead.
- (e_search_bar_set_suboption): New function to change the suboption
- items in a search bar.
-
- * e-search-bar.h (ESearchBarSubitem): Added a `translate' field.
- This API sucks so much it is not funny.
- (ESearchBar): Removed the subitem_garbage hack. Please do proper
- memory management.
-
-2001-08-14 Jon Trowbridge <trow@ximian.com>
-
- * e-search-bar.c (activate_by_subitems): Oops... initial
- suboption_choice should be subitems[0].id, not 0.
-
-2001-08-10 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-search-bar.c (impl_destroy): Oops, we didn't need to unref all
- of the widgets, just a few.
-
-2001-08-10 Jon Trowbridge <trow@ximian.com>
-
- * e-filter-bar.h: Set the subitems to NULL in the pre-defined
- ESearchBarItems.
-
- * e-filter-bar.c (rule_editor_clicked): Set the ESearchBarItem's
- subitems to NULL.
- (build_items): Set the ESearchBarItem's subitems to NULL.
- (e_filter_bar_new): Set the ESearchBarItem's subitems to NULL.
-
- * e-search-bar.c: Added support for subitems, so that a search
- option can key off of another option menu rather than just an
- entry.
-
-2001-08-10 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-filter-bar.c (destroy): Free all the goodies that we allocate
- at construct time and unref the rule context.
- (class_init): Override the destroy method.
-
-2001-08-09 Anna Marie Dirks <anna@ximian.com>
-
- Fixes bug #6918
-
- * e-filter-bar.h: Changed the "Save As.." menu item to
- "Add to Saved Searches".
-
-2001-08-09 Anna Marie Dirks <anna@ximian.com>
- * e-filter-bar.h : changed the E_FILTERBAR_RESET label from
- "Show All" to "Clear" to alleviate confusion about whether
- "Show All" means that hidden messages are also shown or not.
- (See ximian bug #6743)
-
-2001-08-09 Federico Mena Quintero <federico@ximian.com>
-
- * e-calendar-item.c (e_calendar_item_destroy): Chain to the
- destroy handler in the parent class!
-
- * e-clipped-label.c (e_clipped_label_destroy): Likewise. Sigh.
-
- * e-dropdown-button.c (impl_destroy): Likewise. Double sigh.
-
-2001-08-08 Anna Marie Dirks <anna@ximian.com>
-
- * e-search-bar.c: Re-labeled the "Activate" button "Find Now".
-
-2001-08-08 Ettore Perazzoli <ettore@ximian.com>
-
- * e-bonobo-widget.c: New.
- * e-bonobo-widget.h: New.
-
-2001-08-05 Ettore Perazzoli <ettore@ximian.com>
-
- [Added an "Activate" button to the search bar.]
-
- * e-search-bar.c (submit_button_clicked_cb): Callback for the
- "clicked" signal on the activate button.
- (add_submit): New function to add a "Activate" button on the right
- of the entry.
- (e_search_bar_construct): Call it.
- (add_spacer): Removed.
- (e_search_bar_construct): Don't call it.
- (find_id): Remove debugging message.
- (put_in_spacer_widget): New utility function to create a
- GtkEventBox with a border width of one and put a widget into it.
-
-2001-08-04 Ettore Perazzoli <ettore@ximian.com>
-
- * e-title-bar.c: Make the close icon as large as the pin icon so
- the bar doesn't change size when it switches between them.
- (e_title_bar_construct): Add some horizontal padding to the label
- to make it look nicer.
-
-2001-08-03 Federico Mena Quintero <federico@ximian.com>
-
- * e-calendar-item.c (e_calendar_item_mark_day): Request an update.
- (e_calendar_item_mark_days): Likewise.
-
-2001-07-24 Damon Chaplin <damon@ximian.com>
-
- * e-calendar-item.c (e_calendar_item_show_popup_menu): don't show the
- year in the popup submenu for the months, and center the months.
- Fixes
-
-2001-07-18 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-filter-bar.c (rule_editor_destroyed): When the dialog gets
- closed, always make sure the entry widget becomes sensitive again.
- (menubar_activated): Don't use FILTER_SOURCE_INCOMING because
- that's not what we want, we want (I think) NULL (at least with
- NULL, bug #4490 goes away).
-
-2001-07-16 Federico Mena Quintero <federico@ximian.com>
-
- Fixes bug #2901.
-
- * e-dateedit.c (e_date_edit_parse_date): Use e_time_parse_date().
- (e_date_edit_parse_time): Use e_time_parse_time().
-
-2001-07-17 jacob berkman <jacob@ximian.com>
-
- * e-search-bar.c (set_dropdown): don't unset _CAN_FOCUS
-
- * e-dropdown-button.c (menu_deactivate_cb): un-toggle ourself
- (impl_toggled): override the toggled rather than clicked signal.
- if we are active, popup the menu; else, popdown
-
- these fix ximian #2016
-
-2001-07-02 Damon Chaplin <damon@ximian.com>
-
- * e-calendar-item.c:
- * e-cell-date-edit.c:
- * e-dateedit.c: added functions to set a callback to get the current
- time, which is used instead of localtime(). We need this as we have to
- use our own timezones.
-
-2001-07-02 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-charset-picker.c (e_charset_picker_bonobo_ui_populate): Take a
- callback function and user_data so that we can add listeners to
- each of the menu items.
-
-2001-07-02 Jeffrey Stedfast <fejj@ximian.com>
-
- * Makefile.am: Updated to build e-charset-picker.c
-
- * e-charset-picker.[c,h]: Moved here from gal.
- (e_charset_picker_bonobo_ui_populate): New function to populate a
- bonobo-ui with a charset picker menu.
-
-2001-06-14 Damon Chaplin <damon@ximian.com>
-
- * e-map.[hc]: copied the EMap widget verbatim from Ximian Setup Tools.
- Hmm. Maybe it should go in gal, but its not a very general widget.
-
- * Makefile.am (INCLUDES): defined MAP_DIR for e-map.c.
- (libemiscwidgets_a_SOURCES): added e-map.[hc].
-
-2001-05-31 Federico Mena Quintero <federico@ximian.com>
-
- * e-dropdown-button.c (impl_button_press_event): Removed unused
- variable.
-
- * e-cell-date-edit.c (e_cell_date_edit_rebuild_time_list): Removed
- unused variable.
-
-2001-05-07 Gediminas Paulauskas <menesis@delfi.lt>
-
- * misc/e-filter-bar.h: xgettext does not find N_() in #defines. So
- created fake enum. Also removed spaces before "..."
-
-2001-04-24 Kjartan Maraas <kmaraas@gnome.org>
-
- * e-calendar-item.c, e-calendar.c, e-cell-date-edit.c,
- e-clipped-label.c, e-dateedit.c, e-dropdown-button:
- Added #include <glib.h> and moved corresponding local headers
- to the top.
-
-2001-04-15 Federico Mena Quintero <federico@ximian.com>
-
- * e-search-bar.c (e_search_bar_get_option_choice): New function,
- because it is ridiculous to have to hunt down object arguments to
- fetch values.
- (e_search_bar_get_text): Likewise.
- (impl_get_arg): Use the functions above so that we have to
- maintain only one version of the getters.
-
-2001-04-04 Kjartan Maraas <kmaraas@gnome.org>
-
- * e-calendar.c: More header fixes.
- * e-cell-date-edit.c: Same.
- * e-dateedit.[ch]: Same.
- * e-title-bar.c: Same here.
- * e-search-bar.c: More header fixes.
- * test-calendar.c: Same here.
-
-2001-03-29 Kjartan Maraas <kmaraas@gnome.org>
-
- * e-dropdown-button.c: Replace #include <gtk/gtk.h>
- * e-dropdown-button.h: Remove #include <gnome.h>
- * e-filter-bar.c: Replace #include <gtk/gtk.h>
- * e-filter-bar.h: Replace #include <gtk/gtk.h>
- * e-messagebox.c: Add #includes to count for removed <gnome.h> in
- e-messagebox.h:
- * e-messagebox.h: Replace #include <gnome.h>
- * e-search-bar.c: Replace #include <gnome.h>
- * e-search-bar.h: Same here
- * test-calendar.c: Remove #include <gnome.h>
- * test-dateedit.c: Replace #include <gnome.h>
- * test-dropdown-button.c: Same here.
- * test-title-bar.c: Same here.
-
-2001-03-22 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-filter-bar.c (rule_editor_clicked): Validate the filter rule.
-
-2001-03-18 Damon Chaplin <damon@ximian.com>
-
- * e-cell-date-edit.c (e_cell_date_edit_show_time_invalid_warning):
- use gnome_dialog_run() to make the warning dialog modal. Also created
- a better warning message showing the format expected.
- Also used e_time_format_time() to format all times.
-
-2001-03-15 Not Zed <NotZed@Ximian.com>
-
- * e-filter-bar.c (menubar_activated): If we click on the edit
- menu, then bring up a rule editor. If the user adds/removes rules
- though, they are neither saved, nor added to the menu's. sigh.
-
-2001-03-04 Damon Chaplin <damon@ximian.com>
-
- * e-cell-date-edit.c: pretty much working now.
-
-2001-03-01 Not Zed <NotZed@Ximian.com>
-
- * e-filter-bar.c: New type of search bar that interacts with
- filter contexts to save filters etc. Still probably needs a
- little cleanpu.
-
-2001-02-28 Not Zed <NotZed@Ximian.com>
-
- * e-search-bar.c (add_dropdown): Save the dropdown menu in the
- struct too. Sigh, this is only so we can scan its content later,
- ick.
- (e_search_bar_set_menu_sensitive): New function to se tthe
- sentisitivty of menyu items based on id.
- (find_id): New function to find the row and widget for a specific
- id.
- (add_option): Renamed to set_option.
- (add_dropdown): Renamed to set_dropdown.
- (add_dropdown): ?New function to add a single item.
- (set_dropdown): Call add_dropdown to add each item.
- (e_search_bar_add_menu): New public function to add a single item.
-
-2001-02-27 Not Zed <NotZed@Ximian.com>
-
- * Makefile.am (libemiscwidgets_a_SOURCES): Added filter-bar.[ch].
-
- * e-search-bar.c (class_init): Init virtual functions.
- (e_search_bar_set_option):
- (e_search_bar_set_menu): virtualise calling.
- (e_search_bar_construct): Call virtual functions to setup menus.
-
- * e-search-bar.h (struct _ESearchBarClass): Virtualise
- add_dropdown/add_option, so certain base options can be created.
-
-2001-02-25 Damon Chaplin <damon@ximian.com>
-
- * e-cell-date-edit.[hc]: new files to implement an ECell for showing
- and editing dates & times. (Unfinished)
-
- * Makefile.am (libemiscwidgets_a_SOURCES): added e-cell-date-edit.[hc]
-
-2001-02-24 Not Zed <NotZed@Ximian.com>
-
- * e-search-bar.c (add_dropdown): Move the event box into the
- esb->dropdown_holder. Changed so it can be called again on the
- same esb, to rebuild the menu.
- (e_search_bar_set_menu): New function to (re)set the menu.
- (add_option): Setup so it can be re-called to rebuild the option
- list.
- (e_search_bar_set_option): New function to build the menu's.
-
-2001-02-05 Jeffrey Stedfast <fejj@ximian.com>
-
- * .cvsignore: Ignore test-dropdown-button
-
-2001-01-28 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (add_spacer): Make the spacer 4 pixels wider.
- (add_dropdown): Put the dropdown button into an event box with a
- 1-pixel border, so that we match the [Hardcoded! Stupid GTK+!]
- border around the option menu.
-
-2001-01-28 Ettore Perazzoli <ettore@ximian.com>
-
- * e-dropdown-button.c (menu_deactivate_cb): New function to change
- the state of the toggle button when the pop-up menu disappears.
- (impl_clicked): Removed.
- (impl_button_press_event): New, implementation for
- `::button_press_event'. Pop-up the menu, and toggle the button.
- (class_init): Override `::button_press_event' with
- `impl_button_press_event'; don't override `::clicked' anymore.
-
- * e-dropdown-button.h, e-dropdown-button.c: Derive from
- `GtkToggleButton', instead of plain `GtkButton'.
-
-2001-01-27 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (add_dropdown): Make the dropdown button
- non-focusable.
-
-2001-01-27 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (e_search_bar_init): Don't create the widgets
- here.
- (e_search_bar_construct): New. Do it here instead.
- (e_search_bar_new): Call it. Added preconditions.
- (esb_pack_menubar): Removed.
- (add_dropdown): New.
- (add_option): New.
- (add_entry): New.
- (e_search_bar_construct): Use `add_dropdown()', `add_option()',
- `add_entry()'.
- (class_init): Renamed from `e_seearch_bar_class_init'.
- (init): Renamed from `e_search_bar_init'.
- (impl_destroy): Renamed from `e_search_bar_destroy'.
- (emit_menu_activated): Renamed from `esb_menu_activated'.
- (emit_query_changed): Renamed from `esb_query_changed'.
- (menubar_activated_cb): Renamed from `esb_menubar_activated'.
- (option_activated_cb): Renamed from `esb_option_activated'.
- (esb_entry_activated): Renamed from `esb_entry_activated'.
- (impl_set_arg): Renamed from `e_search_bar_set_arg'.
- (impl_get_arg): Renamed from `e_search_bar_get_arg'.
-
- * e-search-bar.h (struct _ESearchBar): Removed member `menubar';
- replaced it with `dropdown'.
-
-2001-01-27 Ettore Perazzoli <ettore@ximian.com>
-
- * e-dropdown-button.c (e_dropdown_button_construct): Removed
- @ui_info and @data args. Obviously I am not very smart at this
- time of the night.
- (e_dropdown_button_new): Likewise.
-
-2001-01-27 Ettore Perazzoli <ettore@ximian.com>
-
- * e-dropdown-button.c, e-dropdown-button.h: New.
-
-2001-01-25 Damon Chaplin <damon@ximian.com>
-
- * e-calendar-item.[hc]: e_calendar_item_get_date_range() now returns
- a boolean, which is FALSE if no dates are currently shown.
- Plus a couple of minor sanity checks.
-
-2001-01-19 Federico Mena Quintero <federico@ximian.com>
-
- * e-calendar.c (e_calendar_init): Unset the GTK_CAN_FOCUS flag on
- the ECalendar.
- (e_calendar_focus_in): Removed function since it did nothing.
- (e_calendar_focus_out): Likewise.
- (e_calendar_key_press): Likewise.
- (e_calendar_init): Turn off the GTK_CAN_FOCUS flag for both arrow
- buttons.
-
-2001-01-17 Federico Mena Quintero <federico@ximian.com>
-
- * e-calendar-item.c (e_calendar_item_set_max_days_sel): Make zero
- the minimum number of days that can be specified.
- (e_calendar_item_set_arg): We do need an update when the maximum
- number of selected days is changed.
- (e_calendar_item_set_max_days_sel): Request an update of the
- canvas item.
- (e_calendar_item_button_press): Do not start selecting days if the
- max_days_selected is less than 1.
-
-2001-01-17 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-messagebox.c (e_message_box_get_id): Oops. Delete this. I
- never meant for this to get commit'd.
-
-2001-01-17 JP Rosevear <jpr@ximian.com>
-
- * e-messagebox.c (e_message_box_get_id): Dont remove the function, give
- it the proper name
-
-2001-01-17 Ettore Perazzoli <ettore@ximian.com>
-
- * e-messagebox.c (e_message_box_get_checkbox): Remove the version
- returning `const char *' as of course it doesn't compile. Please
- compile before committing.
-
-2001-01-17 Jeffrey Stedfast <fejj@ximian.com>
-
- * Makefile.am: Added e-messagebox to the build.
-
- * e-messagebox.[c,h]: Added a new messagebox window that contains
- a checkbox for "Don't show me this again."
-
-2001-01-16 Jason Leach <jasonleach@usa.net>
-
- * e-search-bar.[ch]: Moved here from $(toplevel)/filter.
-
-2000-12-22 JP Rosevear <jpr@helixcode.com>
-
- * e-calendar-item.h: add prototypes
-
- * e-calendar-item.c (e_calendar_item_init): Set max_days_selected to
- 1 and days_to_start_week_selection to -1 as documented in header
- (e_calendar_item_set_arg): use new accessor methods
- (e_calendar_item_get_arg): ditto
- (e_calendar_item_get_max_days_sel): accessor
- (e_calendar_item_set_max_days_sel): ditto
- (e_calendar_item_get_days_start_week_sel): ditto
- (e_calendar_item_set_days_start_week_sel): ditto
- (e_calendar_item_class_init): add display_popup argument
- (e_calendar_item_init): initialize display_popup member
- (e_calendar_item_get_arg): get display_popup member
- (e_calendar_item_set_arg): set display_popup member
- (e_calendar_item_button_press): only show the popup menu if the
- member is set
- (e_calendar_item_get_display_popup): acessor
- (e_calendar_item_set_display_popup): ditto
-
-2000-12-14 Federico Mena Quintero <federico@helixcode.com>
-
- * e-dateedit.h: #include <time.h>
-
-2000-12-08 JP Rosevear <jpr@helixcode.com>
-
- * e-calendar.c (e_calendar_destroy): Call the parent class destroyer
- as well
-
-2000-10-26 Damon Chaplin <damon@helixcode.com>
-
- * e-dateedit.[hc]: updated to emit "changed" when appropriate, which
- turned out to be amazingly difficult :(
- Also added e_date_edit_get/set_date() to get/set just the date.
- Added e_date_edit_date_is_valid() & e_date_edit_time_is_valid() so
- you can check if the user has tried to enter an invalid date.
- (All the get_date/time functions return the last valid date entered.)
-
- * test-dateedit.c: updated a bit.
-
-2000-11-02 Federico Mena Quintero <federico@helixcode.com>
-
- * e-dateedit.h (EDateEditClass): Removed the "time_changed"
- signal, since it was never being emitted in the first place. Time
- values *are* both date and time together anyways, so whenever one
- changes we should notify about the whole date/time value being
- changed.
- Renamed the remaining "date_changed" signal to just "changed".
-
- * e-dateedit.c (e_date_edit_class_init): Do not create the
- "time_changed" signal; rename the other one to "changed".
- (set_time): Moved the core functionality from
- e_date_edit_set_time() to here. This function just sets the
- widgets' values without emitting any signals.
- (e_date_edit_set_time): Emit the "changed" signal unconditionally.
- This is to be consistent with the rest of the GTK+ widgets, and it
- actually makes writing client code easier.
- (e_date_edit_new): Use set_time().
- (on_date_popup_now_button_clicked): Do not emit the signal here.
- (on_date_popup_none_button_clicked): Likewise.
- (e_date_edit_set_time_of_day): Emit the signal, since we do not
- call e_date_edit_set_time().
-
-2000-10-30 Kjartan Maraas <kmaraas@gnome.org>
-
- * e-calendar-item.c: #include <string.h> to get rid of warning.
- * e-clipped-label.c: Same here.
-
-2000-10-27 Federico Mena Quintero <federico@helixcode.com>
-
- * e-dateedit.c (e_date_edit_destroy): Do not unref the cal_popup
- since we already destroyed it.
-
-2000-10-11 Damon Chaplin <damon@helixcode.com>
-
- * e-calendar-item.c (e_calendar_item_recalc_sizes): fixed to
- recalculate min_cell_width/height in case the show_week_numbers option
- is changed.
-
- * e-dateedit.c: added support for hiding the date field, and added
- get/set_time_of_day() functions to get/set just the time.
-
-2000-09-30 Damon Chaplin <damon@helixcode.com>
-
- * e-calendar-item.c:
- * e-dateedit.c: better i18n of strftime strings.
-
-2000-09-29 Ettore Perazzoli <ettore@helixcode.com>
-
- * e-title-bar.c: New member `pin_gtk_pixmap' in
- `ETitleBarPrivate'. Signal "close_button_clicked" renamed to
- "button_clicked". Signal "title_button_press_event" renamed to
- "label_button_press_event".
- (init): Init new members.
- (close_button_realize_cb): Create the pin pixmap. Call
- `show_and_hide_pixmaps_according_to_mode()'.
- (e_title_bar_show_close_button): Renamed to
- `e_title_bar_show_button'.
- (e_title_bar_get_button_mode): New.
- (e_title_bar_set_button_mode): New.
-
-2000-09-23 Damon Chaplin <damon@helixcode.com>
-
- * e-calendar.c: use pixmaps instead of GtkArrows to look better.
- Also set the canvas window's background when realized so that we can
- set the button reliefs to none.
-
-2000-09-22 Damon Chaplin <damon@helixcode.com>
-
- * test-dateedit.c: updated a bit, adding a few EDateEdits with
- different options.
-
- * e-calendar-item.c (e_calendar_item_set_selection): aborted any
- current selection operation and initialize all of the selection fields.
- (e_calendar_item_unmap): new function to abort any current selection
- operation. Otherwise GnomeCanvas gets in a muddle about grabs.
-
- * e-dateedit.c: marked some strftime()/strptime() format strings for
- translation and used "%m/%d/%Y" instead of "%x" so we get the complete
- year number. Also changed e_date_edit_get_time() so it returns -2 if
- it can't parse the date or time, and -1 if it is explicitly set to
- None.
- (e_date_edit_parse_date): new function to parse the date string and
- add on the current century if a year of 0-99 is entered.
-
-2000-09-21 Damon Chaplin <damon@helixcode.com>
-
- * e-dateedit.c (on_date_button_clicked): only check return of strptime
- for NULL. It should now select the correct day set in the popup.
-
- * e-calendar.c:
- * e-calendar-item.c:
- * test-calendar.c: removed support for buttons within the ECalendar.
- It is cleaner to add them outside it, as EDateEdit does.
-
-2000-09-18 Dan Winship <danw@helixcode.com>
-
- * e-dateedit.c (_XOPEN_SOURCE): set this to 4 to specify how much
- X/Open we want with that.
-
-2000-09-18 Christopher James Lahey <clahey@helixcode.com>
-
- * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and
- $(EXTRA_GNOME_LIBS). Removed unneeded libraries.
-
- * e-calendar-item.c, e-calendar.c, e-calendar.h, e-title-bar.c:
- Fixed the #include lines to deal properly with gal.
-
- * e-scroll-frame.c, e-scroll-frame.h: Moved to gal.
-
-2000-09-11 Damon Chaplin <damon@helixcode.com>
-
- * Makefile.am (libemiscwidgets_a_SOURCES): added e-dateedit.[hc]
- and the test-dateedit app.
-
- * e-dateedit.[hc]: new widget to use instead of GnomeDateEdit. It
- uses the new ECalendar widget for the calendar and also supports
- "None", "Today" and "Now" buttons, and goes away with a single click.
-
- * test-dateedit.c: app to test the EDateEdit widget.
-
- * e-calendar-item.c: updated to support the EDateEdit better,
- mainly by adding the "move_selection_when_moving" arg so we can turn
- it off to keep the same day selected when changing the months shown.
-
-2000-09-05 Damon Chaplin <damon@helixcode.com>
-
- * e-calendar-item.c (e_calendar_item_draw_month): make sure we get
- the start_weekday since we need it for draw_days(). Fixes a drawing
- bug.
-
-2000-08-31 Damon Chaplin <damon@helixcode.com>
-
- * e-calendar-item.c (e_calendar_item_button_press):
- (e_calendar_item_button_release): grab/ungrab the pointer so we
- always get the button_release event.
-
-2000-08-30 Damon Chaplin <damon@helixcode.com>
-
- * e-calendar-item.[hc]:
- * e-calendar.[hc]: Updated.
-
-2000-08-10 Christopher James Lahey <clahey@helixcode.com>
-
- * e-calendar-item.c, e-calendar.c: Fixed some warnings.
-
-2000-07-25 Damon Chaplin <damon@helixcode.com>
-
- * e-calendar-item.h:
- * e-calendar.[hc]: new widget and canvas item to replace GtkCalendar.
- Not quite finished yet.
-
-2000-07-21 Ettore Perazzoli <ettore@helixcode.com>
-
- * e-title-bar.c (e_title_bar_set_title): We have a `EClippedLabel',
- not a `GtkLabel' here: use the right function to change the text.
-
-2000-07-12 Christopher James Lahey <clahey@helixcode.com>
-
- * e-scroll-frame.c: Tried rearranging the casts to try for a more
- correct computation.
-
-2000-07-08 Dan Winship <danw@helixcode.com>
-
- * e-scroll-frame.c (e_scroll_frame_add): comment out true but
- confused warning about non-scrollable widgets until Chris and/or
- Federico fix this correctly.
- (e_scroll_frame_size_allocate): If the available space for the
- child is less than the width/height of the frame, give the child
- an allocation of 0 rather than some small negative number cast to
- unsigned.
-
-2000-07-05 Dan Winship <danw@helixcode.com>
-
- * Makefile.am (INCLUDES): Set G_LOG_DOMAIN=__FILE__ rather than
- "e-title-bar" in all three widgets.
-
-2000-06-13 Anders Carlsson <andersca@gnu.org>
-
- * e-scroll-frame.c (e_scroll_frame_button_press): Control does
- horizontal scrolling, a la gimp.
-
-2000-06-11 Anders Carlsson <andersca@gnu.org>
-
- * e-scroll-frame.c (e_scroll_frame_button_press): Add support
- for mouse wheel scrolling in EScrollFrame.
-
-2000-06-10 Ettore Perazzoli <ettore@helixcode.com>
-
- * e-title-bar.c (close_button_realize_cb): Unref the pixmap and
- the mask.
-
diff --git a/widgets/misc/Makefile.am b/widgets/misc/Makefile.am
index daaf9717f2..6373ceb58b 100644
--- a/widgets/misc/Makefile.am
+++ b/widgets/misc/Makefile.am
@@ -69,10 +69,9 @@ widgetsinclude_HEADERS = \
e-signature-preview.h \
e-signature-script-dialog.h \
e-signature-tree-view.h \
- e-spinner.c \
- e-spinner.h \
e-url-entry.h \
e-web-view.h \
+ e-web-view-preview.h \
ea-calendar-cell.h \
ea-calendar-item.h \
ea-cell-table.h \
@@ -149,6 +148,7 @@ libemiscwidgets_la_SOURCES = \
e-signature-tree-view.c \
e-url-entry.c \
e-web-view.c \
+ e-web-view-preview.c \
ea-calendar-cell.c \
ea-calendar-item.c \
ea-cell-table.c \
@@ -226,7 +226,6 @@ test_preferences_window_LDADD = \
EXTRA_DIST = \
$(ui_DATA) \
e-pilot-settings.h \
- e-pilot-settings.c \
- ChangeLog.pre-1-4
+ e-pilot-settings.c
-include $(top_srcdir)/git.mk
diff --git a/widgets/misc/e-account-combo-box.c b/widgets/misc/e-account-combo-box.c
index 288ac408fb..7d34a29bfe 100644
--- a/widgets/misc/e-account-combo-box.c
+++ b/widgets/misc/e-account-combo-box.c
@@ -22,7 +22,6 @@
#include "e-account-combo-box.h"
#include <string.h>
-#include <camel/camel-store.h>
#define E_ACCOUNT_COMBO_BOX_GET_PRIVATE(obj) \
(G_TYPE_INSTANCE_GET_PRIVATE \
@@ -131,7 +130,7 @@ account_combo_box_test_account (EAccount *account)
camel_session, url, CAMEL_PROVIDER_STORE, &ex));
if (store != NULL) {
writable = (store->mode & CAMEL_STORE_WRITE);
- camel_object_unref (store);
+ g_object_unref (store);
}
camel_exception_clear (&ex);
diff --git a/widgets/misc/e-account-combo-box.h b/widgets/misc/e-account-combo-box.h
index c3fe4aa0f8..b624c9b17e 100644
--- a/widgets/misc/e-account-combo-box.h
+++ b/widgets/misc/e-account-combo-box.h
@@ -23,7 +23,7 @@
#define E_ACCOUNT_COMBO_BOX_H
#include <gtk/gtk.h>
-#include <camel/camel-session.h>
+#include <camel/camel.h>
#include <libedataserver/e-account.h>
#include <libedataserver/e-account-list.h>
diff --git a/widgets/misc/e-account-tree-view.c b/widgets/misc/e-account-tree-view.c
index 8c2e21092b..9b083a3f6e 100644
--- a/widgets/misc/e-account-tree-view.c
+++ b/widgets/misc/e-account-tree-view.c
@@ -22,7 +22,7 @@
#include "e-account-tree-view.h"
#include <glib/gi18n.h>
-#include <camel/camel-url.h>
+#include <camel/camel.h>
#define E_ACCOUNT_TREE_VIEW_GET_PRIVATE(obj) \
(G_TYPE_INSTANCE_GET_PRIVATE \
diff --git a/widgets/misc/e-action-combo-box.c b/widgets/misc/e-action-combo-box.c
index 2fa376d420..0260c6e19a 100644
--- a/widgets/misc/e-action-combo-box.c
+++ b/widgets/misc/e-action-combo-box.c
@@ -385,8 +385,8 @@ action_combo_box_class_init (EActionComboBoxClass *class)
PROP_ACTION,
g_param_spec_object (
"action",
- _("Action"),
- _("A GtkRadioAction"),
+ "Action",
+ "A GtkRadioAction",
GTK_TYPE_RADIO_ACTION,
G_PARAM_READWRITE));
}
diff --git a/widgets/misc/e-activity-proxy.c b/widgets/misc/e-activity-proxy.c
index 10249b1911..c503e5e26d 100644
--- a/widgets/misc/e-activity-proxy.c
+++ b/widgets/misc/e-activity-proxy.c
@@ -22,7 +22,6 @@
#include "e-activity-proxy.h"
#include <glib/gi18n.h>
-#include <e-spinner.h>
#define E_ACTIVITY_PROXY_GET_PRIVATE(obj) \
(G_TYPE_INSTANCE_GET_PRIVATE \
@@ -277,9 +276,9 @@ activity_proxy_init (EActivityProxy *proxy)
proxy->priv->button = g_object_ref (widget);
gtk_widget_hide (widget);
- /* XXX What's the rationale for killing the old spinner API? */
- widget = e_spinner_new_spinning_small_shown ();
- gtk_box_pack_start (GTK_BOX (container), widget, FALSE, FALSE, 0);
+ widget = gtk_spinner_new ();
+ gtk_spinner_start (GTK_SPINNER (widget));
+ gtk_box_pack_start (GTK_BOX (container), widget, FALSE, FALSE, 3);
proxy->priv->spinner = g_object_ref (widget);
gtk_widget_show (widget);
diff --git a/widgets/misc/e-attachment-handler-image.c b/widgets/misc/e-attachment-handler-image.c
index 6429eb6b8e..770b1c552b 100644
--- a/widgets/misc/e-attachment-handler-image.c
+++ b/widgets/misc/e-attachment-handler-image.c
@@ -24,6 +24,8 @@
#include <glib/gi18n.h>
#include <gconf/gconf-client.h>
+#include <e-util/e-util.h>
+
#define E_ATTACHMENT_HANDLER_IMAGE_GET_PRIVATE(obj) \
(G_TYPE_INSTANCE_GET_PRIVATE \
((obj), E_TYPE_ATTACHMENT_HANDLER_IMAGE, EAttachmentHandlerImagePrivate))
@@ -124,7 +126,7 @@ action_image_set_as_background_cb (GtkAction *action,
/* Save the image under ~/.gnome2/wallpapers/. */
path = g_build_filename (
- g_get_home_dir (), ".gnome2", "wallpapers", NULL);
+ e_get_gnome2_user_dir (), "wallpapers", NULL);
destination = g_file_new_for_path (path);
g_mkdir_with_parents (path, 0755);
g_free (path);
diff --git a/widgets/misc/e-attachment-paned.c b/widgets/misc/e-attachment-paned.c
index d47fe9c8c7..c9282c7718 100644
--- a/widgets/misc/e-attachment-paned.c
+++ b/widgets/misc/e-attachment-paned.c
@@ -516,7 +516,7 @@ attachment_paned_init (EAttachmentPaned *paned)
container = widget;
widget = e_attachment_icon_view_new ();
- GTK_WIDGET_SET_FLAGS (widget, GTK_CAN_FOCUS);
+ gtk_widget_set_can_focus (widget, TRUE);
gtk_icon_view_set_model (GTK_ICON_VIEW (widget), paned->priv->model);
gtk_container_add (GTK_CONTAINER (container), widget);
paned->priv->icon_view = g_object_ref (widget);
@@ -536,7 +536,7 @@ attachment_paned_init (EAttachmentPaned *paned)
container = widget;
widget = e_attachment_tree_view_new ();
- GTK_WIDGET_SET_FLAGS (widget, GTK_CAN_FOCUS);
+ gtk_widget_set_can_focus (widget, TRUE);
gtk_tree_view_set_model (GTK_TREE_VIEW (widget), paned->priv->model);
gtk_container_add (GTK_CONTAINER (container), widget);
paned->priv->tree_view = g_object_ref (widget);
@@ -602,7 +602,7 @@ attachment_paned_init (EAttachmentPaned *paned)
container = widget;
- widget = gtk_label_new_with_mnemonic (_("Show _Attachment Bar"));
+ widget = gtk_label_new_with_mnemonic (_("Show Attachment _Bar"));
gtk_box_pack_start (GTK_BOX (container), widget, FALSE, FALSE, 0);
paned->priv->show_hide_label = g_object_ref (widget);
gtk_widget_show (widget);
diff --git a/widgets/misc/e-attachment-view.c b/widgets/misc/e-attachment-view.c
index 2ff6fb4dab..832565c929 100644
--- a/widgets/misc/e-attachment-view.c
+++ b/widgets/misc/e-attachment-view.c
@@ -24,7 +24,6 @@
#include <config.h>
#include <glib/gi18n.h>
#include <gdk/gdkkeysyms.h>
-#include <camel/camel-stream-mem.h>
#include "e-util/e-binding.h"
#include "e-util/e-selection.h"
@@ -461,7 +460,7 @@ attachment_view_text_calendar (EAttachmentView *view,
e_attachment_load_handle_error, parent);
g_object_unref (attachment);
- camel_object_unref (mime_part);
+ g_object_unref (mime_part);
gtk_drag_finish (drag_context, TRUE, FALSE, time);
}
@@ -515,7 +514,7 @@ attachment_view_text_x_vcard (EAttachmentView *view,
e_attachment_load_handle_error, parent);
g_object_unref (attachment);
- camel_object_unref (mime_part);
+ g_object_unref (mime_part);
gtk_drag_finish (drag_context, TRUE, FALSE, time);
}
diff --git a/widgets/misc/e-attachment.c b/widgets/misc/e-attachment.c
index 4752251905..ba4e4004b3 100644
--- a/widgets/misc/e-attachment.c
+++ b/widgets/misc/e-attachment.c
@@ -25,14 +25,6 @@
#include <config.h>
#include <glib/gi18n.h>
#include <glib/gstdio.h>
-#include <camel/camel-iconv.h>
-#include <camel/camel-data-wrapper.h>
-#include <camel/camel-mime-message.h>
-#include <camel/camel-stream-filter.h>
-#include <camel/camel-stream-mem.h>
-#include <camel/camel-stream-null.h>
-#include <camel/camel-stream-vfs.h>
-#include <camel/camel-stream-fs.h>
#include <libedataserver/e-data-server-util.h>
@@ -678,7 +670,7 @@ attachment_dispose (GObject *object)
}
if (priv->mime_part != NULL) {
- camel_object_unref (priv->mime_part);
+ g_object_unref (priv->mime_part);
priv->mime_part = NULL;
}
@@ -792,11 +784,11 @@ attachment_class_init (EAttachmentClass *class)
g_object_class_install_property (
object_class,
PROP_MIME_PART,
- g_param_spec_boxed (
+ g_param_spec_object (
"mime-part",
"MIME Part",
NULL,
- E_TYPE_CAMEL_OBJECT,
+ CAMEL_TYPE_MIME_PART,
G_PARAM_READWRITE));
g_object_class_install_property (
@@ -1006,12 +998,12 @@ e_attachment_new_for_message (CamelMimeMessage *message)
g_string_free (description, TRUE);
wrapper = CAMEL_DATA_WRAPPER (message);
- camel_medium_set_content_object (CAMEL_MEDIUM (mime_part), wrapper);
+ camel_medium_set_content (CAMEL_MEDIUM (mime_part), wrapper);
camel_mime_part_set_content_type (mime_part, "message/rfc822");
attachment = e_attachment_new ();
e_attachment_set_mime_part (attachment, mime_part);
- camel_object_unref (mime_part);
+ g_object_unref (mime_part);
return attachment;
}
@@ -1036,7 +1028,7 @@ e_attachment_add_to_multipart (EAttachment *attachment,
return;
content_type = camel_mime_part_get_content_type (mime_part);
- wrapper = camel_medium_get_content_object (CAMEL_MEDIUM (mime_part));
+ wrapper = camel_medium_get_content (CAMEL_MEDIUM (mime_part));
if (CAMEL_IS_MULTIPART (wrapper))
goto exit;
@@ -1044,8 +1036,8 @@ e_attachment_add_to_multipart (EAttachment *attachment,
/* For text content, determine the best encoding and character set. */
if (camel_content_type_is (content_type, "text", "*")) {
CamelTransferEncoding encoding;
- CamelStreamFilter *filtered_stream;
- CamelMimeFilterBestenc *filter;
+ CamelStream *filtered_stream;
+ CamelMimeFilter *filter;
CamelStream *stream;
const gchar *charset;
@@ -1054,21 +1046,23 @@ e_attachment_add_to_multipart (EAttachment *attachment,
/* Determine the best encoding by writing the MIME
* part to a NULL stream with a "bestenc" filter. */
stream = camel_stream_null_new ();
- filtered_stream = camel_stream_filter_new_with_stream (stream);
+ filtered_stream = camel_stream_filter_new (stream);
filter = camel_mime_filter_bestenc_new (
CAMEL_BESTENC_GET_ENCODING);
camel_stream_filter_add (
- filtered_stream, CAMEL_MIME_FILTER (filter));
+ CAMEL_STREAM_FILTER (filtered_stream),
+ CAMEL_MIME_FILTER (filter));
camel_data_wrapper_decode_to_stream (
- wrapper, CAMEL_STREAM (filtered_stream));
- camel_object_unref (filtered_stream);
- camel_object_unref (stream);
+ wrapper, filtered_stream);
+ g_object_unref (filtered_stream);
+ g_object_unref (stream);
/* Retrieve the best encoding from the filter. */
encoding = camel_mime_filter_bestenc_get_best_encoding (
- filter, CAMEL_BESTENC_8BIT);
+ CAMEL_MIME_FILTER_BESTENC (filter),
+ CAMEL_BESTENC_8BIT);
camel_mime_part_set_encoding (mime_part, encoding);
- camel_object_unref (filter);
+ g_object_unref (filter);
if (encoding == CAMEL_TRANSFER_ENCODING_7BIT) {
/* The text fits within us-ascii, so this is safe.
@@ -1208,11 +1202,11 @@ e_attachment_set_mime_part (EAttachment *attachment,
if (mime_part != NULL) {
g_return_if_fail (CAMEL_IS_MIME_PART (mime_part));
- camel_object_ref (mime_part);
+ g_object_ref (mime_part);
}
if (attachment->priv->mime_part != NULL)
- camel_object_unref (attachment->priv->mime_part);
+ g_object_unref (attachment->priv->mime_part);
attachment->priv->mime_part = mime_part;
@@ -1537,12 +1531,12 @@ attachment_load_finish (LoadContext *load_context)
camel_data_wrapper_construct_from_stream (wrapper, stream);
camel_data_wrapper_set_mime_type (wrapper, mime_type);
camel_stream_close (stream);
- camel_object_unref (stream);
+ g_object_unref (stream);
mime_part = camel_mime_part_new ();
- camel_medium_set_content_object (CAMEL_MEDIUM (mime_part), wrapper);
+ camel_medium_set_content (CAMEL_MEDIUM (mime_part), wrapper);
- camel_object_unref (wrapper);
+ g_object_unref (wrapper);
g_free (mime_type);
display_name = g_file_info_get_display_name (file_info);
@@ -1565,7 +1559,7 @@ attachment_load_finish (LoadContext *load_context)
}
g_simple_async_result_set_op_res_gpointer (
- simple, mime_part, (GDestroyNotify) camel_object_unref);
+ simple, mime_part, (GDestroyNotify) g_object_unref);
g_simple_async_result_complete (simple);
@@ -1790,12 +1784,12 @@ attachment_load_from_mime_part (LoadContext *load_context)
e_attachment_set_file_info (attachment, file_info);
- camel_object_ref (mime_part);
+ g_object_ref (mime_part);
simple = load_context->simple;
g_simple_async_result_set_op_res_gpointer (
simple, mime_part,
- (GDestroyNotify) camel_object_unref);
+ (GDestroyNotify) g_object_unref);
g_simple_async_result_complete (simple);
attachment_load_context_free (load_context);
@@ -2468,9 +2462,9 @@ attachment_save_got_output_stream (SaveContext *save_context)
buffer = g_byte_array_new ();
stream = camel_stream_mem_new ();
camel_stream_mem_set_byte_array (CAMEL_STREAM_MEM (stream), buffer);
- wrapper = camel_medium_get_content_object (CAMEL_MEDIUM (mime_part));
+ wrapper = camel_medium_get_content (CAMEL_MEDIUM (mime_part));
camel_data_wrapper_decode_to_stream (wrapper, stream);
- camel_object_unref (stream);
+ g_object_unref (stream);
/* Load the buffer into a GMemoryInputStream.
* But watch out for zero length MIME parts. */
diff --git a/widgets/misc/e-attachment.h b/widgets/misc/e-attachment.h
index a6dff74661..7cd655c6ff 100644
--- a/widgets/misc/e-attachment.h
+++ b/widgets/misc/e-attachment.h
@@ -23,10 +23,7 @@
#define E_ATTACHMENT_H
#include <gtk/gtk.h>
-#include <camel/camel-cipher-context.h>
-#include <camel/camel-mime-part.h>
-#include <camel/camel-mime-message.h>
-#include <camel/camel-multipart.h>
+#include <camel/camel.h>
/* Standard GObject macros */
#define E_TYPE_ATTACHMENT \
diff --git a/widgets/misc/e-buffer-tagger.c b/widgets/misc/e-buffer-tagger.c
index 9501f29d6a..b3d5a4e61e 100644
--- a/widgets/misc/e-buffer-tagger.c
+++ b/widgets/misc/e-buffer-tagger.c
@@ -308,11 +308,7 @@ update_mouse_cursor (GtkTextView *text_view, gint x, gint y)
if (hovering != hovering_over_link) {
update_state (buffer, E_BUFFER_TAGGER_STATE_IS_HOVERING, hovering);
-#if GTK_CHECK_VERSION(2,19,7)
if (hovering && gtk_widget_has_focus (GTK_WIDGET (text_view)))
-#else
- if (hovering && GTK_WIDGET_HAS_FOCUS (text_view))
-#endif
gdk_window_set_cursor (gtk_text_view_get_window (text_view, GTK_TEXT_WINDOW_TEXT), hand_cursor);
else
gdk_window_set_cursor (gtk_text_view_get_window (text_view, GTK_TEXT_WINDOW_TEXT), regular_cursor);
diff --git a/widgets/misc/e-calendar-item.c b/widgets/misc/e-calendar-item.c
index 4d7506e05d..e67c2b7eeb 100644
--- a/widgets/misc/e-calendar-item.c
+++ b/widgets/misc/e-calendar-item.c
@@ -29,6 +29,7 @@
#include "ea-widgets.h"
#include <time.h>
+#include <stdlib.h>
#include <string.h>
#include <gtk/gtk.h>
#include <gdk/gdkkeysyms.h>
@@ -1557,11 +1558,7 @@ e_calendar_item_draw_day_numbers (ECalendarItem *calitem,
day_style = calitem->styles[(month_offset + 1) * 32 + day_num];
/* Get the colors & style to use for the day.*/
-#if GTK_CHECK_VERSION(2,19,7)
if ((gtk_widget_has_focus (GTK_WIDGET (item->canvas))) &&
-#else
- if ((GTK_WIDGET_HAS_FOCUS(item->canvas)) &&
-#endif
item->canvas->focused_item == item)
has_focus = TRUE;
else
diff --git a/widgets/misc/e-calendar.c b/widgets/misc/e-calendar.c
index 27ac031b8d..fd8f882b25 100644
--- a/widgets/misc/e-calendar.c
+++ b/widgets/misc/e-calendar.c
@@ -266,11 +266,7 @@ e_calendar_style_set (GtkWidget *widget,
/* Set the background of the canvas window to the normal color,
or the arrow buttons are not displayed properly. */
-#if GTK_CHECK_VERSION(2,19,7)
if (gtk_widget_get_realized (widget)) {
-#else
- if (GTK_WIDGET_REALIZED (widget)) {
-#endif
GtkStyle *style;
GdkWindow *window;
@@ -562,13 +558,8 @@ e_calendar_button_has_focus (ECalendar *cal)
prev_widget = GNOME_CANVAS_WIDGET(cal->prev_item)->widget;
next_widget = GNOME_CANVAS_WIDGET(cal->next_item)->widget;
-#if GTK_CHECK_VERSION(2,19,7)
ret_val = gtk_widget_has_focus (prev_widget) ||
gtk_widget_has_focus (next_widget);
-#else
- ret_val = GTK_WIDGET_HAS_FOCUS (prev_widget) ||
- GTK_WIDGET_HAS_FOCUS (next_widget);
-#endif
return ret_val;
}
@@ -595,11 +586,7 @@ e_calendar_focus (GtkWidget *widget, GtkDirectionType direction)
children[2] = cal->next_item;
/* get current focused item, if e-calendar has had focus */
-#if GTK_CHECK_VERSION(2,19,7)
if (gtk_widget_has_focus (widget) || e_calendar_button_has_focus (cal))
-#else
- if (GTK_WIDGET_HAS_FOCUS (widget) || e_calendar_button_has_focus (cal))
-#endif
for (index = 0; index < E_CALENDAR_FOCUS_CHILDREN_NUM; ++index) {
if (canvas->focused_item == NULL)
break;
@@ -636,30 +623,29 @@ e_calendar_focus (GtkWidget *widget, GtkDirectionType direction)
void
e_calendar_set_focusable (ECalendar *cal, gboolean focusable)
{
+ GtkWidget *widget;
GtkWidget *prev_widget, *next_widget;
+ GtkWidget *toplevel;
g_return_if_fail (E_IS_CALENDAR (cal));
+ widget = GTK_WIDGET (cal);
prev_widget = GNOME_CANVAS_WIDGET(cal->prev_item)->widget;
next_widget = GNOME_CANVAS_WIDGET(cal->next_item)->widget;
if (focusable) {
- GTK_WIDGET_SET_FLAGS (cal, GTK_CAN_FOCUS);
- GTK_WIDGET_SET_FLAGS (prev_widget, GTK_CAN_FOCUS);
- GTK_WIDGET_SET_FLAGS (next_widget, GTK_CAN_FOCUS);
+ gtk_widget_set_can_focus (widget, TRUE);
+ gtk_widget_set_can_focus (prev_widget, TRUE);
+ gtk_widget_set_can_focus (next_widget, TRUE);
}
else {
-#if GTK_CHECK_VERSION(2,19,7)
if (gtk_widget_has_focus (GTK_WIDGET (cal)) || e_calendar_button_has_focus (cal)) {
-#else
- if (GTK_WIDGET_HAS_FOCUS (cal) || e_calendar_button_has_focus (cal)) {
-#endif
- GtkWidget *toplevel = gtk_widget_get_toplevel (GTK_WIDGET (cal));
+ toplevel = gtk_widget_get_toplevel (widget);
if (toplevel)
gtk_widget_grab_focus (toplevel);
}
- GTK_WIDGET_UNSET_FLAGS (cal, GTK_CAN_FOCUS);
- GTK_WIDGET_UNSET_FLAGS (prev_widget, GTK_CAN_FOCUS);
- GTK_WIDGET_UNSET_FLAGS (next_widget, GTK_CAN_FOCUS);
+ gtk_widget_set_can_focus (widget, FALSE);
+ gtk_widget_set_can_focus (prev_widget, FALSE);
+ gtk_widget_set_can_focus (next_widget, FALSE);
}
}
diff --git a/widgets/misc/e-canvas-background.c b/widgets/misc/e-canvas-background.c
index 3b4cbadd20..28875725b3 100644
--- a/widgets/misc/e-canvas-background.c
+++ b/widgets/misc/e-canvas-background.c
@@ -437,11 +437,7 @@ ecb_style_set (ECanvasBackground *ecb,
style = gtk_widget_get_style (GTK_WIDGET (item->canvas));
-#if GTK_CHECK_VERSION(2,19,7)
if (gtk_widget_get_realized (GTK_WIDGET (item->canvas))) {
-#else
- if (GTK_WIDGET_REALIZED (item->canvas)) {
-#endif
gdk_gc_set_foreground (
ecb->priv->gc, &style->base[GTK_STATE_NORMAL]);
gnome_canvas_item_request_update (GNOME_CANVAS_ITEM (ecb));
@@ -468,57 +464,57 @@ ecb_class_init (ECanvasBackgroundClass *ecb_class)
g_object_class_install_property (object_class, PROP_FILL_COLOR,
g_param_spec_string ("fill_color",
- _( "Fill color" ),
- _( "Fill color" ),
+ "Fill color",
+ "Fill color",
NULL,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_FILL_COLOR_GDK,
g_param_spec_boxed ("fill_color_gdk",
- _( "GDK fill color" ),
- _( "GDK fill color" ),
+ "GDK fill color",
+ "GDK fill color",
GDK_TYPE_COLOR,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_FILL_COLOR_RGBA,
g_param_spec_uint ("fill_color_rgba",
- _( "GDK fill color" ),
- _( "GDK fill color" ),
+ "GDK fill color",
+ "GDK fill color",
0, G_MAXUINT, 0,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_FILL_STIPPLE,
g_param_spec_object ("fill_stipple",
- _( "Fill stipple" ),
- _( "Fill stipple" ),
+ "Fill stipple",
+ "Fill stipple",
GDK_TYPE_WINDOW,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_X1,
g_param_spec_double ("x1",
- _( "X1" ),
- _( "X1" ),
+ "X1",
+ "X1",
0.0, G_MAXDOUBLE, 0.0,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_X2,
g_param_spec_double ("x2",
- _( "X2" ),
- _( "X2" ),
+ "X2",
+ "X2",
0.0, G_MAXDOUBLE, 0.0,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_Y1,
g_param_spec_double ("y1",
- _( "Y1" ),
- _( "Y1" ),
+ "Y1",
+ "Y1",
0.0, G_MAXDOUBLE, 0.0,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_Y2,
g_param_spec_double ("y2",
- _( "Y2" ),
- _( "Y2" ),
+ "Y2",
+ "Y2",
0.0, G_MAXDOUBLE, 0.0,
G_PARAM_READWRITE));
ecb_signals [STYLE_SET] =
diff --git a/widgets/misc/e-canvas-vbox.c b/widgets/misc/e-canvas-vbox.c
index e9d78f220c..63b23efdf6 100644
--- a/widgets/misc/e-canvas-vbox.c
+++ b/widgets/misc/e-canvas-vbox.c
@@ -80,26 +80,26 @@ e_canvas_vbox_class_init (ECanvasVboxClass *klass)
g_object_class_install_property (object_class, PROP_WIDTH,
g_param_spec_double ("width",
- _( "Width" ),
- _( "Width" ),
+ "Width",
+ "Width",
0.0, G_MAXDOUBLE, 0.0,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_MINIMUM_WIDTH,
g_param_spec_double ("minimum_width",
- _( "Minimum width" ),
- _( "Minimum Width" ),
+ "Minimum width",
+ "Minimum Width",
0.0, G_MAXDOUBLE, 0.0,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_HEIGHT,
g_param_spec_double ("height",
- _( "Height" ),
- _( "Height" ),
+ "Height",
+ "Height",
0.0, G_MAXDOUBLE, 0.0,
G_PARAM_READABLE));
g_object_class_install_property (object_class, PROP_SPACING,
g_param_spec_double ("spacing",
- _( "Spacing" ),
- _( "Spacing" ),
+ "Spacing",
+ "Spacing",
0.0, G_MAXDOUBLE, 0.0,
G_PARAM_READWRITE));
}
diff --git a/widgets/misc/e-canvas.c b/widgets/misc/e-canvas.c
index db187b6e13..593c9c4530 100644
--- a/widgets/misc/e-canvas.c
+++ b/widgets/misc/e-canvas.c
@@ -568,11 +568,7 @@ e_canvas_item_grab_focus (GnomeCanvasItem *item, gboolean widget_too)
item->canvas->focused_item = item;
-#if GTK_CHECK_VERSION(2,19,7)
if (widget_too && !gtk_widget_has_focus (GTK_WIDGET(item->canvas))) {
-#else
- if (widget_too && !GTK_WIDGET_HAS_FOCUS (GTK_WIDGET(item->canvas))) {
-#endif
gtk_widget_grab_focus (GTK_WIDGET (item->canvas));
}
diff --git a/widgets/misc/e-dateedit.c b/widgets/misc/e-dateedit.c
index 03c8f2fd47..73b649defd 100644
--- a/widgets/misc/e-dateedit.c
+++ b/widgets/misc/e-dateedit.c
@@ -1699,11 +1699,7 @@ on_date_edit_time_selected (GtkComboBox *combo,
if (gtk_combo_box_get_active (combo) == -1)
return;
-#if GTK_CHECK_VERSION(2,19,7)
if (!gtk_widget_get_mapped (child))
-#else
- if (!GTK_WIDGET_MAPPED (child))
-#endif
return;
e_date_edit_check_time_changed (dedit);
diff --git a/widgets/misc/e-hinted-entry.c b/widgets/misc/e-hinted-entry.c
index 24bac0087c..51131cedcd 100644
--- a/widgets/misc/e-hinted-entry.c
+++ b/widgets/misc/e-hinted-entry.c
@@ -290,11 +290,7 @@ e_hinted_entry_set_text (EHintedEntry *entry,
if (text == NULL)
text = "";
-#if GTK_CHECK_VERSION(2,19,7)
if (*text == '\0' && !gtk_widget_has_focus (GTK_WIDGET (entry)))
-#else
- if (*text == '\0' && !GTK_WIDGET_HAS_FOCUS (entry))
-#endif
hinted_entry_show_hint (entry);
else {
hinted_entry_hide_hint (entry);
diff --git a/widgets/misc/e-import-assistant.c b/widgets/misc/e-import-assistant.c
index 30d41385f4..3ca06dcda8 100644
--- a/widgets/misc/e-import-assistant.c
+++ b/widgets/misc/e-import-assistant.c
@@ -71,8 +71,12 @@ struct _ImportProgressPage {
};
struct _ImportSimplePage {
+ GtkWidget *actionlabel;
+ GtkWidget *filetypetable;
GtkWidget *filetype;
- GtkWidget *control; /* importer's destination widget in an alignment */
+ GtkWidget *control; /* importer's destination or preview widget in an alignment */
+ gboolean has_preview; /* TRUE when 'control' holds a preview widget,
+ otherwise holds destination widget */
EImportTargetURI *target;
EImportImporter *importer;
@@ -427,7 +431,6 @@ import_assistant_simple_page_init (EImportAssistant *import_assistant)
GtkWidget *widget;
GtkCellRenderer *cell;
GtkListStore *store;
- const gchar *text;
gint row = 0;
page = gtk_vbox_new (FALSE, 6);
@@ -436,12 +439,11 @@ import_assistant_simple_page_init (EImportAssistant *import_assistant)
container = page;
- text = _("Select what type of file you want to import from the list.");
-
- widget = gtk_label_new (text);
+ widget = gtk_label_new ("");
gtk_label_set_line_wrap (GTK_LABEL (widget), TRUE);
gtk_box_pack_start (GTK_BOX (container), widget, FALSE, TRUE, 0);
gtk_widget_show (widget);
+ import_assistant->priv->simple_page.actionlabel = widget;
widget = gtk_table_new (2, 1, FALSE);
gtk_table_set_row_spacings (GTK_TABLE (widget), 2);
@@ -449,6 +451,7 @@ import_assistant_simple_page_init (EImportAssistant *import_assistant)
gtk_container_set_border_width (GTK_CONTAINER (widget), 8);
gtk_box_pack_start (GTK_BOX (container), widget, FALSE, TRUE, 0);
gtk_widget_show (widget);
+ import_assistant->priv->simple_page.filetypetable = widget;
container = widget;
@@ -743,7 +746,7 @@ prepare_progress_page (GtkAssistant *assistant,
g_object_get (G_OBJECT (assistant), "is-simple", &is_simple, NULL);
- intelligent_import = gtk_toggle_button_get_active (
+ intelligent_import = is_simple ? FALSE : gtk_toggle_button_get_active (
GTK_TOGGLE_BUTTON (priv->type_page.intelligent));
if (is_simple) {
@@ -797,9 +800,15 @@ simple_filetype_changed_cb (GtkComboBox *combo_box, GtkAssistant *assistant)
if (page->control)
gtk_widget_destroy (page->control);
+ page->has_preview = FALSE;
+
+ control = e_import_get_preview_widget (priv->import, (EImportTarget *) page->target, page->importer);
+ if (control) {
+ page->has_preview = TRUE;
+ gtk_widget_set_size_request (control, 320, 240);
+ } else
+ control = create_importer_control (priv->import, (EImportTarget *)page->target, page->importer);
- control = create_importer_control (
- priv->import, (EImportTarget *)page->target, page->importer);
page->control = gtk_alignment_new (0.0, 0.0, 1.0, 1.0);
gtk_widget_show (page->control);
gtk_container_add (GTK_CONTAINER (page->control), control);
@@ -847,8 +856,6 @@ prepare_simple_page (GtkAssistant *assistant, GtkWidget *vbox)
-1);
}
- g_slist_free (importers);
-
gtk_combo_box_set_active (GTK_COMBO_BOX (page->filetype), 0);
g_object_set_data (G_OBJECT (page->filetype), "page-vbox", vbox);
@@ -857,6 +864,56 @@ prepare_simple_page (GtkAssistant *assistant, GtkWidget *vbox)
g_signal_connect (
page->filetype, "changed",
G_CALLBACK (simple_filetype_changed_cb), assistant);
+
+ if (gtk_tree_model_iter_n_children (GTK_TREE_MODEL (store), NULL) == 1) {
+ gchar *title;
+
+ /* only one importer found, make it even simpler */
+ gtk_label_set_text (GTK_LABEL (page->actionlabel),
+ page->has_preview ?
+ _("Preview data to be imported") :
+ _("Choose the destination for this import"));
+
+ gtk_widget_hide (page->filetypetable);
+
+ title = g_strconcat (_("Import Data"), " - ", ((EImportImporter *)importers->data)->name, NULL);
+ gtk_assistant_set_page_title (assistant, vbox, title);
+ g_free (title);
+ } else {
+ /* multiple importers found, be able to choose from them */
+ gtk_label_set_text (GTK_LABEL (page->actionlabel), _("Select what type of file you want to import from the list."));
+
+ gtk_widget_show (page->filetypetable);
+
+ gtk_assistant_set_page_title (assistant, vbox, _("Import Data"));
+ }
+
+ g_slist_free (importers);
+}
+
+static gboolean
+prepare_simple_destination_page (GtkAssistant *assistant,
+ GtkWidget *vbox)
+{
+ EImportAssistantPrivate *priv;
+ ImportDestinationPage *page;
+ ImportSimplePage *simple_page;
+
+ priv = E_IMPORT_ASSISTANT_GET_PRIVATE (assistant);
+ page = &priv->destination_page;
+ simple_page = &priv->simple_page;
+
+ if (page->control)
+ gtk_container_remove (GTK_CONTAINER (vbox), page->control);
+
+ page->control = create_importer_control (
+ priv->import, (EImportTarget *)
+ simple_page->target, simple_page->importer);
+
+ gtk_box_pack_start (GTK_BOX (vbox), page->control, TRUE, TRUE, 0);
+ gtk_assistant_set_page_complete (assistant, vbox, TRUE);
+
+ return FALSE;
}
static gint
@@ -864,6 +921,16 @@ forward_cb (gint current_page,
EImportAssistant *import_assistant)
{
GtkToggleButton *toggle_button;
+ gboolean is_simple = FALSE;
+
+ g_object_get (G_OBJECT (import_assistant), "is-simple", &is_simple, NULL);
+
+ if (is_simple) {
+ if (!import_assistant->priv->simple_page.has_preview)
+ current_page++;
+
+ return current_page + 1;
+ }
toggle_button = GTK_TOGGLE_BUTTON (
import_assistant->priv->type_page.intelligent);
@@ -1076,6 +1143,8 @@ import_assistant_prepare (GtkAssistant *assistant,
if (page_no == 0) {
prepare_simple_page (assistant, page);
} else if (page_no == 1) {
+ prepare_simple_destination_page (assistant, page);
+ } else if (page_no == 2) {
prepare_progress_page (assistant, page);
}
@@ -1193,6 +1262,14 @@ import_assistant_construct (EImportAssistant *import_assistant)
gtk_assistant_append_page (assistant, page);
gtk_assistant_set_page_header_image (assistant, page, pixbuf);
+ gtk_assistant_set_page_title (assistant, page, _("Import Data"));
+ gtk_assistant_set_page_type (assistant, page, GTK_ASSISTANT_PAGE_CONTENT);
+
+ /* File destination page - when with preview*/
+ page = import_assistant_destination_page_init (import_assistant);
+
+ gtk_assistant_append_page (assistant, page);
+ gtk_assistant_set_page_header_image (assistant, page, pixbuf);
gtk_assistant_set_page_title (assistant, page, _("Import Location"));
gtk_assistant_set_page_type (assistant, page, GTK_ASSISTANT_PAGE_CONTENT);
} else {
@@ -1272,11 +1349,9 @@ import_assistant_construct (EImportAssistant *import_assistant)
gtk_assistant_set_page_type (assistant, page, GTK_ASSISTANT_PAGE_PROGRESS);
gtk_assistant_set_page_complete (assistant, page, TRUE);
- if (!import_assistant->priv->is_simple) {
- gtk_assistant_set_forward_page_func (
- assistant, (GtkAssistantPageFunc)
- forward_cb, import_assistant, NULL);
- }
+ gtk_assistant_set_forward_page_func (
+ assistant, (GtkAssistantPageFunc)
+ forward_cb, import_assistant, NULL);
g_object_unref (pixbuf);
diff --git a/widgets/misc/e-map.c b/widgets/misc/e-map.c
index ff13e41be8..22ea72fa6a 100644
--- a/widgets/misc/e-map.c
+++ b/widgets/misc/e-map.c
@@ -198,8 +198,11 @@ static void
e_map_init (EMap *view)
{
EMapPrivate *priv;
+ GtkWidget *widget;
gchar *map_file_name = g_build_filename (EVOLUTION_IMAGESDIR, "world_map-960.png", NULL);
+ widget = GTK_WIDGET (view);
+
priv = g_new0 (EMapPrivate, 1);
view->priv = priv;
@@ -210,8 +213,8 @@ e_map_init (EMap *view)
priv->zoom_state = E_MAP_ZOOMED_OUT;
priv->points = g_ptr_array_new ();
- GTK_WIDGET_SET_FLAGS (view, GTK_CAN_FOCUS);
- GTK_WIDGET_UNSET_FLAGS (view, GTK_NO_WINDOW);
+ gtk_widget_set_can_focus (widget, TRUE);
+ gtk_widget_set_has_window (widget, TRUE);
}
/* Destroy handler for the map view */
@@ -300,7 +303,7 @@ e_map_realize (GtkWidget *widget)
g_return_if_fail (widget != NULL);
g_return_if_fail (E_IS_MAP (widget));
- GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED);
+ gtk_widget_set_realized (widget, TRUE);
gtk_widget_get_allocation (widget, &allocation);
@@ -382,11 +385,7 @@ e_map_size_allocate (GtkWidget *widget, GtkAllocation *allocation)
gtk_widget_set_allocation (widget, allocation);
-#if GTK_CHECK_VERSION(2,19,7)
if (gtk_widget_get_realized (widget)) {
-#else
- if (GTK_WIDGET_REALIZED (widget)) {
-#endif
GdkWindow *window;
window = gtk_widget_get_window (widget);
@@ -410,11 +409,7 @@ e_map_size_allocate (GtkWidget *widget, GtkAllocation *allocation)
static gint
e_map_button_press (GtkWidget *widget, GdkEventButton *event)
{
-#if GTK_CHECK_VERSION(2,19,7)
if (!gtk_widget_has_focus (widget)) gtk_widget_grab_focus (widget);
-#else
- if (!GTK_WIDGET_HAS_FOCUS (widget)) gtk_widget_grab_focus (widget);
-#endif
return TRUE;
}
@@ -649,11 +644,7 @@ e_map_window_to_world (EMap *map, gdouble win_x, gdouble win_y, gdouble *world_l
g_return_if_fail (map);
priv = map->priv;
-#if GTK_CHECK_VERSION(2,19,7)
g_return_if_fail (gtk_widget_get_realized (GTK_WIDGET (map)));
-#else
- g_return_if_fail (GTK_WIDGET_REALIZED (GTK_WIDGET (map)));
-#endif
width = gdk_pixbuf_get_width (priv->map_render_pixbuf);
height = gdk_pixbuf_get_height (priv->map_render_pixbuf);
@@ -706,11 +697,7 @@ e_map_zoom_to_location (EMap *map, gdouble longitude, gdouble latitude)
EMapPrivate *priv;
g_return_if_fail (map);
-#if GTK_CHECK_VERSION(2,19,7)
g_return_if_fail (gtk_widget_get_realized (GTK_WIDGET (map)));
-#else
- g_return_if_fail (GTK_WIDGET_REALIZED (GTK_WIDGET (map)));
-#endif
priv = map->priv;
@@ -730,11 +717,7 @@ e_map_zoom_out (EMap *map)
EMapPrivate *priv;
g_return_if_fail (map);
-#if GTK_CHECK_VERSION(2,19,7)
g_return_if_fail (gtk_widget_get_realized (GTK_WIDGET (map)));
-#else
- g_return_if_fail (GTK_WIDGET_REALIZED (GTK_WIDGET (map)));
-#endif
priv = map->priv;
@@ -970,11 +953,7 @@ update_render_pixbuf (EMap *map,
gdouble zoom;
gint i;
-#if GTK_CHECK_VERSION(2,19,7)
if (!gtk_widget_get_realized (GTK_WIDGET (map)))
-#else
- if (!GTK_WIDGET_REALIZED (map))
-#endif
return;
gtk_widget_get_allocation (GTK_WIDGET (map), &allocation);
@@ -1039,13 +1018,8 @@ request_paint_area (EMap *view, GdkRectangle *area)
EMapPrivate *priv;
gint width, height;
-#if GTK_CHECK_VERSION(2,19,7)
if (!gtk_widget_is_drawable (GTK_WIDGET (view)) ||
!gtk_widget_get_realized (GTK_WIDGET (view))) return;
-#else
- if (!GTK_WIDGET_DRAWABLE (GTK_WIDGET (view)) ||
- !GTK_WIDGET_REALIZED (GTK_WIDGET (view))) return;
-#endif
priv = view->priv;
if (!priv->map_render_pixbuf) return;
@@ -1255,11 +1229,7 @@ scroll_to (EMap *view, gint x, gint y)
priv->xofs = x;
priv->yofs = y;
-#if GTK_CHECK_VERSION(2,19,7)
if (!gtk_widget_is_drawable (GTK_WIDGET (view)))
-#else
- if (!GTK_WIDGET_DRAWABLE (view))
-#endif
return;
gtk_widget_get_allocation (GTK_WIDGET (view), &allocation);
@@ -1573,11 +1543,7 @@ zoom_in_smooth (EMap *map)
gdouble x, y;
g_return_if_fail (map);
-#if GTK_CHECK_VERSION(2,19,7)
g_return_if_fail (gtk_widget_get_realized (GTK_WIDGET (map)));
-#else
- g_return_if_fail (GTK_WIDGET_REALIZED (GTK_WIDGET (map)));
-#endif
gtk_widget_get_allocation (GTK_WIDGET (map), &allocation);
@@ -1744,11 +1710,7 @@ set_scroll_area (EMap *view)
priv = view->priv;
-#if GTK_CHECK_VERSION(2,19,7)
if (!gtk_widget_get_realized (GTK_WIDGET (view))) return;
-#else
- if (!GTK_WIDGET_REALIZED (GTK_WIDGET (view))) return;
-#endif
if (!priv->hadj || !priv->vadj) return;
g_object_freeze_notify (G_OBJECT (priv->hadj));
diff --git a/widgets/misc/e-menu-tool-button.c b/widgets/misc/e-menu-tool-button.c
index 0d9599c2f4..5a87e7420a 100644
--- a/widgets/misc/e-menu-tool-button.c
+++ b/widgets/misc/e-menu-tool-button.c
@@ -50,8 +50,7 @@ menu_tool_button_get_first_menu_item (GtkMenuToolButton *menu_tool_button)
if (!GTK_IS_MENU (menu))
return NULL;
- /* XXX GTK+ 2.18 provides no accessor function. */
- children = GTK_MENU_SHELL (menu)->children;
+ children = gtk_container_get_children (GTK_CONTAINER (menu));
if (children == NULL)
return NULL;
diff --git a/widgets/misc/e-online-button.c b/widgets/misc/e-online-button.c
index 601aaa4117..1157ecdb86 100644
--- a/widgets/misc/e-online-button.c
+++ b/widgets/misc/e-online-button.c
@@ -51,11 +51,7 @@ online_button_update_tooltip (EOnlineButton *button)
if (e_online_button_get_online (button))
tooltip = ONLINE_TOOLTIP;
-#if GTK_CHECK_VERSION(2,19,7)
else if (gtk_widget_get_sensitive (GTK_WIDGET (button)))
-#else
- else if (GTK_WIDGET_SENSITIVE (button))
-#endif
tooltip = OFFLINE_TOOLTIP;
else
tooltip = NETWORK_UNAVAILABLE_TOOLTIP;
@@ -131,8 +127,8 @@ online_button_class_init (EOnlineButtonClass *class)
PROP_ONLINE,
g_param_spec_boolean (
"online",
- _("Online"),
- _("The button state is online"),
+ "Online",
+ "The button state is online",
TRUE,
G_PARAM_READWRITE |
G_PARAM_CONSTRUCT));
@@ -145,7 +141,7 @@ online_button_init (EOnlineButton *button)
button->priv = E_ONLINE_BUTTON_GET_PRIVATE (button);
- GTK_WIDGET_UNSET_FLAGS (button, GTK_CAN_FOCUS);
+ gtk_widget_set_can_focus (GTK_WIDGET (button), FALSE);
gtk_button_set_relief (GTK_BUTTON (button), GTK_RELIEF_NONE);
widget = gtk_image_new ();
diff --git a/widgets/misc/e-paned.c b/widgets/misc/e-paned.c
index 2b4701b9ff..3f8b57011a 100644
--- a/widgets/misc/e-paned.c
+++ b/widgets/misc/e-paned.c
@@ -303,8 +303,8 @@ paned_class_init (EPanedClass *class)
PROP_HPOSITION,
g_param_spec_int (
"hposition",
- _("Horizontal Position"),
- _("Pane position when oriented horizontally"),
+ "Horizontal Position",
+ "Pane position when oriented horizontally",
G_MININT,
G_MAXINT,
0,
@@ -315,8 +315,8 @@ paned_class_init (EPanedClass *class)
PROP_VPOSITION,
g_param_spec_int (
"vposition",
- _("Vertical Position"),
- _("Pane position when oriented vertically"),
+ "Vertical Position",
+ "Pane position when oriented vertically",
G_MININT,
G_MAXINT,
0,
@@ -327,8 +327,8 @@ paned_class_init (EPanedClass *class)
PROP_PROPORTION,
g_param_spec_double (
"proportion",
- _("Proportion"),
- _("Proportion of the 2nd pane size"),
+ "Proportion",
+ "Proportion of the 2nd pane size",
0.0,
1.0,
0.0,
@@ -339,8 +339,8 @@ paned_class_init (EPanedClass *class)
PROP_FIXED_RESIZE,
g_param_spec_boolean (
"fixed-resize",
- _("Fixed Resize"),
- _("Keep the 2nd pane fixed during resize"),
+ "Fixed Resize",
+ "Keep the 2nd pane fixed during resize",
TRUE,
G_PARAM_READWRITE));
}
diff --git a/widgets/misc/e-preferences-window.c b/widgets/misc/e-preferences-window.c
index 9390f047ca..6b38b682f2 100644
--- a/widgets/misc/e-preferences-window.c
+++ b/widgets/misc/e-preferences-window.c
@@ -336,7 +336,7 @@ preferences_window_init (EPreferencesWindow *window)
g_signal_connect_swapped (
widget, "clicked",
G_CALLBACK (gtk_widget_hide), window);
- GTK_WIDGET_SET_FLAGS (widget, GTK_CAN_DEFAULT);
+ gtk_widget_set_can_default (widget, TRUE);
gtk_box_pack_start (GTK_BOX (container), widget, FALSE, FALSE, 0);
accel_group = gtk_accel_group_new ();
gtk_widget_add_accelerator (
diff --git a/widgets/misc/e-search-bar.c b/widgets/misc/e-search-bar.c
index 06b9ef6e78..aaf18b3912 100644
--- a/widgets/misc/e-search-bar.c
+++ b/widgets/misc/e-search-bar.c
@@ -92,11 +92,7 @@ search_bar_update_tokenizer (ESearchBar *search_bar)
tokenizer = e_search_bar_get_tokenizer (search_bar);
case_sensitive = e_search_bar_get_case_sensitive (search_bar);
-#if GTK_CHECK_VERSION(2,19,7)
if (gtk_widget_get_visible (GTK_WIDGET (search_bar)))
-#else
- if (GTK_WIDGET_VISIBLE (search_bar))
-#endif
active_search = search_bar->priv->active_search;
else
active_search = NULL;
diff --git a/widgets/misc/e-selection-model-array.c b/widgets/misc/e-selection-model-array.c
index 9a2a6a8e68..3dc47e99c3 100644
--- a/widgets/misc/e-selection-model-array.c
+++ b/widgets/misc/e-selection-model-array.c
@@ -590,15 +590,15 @@ e_selection_model_array_class_init (ESelectionModelArrayClass *klass)
g_object_class_install_property (object_class, PROP_CURSOR_ROW,
g_param_spec_int ("cursor_row",
- _("Cursor Row"),
- /*_( */"XXX blurb" /*)*/,
+ "Cursor Row",
+ NULL,
0, G_MAXINT, 0,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_CURSOR_COL,
g_param_spec_int ("cursor_col",
- _("Cursor Column"),
- /*_( */"XXX blurb" /*)*/,
+ "Cursor Column",
+ NULL,
0, G_MAXINT, 0,
G_PARAM_READWRITE));
}
diff --git a/widgets/misc/e-selection-model.c b/widgets/misc/e-selection-model.c
index bc858a4c34..882306df9e 100644
--- a/widgets/misc/e-selection-model.c
+++ b/widgets/misc/e-selection-model.c
@@ -213,23 +213,23 @@ e_selection_model_class_init (ESelectionModelClass *klass)
g_object_class_install_property (object_class, PROP_SORTER,
g_param_spec_object ("sorter",
- _("Sorter"),
- /*_( */"XXX blurb" /*)*/,
+ "Sorter",
+ NULL,
E_SORTER_TYPE,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_SELECTION_MODE,
g_param_spec_int ("selection_mode",
- _("Selection Mode"),
- /*_( */"XXX blurb" /*)*/,
+ "Selection Mode",
+ NULL,
GTK_SELECTION_NONE, GTK_SELECTION_MULTIPLE,
GTK_SELECTION_SINGLE,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_CURSOR_MODE,
g_param_spec_int ("cursor_mode",
- _("Cursor Mode"),
- /*_( */"XXX blurb" /*)*/,
+ "Cursor Mode",
+ NULL,
E_CURSOR_LINE, E_CURSOR_SPREADSHEET,
E_CURSOR_LINE,
G_PARAM_READWRITE));
diff --git a/widgets/misc/e-send-options.c b/widgets/misc/e-send-options.c
index 4f2ad8a9a4..c93dceff88 100644
--- a/widgets/misc/e-send-options.c
+++ b/widgets/misc/e-send-options.c
@@ -495,11 +495,11 @@ setup_widgets (ESendOptionsDialog *sod, Item_type type)
gtk_label_set_mnemonic_widget (GTK_LABEL (priv->until_label), priv->delay_until);
if (priv->global) {
- GtkWidget *widget = gtk_label_new ("Calendar");
- gtk_label_set_text (GTK_LABEL (priv->sopts_label), "Mail");
+ GtkWidget *widget = gtk_label_new (_("Calendar"));
+ gtk_label_set_text (GTK_LABEL (priv->sopts_label), _("Mail"));
gtk_notebook_append_page (priv->notebook, priv->status, widget);
gtk_widget_show (widget);
- widget = gtk_label_new ("Task");
+ widget = gtk_label_new (_("Task"));
gtk_widget_show (widget);
gtk_notebook_append_page (priv->notebook, priv->status,widget);
gtk_notebook_set_show_tabs (priv->notebook, TRUE);
diff --git a/widgets/misc/e-send-options.ui b/widgets/misc/e-send-options.ui
index c5911d456a..5ca5e7045f 100644
--- a/widgets/misc/e-send-options.ui
+++ b/widgets/misc/e-send-options.ui
@@ -194,7 +194,7 @@
<property name="row_spacing">12</property>
<child>
<object class="GtkRadioButton" id="reply-within">
- <property name="label" translatable="yes">Wi_thin</property>
+ <property name="label" translatable="yes" comments="Translators: This is part of 'Within [ X ] days', where [ X ] is a spinner with a number" context="ESendOptionsWithin">Wi_thin</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -227,7 +227,7 @@
<object class="GtkLabel" id="label93">
<property name="visible">True</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes">days</property>
+ <property name="label" translatable="yes" comments="Translators: This is part of 'Within [ X ] days', where [ X ] is a spinner with a number" context="ESendOptionsWithin">days</property>
</object>
<packing>
<property name="left_attach">2</property>
@@ -334,7 +334,7 @@
<object class="GtkLabel" id="label96">
<property name="visible">True</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes">_After:</property>
+ <property name="label" translatable="yes" comments="Translators: This is part of 'After [ X ] days', where [ X ] is a spinner with a number" context="ESendOptionsAfter">_After</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">expire-after</property>
</object>
@@ -361,7 +361,7 @@
<object class="GtkLabel" id="label97">
<property name="visible">True</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes">days</property>
+ <property name="label" translatable="yes" comments="Translators: This is part of 'After [ X ] days', where [ X ] is a spinner with a number" context="ESendOptionsAfter">days</property>
</object>
<packing>
<property name="expand">False</property>
@@ -423,7 +423,7 @@
<object class="GtkLabel" id="until-label">
<property name="visible">True</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes">_Until:</property>
+ <property name="label" translatable="yes" comments="Translators: This is part of 'Until [ date ]', where [ date ] is a date picker" context="ESendOptions">_Until</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">until-date</property>
</object>
diff --git a/widgets/misc/e-spinner.c b/widgets/misc/e-spinner.c
deleted file mode 100644
index 5e7833b34f..0000000000
--- a/widgets/misc/e-spinner.c
+++ /dev/null
@@ -1,992 +0,0 @@
-/*
- * Copyright © 2000 Eazel, Inc.
- * Copyright © 2002-2004 Marco Pesenti Gritti
- * Copyright © 2004, 2006 Christian Persch
- *
- * Nautilus is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * Nautilus is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Author: Andy Hertzfeld <andy@eazel.com>
- *
- * Ephy port by Marco Pesenti Gritti <marco@it.gnome.org>
- *
- * $Id: e-spinner.c 12639 2006-12-12 17:06:55Z chpe $
- */
-
-/*
- * From Nautilus ephy-spinner.c
- */
-
-#include "config.h"
-
-#include "e-spinner.h"
-
-#define E_TYPE_SPINNER (e_spinner_get_type ())
-#define E_SPINNER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TYPE_SPINNER, ESpinner))
-#define E_SPINNER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TYPE_SPINNER, ESpinnerClass))
-#define E_IS_SPINNER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TYPE_SPINNER))
-#define E_IS_SPINNER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TYPE_SPINNER))
-#define E_SPINNER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), E_TYPE_SPINNER, ESpinnerClass))
-
-typedef struct _ESpinner ESpinner;
-typedef struct _ESpinnerClass ESpinnerClass;
-typedef struct _ESpinnerDetails ESpinnerDetails;
-
-struct _ESpinner
-{
- GtkWidget parent;
-
- /*< private >*/
- ESpinnerDetails *details;
-};
-
-struct _ESpinnerClass
-{
- GtkWidgetClass parent_class;
-};
-
-#define LOG(msg, args...)
-#define START_PROFILER(name)
-#define STOP_PROFILER(name)
-
-#include "e-util/e-icon-factory.h"
-
-/* Spinner cache implementation */
-
-#define E_TYPE_SPINNER_CACHE (e_spinner_cache_get_type())
-#define E_SPINNER_CACHE(object) (G_TYPE_CHECK_INSTANCE_CAST((object), E_TYPE_SPINNER_CACHE, ESpinnerCache))
-#define E_SPINNER_CACHE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), E_TYPE_SPINNER_CACHE, ESpinnerCacheClass))
-#define E_IS_SPINNER_CACHE(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), E_TYPE_SPINNER_CACHE))
-#define E_IS_SPINNER_CACHE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), E_TYPE_SPINNER_CACHE))
-#define E_SPINNER_CACHE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), E_TYPE_SPINNER_CACHE, ESpinnerCacheClass))
-
-typedef struct _ESpinnerCache ESpinnerCache;
-typedef struct _ESpinnerCacheClass ESpinnerCacheClass;
-typedef struct _ESpinnerCachePrivate ESpinnerCachePrivate;
-
-struct _ESpinnerCacheClass
-{
- GObjectClass parent_class;
-};
-
-struct _ESpinnerCache
-{
- GObject parent_object;
-
- /*< private >*/
- ESpinnerCachePrivate *priv;
-};
-
-#define E_SPINNER_CACHE_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), E_TYPE_SPINNER_CACHE, ESpinnerCachePrivate))
-
-struct _ESpinnerCachePrivate
-{
- /* Hash table of GdkScreen -> ESpinnerCacheData */
- GHashTable *hash;
-};
-
-typedef struct
-{
- guint ref_count;
- GtkIconSize size;
- gint width;
- gint height;
- GdkPixbuf **animation_pixbufs;
- guint n_animation_pixbufs;
-} ESpinnerImages;
-
-#define LAST_ICON_SIZE GTK_ICON_SIZE_DIALOG + 1
-#define SPINNER_ICON_NAME "process-working"
-#define SPINNER_FALLBACK_ICON_NAME "gnome-spinner"
-#define E_SPINNER_IMAGES_INVALID ((ESpinnerImages *) 0x1)
-
-typedef struct
-{
- GdkScreen *screen;
- GtkIconTheme *icon_theme;
- ESpinnerImages *images[LAST_ICON_SIZE];
-} ESpinnerCacheData;
-
-static void e_spinner_cache_class_init (ESpinnerCacheClass *klass);
-static void e_spinner_cache_init (ESpinnerCache *cache);
-
-static GObjectClass *e_spinner_cache_parent_class;
-static gpointer spinner_cache = NULL;
-
-static GType
-e_spinner_cache_get_type (void)
-{
- static GType type = 0;
-
- if (G_UNLIKELY (type == 0))
- {
- const GTypeInfo our_info =
- {
- sizeof (ESpinnerCacheClass),
- NULL,
- NULL,
- (GClassInitFunc) e_spinner_cache_class_init,
- NULL,
- NULL,
- sizeof (ESpinnerCache),
- 0,
- (GInstanceInitFunc) e_spinner_cache_init
- };
-
- type = g_type_register_static (G_TYPE_OBJECT,
- "ESpinnerCache",
- &our_info, 0);
- }
-
- return type;
-}
-
-static ESpinnerImages *
-e_spinner_images_ref (ESpinnerImages *images)
-{
- g_return_val_if_fail (images != NULL, NULL);
-
- images->ref_count++;
-
- return images;
-}
-
-static void
-e_spinner_images_unref (ESpinnerImages *images)
-{
- g_return_if_fail (images != NULL);
-
- images->ref_count--;
- if (images->ref_count == 0)
- {
- guint i;
-
- LOG ("Freeing spinner images %p for size %d", images, images->size);
-
- for (i = 0; i < images->n_animation_pixbufs; ++i)
- {
- g_object_unref (images->animation_pixbufs[i]);
- }
- g_free (images->animation_pixbufs);
-
- g_free (images);
- }
-}
-
-static void
-e_spinner_cache_data_unload (ESpinnerCacheData *data)
-{
- GtkIconSize size;
- ESpinnerImages *images;
-
- g_return_if_fail (data != NULL);
-
- LOG ("ESpinnerDataCache unload for screen %p", data->screen);
-
- for (size = GTK_ICON_SIZE_INVALID; size < LAST_ICON_SIZE; ++size)
- {
- images = data->images[size];
- data->images[size] = NULL;
-
- if (images != NULL && images != E_SPINNER_IMAGES_INVALID)
- {
- e_spinner_images_unref (images);
- }
- }
-}
-
-static GdkPixbuf *
-extract_frame (GdkPixbuf *grid_pixbuf,
- gint x,
- gint y,
- gint size)
-{
- GdkPixbuf *pixbuf;
-
- if (x + size > gdk_pixbuf_get_width (grid_pixbuf) ||
- y + size > gdk_pixbuf_get_height (grid_pixbuf))
- {
- return NULL;
- }
-
- pixbuf = gdk_pixbuf_new_subpixbuf (grid_pixbuf,
- x, y,
- size, size);
- g_return_val_if_fail (pixbuf != NULL, NULL);
-
- return pixbuf;
-}
-
-static GdkPixbuf *
-scale_to_size (GdkPixbuf *pixbuf,
- gint dw,
- gint dh)
-{
- GdkPixbuf *result;
- gint pw, ph;
-
- g_return_val_if_fail (pixbuf != NULL, NULL);
-
- pw = gdk_pixbuf_get_width (pixbuf);
- ph = gdk_pixbuf_get_height (pixbuf);
-
- if (pw != dw || ph != dh)
- {
- result = e_icon_factory_pixbuf_scale (pixbuf, dw, dh);
- g_object_unref (pixbuf);
- return result;
- }
-
- return pixbuf;
-}
-
-static ESpinnerImages *
-e_spinner_images_load (GdkScreen *screen,
- GtkIconTheme *icon_theme,
- GtkIconSize icon_size)
-{
- ESpinnerImages *images;
- GdkPixbuf *icon_pixbuf, *pixbuf;
- GtkIconInfo *icon_info = NULL;
- gint grid_width, grid_height, x, y, requested_size, size, isw, ish, n;
- const gchar *icon;
- GSList *list = NULL, *l;
-
- LOG ("ESpinnerCacheData loading for screen %p at size %d", screen, icon_size);
-
- START_PROFILER ("loading spinner animation")
-
- if (!gtk_icon_size_lookup_for_settings (gtk_settings_get_for_screen (screen),
- icon_size, &isw, &ish)) goto loser;
-
- requested_size = MAX (ish, isw);
-
- /* Load the animation. The 'rest icon' is the 0th frame */
- icon_info = gtk_icon_theme_lookup_icon (icon_theme,
- SPINNER_ICON_NAME,
- requested_size, 0);
- if (icon_info == NULL)
- {
- g_warning ("Throbber animation not found");
-
- /* If the icon naming spec compliant name wasn't found, try the old name */
- icon_info = gtk_icon_theme_lookup_icon (icon_theme,
- SPINNER_FALLBACK_ICON_NAME,
- requested_size, 0);
- if (icon_info == NULL)
- {
- g_warning ("Throbber fallback animation not found either");
- goto loser;
- }
- }
- if (icon_info == NULL) {
- g_warning ("icon_info is NULL");
- goto loser;
- }
-
- size = gtk_icon_info_get_base_size (icon_info);
- icon = gtk_icon_info_get_filename (icon_info);
- if (icon == NULL) goto loser;
-
- icon_pixbuf = gdk_pixbuf_new_from_file (icon, NULL);
- gtk_icon_info_free (icon_info);
- icon_info = NULL;
-
- if (icon_pixbuf == NULL)
- {
- g_warning ("Could not load the spinner file");
- goto loser;
- }
-
- grid_width = gdk_pixbuf_get_width (icon_pixbuf);
- grid_height = gdk_pixbuf_get_height (icon_pixbuf);
-
- n = 0;
- for (y = 0; y < grid_height; y += size)
- {
- for (x = 0; x < grid_width; x += size)
- {
- pixbuf = extract_frame (icon_pixbuf, x, y, size);
-
- if (pixbuf)
- {
- list = g_slist_prepend (list, pixbuf);
- ++n;
- }
- else
- {
- g_warning ("Cannot extract frame (%d, %d) from the grid\n", x, y);
- }
- }
- }
-
- g_object_unref (icon_pixbuf);
-
- if (list == NULL || n <= 0) goto loser;
-
- if (size > requested_size)
- {
- for (l = list; l != NULL; l = l->next)
- {
- l->data = scale_to_size (l->data, isw, ish);
- }
- }
-
- /* Now we've successfully got all the data */
- images = g_new (ESpinnerImages, 1);
- images->ref_count = 1;
-
- images->size = icon_size;
- images->width = images->height = requested_size;
-
- images->n_animation_pixbufs = n;
- images->animation_pixbufs = g_new (GdkPixbuf *, n);
-
- for (l = list; l != NULL; l = l->next)
- {
- if (l->data)
- images->animation_pixbufs[--n] = l->data;
- }
- if (n != 0) {
- g_warning ("n != 0 \n");
- }
-
- g_slist_free (list);
-
- STOP_PROFILER ("loading spinner animation")
-
- return images;
-
-loser:
- if (icon_info)
- {
- gtk_icon_info_free (icon_info);
- }
- g_slist_foreach (list, (GFunc) g_object_unref, NULL);
-
- STOP_PROFILER ("loading spinner animation")
-
- return NULL;
-}
-
-static ESpinnerCacheData *
-e_spinner_cache_data_new (GdkScreen *screen)
-{
- ESpinnerCacheData *data;
-
- data = g_new0 (ESpinnerCacheData, 1);
-
- data->screen = screen;
- data->icon_theme = gtk_icon_theme_get_for_screen (screen);
- g_signal_connect_swapped (data->icon_theme, "changed",
- G_CALLBACK (e_spinner_cache_data_unload),
- data);
-
- return data;
-}
-
-static void
-e_spinner_cache_data_free (ESpinnerCacheData *data)
-{
- g_return_if_fail (data != NULL);
- g_return_if_fail (data->icon_theme != NULL);
-
- g_signal_handlers_disconnect_by_func
- (data->icon_theme,
- G_CALLBACK (e_spinner_cache_data_unload), data);
-
- e_spinner_cache_data_unload (data);
-
- g_free (data);
-}
-
-static ESpinnerImages *
-e_spinner_cache_get_images (ESpinnerCache *cache,
- GdkScreen *screen,
- GtkIconSize icon_size)
-{
- ESpinnerCachePrivate *priv = cache->priv;
- ESpinnerCacheData *data;
- ESpinnerImages *images;
-
- LOG ("Getting animation images for screen %p at size %d", screen, icon_size);
-
- g_return_val_if_fail (icon_size < LAST_ICON_SIZE, NULL);
-
- /* Backward compat: "invalid" meant "native" size which doesn't exist anymore */
- if (icon_size == GTK_ICON_SIZE_INVALID)
- {
- icon_size = GTK_ICON_SIZE_DIALOG;
- }
-
- data = g_hash_table_lookup (priv->hash, screen);
- if (data == NULL)
- {
- data = e_spinner_cache_data_new (screen);
- /* FIXME: think about what happens when the screen's display is closed later on */
- g_hash_table_insert (priv->hash, screen, data);
- }
-
- images = data->images[icon_size];
- if (images == E_SPINNER_IMAGES_INVALID)
- {
- /* Load failed, but don't try endlessly again! */
- return NULL;
- }
-
- if (images != NULL)
- {
- /* Return cached data */
- return e_spinner_images_ref (images);
- }
-
- images = e_spinner_images_load (screen, data->icon_theme, icon_size);
-
- if (images == NULL)
- {
- /* Mark as failed-to-load */
- data->images[icon_size] = E_SPINNER_IMAGES_INVALID;
-
- return NULL;
- }
-
- data->images[icon_size] = images;
-
- return e_spinner_images_ref (images);
-}
-
-static void
-e_spinner_cache_init (ESpinnerCache *cache)
-{
- ESpinnerCachePrivate *priv;
-
- priv = cache->priv = E_SPINNER_CACHE_GET_PRIVATE (cache);
-
- LOG ("ESpinnerCache initialising");
-
- priv->hash = g_hash_table_new_full (g_direct_hash, g_direct_equal,
- NULL,
- (GDestroyNotify) e_spinner_cache_data_free);
-}
-
-static void
-e_spinner_cache_finalize (GObject *object)
-{
- ESpinnerCache *cache = E_SPINNER_CACHE (object);
- ESpinnerCachePrivate *priv = cache->priv;
-
- g_hash_table_destroy (priv->hash);
-
- LOG ("ESpinnerCache finalised");
-
- G_OBJECT_CLASS (e_spinner_cache_parent_class)->finalize (object);
-}
-
-static void
-e_spinner_cache_class_init (ESpinnerCacheClass *klass)
-{
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
-
- e_spinner_cache_parent_class = g_type_class_peek_parent (klass);
-
- object_class->finalize = e_spinner_cache_finalize;
-
- g_type_class_add_private (object_class, sizeof (ESpinnerCachePrivate));
-}
-
-static ESpinnerCache *
-e_spinner_cache_ref (void)
-{
- if (G_UNLIKELY (spinner_cache == NULL))
- {
- spinner_cache = g_object_new (E_TYPE_SPINNER_CACHE, NULL);
- g_object_add_weak_pointer (
- G_OBJECT (spinner_cache), &spinner_cache);
- }
-
- return g_object_ref_sink (spinner_cache);
-}
-
-/* Spinner implementation */
-
-#define SPINNER_TIMEOUT 125 /* ms */
-
-#define E_SPINNER_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), E_TYPE_SPINNER, ESpinnerDetails))
-
-struct _ESpinnerDetails
-{
- GtkIconTheme *icon_theme;
- ESpinnerCache *cache;
- GtkIconSize size;
- ESpinnerImages *images;
- guint current_image;
- guint timeout;
- guint timer_task;
- guint spinning : 1;
- guint need_load : 1;
-};
-
-static void e_spinner_class_init (ESpinnerClass *class);
-static void e_spinner_init (ESpinner *spinner);
-
-static GObjectClass *parent_class;
-
-static GType
-e_spinner_get_type (void)
-{
- static GType type = 0;
-
- if (G_UNLIKELY (type == 0))
- {
- const GTypeInfo our_info =
- {
- sizeof (ESpinnerClass),
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc) e_spinner_class_init,
- NULL,
- NULL, /* class_data */
- sizeof (ESpinner),
- 0, /* n_preallocs */
- (GInstanceInitFunc) e_spinner_init
- };
-
- type = g_type_register_static (GTK_TYPE_WIDGET,
- "ESpinner",
- &our_info, 0);
- }
-
- return type;
-}
-
-static gboolean
-e_spinner_load_images (ESpinner *spinner)
-{
- ESpinnerDetails *details = spinner->details;
-
- if (details->need_load)
- {
- START_PROFILER ("e_spinner_load_images")
-
- details->images =
- e_spinner_cache_get_images
- (details->cache,
- gtk_widget_get_screen (GTK_WIDGET (spinner)),
- details->size);
-
- STOP_PROFILER ("e_spinner_load_images")
-
- details->current_image = 0; /* 'rest' icon */
- details->need_load = FALSE;
- }
-
- return details->images != NULL;
-}
-
-static void
-e_spinner_unload_images (ESpinner *spinner)
-{
- ESpinnerDetails *details = spinner->details;
-
- if (details->images != NULL)
- {
- e_spinner_images_unref (details->images);
- details->images = NULL;
- }
-
- details->current_image = 0;
- details->need_load = TRUE;
-}
-
-static void
-icon_theme_changed_cb (GtkIconTheme *icon_theme,
- ESpinner *spinner)
-{
- e_spinner_unload_images (spinner);
- gtk_widget_queue_resize (GTK_WIDGET (spinner));
-}
-
-static void
-e_spinner_init (ESpinner *spinner)
-{
- ESpinnerDetails *details;
-
- details = spinner->details = E_SPINNER_GET_PRIVATE (spinner);
-
- GTK_WIDGET_SET_FLAGS (GTK_WIDGET (spinner), GTK_NO_WINDOW);
-
- details->cache = e_spinner_cache_ref ();
- details->size = GTK_ICON_SIZE_DIALOG;
- details->spinning = FALSE;
- details->timeout = SPINNER_TIMEOUT;
- details->need_load = TRUE;
-}
-
-static gint
-e_spinner_expose (GtkWidget *widget,
- GdkEventExpose *event)
-{
- ESpinner *spinner = E_SPINNER (widget);
- ESpinnerDetails *details = spinner->details;
- ESpinnerImages *images;
- GtkAllocation allocation;
- GdkPixbuf *pixbuf;
- GdkWindow *window;
- GdkGC *gc;
- gint x_offset, y_offset, width, height;
- GdkRectangle pix_area, dest;
-
-#if GTK_CHECK_VERSION(2,19,7)
- if (!gtk_widget_is_drawable (GTK_WIDGET (spinner)))
-#else
- if (!GTK_WIDGET_DRAWABLE (spinner))
-#endif
- {
- return FALSE;
- }
-
- if (details->need_load &&
- !e_spinner_load_images (spinner))
- {
- return FALSE;
- }
-
- images = details->images;
- if (images == NULL)
- {
- return FALSE;
- }
-
- /* Otherwise |images| will be NULL anyway */
- g_return_val_if_fail (images->n_animation_pixbufs > 0, FALSE);
-
- g_return_val_if_fail (
- details->current_image < images->n_animation_pixbufs, FALSE);
-
- pixbuf = images->animation_pixbufs[details->current_image];
-
- g_return_val_if_fail (pixbuf != NULL, FALSE);
-
- width = gdk_pixbuf_get_width (pixbuf);
- height = gdk_pixbuf_get_height (pixbuf);
-
- gtk_widget_get_allocation (widget, &allocation);
-
- /* Compute the offsets for the image centered on our allocation */
- x_offset = (allocation.width - width) / 2;
- y_offset = (allocation.height - height) / 2;
-
- pix_area.x = x_offset + allocation.x;
- pix_area.y = y_offset + allocation.y;
- pix_area.width = width;
- pix_area.height = height;
-
- if (!gdk_rectangle_intersect (&event->area, &pix_area, &dest))
- {
- return FALSE;
- }
-
- window = gtk_widget_get_window (widget);
-
- gc = gdk_gc_new (window);
- gdk_draw_pixbuf (window, gc, pixbuf,
- dest.x - x_offset - allocation.x,
- dest.y - y_offset - allocation.y,
- dest.x, dest.y,
- dest.width, dest.height,
- GDK_RGB_DITHER_MAX, 0, 0);
- g_object_unref (gc);
-
- return FALSE;
-}
-
-static gboolean
-bump_spinner_frame_cb (ESpinner *spinner)
-{
- ESpinnerDetails *details = spinner->details;
-
- /* This can happen when we've unloaded the images on a theme
- * change, but haven't been in the queued size request yet.
- * Just skip this update.
- */
- if (details->images == NULL) return TRUE;
-
- details->current_image++;
- if (details->current_image >= details->images->n_animation_pixbufs)
- {
- /* the 0th frame is the 'rest' icon */
- details->current_image = MIN (1, details->images->n_animation_pixbufs);
- }
-
- gtk_widget_queue_draw (GTK_WIDGET (spinner));
-
- /* run again */
- return TRUE;
-}
-
-static void
-e_spinner_start (ESpinner *spinner)
-{
- ESpinnerDetails *details = spinner->details;
-
- details->spinning = TRUE;
-
-#if GTK_CHECK_VERSION(2,19,7)
- if (gtk_widget_get_mapped (GTK_WIDGET (spinner)) &&
-#else
- if (GTK_WIDGET_MAPPED (GTK_WIDGET (spinner)) &&
-#endif
- details->timer_task == 0 &&
- e_spinner_load_images (spinner))
- {
- /* the 0th frame is the 'rest' icon */
- details->current_image = MIN (1, details->images->n_animation_pixbufs);
-
- details->timer_task =
- g_timeout_add_full (G_PRIORITY_LOW,
- details->timeout,
- (GSourceFunc) bump_spinner_frame_cb,
- spinner,
- NULL);
- }
-}
-
-static void
-e_spinner_remove_update_callback (ESpinner *spinner)
-{
- ESpinnerDetails *details = spinner->details;
-
- if (details->timer_task != 0)
- {
- g_source_remove (details->timer_task);
- details->timer_task = 0;
- }
-}
-
-static void
-e_spinner_set_size (ESpinner *spinner,
- GtkIconSize size)
-{
- if (size == GTK_ICON_SIZE_INVALID)
- {
- size = GTK_ICON_SIZE_DIALOG;
- }
-
- if (size != spinner->details->size)
- {
- e_spinner_unload_images (spinner);
-
- spinner->details->size = size;
-
- gtk_widget_queue_resize (GTK_WIDGET (spinner));
- }
-}
-
-#if 0
-
-static void
-e_spinner_stop (ESpinner *spinner)
-{
- ESpinnerDetails *details = spinner->details;
-
- details->spinning = FALSE;
- details->current_image = 0;
-
- if (details->timer_task != 0)
- {
- e_spinner_remove_update_callback (spinner);
-
- if (GTK_WIDGET_MAPPED (GTK_WIDGET (spinner)))
- {
- gtk_widget_queue_draw (GTK_WIDGET (spinner));
- }
- }
-}
-
-/*
- * e_spinner_set_timeout:
- * @spinner: a #ESpinner
- * @timeout: time delay between updates to the spinner.
- *
- * Sets the timeout delay for spinner updates.
- **/
-void
-e_spinner_set_timeout (ESpinner *spinner,
- guint timeout)
-{
- ESpinnerDetails *details = spinner->details;
-
- if (timeout != details->timeout)
- {
- e_spinner_stop (spinner);
-
- details->timeout = timeout;
-
- if (details->spinning)
- {
- e_spinner_start (spinner);
- }
- }
-}
-#endif
-
-static void
-e_spinner_size_request (GtkWidget *widget,
- GtkRequisition *requisition)
-{
- ESpinner *spinner = E_SPINNER (widget);
- ESpinnerDetails *details = spinner->details;
-
- if ((details->need_load &&
- !e_spinner_load_images (spinner)) ||
- details->images == NULL)
- {
- requisition->width = requisition->height = 0;
- gtk_icon_size_lookup_for_settings (gtk_widget_get_settings (widget),
- details->size,
- &requisition->width,
- &requisition->height);
- return;
- }
-
- requisition->width = details->images->width;
- requisition->height = details->images->height;
-
- /* FIXME fix this hack */
- /* allocate some extra margin so we don't butt up against toolbar edges */
- if (details->size != GTK_ICON_SIZE_MENU)
- {
- requisition->width += 2;
- requisition->height += 2;
- }
-}
-
-static void
-e_spinner_map (GtkWidget *widget)
-{
- ESpinner *spinner = E_SPINNER (widget);
- ESpinnerDetails *details = spinner->details;
-
- GTK_WIDGET_CLASS (parent_class)->map (widget);
-
- if (details->spinning)
- {
- e_spinner_start (spinner);
- }
-}
-
-static void
-e_spinner_unmap (GtkWidget *widget)
-{
- ESpinner *spinner = E_SPINNER (widget);
-
- e_spinner_remove_update_callback (spinner);
-
- GTK_WIDGET_CLASS (parent_class)->unmap (widget);
-}
-
-static void
-e_spinner_dispose (GObject *object)
-{
- ESpinner *spinner = E_SPINNER (object);
-
- if (spinner->details->icon_theme)
- g_signal_handlers_disconnect_by_func
- (spinner->details->icon_theme,
- G_CALLBACK (icon_theme_changed_cb), spinner);
-
- G_OBJECT_CLASS (parent_class)->dispose (object);
-}
-
-static void
-e_spinner_finalize (GObject *object)
-{
- ESpinner *spinner = E_SPINNER (object);
-
- e_spinner_remove_update_callback (spinner);
- e_spinner_unload_images (spinner);
-
- g_object_unref (spinner->details->cache);
-
- G_OBJECT_CLASS (parent_class)->finalize (object);
-}
-
-static void
-e_spinner_screen_changed (GtkWidget *widget,
- GdkScreen *old_screen)
-{
- ESpinner *spinner = E_SPINNER (widget);
- ESpinnerDetails *details = spinner->details;
- GdkScreen *screen;
-
- if (GTK_WIDGET_CLASS (parent_class)->screen_changed)
- {
- GTK_WIDGET_CLASS (parent_class)->screen_changed (widget, old_screen);
- }
-
- screen = gtk_widget_get_screen (widget);
-
- /* FIXME: this seems to be happening when then spinner is destroyed!? */
- if (old_screen == screen) return;
-
- /* We'll get mapped again on the new screen, but not unmapped from
- * the old screen, so remove timeout here.
- */
- e_spinner_remove_update_callback (spinner);
-
- e_spinner_unload_images (spinner);
-
- if (old_screen != NULL)
- {
- g_signal_handlers_disconnect_by_func
- (gtk_icon_theme_get_for_screen (old_screen),
- G_CALLBACK (icon_theme_changed_cb), spinner);
- }
-
- details->icon_theme = gtk_icon_theme_get_for_screen (screen);
- g_signal_connect (details->icon_theme, "changed",
- G_CALLBACK (icon_theme_changed_cb), spinner);
-}
-
-static void
-e_spinner_class_init (ESpinnerClass *class)
-{
- GObjectClass *object_class = G_OBJECT_CLASS (class);
- GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (class);
-
- parent_class = g_type_class_peek_parent (class);
-
- object_class->dispose = e_spinner_dispose;
- object_class->finalize = e_spinner_finalize;
-
- widget_class->expose_event = e_spinner_expose;
- widget_class->size_request = e_spinner_size_request;
- widget_class->map = e_spinner_map;
- widget_class->unmap = e_spinner_unmap;
- widget_class->screen_changed = e_spinner_screen_changed;
-
- g_type_class_add_private (object_class, sizeof (ESpinnerDetails));
-}
-
-GtkWidget *e_spinner_new_spinning_small_shown (void)
-{
- ESpinner *image;
- image = E_SPINNER (g_object_new (E_TYPE_SPINNER, NULL));
-
- e_spinner_set_size (image, GTK_ICON_SIZE_SMALL_TOOLBAR);
- e_spinner_start (image);
- gtk_widget_show (GTK_WIDGET(image));
-
- return GTK_WIDGET (image);
-}
diff --git a/widgets/misc/e-spinner.h b/widgets/misc/e-spinner.h
deleted file mode 100644
index 0fb97d945e..0000000000
--- a/widgets/misc/e-spinner.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/*
- * Copyright © 2000 Eazel, Inc.
- * Copyright © 2004, 2006 Christian Persch
- *
- * Nautilus is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * Nautilus is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Author: Andy Hertzfeld <andy@eazel.com>
- *
- * $Id: ephy-spinner.h 12639 2006-12-12 17:06:55Z chpe $
- */
-
-/*
- * From Nautilus ephy-spinner.h
- */
-#ifndef E_SPINNER_H
-#define E_SPINNER_H
-
-#include <gtk/gtk.h>
-
-G_BEGIN_DECLS
-
-GtkWidget *e_spinner_new_spinning_small_shown (void);
-
-G_END_DECLS
-
-#endif /* E_SPINNER_H */
diff --git a/widgets/misc/e-web-view-preview.c b/widgets/misc/e-web-view-preview.c
new file mode 100644
index 0000000000..e268779827
--- /dev/null
+++ b/widgets/misc/e-web-view-preview.c
@@ -0,0 +1,481 @@
+/*
+ * e-web-view-preview.c
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * 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/>
+ *
+ *
+ * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
+ *
+ */
+
+#include "e-web-view-preview.h"
+
+#include <config.h>
+#include <string.h>
+#include <glib/gi18n-lib.h>
+
+#define E_WEB_VIEW_PREVIEW_GET_PRIVATE(obj) \
+ (G_TYPE_INSTANCE_GET_PRIVATE \
+ ((obj), E_TYPE_WEB_VIEW_PREVIEW, EWebViewPreviewPrivate))
+
+struct _EWebViewPreviewPrivate {
+ gboolean escape_values;
+ GString *updating_content; /* is NULL when not between begin_update/end_update */
+};
+
+enum {
+ PROP_0,
+ PROP_TREE_VIEW,
+ PROP_PREVIEW_WIDGET,
+ PROP_ESCAPE_VALUES
+};
+
+G_DEFINE_TYPE (EWebViewPreview, e_web_view_preview, GTK_TYPE_VPANED);
+
+static void
+web_view_preview_set_property (GObject *object,
+ guint property_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ switch (property_id) {
+ case PROP_ESCAPE_VALUES:
+ e_web_view_preview_set_escape_values (
+ E_WEB_VIEW_PREVIEW (object),
+ g_value_get_boolean (value));
+ return;
+ }
+
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+}
+
+static void
+web_view_preview_get_property (GObject *object,
+ guint property_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ switch (property_id) {
+ case PROP_TREE_VIEW:
+ g_value_set_object (
+ value, e_web_view_preview_get_tree_view (
+ E_WEB_VIEW_PREVIEW (object)));
+ return;
+
+ case PROP_PREVIEW_WIDGET:
+ g_value_set_object (
+ value, e_web_view_preview_get_preview (
+ E_WEB_VIEW_PREVIEW (object)));
+ return;
+
+ case PROP_ESCAPE_VALUES:
+ g_value_set_boolean (
+ value, e_web_view_preview_get_escape_values (
+ E_WEB_VIEW_PREVIEW (object)));
+ return;
+ }
+
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+}
+
+static void
+web_view_preview_dispose (GObject *object)
+{
+ EWebViewPreviewPrivate *priv;
+
+ priv = E_WEB_VIEW_PREVIEW_GET_PRIVATE (object);
+
+ if (priv->updating_content != NULL) {
+ g_string_free (priv->updating_content, TRUE);
+ priv->updating_content = NULL;
+ }
+
+ /* Chain up to parent's dispose() method. */
+ G_OBJECT_CLASS (e_web_view_preview_parent_class)->dispose (object);
+}
+
+static void
+e_web_view_preview_class_init (EWebViewPreviewClass *klass)
+{
+ GObjectClass *object_class;
+
+ g_type_class_add_private (klass, sizeof (EWebViewPreviewPrivate));
+
+ object_class = G_OBJECT_CLASS (klass);
+ object_class->set_property = web_view_preview_set_property;
+ object_class->get_property = web_view_preview_get_property;
+ object_class->dispose = web_view_preview_dispose;
+
+ g_object_class_install_property (
+ object_class,
+ PROP_TREE_VIEW,
+ g_param_spec_object (
+ "tree-view",
+ "Tree View",
+ NULL,
+ GTK_TYPE_TREE_VIEW,
+ G_PARAM_READABLE));
+
+ g_object_class_install_property (
+ object_class,
+ PROP_PREVIEW_WIDGET,
+ g_param_spec_object (
+ "preview-widget",
+ "Preview Widget",
+ NULL,
+ GTK_TYPE_WIDGET,
+ G_PARAM_READABLE));
+
+ g_object_class_install_property (
+ object_class,
+ PROP_ESCAPE_VALUES,
+ g_param_spec_boolean (
+ "escape-values",
+ "Whether escaping values automatically, when inserting",
+ NULL,
+ TRUE,
+ G_PARAM_READWRITE));
+}
+
+static GtkWidget *
+in_scrolled_window (GtkWidget *widget)
+{
+ GtkWidget *sw;
+
+ g_return_val_if_fail (widget != NULL, NULL);
+
+ sw = gtk_scrolled_window_new (NULL, NULL);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+ gtk_container_add (GTK_CONTAINER (sw), widget);
+
+ gtk_widget_show (widget);
+ gtk_widget_show (sw);
+
+ return sw;
+}
+
+static void
+e_web_view_preview_init (EWebViewPreview *preview)
+{
+ GtkWidget *tree_view_sw, *web_view_sw;
+ EWebViewPreviewPrivate *priv;
+
+ priv = E_WEB_VIEW_PREVIEW_GET_PRIVATE (preview);
+ preview->priv = priv;
+ priv->escape_values = TRUE;
+
+ tree_view_sw = in_scrolled_window (gtk_tree_view_new ());
+ web_view_sw = in_scrolled_window (e_web_view_new ());
+
+ gtk_widget_hide (tree_view_sw);
+ gtk_widget_show (web_view_sw);
+
+ gtk_paned_pack1 (GTK_PANED (preview), tree_view_sw, FALSE, TRUE);
+ gtk_paned_pack2 (GTK_PANED (preview), web_view_sw, TRUE, TRUE);
+
+ /* rawly 3 lines of a text plus a little bit more */
+ if (gtk_paned_get_position (GTK_PANED (preview)) < 85)
+ gtk_paned_set_position (GTK_PANED (preview), 85);
+}
+
+GtkWidget *
+e_web_view_preview_new (void)
+{
+ return g_object_new (E_TYPE_WEB_VIEW_PREVIEW, NULL);
+}
+
+GtkTreeView *
+e_web_view_preview_get_tree_view (EWebViewPreview *preview)
+{
+ g_return_val_if_fail (preview != NULL, NULL);
+ g_return_val_if_fail (E_IS_WEB_VIEW_PREVIEW (preview), NULL);
+
+ return GTK_TREE_VIEW (gtk_bin_get_child (GTK_BIN (gtk_paned_get_child1 (GTK_PANED (preview)))));
+}
+
+GtkWidget *
+e_web_view_preview_get_preview (EWebViewPreview *preview)
+{
+ g_return_val_if_fail (preview != NULL, NULL);
+ g_return_val_if_fail (E_IS_WEB_VIEW_PREVIEW (preview), NULL);
+
+ return gtk_bin_get_child (GTK_BIN (gtk_paned_get_child2 (GTK_PANED (preview))));
+}
+
+void
+e_web_view_preview_set_preview (EWebViewPreview *preview, GtkWidget *preview_widget)
+{
+ GtkWidget *old_child;
+
+ g_return_if_fail (preview != NULL);
+ g_return_if_fail (E_IS_WEB_VIEW_PREVIEW (preview));
+ g_return_if_fail (preview_widget != NULL);
+ g_return_if_fail (GTK_IS_WIDGET (preview_widget));
+
+ old_child = gtk_bin_get_child (GTK_BIN (gtk_paned_get_child2 (GTK_PANED (preview))));
+ if (old_child) {
+ g_return_if_fail (old_child != preview_widget);
+ gtk_widget_destroy (old_child);
+ }
+
+ gtk_container_add (GTK_CONTAINER (gtk_paned_get_child2 (GTK_PANED (preview))), preview_widget);
+}
+
+void
+e_web_view_preview_show_tree_view (EWebViewPreview *preview)
+{
+ g_return_if_fail (preview != NULL);
+ g_return_if_fail (E_IS_WEB_VIEW_PREVIEW (preview));
+
+ gtk_widget_show (gtk_paned_get_child1 (GTK_PANED (preview)));
+}
+
+void
+e_web_view_preview_hide_tree_view(EWebViewPreview *preview)
+{
+ g_return_if_fail (preview != NULL);
+ g_return_if_fail (E_IS_WEB_VIEW_PREVIEW (preview));
+
+ gtk_widget_hide (gtk_paned_get_child1 (GTK_PANED (preview)));
+}
+
+void
+e_web_view_preview_set_escape_values (EWebViewPreview *preview, gboolean escape)
+{
+ g_return_if_fail (preview != NULL);
+ g_return_if_fail (E_IS_WEB_VIEW_PREVIEW (preview));
+ g_return_if_fail (preview->priv != NULL);
+
+ preview->priv->escape_values = escape;
+}
+
+gboolean
+e_web_view_preview_get_escape_values (EWebViewPreview *preview)
+{
+ g_return_val_if_fail (preview != NULL, FALSE);
+ g_return_val_if_fail (E_IS_WEB_VIEW_PREVIEW (preview), FALSE);
+ g_return_val_if_fail (preview->priv != NULL, FALSE);
+
+ return preview->priv->escape_values;
+}
+
+void
+e_web_view_preview_begin_update (EWebViewPreview *preview)
+{
+ g_return_if_fail (preview != NULL);
+ g_return_if_fail (E_IS_WEB_VIEW_PREVIEW (preview));
+ g_return_if_fail (preview->priv != NULL);
+
+ if (preview->priv->updating_content) {
+ g_warning ("%s: Previous content update isn't finished with e_web_view_preview_end_update()", G_STRFUNC);
+ g_string_free (preview->priv->updating_content, TRUE);
+ }
+
+ preview->priv->updating_content = g_string_new ("<TABLE width=\"100%\" border=\"0\" cols=\"2\">");
+}
+
+void
+e_web_view_preview_end_update (EWebViewPreview *preview)
+{
+ GtkWidget *web_view;
+
+ g_return_if_fail (preview != NULL);
+ g_return_if_fail (E_IS_WEB_VIEW_PREVIEW (preview));
+ g_return_if_fail (preview->priv != NULL);
+ g_return_if_fail (preview->priv->updating_content != NULL);
+
+ g_string_append (preview->priv->updating_content, "</TABLE>");
+
+ web_view = e_web_view_preview_get_preview (preview);
+ if (E_IS_WEB_VIEW (web_view))
+ e_web_view_load_string (E_WEB_VIEW (web_view), preview->priv->updating_content->str);
+
+ g_string_free (preview->priv->updating_content, TRUE);
+ preview->priv->updating_content = NULL;
+}
+
+static gchar *
+replace_string (const gchar *text, const gchar *find, const gchar *replace)
+{
+ const gchar *p, *next;
+ GString *str;
+ gint find_len;
+
+ g_return_val_if_fail (text != NULL, NULL);
+ g_return_val_if_fail (find != NULL, NULL);
+ g_return_val_if_fail (*find, NULL);
+
+ find_len = strlen (find);
+ str = g_string_new ("");
+
+ p = text;
+ while (next = strstr (p, find), next) {
+ if (p + 1 < next)
+ g_string_append_len (str, p, next - p);
+
+ if (replace && *replace)
+ g_string_append (str, replace);
+
+ p = next + find_len;
+ }
+
+ g_string_append (str, p);
+
+ return g_string_free (str, FALSE);
+}
+
+static gchar *
+web_view_preview_escape_text (EWebViewPreview *preview, const gchar *text)
+{
+ gchar *utf8_valid, *res, *end;
+
+ if (!e_web_view_preview_get_escape_values (preview))
+ return NULL;
+
+ g_return_val_if_fail (text != NULL, NULL);
+
+ if (g_utf8_validate (text, -1, NULL)) {
+ res = g_markup_escape_text (text, -1);
+ } else {
+ utf8_valid = g_strdup (text);
+ while (end = NULL, !g_utf8_validate (utf8_valid, -1, (const gchar **) &end) && end && *end)
+ *end = '?';
+
+ res = g_markup_escape_text (utf8_valid, -1);
+
+ g_free (utf8_valid);
+ }
+
+ if (res && strchr (res, '\n')) {
+ /* replace line breaks with <BR> */
+ if (strchr (res, '\r')) {
+ end = replace_string (res, "\r", "");
+ g_free (res);
+ res = end;
+ }
+
+ end = replace_string (res, "\n", "<BR>");
+ g_free (res);
+ res = end;
+ }
+
+ return res;
+}
+
+void
+e_web_view_preview_add_header (EWebViewPreview *preview, gint index, const gchar *header)
+{
+ gchar *escaped;
+
+ g_return_if_fail (preview != NULL);
+ g_return_if_fail (E_IS_WEB_VIEW_PREVIEW (preview));
+ g_return_if_fail (preview->priv != NULL);
+ g_return_if_fail (preview->priv->updating_content != NULL);
+ g_return_if_fail (header != NULL);
+
+ if (index < 1)
+ index = 1;
+ else if (index > 6)
+ index = 6;
+
+ escaped = web_view_preview_escape_text (preview, header);
+ if (escaped)
+ header = escaped;
+
+ g_string_append_printf (preview->priv->updating_content, "<TR><TD colspan=2><H%d>%s</H%d></TD></TR>", index, header, index);
+
+ g_free (escaped);
+}
+
+void
+e_web_view_preview_add_text (EWebViewPreview *preview, const gchar *text)
+{
+ gchar *escaped;
+
+ g_return_if_fail (preview != NULL);
+ g_return_if_fail (E_IS_WEB_VIEW_PREVIEW (preview));
+ g_return_if_fail (preview->priv != NULL);
+ g_return_if_fail (preview->priv->updating_content != NULL);
+ g_return_if_fail (text != NULL);
+
+ escaped = web_view_preview_escape_text (preview, text);
+ if (escaped)
+ text = escaped;
+
+ g_string_append_printf (preview->priv->updating_content, "<TR><TD colspan=2><FONT size=\"3\">%s</FONT></TD></TR>", text);
+
+ g_free (escaped);
+}
+
+void
+e_web_view_preview_add_raw_html (EWebViewPreview *preview, const gchar *raw_html)
+{
+ g_return_if_fail (preview != NULL);
+ g_return_if_fail (E_IS_WEB_VIEW_PREVIEW (preview));
+ g_return_if_fail (preview->priv != NULL);
+ g_return_if_fail (preview->priv->updating_content != NULL);
+ g_return_if_fail (raw_html != NULL);
+
+ g_string_append_printf (preview->priv->updating_content, "<TR><TD colspan=2>%s</TD></TR>", raw_html);
+}
+
+void
+e_web_view_preview_add_separator (EWebViewPreview *preview)
+{
+ g_return_if_fail (preview != NULL);
+ g_return_if_fail (E_IS_WEB_VIEW_PREVIEW (preview));
+ g_return_if_fail (preview->priv != NULL);
+ g_return_if_fail (preview->priv->updating_content != NULL);
+
+ g_string_append (preview->priv->updating_content, "<TR><TD colspan=2><HR></TD></TR>");
+}
+
+void
+e_web_view_preview_add_empty_line (EWebViewPreview *preview)
+{
+ g_return_if_fail (preview != NULL);
+ g_return_if_fail (E_IS_WEB_VIEW_PREVIEW (preview));
+ g_return_if_fail (preview->priv != NULL);
+ g_return_if_fail (preview->priv->updating_content != NULL);
+
+ g_string_append (preview->priv->updating_content, "<TR><TD colspan=2>&nbsp;</TD></TR>");
+}
+
+/* section can be NULL, but value cannot */
+void
+e_web_view_preview_add_section (EWebViewPreview *preview, const gchar *section, const gchar *value)
+{
+ gchar *escaped_section = NULL, *escaped_value;
+
+ g_return_if_fail (preview != NULL);
+ g_return_if_fail (E_IS_WEB_VIEW_PREVIEW (preview));
+ g_return_if_fail (preview->priv != NULL);
+ g_return_if_fail (preview->priv->updating_content != NULL);
+ g_return_if_fail (value != NULL);
+
+ if (section) {
+ escaped_section = web_view_preview_escape_text (preview, section);
+ if (escaped_section)
+ section = escaped_section;
+ }
+
+ escaped_value = web_view_preview_escape_text (preview, value);
+ if (escaped_value)
+ value = escaped_value;
+
+ g_string_append_printf (preview->priv->updating_content, "<TR><TD width=\"10%%\" valign=\"top\" nowrap><FONT size=\"3\"><B>%s</B></FONT></TD><TD width=\"90%%\"><FONT size=\"3\">%s</FONT></TD></TR>", section ? section : "", value);
+
+ g_free (escaped_section);
+ g_free (escaped_value);
+}
diff --git a/widgets/misc/e-web-view-preview.h b/widgets/misc/e-web-view-preview.h
new file mode 100644
index 0000000000..319f67ec82
--- /dev/null
+++ b/widgets/misc/e-web-view-preview.h
@@ -0,0 +1,101 @@
+/*
+ * e-web-view-preview.h
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * 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/>
+ *
+ *
+ * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
+ *
+ */
+
+/* This is intended to serve as a common widget for previews before import.
+ * It contains a GtkTreeView at the top and an EWebView at the bottom.
+ * The tree view is not shown initially, it should be forced with
+ * e_web_view_preview_show_tree_view().
+ *
+ * The internal default EWebView can be accessed by e_web_view_preview_get_preview()
+ * and it should be updated for each change of the selected item in the tree
+ * view, when it's shown.
+ *
+ * Updating an EWebView content through helper functions of an EWebViewPreview
+ * begins with call of e_web_view_preview_begin_update(), which starts an empty
+ * page construction, which is finished by e_web_view_preview_end_update(),
+ * and the content of the EWebView is updated.
+ */
+
+#ifndef E_WEB_VIEW_PREVIEW_H
+#define E_WEB_VIEW_PREVIEW_H
+
+#include <misc/e-web-view.h>
+
+/* Standard GObject macros */
+#define E_TYPE_WEB_VIEW_PREVIEW \
+ (e_web_view_preview_get_type ())
+#define E_WEB_VIEW_PREVIEW(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST \
+ ((obj), E_TYPE_WEB_VIEW_PREVIEW, EWebViewPreview))
+#define E_WEB_VIEW_PREVIEW_CLASS(cls) \
+ (G_TYPE_CHECK_CLASS_CAST \
+ ((cls), E_TYPE_WEB_VIEW_PREVIEW, EWebViewPreviewClass))
+#define E_IS_WEB_VIEW_PREVIEW(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE \
+ ((obj), E_TYPE_WEB_VIEW_PREVIEW))
+#define E_IS_WEB_VIEW_PREVIEW_CLASS(cls) \
+ (G_TYPE_CHECK_CLASS_TYPE \
+ ((cls), E_TYPE_WEB_VIEW_PREVIEW))
+#define E_WEB_VIEW_PREVIEW_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS \
+ ((obj), E_TYPE_WEB_VIEW_PREVIEW, EWebViewPreviewClass))
+
+G_BEGIN_DECLS
+
+typedef struct _EWebViewPreview EWebViewPreview;
+typedef struct _EWebViewPreviewClass EWebViewPreviewClass;
+typedef struct _EWebViewPreviewPrivate EWebViewPreviewPrivate;
+
+struct _EWebViewPreview {
+ GtkVPaned parent;
+ EWebViewPreviewPrivate *priv;
+};
+
+struct _EWebViewPreviewClass {
+ GtkVPanedClass parent_class;
+};
+
+GType e_web_view_preview_get_type (void);
+GtkWidget * e_web_view_preview_new (void);
+
+GtkTreeView * e_web_view_preview_get_tree_view(EWebViewPreview *preview);
+GtkWidget * e_web_view_preview_get_preview (EWebViewPreview *preview);
+void e_web_view_preview_set_preview (EWebViewPreview *preview, GtkWidget *preview_widget);
+
+void e_web_view_preview_show_tree_view(EWebViewPreview *preview);
+void e_web_view_preview_hide_tree_view(EWebViewPreview *preview);
+
+void e_web_view_preview_set_escape_values(EWebViewPreview *preview, gboolean escape);
+gboolean e_web_view_preview_get_escape_values(EWebViewPreview *preview);
+
+void e_web_view_preview_begin_update (EWebViewPreview *preview);
+void e_web_view_preview_end_update (EWebViewPreview *preview);
+
+void e_web_view_preview_add_header (EWebViewPreview *preview, gint index, const gchar *header);
+void e_web_view_preview_add_text (EWebViewPreview *preview, const gchar *text);
+void e_web_view_preview_add_raw_html (EWebViewPreview *preview, const gchar *raw_html);
+void e_web_view_preview_add_separator(EWebViewPreview *preview);
+void e_web_view_preview_add_empty_line(EWebViewPreview *preview);
+void e_web_view_preview_add_section (EWebViewPreview *preview, const gchar *section, const gchar *value);
+
+G_END_DECLS
+
+#endif /* E_WEB_VIEW_PREVIEW_H */
diff --git a/widgets/misc/e-web-view.c b/widgets/misc/e-web-view.c
index beb865b98b..8e1878869e 100644
--- a/widgets/misc/e-web-view.c
+++ b/widgets/misc/e-web-view.c
@@ -25,8 +25,7 @@
#include <string.h>
#include <glib/gi18n-lib.h>
-#include <camel/camel-internet-address.h>
-#include <camel/camel-url.h>
+#include <camel/camel.h>
#include <e-util/e-util.h>
#include <e-util/e-binding.h>
@@ -305,7 +304,7 @@ action_mailto_copy_cb (GtkAction *action,
if (text == NULL || *text == '\0')
text = g_strdup (uri + strlen ("mailto:"));
- camel_object_unref (inet_addr);
+ g_object_unref (inet_addr);
camel_url_free (curl);
clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD);
@@ -767,30 +766,71 @@ web_view_url_requested (GtkHTML *html,
}
static void
-web_view_link_clicked (GtkHTML *html,
- const gchar *uri)
+web_view_gtkhtml_link_clicked (GtkHTML *html,
+ const gchar *uri)
{
- gpointer parent;
+ EWebViewClass *class;
+ EWebView *web_view;
- parent = gtk_widget_get_toplevel (GTK_WIDGET (html));
- parent = gtk_widget_is_toplevel (parent) ? parent : NULL;
+ web_view = E_WEB_VIEW (html);
- e_show_uri (parent, uri);
+ class = E_WEB_VIEW_GET_CLASS (web_view);
+ g_return_if_fail (class->link_clicked != NULL);
+
+ class->link_clicked (web_view, uri);
}
static void
web_view_on_url (GtkHTML *html,
const gchar *uri)
{
+ EWebViewClass *class;
EWebView *web_view;
+
+ web_view = E_WEB_VIEW (html);
+
+ class = E_WEB_VIEW_GET_CLASS (web_view);
+ g_return_if_fail (class->hovering_over_link != NULL);
+
+ /* XXX WebKit would supply a title here. */
+ class->hovering_over_link (web_view, NULL, uri);
+}
+
+static void
+web_view_iframe_created (GtkHTML *html,
+ GtkHTML *iframe)
+{
+ g_signal_connect_swapped (
+ iframe, "button-press-event",
+ G_CALLBACK (web_view_button_press_event_cb), html);
+}
+
+static gchar *
+web_view_extract_uri (EWebView *web_view,
+ GdkEventButton *event,
+ GtkHTML *html)
+{
+ gchar *uri;
+
+ if (event != NULL)
+ uri = gtk_html_get_url_at (html, event->x, event->y);
+ else
+ uri = gtk_html_get_cursor_url (html);
+
+ return uri;
+}
+
+static void
+web_view_hovering_over_link (EWebView *web_view,
+ const gchar *title,
+ const gchar *uri)
+{
CamelInternetAddress *address;
CamelURL *curl;
const gchar *format = NULL;
gchar *message = NULL;
gchar *who;
- web_view = E_WEB_VIEW (html);
-
if (uri == NULL || *uri == '\0')
goto exit;
@@ -816,7 +856,7 @@ web_view_on_url (GtkHTML *html,
address = camel_internet_address_new ();
camel_address_decode (CAMEL_ADDRESS (address), curl->path);
who = camel_address_format (CAMEL_ADDRESS (address));
- camel_object_unref (address);
+ g_object_unref (address);
camel_url_free (curl);
if (who == NULL)
@@ -833,27 +873,25 @@ exit:
}
static void
-web_view_iframe_created (GtkHTML *html,
- GtkHTML *iframe)
+web_view_link_clicked (EWebView *web_view,
+ const gchar *uri)
{
- g_signal_connect_swapped (
- iframe, "button-press-event",
- G_CALLBACK (web_view_button_press_event_cb), html);
+ gpointer parent;
+
+ parent = gtk_widget_get_toplevel (GTK_WIDGET (web_view));
+ parent = gtk_widget_is_toplevel (parent) ? parent : NULL;
+
+ e_show_uri (parent, uri);
}
-static gchar *
-web_view_extract_uri (EWebView *web_view,
- GdkEventButton *event,
- GtkHTML *html)
+static void
+web_view_load_string (EWebView *web_view,
+ const gchar *string)
{
- gchar *uri;
-
- if (event != NULL)
- uri = gtk_html_get_url_at (html, event->x, event->y);
+ if (string != NULL && *string != '\0')
+ gtk_html_load_from_string (GTK_HTML (web_view), string, -1);
else
- uri = gtk_html_get_cursor_url (html);
-
- return uri;
+ e_web_view_clear (web_view);
}
static void
@@ -1083,11 +1121,13 @@ e_web_view_class_init (EWebViewClass *class)
html_class = GTK_HTML_CLASS (class);
html_class->url_requested = web_view_url_requested;
- html_class->link_clicked = web_view_link_clicked;
+ html_class->link_clicked = web_view_gtkhtml_link_clicked;
html_class->on_url = web_view_on_url;
html_class->iframe_created = web_view_iframe_created;
class->extract_uri = web_view_extract_uri;
+ class->hovering_over_link = web_view_hovering_over_link;
+ class->link_clicked = web_view_link_clicked;
class->load_string = web_view_load_string;
class->copy_clipboard = web_view_copy_clipboard;
class->cut_clipboard = web_view_cut_clipboard;
@@ -1122,7 +1162,6 @@ e_web_view_class_init (EWebViewClass *class)
PROP_COPY_TARGET_LIST,
"copy-target-list");
-#ifndef G_OS_WIN32
g_object_class_install_property (
object_class,
PROP_DISABLE_PRINTING,
@@ -1144,7 +1183,6 @@ e_web_view_class_init (EWebViewClass *class)
FALSE,
G_PARAM_READWRITE |
G_PARAM_CONSTRUCT));
-#endif
g_object_class_install_property (
object_class,
diff --git a/widgets/misc/e-web-view.h b/widgets/misc/e-web-view.h
index 7d8eb4c8d0..56477ef257 100644
--- a/widgets/misc/e-web-view.h
+++ b/widgets/misc/e-web-view.h
@@ -69,6 +69,11 @@ struct _EWebViewClass {
gchar * (*extract_uri) (EWebView *web_view,
GdkEventButton *event,
GtkHTML *frame);
+ void (*hovering_over_link) (EWebView *web_view,
+ const gchar *title,
+ const gchar *uri);
+ void (*link_clicked) (EWebView *web_view,
+ const gchar *uri);
void (*load_string) (EWebView *web_view,
const gchar *load_string);