diff options
Diffstat (limited to 'widgets/misc')
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> </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); |