aboutsummaryrefslogtreecommitdiffstats
path: root/widgets
diff options
context:
space:
mode:
Diffstat (limited to 'widgets')
-rw-r--r--widgets/ChangeLog1050
-rw-r--r--widgets/ChangeLog.pre-1-4506
-rw-r--r--widgets/Makefile.am3
-rw-r--r--widgets/e-timezone-dialog/e-timezone-dialog.c17
-rw-r--r--widgets/menus/gal-define-views-dialog.c55
-rw-r--r--widgets/menus/gal-define-views-model.c8
-rw-r--r--widgets/menus/gal-view-instance-save-as-dialog.c15
-rw-r--r--widgets/menus/gal-view-new-dialog.c28
-rw-r--r--widgets/misc/ChangeLog3010
-rw-r--r--widgets/misc/ChangeLog.pre-1-41903
-rw-r--r--widgets/misc/Makefile.am7
-rw-r--r--widgets/misc/e-account-combo-box.c3
-rw-r--r--widgets/misc/e-account-combo-box.h2
-rw-r--r--widgets/misc/e-account-tree-view.c2
-rw-r--r--widgets/misc/e-action-combo-box.c4
-rw-r--r--widgets/misc/e-activity-proxy.c7
-rw-r--r--widgets/misc/e-attachment-handler-image.c4
-rw-r--r--widgets/misc/e-attachment-paned.c6
-rw-r--r--widgets/misc/e-attachment-view.c5
-rw-r--r--widgets/misc/e-attachment.c60
-rw-r--r--widgets/misc/e-attachment.h5
-rw-r--r--widgets/misc/e-buffer-tagger.c4
-rw-r--r--widgets/misc/e-calendar-item.c5
-rw-r--r--widgets/misc/e-calendar.c34
-rw-r--r--widgets/misc/e-canvas-background.c36
-rw-r--r--widgets/misc/e-canvas-vbox.c16
-rw-r--r--widgets/misc/e-canvas.c4
-rw-r--r--widgets/misc/e-dateedit.c4
-rw-r--r--widgets/misc/e-hinted-entry.c4
-rw-r--r--widgets/misc/e-import-assistant.c105
-rw-r--r--widgets/misc/e-map.c50
-rw-r--r--widgets/misc/e-menu-tool-button.c3
-rw-r--r--widgets/misc/e-online-button.c10
-rw-r--r--widgets/misc/e-paned.c16
-rw-r--r--widgets/misc/e-preferences-window.c2
-rw-r--r--widgets/misc/e-search-bar.c4
-rw-r--r--widgets/misc/e-selection-model-array.c8
-rw-r--r--widgets/misc/e-selection-model.c12
-rw-r--r--widgets/misc/e-send-options.c6
-rw-r--r--widgets/misc/e-send-options.ui10
-rw-r--r--widgets/misc/e-spinner.c992
-rw-r--r--widgets/misc/e-spinner.h39
-rw-r--r--widgets/misc/e-web-view-preview.c481
-rw-r--r--widgets/misc/e-web-view-preview.h101
-rw-r--r--widgets/misc/e-web-view.c100
-rw-r--r--widgets/misc/e-web-view.h5
-rw-r--r--widgets/table/ChangeLog10156
-rw-r--r--widgets/table/e-cell-combo.c98
-rw-r--r--widgets/table/e-cell-date-edit.c38
-rw-r--r--widgets/table/e-cell-pixbuf.c12
-rw-r--r--widgets/table/e-cell-popup.c8
-rw-r--r--widgets/table/e-cell-text.c104
-rw-r--r--widgets/table/e-cell-toggle.c4
-rw-r--r--widgets/table/e-cell-tree.c72
-rw-r--r--widgets/table/e-table-click-to-add.c87
-rw-r--r--widgets/table/e-table-col.c2
-rw-r--r--widgets/table/e-table-config.c54
-rw-r--r--widgets/table/e-table-field-chooser-dialog.c23
-rw-r--r--widgets/table/e-table-field-chooser-item.c50
-rw-r--r--widgets/table/e-table-field-chooser.c16
-rw-r--r--widgets/table/e-table-group-container.c78
-rw-r--r--widgets/table/e-table-group-leaf.c48
-rw-r--r--widgets/table/e-table-header-item.c174
-rw-r--r--widgets/table/e-table-header-utils.c4
-rw-r--r--widgets/table/e-table-item.c109
-rw-r--r--widgets/table/e-table-selection-model.c8
-rw-r--r--widgets/table/e-table-sorter.c4
-rw-r--r--widgets/table/e-table-sorting-utils.c3
-rw-r--r--widgets/table/e-table-utils.c5
-rw-r--r--widgets/table/e-table.c463
-rw-r--r--widgets/table/e-tree-selection-model.c14
-rw-r--r--widgets/table/e-tree.c410
-rw-r--r--widgets/table/gal-a11y-e-cell-popup.c10
-rw-r--r--widgets/table/gal-a11y-e-cell-text.c3
-rw-r--r--widgets/table/gal-a11y-e-cell-toggle.c14
-rw-r--r--widgets/table/gal-a11y-e-cell-tree.c6
-rw-r--r--widgets/table/gal-a11y-e-table-click-to-add.c28
-rw-r--r--widgets/table/gal-a11y-e-table.c8
-rw-r--r--widgets/text/e-reflow.c217
-rw-r--r--widgets/text/e-text.c150
-rw-r--r--widgets/text/gal-a11y-e-text.c4
81 files changed, 2386 insertions, 18849 deletions
diff --git a/widgets/ChangeLog b/widgets/ChangeLog
deleted file mode 100644
index 13337e0d76..0000000000
--- a/widgets/ChangeLog
+++ /dev/null
@@ -1,1050 +0,0 @@
-2009-04-07 Takao Fujiwara <takao.fujiwara@sun.com>
-
- Reviewed by Milan Crha <mcrha@redhat.com>
- Reviewed by Matthew Barnes <mbarnes@redhat.com>
-
- * Fixes bug #537530
-
- * misc/e-attachment-bar.c (update):
- Use g_filename_to_utf8 for attachment filenames.
-
-2009-03-25 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #576694
-
- * text/e-text.c (reset_layout):
- Handle absolute font sizes correctly.
-
-2009-02-14 Matthew Barnes <mbarnes@redhat.com>
-
- * text/e-text.c:
- Remove unneeded #include <libart_lgpl/...>.
-
-2009-01-10 Matthew Barnes <mbarnes@redhat.com>
-
- * menus/gal-view-collection.c:
- * menus/gal-view-instance.c:
- Remove unneeded #include <libgnome/gnome-util.h>.
-
-2009-01-10 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #567276
-
- * menus/gal-view-menus.c:
- Remove unneeded #include <libgnomeui/gnome-dialog.h>.
-
-2009-01-09 Takao Fujiwara <takao.fujiwara@sun.com>
-
- Reviewed by Matthew Barnes <mbarnes@redhat.com>
-
- * Fix for bug #566011
-
- * misc/e-charset-picker.c:
- * misc/e-signature-combo-box.c:
- Include <glib/gi18n-lib.h> instead of <glib/gi18n.h>.
-
-2008-11-03 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes bug #559041
-
- * text/e-text.c (e_text_class_init):
- Add translator comment for "im_context" property.
-
-2008-10-30 Matthew Barnes <mbarnes@redhat.com>
-
- * widgets/menus/gal-view-menus.c:
- * widgets/misc/e-activity-handler.c:
- * widgets/table/e-table-config-field.h:
- Only include the toplevel GTK+ header.
-
-2008-10-17 Sankar P <psankar@novell.com>
-
-License Changes
-
- * text/e-text.c:
- * text/e-text.h:
-
-2008-10-03 Sankar P <psankar@novell.com>
-
-License Changes
-
- * text/e-text-test.c:
-
-2008-09-12 Sankar P <psankar@novell.com>
-
-License Changes
-
- * menus/gal-view-instance-save-as-dialog.c:
- * menus/gal-view-instance-save-as-dialog.h:
- * text/e-text.h:
-
-2008-09-02 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-timezone-dialog/e-timezone-dialog.c:
- * e-timezone-dialog/e-timezone-dialog.h:
- * menus/gal-define-views-dialog.h:
- * menus/gal-define-views-model.c:
- * menus/gal-view-collection.c:
- * menus/gal-view-collection.h:
- * menus/gal-view-etable.c:
- * menus/gal-view-factory.c:
- * menus/gal-view-menus.c:
- * menus/gal-view-new-dialog.h:
- * text/e-text-model-repos.h:
- * text/e-text-model.c:
- * text/e-text-model.h:
-
-2008-08-27 Sankar P <psankar@novell.com>
-
-License Changes
-
- * menus/gal-define-views-dialog.c:
- * menus/gal-define-views-model.h:
- * menus/gal-view-etable.h:
- * menus/gal-view-factory-etable.c:
- * menus/gal-view-factory-etable.h:
- * menus/gal-view-factory.h:
- * menus/gal-view-instance.c:
- * menus/gal-view-instance.h:
- * menus/gal-view-menus.h:
- * menus/gal-view-new-dialog.c:
- * menus/gal-view.c:
- * menus/gal-view.h:
- * text/e-text-model-repos.c:
- * text/e-text-model-test.c:
-
-2008-06-03 Kjartan Maraas <kmaraas@gnome.org>
-
- * text/e-text-model-test.c: (main):
- * text/e-text-test.c: (main):
- gdk_rgb_get_cmap -> gdk_rgb_get_colormap
-
-2008-06-03 Kjartan Maraas <kmaraas@gnome.org>
-
- * menus/gal-define-views-dialog.c: (gal_define_views_dialog_init):
- * menus/gal-view-new-dialog.c: (gal_view_new_dialog_init):
- gtk_window_set_policy -> gtk_window_set_resizable.
-
-2008-05-22 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #534360
-
- * e-timezone-dialog/e-timezone-dialog.h:
- * menus/gal-view-instance.c:
- * menus/gal-view-menus.h:
- * text/e-text.h:
- Migrate from deprecated GtkObject symbols to GObject equivalents.
-
-2008-04-25 Danny Baumann <dannybaumann@web.de>
-
- ** Fix for bug #529893
-
- * text/e-text.c: (_do_tooltip):
- Properly set type hint on tooltip window.
-
-2008-04-22 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #529641
-
- * e-timezone-dialog/e-timezone-dialog.glade:
- Prefer the term "drop-down combination box" to "combo box" per the
- GNOME Documentation Style Guide.
-
-2008-02-23 Andre Klapper <a9016009@gmx.de>
-
- * e-timezone-dialog/e-timezone-dialog.glade:
- Fix the string freeze break of the former commit.
-
-2008-02-23 Suman Manjunath <msuman@novell.com>
-
- ** Fix for bug #471779
-
- * e-timezone-dialog/e-timezone-dialog.c:
- (e_timezone_dialog_add_timezones), (e_timezone_dialog_construct),
- (on_map_leave), (on_map_button_pressed),
- (e_timezone_dialog_set_timezone), (on_combo_changed),
- (timezone_combo_get_active_text), (timezone_combo_set_active_text):
- * e-timezone-dialog/e-timezone-dialog.glade:
- Timezone entries in the combo-box are now sorted alphabetically.
- Migrated deprecated widget to GtkComboBox.
-
-2008-02-19 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #383438
-
- * text/e-text.c: (e_text_point):
- Report "mouse over" even with no text entered.
-
-2008-02-03 Matthew Barnes <mbarnes@redhat.com>
-
- * text/e-text.c (update_im_cursor_position):
- * text/e-text.c (e_text_get_cursor_locations):
- Remove these unused functions to silence compiler warnings.
-
-2008-01-29 Matthew Barnes <mbarnes@redhat.com>
-
- * menus/gal-view-collection.c:
- * menus/gal-view-menus.c:
- * menus/gal-view-instance.c:
- Replace G_GNUC_FUNCTION (deprecated) with G_STRFUNC.
-
-2008-01-14 Mayank Jain <mayank.gnu@gmail.com>
-
- ** Fix for bug #348638
-
- * text/e-text.c: (insert_preedit_text), (reset_layout_attrs),
- (e_text_draw): Cleanly remove pre-edit buffer on pressing backspace in
- day-view, for non-ascii characters as well.
-
-2007-11-26 Gilles Dartiguelongue <gdartigu@svn.gnome.org>
-
- ** Fixes bug #495951
-
- * menus/gal-view-instance-save-as-dialog.c:
- (gal_view_instance_save_as_dialog_set_instance),
- (gvisad_setup_validate_button), (gvisad_setup_radio_buttons),
- (gvisad_entry_changed),
- (gal_view_instance_save_as_dialog_set_property),
- (gal_view_instance_save_as_dialog_dispose),
- (gal_view_instance_save_as_dialog_init),
- (gal_view_instance_save_as_dialog_new),
- (gal_view_instance_save_as_dialog_save):
- * menus/gal-view-instance-save-as-dialog.glade:
- * menus/gal-view-instance-save-as-dialog.h:
- Use GtkTreeView in place of ETable
-
-2007-11-05 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #341085
-
- * text/e-text.c: (get_bounds), (e_text_draw): Use 'x_offset' and
- 'y_offset' only for text drawing, not for changing bounds of EText.
-
-2007-10-26 Kjartan Maraas <kmaraas@gnome.org>
-
- * e-timezone-dialog/e-timezone-dialog.c: (get_local_offset),
- (get_local_timezone), (on_map_visibility_changed),
- (on_map_button_pressed), (get_zone_from_point),
- (e_timezone_dialog_set_timezone), (on_combo_changed):
- * menus/gal-view-factory.c: (gal_view_factory_get_title):
- * text/Makefile.am:
- * text/e-text.c: (e_text_event), (popup_targets_received),
- (next_word), (find_offset_into_line), (_get_position),
- (e_text_class_init):
- * text/e.entry.[ch]
- * text/e-completion.[ch]
- * text/e-text-model-uri.[ch]
- * text/e-completion-view.[ch]
- * text/e-completion-callbacks.[ch]
- * text/e-completion-match.[ch]
- * text/e-table-text-model.[ch]: Remove all of these. They
- are now unused.
-
- Warning fixes:
- - NULL vs 0 vs FALSE
- - ANSIfication of function declarations
-
-2007-10-09 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #437579
-
- * text/e-text.c:
- Fix various compiler warnings. Patch from Milan Crha.
-
-2007-09-27 Hiroyuki Ikezoe <poincare@ikezoe.net>
-
- ** Fix for bug #461195
-
- * text/e-completion-view.c:
- * text/e-text-model.c:
- * text/e-text.c:
- * text/e-entry.c:
- * text/e-completion.c:
- * misc/e-dateedit.c:
- * misc/e-reflow-model.c:
- * misc/e-reflow.c:
- * misc/e-canvas.c:
- * misc/e-image-chooser.c:
- * misc/e-selection-model.c:
- * misc/e-printable.c:
- * misc/e-canvas-background.c:
- * misc/e-search-bar.c: Use GObject's marshalers.
-
-2007-08-31 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Move away from g_assert to g_return* critical warnings to debug
- them better.
-
- * e-timezone-dialog/e-timezone-dialog.c: (get_zone_from_point):
- * text/e-completion-view.c: (e_completion_view_set_cursor_row):
- * text/e-table-text-model.c: (e_table_text_model_dispose):
- * text/e-text-model-uri.c: (objectify_idle_cb):
-
-2007-08-24 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #411619
-
- * Makefile.am: Fix subdirectory order.
-
- * e-timezone-dialog/Makefile.am: Remove WIN32_BOOTSTRAP_LIBS.
-
-2007-08-23 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes bug #309166
-
- * text/e-text.c (_get_updated_position): Modified the way movement
- of cursor is handled across grapheme clusters.
- * text/e-text.c (_get_position): Uses the new function for forward
- and backward movement of characters (simple or grapheme clusters).
- Patch by Mayank Jain.
-
-2007-08-23 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes bug #303878
-
- * text/e-text.h: preedit_pos: new value.
- * text/e-text.c: (e_text_get_cursor_locations):
- New function. Get the cursor locations.
- (update_im_cursor_position): New function.
- Set the cursor location to IMContext.
- (insert_preedit_text): Call update_im_cursor_position when draw
- preedit text.
- (e_text_preedit_changed_cb): Set the preedit cursor position to
- preedit_pos.
- Patch by Hiroyuki Ikezoe and Mayank Jain.
-
-2007-07-27 Hiroyuki Ikezoe <poincare@ikezoe.net>
-
- * text/e-text-model-uri.c:
- * text/e-completion-view.c:
- * text/e-text-model.c:
- * text/e-text.c:
- * text/e-completion-callbacks.c:
- * text/e-entry.c:
- * text/e-table-text-model.c:
- * text/e-completion.c:
- * menus/gal-view-new-dialog.c:
- * menus/gal-view-collection.c:
- * menus/gal-view-etable.c:
- * menus/gal-view-instance-save-as-dialog.c:
- * menus/gal-view-factory-etable.c:
- * menus/gal-view.c:
- * menus/gal-view-instance.c:
- * menus/gal-view-factory.c:
- * menus/gal-define-views-dialog.c:
- * menus/gal-define-views-model.c:
- * misc/e-canvas-vbox.c:
- * misc/e-reflow-model.c:
- * misc/e-selection-model-array.c:
- * misc/e-reflow.c:
- * misc/e-canvas.c:
- * misc/e-selection-model.c:
- * misc/e-printable.c:
- * misc/e-canvas-background.c:
- * misc/e-selection-model-simple.c: Use G_DEFINE_TYPE instead of
- E_MAKE_TYPE.
-
-2007-07-27 Matthew Barnes <mbarnes@redhat.com>
-
- * text/Makefile.am:
- Rename EXTRA_GNOME_CFLAGS to GNOME_PLATFORM_CFLAGS.
- Similarly for EXTRA_GNOME_LIBS.
-
-2007-07-26 Hiroyuki Ikezoe <poincare@ikezoe.net>
-
- * text/e-text.c: (e_text_dispose): Plugged memory leak.
-
-2007-07-19 Hiroyuki Ikezoe <poincare@ikezoe.net>
-
- * text/e-text.c: (e_text_copy_clipboard): Remove needless g_strndup().
-
-2007-07-15 Hiroyuki Ikezoe <poincare@ikezoe.net>
-
- * text/e-text.c: (primary_get_cb): Remove needless g_strndup().
-
-2007-07-09 Matthew Barnes <mbarnes@redhat.com>
-
- * table/e-table-specification.c: (e_table_specification_duplicate)
- Return NULL if ETable specification string fails to load.
-
- * table/e-tree.c:
- * table/e-tree-scrolled.c:
- Improve error handling in the constructors.
-
-2007-06-18 Srinivasa Ragavan <sragavan@novell.com>
-
- * menus/gal-define-views-dialog.c
- (gdvd_button_new_dialog_callback): Remove a warning
-
-2007-06-18 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bug #446015 from Gilles Dartiguelongue
-
- * menus/gal-define-views-dialog.c:
- (gdvd_button_new_dialog_callback), (gdvd_button_new_callback),
- (gdvd_button_modify_callback), (gdvd_button_delete_callback),
- (gdvd_cursor_changed_callback), (gdvd_connect_signal),
- (gal_define_views_dialog_init),
- (gal_define_views_dialog_set_collection),
- (gal_define_views_dialog_new):
- * menus/gal-define-views-dialog.h:
- * menus/gal-define-views.glade:
-
-2007-06-11 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #325882
-
- * menus/gal-define-views.glade:
- * table/e-table-field-chooser.glade:
- * misc/e-attachment.glade:
- Changed GTK_WIN_POS_NONE to GTK_WIN_POS_CENTER_ON_PARENT.
-
-2007-06-02 Gilles Dartiguelongue <dartigug@esiee.fr>
-
- ** Fixes part of bug #441014
-
- * e-timezone-dialog/e-timezone-dialog.c:
- (e_timezone_dialog_set_timezone):
- * menus/gal-view-collection.c: (load_single_file),
- (load_single_dir), (gal_view_collection_save):
- * menus/gal-view-instance.c: (save_current_view),
- (load_current_view): various compilation warning cleanups
-
-2007-05-24 Matthew Barnes <mbarnes@redhat.com>
-
- * text/e-text.c (e_text_copy_clipboard),
- (e_text_update_primary_selection), (e_text_paste), (e_text_do_popup):
- Remove check for obsolete GTK+ version (#424562).
-
-2007-05-11 Srinivasa Ragavan <sragavan@novell.com>
-
- * menus/gal-view-menus.c: (build_menus): Add tooltips for user defined
- views.
-
-2007-04-19 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #429422
-
- * text/e-text-model-uri.c (e_text_model_uri_dispose),
- (objectify_idle_flush):
- Use g_source_remove() instead of gtk_idle_remove().
-
- * text/e-text-model-uri.c (e_text_model_uri_objectify):
- Use g_idle_add() instead of gtk_idle_add().
-
- * text/e-text.c (e_text_dispose), (e_text_event):
- * text/e-entry.c (e_entry_text_keypress), (proxy_changed),
- (e_entry_cancel_delayed_completion), (e_entry_dispose):
- Use g_source_remove() instead of gtk_timeout_remove().
-
- * text/e-text.c (e_text_event):
- * text/e-entry.c (proxy_changed), (e_entry_start_delayed_completion):
- * e-timezone-dialog/e-timezone-dialog.c (on_map_visibility_changed):
- Use g_timeout_add() instead of gtk_timeout_add().
-
- * text/e-completion-view.c (e_completion_view_set_width):
- * text/e-text.c (_do_tooltip):
- Use gtk_widget_set_size_request() instead of gtk_widget_set_usize().
-
- * text/e-completion-callbacks.c (e_completion_callbacks_new):
- Use g_object_new() instead of gtk_type_new().
-
- * text/e-entry.c (e_entry_enable_completion_full):
- Use g_object_ref_sink() instead of gtk_object_sink().
-
- * text/e-entry.c (e_entry_class_init):
- Use g_cclosure_marshal_VOID__INT instead of gtk_marshal_NONE__INT.
-
- * menus/gal-view-new-dialog.c (gal_view_new_dialog_init):
- * menus/gal-view-instance-save-as-dialog.c
- (gal_view_instance_save_as_dialog_init):
- * menus/gal-define-views-dialog.c (gal_define_views_dialog_init):
- Use g_object_ref() instead of gtk_widget_ref().
- Use g_object_unref() instead of gtk_widget_unref().
-
- * menus/gal-view-collection.c (gal_view_collection_dispose):
- e_free_object_list() is dead; just do it manually.
-
- * menus/gal-view-collection.c (load_single_file), (load_single_dir),
- (gal_view_collection_save):
- * menus/gal-view-instance.c (gal_view_instance_construct):
- Use g_build_filename() instead of g_concat_dir_and_file().
-
- * menus/gal-view-collection.c (gal_view_collection_load):
- Use g_mkdir_with_parents() instead of e_create_directory().
-
- * e-timezone-dialog/e-timezone-dialog.c (e_timezone_dialog_construct):
- Use gtk_editable_set_editable() instead of gtk_entry_set_editable().
-
-2007-03-20 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #419524
-
- * Include <glib/gi18n.h> instead of <libgnome/gnome-i18n.h>.
-
-2007-02-08 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes bug #357216
-
- * text/e-entry.c: Remove "font", "fontset", and "gdk_font"
- properties, since they forward gets and sets to non-existant
- properties in entry->item.
-
-2006-09-27 Matthew Barnes <mbarnes@redhat.com>
-
- Fixes bug #357970
-
- * text/e-text.c (e_text_unrealize): Don't call deprecated GLib / GDK
- functions.
-
-2006-09-18 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes bug #351332
-
- * misc/e-attachment-bar.h: Fix implicit function declarations.
-
-2006-08-23 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes bug #352450
-
- * misc/e-canvas-background.c:
- * misc/e-cursors.c:
- * misc/e-map.c:
- * misc/e-reflow.c:
- * misc/e-task-widget.c:
- * misc/gal-combo-box.c:
- * table/e-cell-text.c:
- * table/e-cell-toggle.c:
- * table/e-table-field-chooser-item.c:
- * table/e-table-field-chooser.c:
- * table/e-table-header-item.c:
- * table/e-table-header-utils.c:
- * table/e-table-item.c:
- * table/e-table.c:
- * table/e-tree-memory.c:
- * table/e-tree-sorted.c:
- * table/e-tree.c:
- * table/e-text.c:
- Replace deprecated GLib and GDK function calls.
-
-2006-08-20 Jeff Cai <jeff.cai@sun.com>
-
- * e-timezone-dialog/e-timezone-dialog.c:
- (e_timezone_dialog_construct), (e_timezone_dialog_reparent),
- (map_destroy_cb):
- Fixes 350559. Disable timeout function when the map is destroyed.
-
-2006-07-21 Hiroyuki Ikezoe <poincare@ikezoe.net>
-
- ** Fixes 342313.
- * text/e-text.c: Use GTK_CHECK_VERSION instead of GTK_2_2.
-
-2006-07-05 Rajeev ramanathan <rajeevramanathan_2004@yaoo.co.in>
-
- * text/e-text.[ch]: Added code to render EText text
- items with antialiasing, hinting and sub-pixel ordering with cairo.
-
-2006-07-18 Andre Klapper <a9016009@gmx.de>
-
- * e-timezone-dialog/e-timezone-dialog.glade:
- * menus/gal-view-instance-save-as-dialog.glade:
- * menus/gal-view-new-dialog.glade:
- remove "*" from translation. Fixes bug #331147.
-
-2006-07-13 Andre Klapper <a9016009@gmx.de>
-
- * menus/gal-view-instance-save-as-dialog.glade:
- remove empty strings from translation
-
-2006-07-12 Hiroyuki Ikezoe <poincare@ikezoe.net>
-
- ** Fixes bug #347182.
- * misc/e-combo-button.c: (e_combo_button_set_label):
- Removed needless g_return_if_fail().
-
-2006-07-10 Harish Krishnaswamy <kharish@novell.com>
-
- * table/e-cell-text.c: (ect_unrealize), (build_layout):
- * text/e-text.c: (reset_layout): Revert the previous
- patch. Requires rework.
-
-2006-07-05 Rajeev ramanathan <rajeevramanathan_2004@yahoo.co.in>
- * text/e-text.c, table/e-cell-text.c:
- Added code to render ECell and EText text items with
- antialiasing, hinting and sub-pixel ordering with cairo.
-
-2006-07-06 Hiroyuki Ikezoe <poincare@ikezoe.net>
-
- ** Fixes bug #341354.
- * text/e-text.c: (e_text_preedit_changed_cb):
- Plugged memory leak.
-
-2006-06-30 Johnny Jacob <jjohnny@novell.com>
- * misc/Makefile.am: Added e-icon-entry.c, e-icon-entry.h
- * misc/e-filter-bar.c: (rule_advanced_response),
- (save_search_dialog), (menubar_activated), (option_changed),
- (dup_item_no_subitems), (build_items), (free_built_items),
- (free_items), (set_menu), (get_property), (e_filter_bar_new):
- * misc/e-filter-bar.h:
- * misc/e-search-bar.c: (set_find_now_sensitive),
- (clear_search), (emit_search_activated), (search_now_verb_cb),
- (clear_verb_cb), (setup_standard_verbs), (search_verb_cb),
- (get_selected_item_label), (entry_focus_in_cb),
- (entry_focus_out_cb), (entry_activated_cb), (entry_changed_cb),
- (viewitem_activated_cb), (scopeitem_activated_cb),
- (option_activated_cb), (option_button_clicked_cb),
- (clear_button_clicked_cb), (scopeoption_changed_cb), (set_menu),
- (set_option), (impl_get_property), (impl_set_property),
- (impl_dispose), (class_init), (init), (e_search_bar_construct),
- (e_search_bar_set_viewoption_menufunc),
- (e_search_bar_set_viewoption_menu),
- (e_search_bar_get_selected_viewitem),
- (e_search_bar_set_viewoption), (e_search_bar_set_scopeoption),
- (e_search_bar_set_scopeoption_menu),
- (e_search_bar_set_viewitem_id), (e_search_bar_set_item_id),
- (e_search_bar_set_search_scope), (e_search_bar_get_item_id),
- (e_search_bar_get_search_scope), (e_search_bar_get_viewitem_id),
- (e_search_bar_set_ids), (e_search_bar_set_text),
- (e_search_bar_get_text):
- * misc/e-search-bar.h:
- * table/e-tree-table-adapter.c:
- (e_tree_table_adapter_save_expanded_state): Added code for search
- ui.
- * misc/e-icon-entry.c : Added.
- * misc/e-icon-entry.h : Added.
-
-2006-06-20 Harish Krishnaswamy <kharish@novell.com>
-
- * e-timezone-dialog/e-timezone-dialog.c
- (zone_display_name_with_offset): Fix compiler warning.
-
-2006-06-19 Tor Lillqvist <tml@novell.com>
-
- * e-timezone-dialog/e-timezone-dialog.c: Define gmtime_r() and
- localtime_r() macros for Win32. Should not declare tzname,
- timezone and daylight on Win32, they are declared properly in
- <time.h> already.
-
-2006-06-14 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fixes bug #204798 , #235691 , #229132
- * e-timezone-dialog/e-timezone-dialog.c:
- (e_timezone_dialog_add_timezones), (get_local_offset),
- (get_local_timezone), (format_utc_offset),
- (zone_display_name_with_offset), (zone_display_name),
- (on_map_motion), (e_timezone_dialog_set_timezone): Added code to set
- the timezone as default to local timezone and show the time offset in
- the map motion.
-
-2006-06-02 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Added a new hbox cell renderer and a new Sort By menu to e-table to
- sort by columns not shown in the table.
-
- * table/Makefile.am:
- * table/e-cell-text.c: (build_layout): Added support for font
- rendering in cell
- * table/e-cell-tree.c: (ect_event): Fixed a bug where the expander
- animates in arbitary position.
- * table/e-table-header-item.c: (ethi_popup_customize_view),
- (sort_by_id), (popup_custom), (ethi_header_context_menu),
- (ethi_event): Added a new Sort by menu, to the e-table headers, which
- helps to easily sort by columns without adding that column.
- * table/e-cell-hbox.[ch]: Added a new hbox renderer.
-
-2006-01-30 Kjartan Maraas <kmaraas@gnome.org>
-
- * e-timezone-dialog/e-timezone-dialog.c: (get_zone_from_point):
- * menus/gal-view-menus.c:
- * misc/e-attachment-bar.c: (calculate_height_width),
- (update_remote_file), (e_attachment_bar_get_attachment),
- (class_init):
- * misc/e-attachment.c: (async_progress_update_cb),
- (download_to_local_path):
- * misc/e-calendar-item.c: (e_calendar_item_get_arg),
- (e_calendar_item_realize), (e_calendar_item_ensure_days_visible):
- * misc/e-calendar.c: (e_calendar_drag_motion),
- (e_calendar_drag_leave), (e_calendar_focus):
- * misc/e-canvas-background.c: (ecb_get_property):
- * misc/e-canvas.c: (e_canvas_class_init), (pick_current_item):
- * misc/e-cell-date-edit.c: (e_cell_date_edit_do_popup),
- (e_cell_date_edit_show_popup):
- * misc/e-cell-percent.c:
- * misc/e-charset-picker.c: (e_charset_picker_bonobo_ui_populate):
- * misc/e-config-page.c: (e_config_page_class_init):
- * misc/e-dateedit.c: (e_date_edit_set_date),
- (e_date_edit_set_date_and_time_of_day),
- (on_date_popup_date_selected):
- * misc/e-dropdown-button.c: (e_dropdown_button_class_init):
- * misc/e-expander.c: (get_expander_bounds), (e_expander_expose),
- (is_in_expander_panel):
- * misc/e-filter-bar.c: (option_changed), (build_items):
- * misc/e-image-chooser.c: (e_image_chooser_init),
- (image_drag_data_received_cb):
- * misc/e-map.c: (e_map_size_allocate), (e_map_button_press),
- (e_map_button_release), (e_map_motion), (e_map_zoom_to_location),
- (e_map_zoom_out), (update_render_point), (repaint_point),
- (zoom_in_smooth):
- * misc/e-multi-config-dialog.c: (impl_response):
- * misc/e-reflow.c: (e_reflow_realize), (e_reflow_event):
- * misc/e-search-bar.c: (clear_search), (search_now_verb_cb),
- (entry_activated_cb), (activate_button_clicked_cb),
- (clear_button_clicked_cb):
- * misc/e-selection-model.c: (e_selection_model_key_press):
- * misc/e-send-options.c: (delay_until_date_changed_cb),
- (e_sendoptions_get_need_general_options):
- * misc/e-unicode.c: (e_stripped_char):
- * table/e-cell-progress.c: (eprog_draw_border), (eprog_draw),
- (eprog_event):
- * table/e-cell-spin-button.c: (ecsb_event), (ecsb_focus),
- (ecsb_unfocus), (ecsb_dispose):
- * table/e-cell-text.c: (ect_draw), (ect_show_tooltip):
- * table/e-cell-toggle.c: (etog_draw), (etog_event):
- * table/e-cell-tree.c: (ect_max_width):
- * table/e-cell-vbox.c:
- * table/e-table-click-to-add.c: (etcta_event):
- * table/e-table-config.c: (create_global_store):
- * table/e-table-field-chooser-dialog.c:
- * table/e-table-field-chooser-item.c: (etfci_find_button),
- (etfci_reflow), (etfci_get_property), (etfci_realize):
- * table/e-table-field-chooser.c:
- (e_table_field_chooser_class_init):
- * table/e-table-group-container.c: (etgc_unrealize):
- * table/e-table-group.c: (e_table_group_new):
- * table/e-table-header-item.c: (e_table_header_item_get_height),
- (ethi_realize), (ethi_event):
- * table/e-table-header-utils.c: (e_table_draw_elided_string),
- (e_table_header_draw_button):
- * table/e-table-item.c: (eti_set_property), (eti_get_property),
- (eti_draw), (eti_event), (eti_cursor_change):
- * table/e-table-scrolled.c: (e_table_scrolled_class_init):
- * table/e-table-search.c:
- * table/e-table-sort-info.c: (e_table_sort_info_save_to_node):
- * table/e-table.c: (table_canvas_reflow_idle),
- (table_canvas_size_allocate), (canvas_vbox_event),
- (click_to_add_event), (do_drag_motion), (e_table_class_init):
- * table/e-tree-scrolled.c: (e_tree_scrolled_class_init):
- * table/e-tree.c: (tree_canvas_reflow_idle),
- (tree_canvas_size_allocate), (e_tree_drag_get_data),
- (do_drag_motion), (e_tree_class_init):
- * text/e-text.c: (e_text_set_property), (e_text_draw),
- (_do_tooltip), (primary_clear_cb), (_get_position),
- (e_text_command): Tons of cleanups of the following sort:
- - remove unused vars
- - remove extraneous semi-colons
- - add some comments where assignments were done without using
- the results later
- - remove break; statements after return foo;
- - add casts in some places to be more type correct
- - rename variables with name clashes
- - s/if/ifdef in some cases
- - mark some code static
- - remove some unused functions
- - use guint for 1-bit bitfields
-
-2006-01-30 Chenthill Palanisamy <pchenthill@novell.com>
-
- Reviewed by Harish Krishnaswamy <kharish@novell.com>
-
- Fixes #250754
- * misc/e-dateedit.c: Used %x for strftime so that the date is represented
- according to the locale used.
-
-2006-01-16 Srinivasa Ragavan <sragavan@novell.com>
-
- * table/e-tree-table-adapter.c (set_expanded_state_func),
- (set_collapsed_state_func):
- (e_tree_table_adapter_load_all_expanded_state):
- * table/e-tree.c: (e_tree_load_all_expanded_state):
- Added functions to collapse/Expand all
-
-2006-01-15 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fixes bug #220286
-
- * text/e-text.c: (tooltip_ungrab), (_do_tooltip), (e_text_event):
- Added a ungrab for keyboard, so that it hides the tooltip.
-
-2006-01-13 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fixes bug #326264
-
- * menus/gal-view-menus.c: (build_menus): Changes mnemonics of Current
- View menu item, since it collides with Caret Mode.
-
-2006-01-11 Johnny Jacob <johnnyjacob#gmail.com>
-
- * text/e-text.c (e_text_set_property): Add the width to
- the pango layout.
-
-2006-01-10 Simon Zheng <simon.zheng@sun.com>
-
- * menus/gal-view-instance.c:
- * misc/e-attachment-bar.c:
- * misc/e-calendar-item.c:
- * misc/e-dateedit.c:
- Use e_util_mkdir_hier() instead of e_mkdir_hier().
-
- Use e_util_strstrcase() instead of e_strstrcasea().
-
- use e_strfime() in evolution-data-server/
- libedataserver/e-data-server-util.c instead of the copy in
- evolution/e-util/e-util.c.
-
- use e_filename_make_safe() in evolution-data-server/
- libedataserver/e-data-server-util.c instead of the copy in
- evolution/e-util/e-util.c.
-
- use e_utf8_strftime() in evolution-data-server/
- libedataserver/e-data-server-util.c instead of the copy in
- evolution/e-util/e-util.c.
-
-2005-12-30 Andre Klapper <a9016009@gmx.de>
-
- * evolution/widgets/misc/e-url-entry.c:
- harmonized "URL", "Url" and "url". Fixes bug 325125.
-
-2005-12-23 Andre Klapper <a9016009@gmx.de>
-
- * e-table.c: fixed one typo.
- Fixes bug 306118 partially.
-
-2005-12-20 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fixes bug #240762
-
- * menus/gal-define-views-dialog.c:
- (etable_selection_change_forall_cb): Made only the user created
- views to be editable.
-
-2005-12-18 Tor Lillqvist <tml@novell.com>
-
- * e-timezone-dialog/Makefile.am: Link with libeutil.
-
- * e-timezone-dialog/e-timezone-dialog.c
- (e_timezone_dialog_construct): Construct glade file pathname at
- run-time.
-
- * menus/gal-view-collection.c
- * menus/gal-view-instance.c: Include libedataserver/e-xml-utils.h
- for e_xml_save_file() prototype.
-
-2005-12-12 Irene Huang <Irene.Huang@sun.com>
-
- reviewed by: Veerapuram Varadhan <vvaradhan@novell.com>
-
- * menus/gal-view-menus.c: Change #include <e-util/e-list.h> to
- #include <libedataserver/e-list.h>.
- * misc/e-unicode.c: Change #include <e-util/e-iconv.h> to
- #include <libedataserver/e-iconv.h>.
-
-2005-12-06 Veerapuram Varadhan <vvaradhan@novell.com>
-
- * menus/gal-view-new-dialog.c (gal_view_new_dialog_set_property):
- Load the widget pointer before using it. Fixes a compiler warning
- as well as #313219
-
-2005-11-29 Simon Zheng <simon.zheng@sun.coma
-
- * menus/gal-view-collection.c: (gal_view_generate_string):
- Fix #322311. Using g_utf8_next_char() to traverses UTF-8
- string and replace characters that are neither a alpha nor
- a numeral.
-
-2005-09-29 Tor Lillqvist <tml@novell.com>
-
- * menus/gal-view-collection.c (load_single_dir)
- * menus/gal-view-instance.c (load_current_view): Use
- g_win32_locale_filename_from_utf8() from GLib 2.8 instead of
- gnome_win32_locale_filename_from_utf8() which was temporarily in
- libgnome.
-
-2005-09-29 Li Yuan <li.yuan@sun.com>
-
- * menus/gal-define-views-dialog.c:
- (etable_selection_change_forall_cb):
- Fix #240762. If the galview implement the edit function,
- enable the edit button. If not, disable it.
-
-2005-09-28 Tor Lillqvist <tml@novell.com>
-
- * e-timezone-dialog/Makefile.am
- * menus/Makefile.am
- * text/Makefile.am: Install in privsolib instead of privlib (no
- difference on Unix). Use NO_UNDEFINED. Link with all needed
- libraries to satisfy the -no-undefined used on Windows.
-
- * e-timezone-dialog/Makefile.am
- * text/Makefile.am: On Win32, use bootstrap import library for
- libemiscwidgets, which hasn't been built yet when we come
- here.
-
- * menus/Makefile.am: Drop several overlapping CFLAGS, use
- E_UTIL_CFLAGS instead.
-
- * text/Makefile.am: Drop several overlapping
- CFLAGS. EXTRA_GNOME_CFLAGS should be enough.
-
-2005-08-03 Li Yuan <li.yuan@sun.com>
-
- * menus/gal-view-new-dialog.glade:
- Add a11y name to the left table of config dialog.
- * misc/e-multi-config-dialog.c:
- Add name to the left table of preference dialog.
- * table/e-table-config.c: (e_table_proxy_etable_shown_new),
- (e_table_proxy_etable_available_new):
- Add a11y name to "Show Fields" table and "Available Fields" table.
-
-2005-07-28 Mengjie Yu <meng-jie.yu@sun.com>
-
- * misc/e-attachment-bar.c: (update_remote_file):
- Void function should not return value.
-
- Fixes #311837
-
-2005-07-21 Srinivasa Ragavan <sragavan@novell.com>
-
- * menus/gal-define-views-dialog.c: (etable_selection_change_forall_cb)
- Fixes a bug where it allows just builtin views to be edited and not user
- added one. It should have been the other way around.
-
-2005-06-23 Kaushal Kumar <kakumar@novell.com>
-
- * text/Makefile.am: Set libetextincludedir to text to match
- source directory name.
-
-2005-06-21 Kaushal Kumar <kakumar@novell.com>
-
- * table/ChangeLog: Added from gal/gal/e-table as Gal is
- retired from Head and e-table files are moved here.
-
-2005-05-12 Srinivasa Ragavan <sragavan@novell.com>
- * misc/e-dateedit.c: (on_time_entry_key_release),
- (create_children): Fix the bug 303856. Enables OK button
- when arrow key used to change the time in a appointment.
-
-2005-05-06 Sarfraaz Ahmed <asarfraaz@novell.com>
-
- * misc/e-search-bar.c: (set_menu) Solaris gettext crashes on NULL
- input string. Fixes #260312. Patch submitted by
- Suresh Chandrasekharan <suresh.chandrasekharan@sun.com>
-
-2005-04-28 Li Yuan <li.yuan@sun.com>
-
- * misc/e-calendar-item.c: (e_calendar_item_realize),
- (e_calendar_item_set_selection_if_emission),
- (e_calendar_item_style_set):
- use widget->style instead of hard code colors.
- * misc/e-calendar-item.h:
- * misc/e-calendar.c: (e_calendar_style_set):
- call e_calendar_item_style_set when style changes.
-
- Fixes #6767.
-
-2005-03-14 Not Zed <NotZed@Ximian.com>
-
- * menus/gal-view-menus.c (build_menus): don't
- bonobo_ui_free_string from bonobo_ui_node_to_string - it should be
- g_free'd now (api chagne in bonobo).
-
-2005-03-11 Sushma Rai <rsushma@novell.com>
-
- * misc/e-send-options.c (setup_widgets): Not showing the send options
- notebook tabs, in case general options page is disabled. Fixes #73501
-
-2005-02-09 Hans Petter Jansson <hpj@novell.com>
-
- * e-timezone-dialog/Makefile.am:
- * menus/Makefile.am:
- * misc/Makefile.am: Install shared libraries to privlibdir.
-
-2005-01-18 Hao Sheng <hao.sheng@sun.com>
-
- * misc/e-dateedit.[ch]:
- (e_date_edit_get_entry): return the entry of the date edit.
-
-2004-11-12 JP Rosevear <jpr@novell.com>
-
- * menus/gal-view-menus.c: Convert to G_DEFINE_TYPE
-
-2004-11-12 JP Rosevear <jpr@novell.com>
-
- * e-timezone-dialog/e-timezone-dialog.c: convert to G_DEFINE_TYPE
-
-2004-10-28 Li Yuan <li.yuan@sun.com>
-
- * e-timezone-dialog/e-timezone-dialog.glade: Add a name for
- timezone combox.
-
-2004-09-13 Rodney Dawes <dobey@novell.com>
-
- * e-timezone-dialog/e-timezone-dialog.c (get_widgets):
- (on_map_motion, on_map_leave, e_timezone_dialog_set_timezone):
- * e-timezone-dialog/e-timezone-dialog.glade:
- Add the label back for previewing the timezone name, and set the
- label appropriately
-
- Fixes #64800
-
-2004-08-17 Rodney Dawes <dobey@novell.com>
-
- * e-timezone-dialog/e-timezone-dialog.c (e_timezone_dialog_construct):
- Connect to the "changed" signal instead of "activate"
-
- Fixes #62970
-
-2004-05-20 Rodney Dawes <dobey@ximian.com>
-
- * e-timezone-dialog/e-timezone-dialog.c (e_timezone_dialog_construct):
- Use the activate signal, instead of changed, for the combo box
- (on_map_motion): Set the text in the combo's entry when we mouse over
- one of the points on the map, as a preview for the timezone
- (on_map_leave): Reset the combo's entry to the timezone we started with
- when we leave the map
-
- Fixes #57122
-
-2004-04-09 Rodney Dawes <dobey@ximian.com>
-
- * e-timezone-dialog/e-timezone-dialog.c
- (e_timezone_dialog_construct): Set the border widths on the dialog's
- vbox and action area to be HIG-complaint
- Get rid of the timezone preview widget in here
- Point the internal 'table' to the right widget
- (on_map_motion): Get rid of the extra-hacky code to set the preview
- widget's label to the timezone, now that that widget is gone
- (on_map_leave): Update the comment to not reference the preview
- widget that is now gone
- Get rid of the code to set the preview widget's label to empty string
- * e-timezone-dialog/e-timezone-dialog.glade: Update for HIG-compliance
-
-2004-02-26 JP Rosevear <jpr@ximian.com>
-
- * e-timezone-dialog/e-timezone-dialog.c
- (e_timezone_dialog_dispose): don't reference uninitialized memory
-
-2003-12-10 Not Zed <NotZed@Ximian.com>
-
- * menus/gal-view-menus.c (remove_instance): NULL out
- priv->instance when we unref it. Bug #51713.
-
-2003-12-06 JP Rosevear <jpr@ximian.com>
-
- * */Makefile.am: Remove hard coded disable deprecated flags
-
-2003-11-07 JP Rosevear <jpr@ximian.com>
-
- * e-timezone-dialog/Makefile.am: don't include toplevel libical
-
-2003-11-07 JP Rosevear <jpr@ximian.com>
-
- * e-timezone-dialog/Makefile.am: use TZDIALOG_FLAGS
-
-2003-10-09 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-timezone-dialog/Makefile.am: INCLUDE path fixes for changes
- made to libical build.
-
- * e-timezone-dialog.h: #include <libical/ical.h>
diff --git a/widgets/ChangeLog.pre-1-4 b/widgets/ChangeLog.pre-1-4
deleted file mode 100644
index 42bb1157ac..0000000000
--- a/widgets/ChangeLog.pre-1-4
+++ /dev/null
@@ -1,506 +0,0 @@
-2003-05-19 Anna Marie Dirks <anna@ximian.com>
-
- * e-timezone-dialog/e-timezone-dialog.glade: HIG-ified the
- spacing, padding, alignment of this dialog. Fixes bug #41148
-
-2003-05-16 Anna Marie Dirks <anna@ximian.com>
-
- * e-timezone-dialog/e-timezone-dialog.glade: HIG-ified the
- spacing, padding, alignment of this dialog. Fixes bug #41148
-
-2003-05-14 JP Rosevear <jpr@ximian.com>
-
- * menus/gal-view-menus.c (gvm_finalize): unref the component
-
-2003-05-13 Ettore Perazzoli <ettore@ximian.com>
-
- * menus/gal-view-menus.c (gal_view_menus_unmerge): Guard against
- the BonoboUIComponent not having a container to prevent a warning.
-
-2003-04-23 Jeffrey Stedfast <fejj@ximian.com>
-
- * menus/gal-view-menus.c (build_menus): Don't convert the label
- charset from UTF-8 into the locale charset.
-
-2003-04-22 Anna Dirks <anna@ximian.com>
-
- * misc/e-multi-config-dialog.c : add appropriate padding and
- spacing to the settings dialog. Fixes #41392.
-
-2003-04-10 Mike Kestner <mkestner@ximian.com>
-
- * menus/gal-view-menus.c (build menus): add ... to "Define Views"
- and "Save Custom View" menuitem labels.
-
-2003-03-27 Ettore Perazzoli <ettore@ximian.com>
-
- * menus/gal-view-menus.c (set_state): Removed debugging message.
-
-2003-03-18 Ettore Perazzoli <ettore@ximian.com>
-
- * e-timezone-dialog/e-timezone-dialog.glade: Swap OK/Cancel
- buttons to comply with the HIG.
-
-2003-03-17 Dan Winship <danw@ximian.com>
-
- * e-timezone-dialog/e-timezone-dialog.c (on_map_motion): Don't
- crash if there's no timezone set initially. #39783
-
-2003-03-11 Dan Winship <danw@ximian.com>
-
- * e-timezone-dialog/e-timezone-dialog.c: Various cleanups.
- (e_timezone_dialog_get_timezone): Return an icaltimezone.
- (e_timezone_dialog_set_timezone): Take an icaltimezone
- (e_timezone_dialog_construct): Set a minimum size on the scrolled
- window
-
-2003-03-06 Ettore Perazzoli <ettore@ximian.com>
-
- * menus/gal-view-menus.c (gal_view_menus_unmerge): Use
- G_GNUC_FUNCTION instead of __FUNCTION__.
-
-2003-02-20 Dan Winship <danw@ximian.com>
-
- * e-timezone-dialog/Makefile.am: Make this a dynamic lib rather
- than static so it can be portably linked into the shlib
- components.
-
-2003-02-06 Dan Winship <danw@ximian.com>
-
- * e-timezone-dialog/e-timezone-dialog.glade: Set response_ids on
- the OK/Cancel buttons
-
-2003-02-05 Dan Winship <danw@ximian.com>
-
- * e-timezone-dialog/Makefile.am (INCLUDES): Remove unneeded
- MAP_DIR define.
- (gladedir): Remove. Defined in configure.in now.
-
- * menus/gal-view-menus.c: #include <string.h>
-
-2003-01-22 Ettore Perazzoli <ettore@ximian.com>
-
- * e-timezone-dialog/Makefile.am (gladedir): Version using
- $(BASE_VERSION).
- (INCLUDES): Update the MAP_DIR define with versioning.
-
-2003-01-08 Ettore Perazzoli <ettore@ximian.com>
-
- * e-timezone-dialog/Makefile.am: Images are now in
- $(datadir)/evolution/images instead of
- $(datadir)/images/evolution.
-
-2002-11-14 Chris Toshok <toshok@ximian.com>
-
- * menus/gal-view-menus.c (define_views): use GtkDialog's
- ::response instead of GnomeDialog's ::clicked.
- (dialog_response): use response id's.
- (gvm_finalize): fix warning.
-
-2002-11-13 Ettore Perazzoli <ettore@ximian.com>
-
- * menus/gal-view-menus.h
- * menus/gal-view-menus.c: GObjectified.
-
- * e-timezone-dialog/e-timezone-dialog.h
- * e-timezone-dialog/e-timezone-dialog.c: GObjectified.
-
-2002-11-13 Ettore Perazzoli <ettore@ximian.com>
-
- * e-timezone-dialog/e-timezone-dialog.c
- (e_timezone_dialog_destroy): g_object_unref() instead of
- gtk_object_unref() on the GladeXML object.
- (e_timezone_dialog_construct): Likewise on the ETimezoneDialog
- object.
-
-2002-11-13 Ettore Perazzoli <ettore@ximian.com>
-
- * e-timezone-dialog/e-timezone-dialog.glade: Converted to Glade 2.
-
-2002-11-13 Not Zed <NotZed@Ximian.com>
-
- * menus/gal-view-menus.c: gnome-xml->libxml
-
- * menus/gal-view-menus.h: gnome-xml->libxml
-
-2002-11-03 Ettore Perazzoli <ettore@ximian.com>
-
- * e-timezone-dialog/e-timezone-dialog.c
- (e_timezone_dialog_get_builtin_timezone): Constify arg
- display_name.
-
-2002-11-01 Ettore Perazzoli <ettore@ximian.com>
-
- * menus/gal-view-menus.c (build_stuff): Add some casts.
-
-2002-10-30 Ettore Perazzoli <ettore@ximian.com>
-
- * e-timezone-dialog/e-timezone-dialog.c
- (e_timezone_dialog_construct): Pass NULL as the domain arg to
- glade_xml_new().
- (e_timezone_dialog_get_timezone): Make arg display_name const.
- (find_selected_point): Constify local variable timezone.
-
- * e-timezone-dialog/e-timezone-dialog.h: Do not #include
- <libgnome/gnome-defs.h>.
-
-2002-08-15 Mike Kestner <mkestner@ximian.com>
-
- * menus/gal-view-menus.c (build_stuff): ref/unref the gvm
-
-2002-07-09 Peter Williams <peterw@ximian.com>
-
- * e-timezone-dialog/Makefile.am: Add -I$(top_builddir)/libical/src/libical;
- some headers that we rely on get installed, so they point to the ical.h that
- gets generated and installed; consequently we need to be able to find the
- generated ical.h
-
- * misc/Makefile.am: Install libemiscwidgets.a and its headers. However,
- break EFilterBar into a separate libefilterbar.a because we don't want
- the installed library to depend on libfilter.
-
-2002-07-05 Ettore Perazzoli <ettore@ximian.com>
-
- * e-timezone-dialog/e-timezone-dialog.c (e_timezone_dialog_init):
- Make not floating.
-
-2002-06-04 Christopher James Lahey <clahey@ximian.com>
-
- * menus/gal-view-menus.c, menus/gal-view-menus.h
- (gal_view_menus_set_show_define_views): Added this function to let
- you disable the define views dialog.
-
-2002-06-04 Christopher James Lahey <clahey@ximian.com>
-
- * menus/gal-view-menus.c (define_views): Don't show this dialog
- more than once per collection.
-
-2002-05-14 Christopher James Lahey <clahey@ximian.com>
-
- * menus/gal-view-menus.c (build_menus): Made it so that if the
- current_id doesn't match any of the given ids, it treats it the
- same as a NULL id.
- (gal_view_menus_apply): Added a check for gvm->priv == NULL here.
- (gal_view_menus_apply, collection_changed, instance_changed):
- Removed calls to set_radio after build_stuff, since the last thing
- build_stuff does is calls set_radio.
-
-2002-02-27 Larry Ewing <lewing@ximian.com>
-
- * misc/e-combo-button.c (impl_button_press_event): make a right
- click bring up the popup menu.
-
-2002-02-07 Christopher James Lahey <clahey@ximian.com>
-
- * menus/gal-view-menus.c, menus/gal-view-menus.h
- (gal_view_menus_unmerge): New function to handle unmerging menus
- at control deactivation time.
- (d): Turned off debugging output here.
- (build_menus): Gave the separators names and marked them with f=""
- to make them work better with bonobo 1.
-
-2002-02-07 Christopher James Lahey <clahey@ximian.com>
-
- * menus/gal-view-menus.c, menus/gal-view-menus.h
- (gal_view_menus_new): Made this take a GalViewInstance instead of
- a GalViewCollection. Reworked most of this to utilize the
- interfaces provided by GalViewInstance.
-
-2002-01-27 Ettore Perazzoli <ettore@ximian.com>
-
- * menus/Makefile.am: Use `GNOME_FULL_CFLAGS'.
-
-2002-01-11 Damon Chaplin <damon@ximian.com>
-
- * e-timezone-dialog/e-timezone-dialog.[hc]: translate timezone names,
- and provide a function to get back to the English version.
-
-2001-10-24 Jon Trowbridge <trow@ximian.com>
-
- * menus/gal-view-menus.c (gal_view_menus_apply): Ref the
- BonoboUIComponent that we are holding.
- (gvm_destroy): Unref our BonoboUIComponent.
-
-2001-10-21 Christopher James Lahey <clahey@ximian.com>
-
- * menus/gal-view-menus.c: Make this not be a radio button, but
- instead just a normal menu.
-
-2001-10-18 Jeffrey Stedfast <fejj@ximian.com>
-
- * menus/gal-view-menus.c: #include bonobo-ui-util.h
-
-2001-10-04 Rodrigo Moya <rodrigo@ximian.com>
-
- * misc/Makefile.am:
- * menus/Makefile.am: added BONOBO_GNOME_CFLAGS to make it compile
- with latest Bonobo
-
-2001-09-19 JP Rosevear <jpr@ximian.com>
-
- * Makefile.am: the meeting-time-sel dir is dead, relevant pieces
- moved to calendar/gui
-
-2001-08-26 Zbigniew Chyla <cyba@gnome.pl>
-
- Fixes #2465
-
- * menus/gal-view-menus.c (build_menus):
- Encode the label using bonobo_ui_util_encode_str and set "label"
- attribute, not "_label".
- I have no idea what the previous code was trying to do but it was
- definitely wrong.
-
-2001-08-27 Ettore Perazzoli <ettore@ximian.com>
-
- * e-timezone-dialog/e-timezone-dialog.h
- (e_timezone_dialog_reparent): New prototype here.
-
-2001-08-27 Iain Holmes <iain@ximian.com>
-
- * e-timezone-dialog/e-timezone.h: Add a prototype for
- e_timezone_dialog_reparent
-
-2001-08-18 Iain Holmes <iain@ximian.com>
-
- * Makefile.am: Add the e-timezone-dialog dir.
-
- * e-timezone-dialog/*: Add new files.
-
-2001-08-10 Christopher James Lahey <clahey@ximian.com>
-
- * menus/gal-view-menus.c (build_menus): Don't display the Define
- Views dialog.
-
-2001-07-02 Anna Marie Dirks <anna@ximian.com>
-
- * misc/e-filter-bar.c (option_changed): Specified a default size
- for the Advanced Search dialog such that when it first appear, it
- is large enough to view all parts of a search clause without the
- user needing to resize it.
-
-2001-05-31 Federico Mena Quintero <federico@ximian.com>
-
- * menus/gal-view-menus.c (gal_view_menus_construct): Store the
- connection ID of the "changed" signal in the collection.
- (gal_view_menus_new): Added preconditions.
- (gal_view_menus_construct): Added preconditions.
-
-2001-05-21 Chris Toshok <toshok@ximian.com>
-
- * menus/gal-view-menus.c (build_menus): make the view menuitems
- radio items of the same group, and allocate the closure here.
- (free_verbs): only need to free the one DefineViews verb here.
- (closure_free): new function - EListFreeFunc for our
- listenerClosure list.
- (remove_listeners): new function, free our listener list.
- (gvm_destroy): call remove_listeners.
- (gvm_init): init listenerClosures list.
- (toggled_cb): callback for radio items.
- (build_verbs): strip out almost all the code since there's only 1
- verb now.
- (build_stuff): call remove_listeners.
-
-2001-05-08 Gediminas Paulauskas <menesis@delfi.lt>
-
- * misc/e-search-bar.c (add_dropdown), (set_option): first try to
- translate, then if not suceeded -- convert from utf8. This handles
- cases when menuitem needs to be translated (it is passed as N_()), or is
- utf8 search title. However you cannot have a search like "Folders" -- it
- is translated. Part of fix for #2253.
-
- * misc/e-filter-bar.c: d() debugging strings. Use E_FILTERBAR_ADVANCED
- macro instead of own "Advanced ..." for consistency.
-
-2001-05-07 Gediminas Paulauskas <menesis@delfi.lt>
-
- * menus/gal-view-menus.c (build_menus): convert label to locale
- encoding. Still displays truncated strings.
-
- * menus/Makefile.am: removed -DEVOLUTION_VERSION.
-
-2001-04-21 Gediminas Paulauskas <menesis@delfi.lt>
-
- * menus/gal-view-menus.c: bonobo_ui_node_set_attr expects unstranslated
- strings, so change _() to N_().
-
-2001-04-12 Dan Winship <danw@ximian.com>
-
- * menus/gal-view-menus.c (build_menus): Fix a memory leak.
- (Doesn't anyone ever change any other file in this directory? :)
-
-2001-04-10 Gediminas Paulauskas <menesis@delfi.lt>
-
- * menus/gal-view-menus.c: convert label to utf8.
-
-2001-04-04 Kjartan Maraas <kmaraas@gnome.org>
-
- * menus/gal-view-menus.c: Fix headers.
-
-2001-03-28 Christopher James Lahey <clahey@ximian.com>
-
- * menus/gal-view-menus.c (build_menus): Don't print the xml tree
- here.
-
-2001-03-16 Miguel de Icaza <miguel@ximian.com>
-
- * menus/gal-view-menus.c (build_menus): Hook this up under the
- "ViewBegin" node.
-
-2001-02-28 Miguel de Icaza <miguel@ximian.com>
-
- * menus/gal-view-menus.c (build_menus): Add translation string
- here.
-
-2001-03-05 Christopher James Lahey <clahey@ximian.com>
-
- * menus/gal-view-menus.c (collection_changed): Rebuild when the
- collection changes.
-
-2001-01-27 Jason Leach <jasonleach@usa.net>
-
- * cvs remove all files in shortcut-bar/, this widget is now in
- gal, will be maintained there.
-
- * Makefile.am (SUBDIRS): Remove shortcut-bar from here.
-
-2001-01-25 Christopher James Lahey <clahey@helixcode.com>
-
- * menus/gal-view-menus.c: Make this actually deploy the titles
- from the GalViewCollection and emit the display_view signals and
- such.
-
-2001-01-22 Jon Trowbridge <trow@gnu.org>
-
- * menus/gal-view-menus.c (define_views): Fixed
- gal_define_views_dialog_new to be called with its proper argument.
-
-2000-12-06 Christopher James Lahey <clahey@helixcode.com>
-
- * menus/gal-view-menus.c, menus/gal-view-menus.h: Added a
- GalViewCollection argument to the new function here.
-
-2000-12-04 Dan Winship <danw@helixcode.com>
-
- * menus/gal-view-menus.c: NULL-terminate gal_view_menus_apply's
- BonoboUIVerb array to prevent a crash. (Why are there gal* things
- in the evolution sources?)
-
-2000-11-05 Christopher James Lahey <clahey@helixcode.com>
-
- * e-paned/.cvsignore, e-table/.cvsignore, e-text/.cvsignore:
- Removed unnecessary .cvsignore files.
-
-2000-09-18 Christopher James Lahey <clahey@helixcode.com>
-
- * Makefile.am: Removed directories that have been moved to gal.
-
- * e-paned/.cvsignore, e-paned/Makefile.am, e-paned/e-hpaned.c,
- e-paned/e-hpaned.h, e-paned/e-paned.c, e-paned/e-paned.h,
- e-paned/e-vpaned.c, e-paned/e-vpaned.h: Moved to gal.
-
- * e-reflow/.cvsignore, e-reflow/Makefile.am,
- e-reflow/e-reflow-sorted.c, e-reflow/e-reflow-sorted.h,
- e-reflow/e-reflow.c, e-reflow/e-reflow.h: Moved to gal.
-
- * e-table/.cvsignore, e-table/ChangeLog, e-table/LICENSE,
- e-table/Makefile.am, e-table/ROADMAP.e-table, e-table/TODO,
- e-table/add-col.xpm, e-table/arrow-down.xpm, e-table/arrow-up.xpm,
- e-table/check-empty.xpm, e-table/check-filled.xpm,
- e-table/clip.png, e-table/e-cell-checkbox.c,
- e-table/e-cell-checkbox.h, e-table/e-cell-string.c,
- e-table/e-cell-text.c, e-table/e-cell-text.h,
- e-table/e-cell-toggle.c, e-table/e-cell-toggle.h,
- e-table/e-cell-tree.c, e-table/e-cell-tree.h, e-table/e-cell.c,
- e-table/e-cell.h, e-table/e-table-click-to-add.c,
- e-table/e-table-click-to-add.h, e-table/e-table-col-dnd.h,
- e-table/e-table-col.c, e-table/e-table-col.h,
- e-table/e-table-column-model.h, e-table/e-table-column.c,
- e-table/e-table-config.c, e-table/e-table-config.glade,
- e-table/e-table-config.glade.h, e-table/e-table-config.h,
- e-table/e-table-defines.h, e-table/e-table-example-1.c,
- e-table/e-table-example-2.c,
- e-table/e-table-field-chooser-dialog.c,
- e-table/e-table-field-chooser-dialog.h,
- e-table/e-table-field-chooser-item.c,
- e-table/e-table-field-chooser-item.h,
- e-table/e-table-field-chooser.c,
- e-table/e-table-field-chooser.glade,
- e-table/e-table-field-chooser.glade.h,
- e-table/e-table-field-chooser.h,
- e-table/e-table-group-container.c,
- e-table/e-table-group-container.h, e-table/e-table-group-leaf.c,
- e-table/e-table-group-leaf.h, e-table/e-table-group.c,
- e-table/e-table-group.glade, e-table/e-table-group.glade.h,
- e-table/e-table-group.h, e-table/e-table-header-item.c,
- e-table/e-table-header-item.h, e-table/e-table-header.c,
- e-table/e-table-header.h, e-table/e-table-item.c,
- e-table/e-table-item.h, e-table/e-table-model.c,
- e-table/e-table-model.h, e-table/e-table-one.c,
- e-table/e-table-one.h, e-table/e-table-scrolled.c,
- e-table/e-table-scrolled.h, e-table/e-table-selection-model.c,
- e-table/e-table-selection-model.h, e-table/e-table-simple.c,
- e-table/e-table-simple.h, e-table/e-table-size-test.c,
- e-table/e-table-sort-info.c, e-table/e-table-sort-info.h,
- e-table/e-table-sorted-variable.c,
- e-table/e-table-sorted-variable.h, e-table/e-table-sorted.c,
- e-table/e-table-sorted.h, e-table/e-table-sorter.c,
- e-table/e-table-sorter.h, e-table/e-table-subset-variable.c,
- e-table/e-table-subset-variable.h, e-table/e-table-subset.c,
- e-table/e-table-subset.h, e-table/e-table-text-model.c,
- e-table/e-table-text-model.h, e-table/e-table-tooltip.h,
- e-table/e-table-tree.h, e-table/e-table.c, e-table/e-table.h,
- e-table/e-tree-example-1.c, e-table/e-tree-example-2.c,
- e-table/e-tree-model.c, e-table/e-tree-model.h,
- e-table/e-tree-simple.c, e-table/e-tree-simple.h,
- e-table/image1.png, e-table/image2.png, e-table/image3.png,
- e-table/remove-col.xpm, e-table/sample.table,
- e-table/table-test.c, e-table/table-test.h, e-table/test-check.c,
- e-table/test-cols.c, e-table/test-table.c: Moved to gal.
-
- * e-text/.cvsignore, e-text/Makefile.am, e-text/e-entry-test.c,
- e-text/e-entry.c, e-text/e-entry.h,
- e-text/e-text-event-processor-emacs-like.c,
- e-text/e-text-event-processor-emacs-like.h,
- e-text/e-text-event-processor-types.h,
- e-text/e-text-event-processor.c, e-text/e-text-event-processor.h,
- e-text/e-text-model.c, e-text/e-text-model.h,
- e-text/e-text-test.c, e-text/e-text.c, e-text/e-text.h: Moved to
- gal.
-
-2000-09-14 Michael Meeks <michael@helixcode.com>
-
- * e-reflow/e-reflow-sorted.h: fix include.
-
-2000-09-13 Christopher James Lahey <clahey@helixcode.com>
-
- * Makefile.am (SUBDIRS): Added e-reflow.
-
- * e-reflow/e-reflow.c, e-reflow/e-reflow.h: Moved from
- addressbook/gui/minicard/.
-
- * e-reflow/Makefile.am, e-reflow/.cvsignore: New files for a new
- directory.
-
-2000-09-08 Lauris Kaplinski <lauris@helixcode.com>
-
- * e-text/e-text.c (calc_line_widths): Fix byte/char confusion
-
-2000-08-30 Federico Mena Quintero <federico@helixcode.com>
-
- * e-paned/e-hpaned.c (e_hpaned_motion): Do not flicker while
- trying to resize a quantized pane.
-
- * e-paned/e-vpaned.c (e_vpaned_motion): Likewise.
-
-2000-08-30 Federico Mena Quintero <federico@helixcode.com>
-
- * widgets/e-paned/e-vpaned.c (e_vpaned_size_allocate): Ensure that
- the child's allocation height is >= 1.
-
- * widgets/e-paned/e-hpaned.c (e_hpaned_size_allocate): Ensure that
- the child's allocation width is >= 1.
-
-2000-08-30 Federico Mena Quintero <federico@helixcode.com>
-
- * ChangeLog: Started a ChangeLog here.
diff --git a/widgets/Makefile.am b/widgets/Makefile.am
index 99305b844e..137446c00e 100644
--- a/widgets/Makefile.am
+++ b/widgets/Makefile.am
@@ -6,7 +6,4 @@ SUBDIRS = \
table \
menus
-EXTRA_DIST = \
- ChangeLog.pre-1-4
-
-include $(top_srcdir)/git.mk
diff --git a/widgets/e-timezone-dialog/e-timezone-dialog.c b/widgets/e-timezone-dialog/e-timezone-dialog.c
index 3dc5f35709..734301ebee 100644
--- a/widgets/e-timezone-dialog/e-timezone-dialog.c
+++ b/widgets/e-timezone-dialog/e-timezone-dialog.c
@@ -37,11 +37,12 @@
#include "e-timezone-dialog.h"
#ifdef G_OS_WIN32
-/* Undef the similar macros from pthread.h, they don't check if
- * gmtime() and localtime() return NULL.
- */
+#ifdef gmtime_r
#undef gmtime_r
+#endif
+#ifdef localtime_r
#undef localtime_r
+#endif
/* The gmtime() and localtime() in Microsoft's C library are MT-safe */
#define gmtime_r(tp,tmp) (gmtime(tp)?(*(tmp)=*gmtime(tp),(tmp)):0)
@@ -261,6 +262,7 @@ ETimezoneDialog *
e_timezone_dialog_construct (ETimezoneDialog *etd)
{
ETimezoneDialogPrivate *priv;
+ GtkWidget *widget;
GtkWidget *map;
g_return_val_if_fail (etd != NULL, NULL);
@@ -280,10 +282,11 @@ e_timezone_dialog_construct (ETimezoneDialog *etd)
goto error;
}
- gtk_container_set_border_width (
- GTK_CONTAINER (GTK_DIALOG (priv->app)->vbox), 0);
- gtk_container_set_border_width (
- GTK_CONTAINER (GTK_DIALOG (priv->app)->action_area), 12);
+ widget = gtk_dialog_get_content_area (GTK_DIALOG (priv->app));
+ gtk_container_set_border_width (GTK_CONTAINER (widget), 0);
+
+ widget = gtk_dialog_get_action_area (GTK_DIALOG (priv->app));
+ gtk_container_set_border_width (GTK_CONTAINER (widget), 12);
priv->map = e_map_new ();
map = GTK_WIDGET (priv->map);
diff --git a/widgets/menus/gal-define-views-dialog.c b/widgets/menus/gal-define-views-dialog.c
index 3a32dc64f6..ed0902c9b4 100644
--- a/widgets/menus/gal-define-views-dialog.c
+++ b/widgets/menus/gal-define-views-dialog.c
@@ -71,8 +71,8 @@ gal_define_views_dialog_class_init (GalDefineViewsDialogClass *klass)
g_object_class_install_property (object_class, PROP_COLLECTION,
g_param_spec_object ("collection",
- _("Collection"),
- /*_( */"XXX blurb" /*)*/,
+ "Collection",
+ NULL,
GAL_VIEW_COLLECTION_TYPE,
G_PARAM_READWRITE));
}
@@ -108,7 +108,9 @@ gdvd_button_new_dialog_callback (GtkWidget *widget, gint id, GalDefineViewsDialo
COL_GALVIEW_DATA, item,
-1);
- gal_view_edit (view, GTK_WINDOW (dialog));
+
+ if (view && GAL_VIEW_GET_CLASS (view)->edit)
+ gal_view_edit (view, GTK_WINDOW (dialog));
g_object_unref (view);
}
}
@@ -139,6 +141,9 @@ gdvd_button_modify_callback(GtkWidget *widget, GalDefineViewsDialog *dialog)
&dialog->model,
&iter)) {
gtk_tree_model_get (dialog->model, &iter, COL_GALVIEW_DATA, &item, -1);
+
+ g_return_if_fail (item && !item->built_in);
+
gal_view_edit (item->view, GTK_WINDOW (dialog));
}
}
@@ -159,6 +164,8 @@ gdvd_button_delete_callback(GtkWidget *widget, GalDefineViewsDialog *dialog)
&iter)) {
gtk_tree_model_get (dialog->model, &iter, COL_GALVIEW_DATA, &item, -1);
+ g_return_if_fail (item && !item->built_in);
+
for (row=0; row<dialog->collection->view_count; row++) {
if (item == dialog->collection->view_data[row]) {
gal_view_collection_delete_view (dialog->collection, row);
@@ -179,28 +186,25 @@ gdvd_button_delete_callback(GtkWidget *widget, GalDefineViewsDialog *dialog)
}
static void
-gdvd_cursor_changed_callback (GtkWidget *widget, GalDefineViewsDialog *dialog)
+gdvd_selection_changed_callback (GtkTreeSelection *selection, GalDefineViewsDialog *dialog)
{
GtkWidget *button;
GtkTreeIter iter;
- GalViewCollectionItem *item;
-
- if (gtk_tree_selection_get_selected (gtk_tree_view_get_selection (dialog->treeview),
- &dialog->model,
- &iter)) {
- GalViewClass *gvclass = NULL;
+ GalViewCollectionItem *item = NULL;
+ GalViewClass *gvclass = NULL;
+ if (gtk_tree_selection_get_selected (selection, &dialog->model, &iter)) {
gtk_tree_model_get (dialog->model, &iter, COL_GALVIEW_DATA, &item, -1);
- button = e_builder_get_widget (dialog->builder, "button-delete");
- gtk_widget_set_sensitive (GTK_WIDGET (button), !item->built_in);
-
- if (item->view)
+ if (item && item->view)
gvclass = GAL_VIEW_GET_CLASS (item->view);
-
- button = e_builder_get_widget (dialog->builder, "button-modify");
- gtk_widget_set_sensitive (GTK_WIDGET (button), !item->built_in && gvclass && gvclass->edit != NULL);
}
+
+ button = e_builder_get_widget (dialog->builder, "button-delete");
+ gtk_widget_set_sensitive (GTK_WIDGET (button), item && !item->built_in);
+
+ button = e_builder_get_widget (dialog->builder, "button-modify");
+ gtk_widget_set_sensitive (GTK_WIDGET (button), item && !item->built_in && gvclass && gvclass->edit != NULL);
}
static void
@@ -223,7 +227,10 @@ dialog_response (GalDefineViewsDialog *dialog, gint response_id, gpointer data)
static void
gal_define_views_dialog_init (GalDefineViewsDialog *dialog)
{
+ GtkWidget *content_area;
+ GtkWidget *parent;
GtkWidget *widget;
+ GtkTreeSelection *selection;
dialog->collection = NULL;
@@ -236,11 +243,16 @@ gal_define_views_dialog_init (GalDefineViewsDialog *dialog)
}
g_object_ref (widget);
- gtk_container_remove (GTK_CONTAINER (widget->parent), widget);
+
+ parent = gtk_widget_get_parent (widget);
+ gtk_container_remove (GTK_CONTAINER (parent), widget);
gtk_window_set_default_size (GTK_WINDOW (dialog), 360, 270);
gtk_container_set_border_width (GTK_CONTAINER (dialog), 6);
gtk_container_set_border_width (GTK_CONTAINER (widget), 6);
- gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), widget, TRUE, TRUE, 0);
+
+ content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
+ gtk_box_pack_start (GTK_BOX (content_area), widget, TRUE, TRUE, 0);
+
g_object_unref (widget);
gtk_dialog_add_buttons (GTK_DIALOG (dialog),
@@ -256,9 +268,12 @@ gal_define_views_dialog_init (GalDefineViewsDialog *dialog)
gdvd_connect_signal (dialog, "button-new", "clicked", G_CALLBACK (gdvd_button_new_callback));
gdvd_connect_signal (dialog, "button-modify", "clicked", G_CALLBACK (gdvd_button_modify_callback));
gdvd_connect_signal (dialog, "button-delete", "clicked", G_CALLBACK (gdvd_button_delete_callback));
- gdvd_connect_signal (dialog, "treeview1", "cursor-changed", G_CALLBACK (gdvd_cursor_changed_callback));
g_signal_connect (dialog, "response", G_CALLBACK (dialog_response), NULL);
+ selection = gtk_tree_view_get_selection (dialog->treeview);
+ g_signal_connect (selection, "changed", G_CALLBACK (gdvd_selection_changed_callback), dialog);
+ gdvd_selection_changed_callback (selection, dialog);
+
gtk_widget_show (GTK_WIDGET (dialog));
}
diff --git a/widgets/menus/gal-define-views-model.c b/widgets/menus/gal-define-views-model.c
index e5425f7552..35a18a2484 100644
--- a/widgets/menus/gal-define-views-model.c
+++ b/widgets/menus/gal-define-views-model.c
@@ -175,15 +175,15 @@ gal_define_views_model_class_init (GalDefineViewsModelClass *klass)
g_object_class_install_property (object_class, PROP_EDITABLE,
g_param_spec_boolean ("editable",
- _("Editable"),
- /*_( */"XXX blurb" /*)*/,
+ "Editable",
+ NULL,
FALSE,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_COLLECTION,
g_param_spec_object ("collection",
- _("Collection"),
- /*_( */"XXX blurb" /*)*/,
+ "Collection",
+ NULL,
GAL_VIEW_COLLECTION_TYPE,
G_PARAM_READWRITE));
diff --git a/widgets/menus/gal-view-instance-save-as-dialog.c b/widgets/menus/gal-view-instance-save-as-dialog.c
index 56b6dc176b..b713f68000 100644
--- a/widgets/menus/gal-view-instance-save-as-dialog.c
+++ b/widgets/menus/gal-view-instance-save-as-dialog.c
@@ -220,8 +220,8 @@ gal_view_instance_save_as_dialog_class_init (GalViewInstanceSaveAsDialogClass *k
g_object_class_install_property (object_class, PROP_INSTANCE,
g_param_spec_object ("instance",
- _("Instance"),
- /*_( */"XXX blurb" /*)*/,
+ "Instance",
+ NULL,
GAL_VIEW_INSTANCE_TYPE,
G_PARAM_READWRITE));
}
@@ -229,6 +229,8 @@ gal_view_instance_save_as_dialog_class_init (GalViewInstanceSaveAsDialogClass *k
static void
gal_view_instance_save_as_dialog_init (GalViewInstanceSaveAsDialog *dialog)
{
+ GtkWidget *content_area;
+ GtkWidget *parent;
GtkWidget *widget;
dialog->instance = NULL;
@@ -245,11 +247,16 @@ gal_view_instance_save_as_dialog_init (GalViewInstanceSaveAsDialog *dialog)
}
g_object_ref (widget);
- gtk_container_remove (GTK_CONTAINER (widget->parent), widget);
+
+ parent = gtk_widget_get_parent (widget);
+ gtk_container_remove (GTK_CONTAINER (parent), widget);
/* TODO: add position/size saving/restoring */
gtk_window_set_default_size (GTK_WINDOW (dialog), 300, 360);
- gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), widget, TRUE, TRUE, 0);
+
+ content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
+ gtk_box_pack_start (GTK_BOX (content_area), widget, TRUE, TRUE, 0);
+
g_object_unref (widget);
gtk_dialog_add_buttons (GTK_DIALOG (dialog),
diff --git a/widgets/menus/gal-view-new-dialog.c b/widgets/menus/gal-view-new-dialog.c
index ed5a539616..f364bf0779 100644
--- a/widgets/menus/gal-view-new-dialog.c
+++ b/widgets/menus/gal-view-new-dialog.c
@@ -57,15 +57,15 @@ gal_view_new_dialog_class_init (GalViewNewDialogClass *klass)
g_object_class_install_property (object_class, PROP_NAME,
g_param_spec_string ("name",
- _("Name"),
- /*_( */"XXX blurb" /*)*/,
+ "Name",
+ NULL,
NULL,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_FACTORY,
g_param_spec_object ("factory",
- _("Factory"),
- /*_( */"XXX blurb" /*)*/,
+ "Factory",
+ NULL,
GAL_TYPE_VIEW_FACTORY,
G_PARAM_READWRITE));
}
@@ -73,6 +73,8 @@ gal_view_new_dialog_class_init (GalViewNewDialogClass *klass)
static void
gal_view_new_dialog_init (GalViewNewDialog *dialog)
{
+ GtkWidget *content_area;
+ GtkWidget *parent;
GtkWidget *widget;
dialog->builder = gtk_builder_new ();
@@ -83,15 +85,21 @@ gal_view_new_dialog_init (GalViewNewDialog *dialog)
if (!widget) {
return;
}
+
g_object_ref (widget);
- gtk_container_remove (GTK_CONTAINER (widget->parent), widget);
- gtk_box_pack_start (GTK_BOX(GTK_DIALOG(dialog)->vbox), widget, TRUE, TRUE, 0);
+
+ parent = gtk_widget_get_parent (widget);
+ gtk_container_remove (GTK_CONTAINER (parent), widget);
+
+ content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
+ gtk_box_pack_start (GTK_BOX (content_area), widget, TRUE, TRUE, 0);
+
g_object_unref (widget);
- gtk_dialog_add_buttons (GTK_DIALOG (dialog),
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_OK, GTK_RESPONSE_OK,
- NULL);
+ gtk_dialog_add_buttons (
+ GTK_DIALOG (dialog),
+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ GTK_STOCK_OK, GTK_RESPONSE_OK, NULL);
gtk_window_set_resizable (GTK_WINDOW(dialog), TRUE);
gtk_window_set_modal (GTK_WINDOW(dialog), TRUE);
diff --git a/widgets/misc/ChangeLog b/widgets/misc/ChangeLog
deleted file mode 100644
index 276f80062a..0000000000
--- a/widgets/misc/ChangeLog
+++ /dev/null
@@ -1,3010 +0,0 @@
-2009-04-24 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #572348
-
- * e-dateedit.c:
- * e-combo-button.c:
- * e-dropdown-button.c:
- * e-canvas.c:
- * e-cell-date-edit.h:
- * e-cell-date-edit.c:
- Remove deprecated Gtk+ symbols.
-
-2009-04-13 Johnny Jacob <jjohnny@novell.com>
-
- ** Fixes #578685 – evolution crashed with SIGSEGV.
-
- ** Patch by Takao Fujiwara <Takao.Fujiwara@Sun.COM>
-
- * e-attachment-bar.c (update): Copy string. Avoids SIGSEGV.
-
-2009-03-09 Chenthill Palanisamy <pchenthill@novell.com>
-
- * widgets/misc/e-calendar-item.c: Removed the string
- marked for translation as it not required and also breaks
- the string freeze.
-
-2009-03-08 Chenthill Palanisamy <pchenthill@novell.com>
-
- Fixes #342446
- * widgets/misc/e-calendar-item.c: Check whether its
- appropriate to use %Id format for digits. Incorporated
- the fix from Wang Xin <jedy.wang@sun.com> to build in
- solaris.
-
-2009-02-25 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #559027
-
- * e-dateedit.c: (on_date_entry_focus_out):
- Do not set date for 'None' value.
-
-2009-02-12 Milan Crha <mcrha@redhat.com>
-
- ** Part of fix for bug #404232
-
- * e-filter-bar.c: (rule_advanced_response): Emit signal after
- search bar text is set, thus the text will not be empty, which
- is considered as "no search" these days.
-
-2009-01-30 Suman Manjunath <msuman@novell.com>
-
- ** Fix for bug #342446
-
- ** Committing on behalf of Behnam Esfahbod
-
- * e-calendar-item.c (e_calendar_item_draw_day_numbers),
- (e_calendar_item_recalc_sizes), (e_calendar_item_position_menu):
- Use localized digits in the calendar widget.
-
-2009-01-11 Matthew Barnes <mbarnes@redhat.com>
-
- * e-attachment-bar.c (eab_icon_clicked_cb):
- * e-url-entry.c (button_clicked_cb):
- Call e_show_uri() instead of gnome_url_show().
-
-2009-01-10 Matthew Barnes <mbarnes@redhat.com>
-
- * test-dropdown-button.c:
- Remove unneeded #include <libgnomeui/gnome-stock-icons.h>.
-
-2009-01-10 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #567281
-
- * e-cell-date-edit.c:
- * e-cell-percent.c:
- Remove unneeded #include <libgnomeui/gnome-messagebox.h>.
-
-2009-01-10 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #567276
-
- * test-color.c:
- We don't ship this. Remove it.
-
-2009-01-10 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #567285
-
- * e-activity-handler.c:
- * e-dropdown-button.c:
- Remove unneeded #include <libgnomeui/gnome-popup-menu.h>.
-
-2008-12-10 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #556303
-
- * e-attachment-bar.c: (eab_icon_clicked_cb):
- Check whether attachment has a body already before accessing it.
-
-2008-12-09 Milan Crha <mcrha@redhat.com>
-
- ** Part of fix for bug #563669
-
- * e-send-options.glade:
- Use zero GtkSpinButton's PageSize, as Gtk+ requires.
-
-2008-10-29 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-url-entry.c:
- * e-url-entry.h:
-
-2008-10-21 Sankar P <psankar@novell.com>
-
- * e-spinner.c (e_spinner_stop),
- (e_spinner_new_spinning_small_shown):
- * e-spinner.h:
- * e-task-widget.c (e_task_widget_construct):
- Re-factor spinner usage.
-
-2008-10-17 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-dateedit.c:
- * e-dateedit.h:
-
-2008-10-10 Sankar P <psankar@novell.com>
-
-License Changes + code cleanup
-
- * e-reflow.c (e_reflow_event), (e_reflow_init):
-
-2008-10-01 Milan Crha <mcrha@redhat.com>
-
- ** Part of fix for bug #554418
-
- * e-attachment.c: (attachment_guess_mime_type):
- Allow guessing mime_type based on the file content.
-
-2008-10-01 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-canvas-background.c:
- * e-dateedit.c:
-
-2008-09-30 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-expander.c:
-
-2008-09-29 Milan Crha <mcrha@redhat.com>
-
- ** Part of fix for bug #530716
-
- * e-activity-handler.c: (error_cleanup): GtkDialog errors close
- by the response message, not as other widgets, because creator
- of the dialog waits for that signal and takes care of the widget.
-
-2008-09-29 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-colors.c:
-
-2008-09-24 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-canvas.c:
- * e-combo-button.c:
-
-2008-09-19 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-attachment-bar.c:
- * e-search-bar.c:
- * e-search-bar.h:
- * e-task-widget.c:
-
-2008-09-16 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-calendar.c:
- * e-cell-percent.c:
- * e-unicode.h:
-
-2008-09-12 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-online-button.c:
- * e-online-button.h:
-
-2008-09-06 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #549968
-
- * e-attachment-bar.c (e_attachment_bar_bonobo_ui_populate_with):
- Use the same mnemonic for "Recent Documents" as composer.
-
-2008-09-06 Michael Meeks <michael.meeks@novell.com>
-
- * e-spinner.c: correct licensing cockup; apologies.
- * e-icon-entry.h: ditto.
-
-2008-09-04 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-calendar-item.c:
- * e-charset-picker.c:
- * e-config-page.c:
- * e-dropdown-button.c:
- * e-multi-config-dialog.c:
- * e-multi-config-dialog.h:
- * test-multi-config-dialog.c:
-
-2008-09-02 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-activity-handler.c:
- * e-activity-handler.h:
- * e-attachment-bar.h:
- * e-attachment.h:
- * e-calendar.h:
- * e-canvas-background.h:
- * e-canvas-utils.h:
- * e-canvas-vbox.c:
- * e-canvas-vbox.h:
- * e-canvas.h:
- * e-cell-date-edit.c:
- * e-cell-renderer-combo.c:
- * e-colors.h:
- * e-combo-button.h:
- * e-combo-cell-editable.c:
- * e-config-page.h:
- * e-cursors.c:
- * e-dropdown-button.h:
- * e-expander.h:
- * e-filter-bar.c:
- * e-filter-bar.h:
- * e-gui-utils.c:
- * e-gui-utils.h:
- * e-image-chooser.c:
- * e-info-label.c:
- * e-map.c:
- * e-pilot-settings.c:
- * e-popup-menu.c:
- * e-popup-menu.h:
- * e-printable.c:
- * e-reflow.h:
- * e-selection-model.c:
- * e-send-options.c:
- * e-task-bar.c:
- * e-task-bar.h:
- * e-task-widget.h:
- * e-unicode.c:
- * test-calendar.c:
- * test-dateedit.c:
- * test-dropdown-button.c:
-
-2008-09-01 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes bug #550334
-
- * e-activity-handler.c:
- Use standard icon names for warning and information.
-
-2008-08-30 Matthew Barnes <mbarnes@redhat.com>
-
- * e-info-label.c (e_info_label_set_info):
- Fix vertical alignment of labels.
-
-2008-08-27 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-account-combo-box.c:
- * e-account-combo-box.h:
- * e-attachment.c:
- * e-calendar-item.h:
- * e-canvas-utils.c:
- * e-cell-date-edit.h:
- * e-cell-percent.h:
- * e-cell-renderer-combo.h:
- * e-charset-picker.h:
- * e-combo-cell-editable.h:
- * e-cursors.h:
- * e-icon-entry.h:
- * e-image-chooser.h:
- * e-info-label.h:
- * e-map.h:
- * e-pilot-settings.h:
- * e-printable.h:
- * e-reflow-model.c:
- * e-reflow-model.h:
- * e-selection-model-array.c:
- * e-selection-model-array.h:
- * e-selection-model-simple.c:
- * e-selection-model-simple.h:
- * e-selection-model.h:
- * e-send-options.h:
- * e-signature-combo-box.c:
- * e-signature-combo-box.h:
- * e-spinner.c:
- * e-spinner.h:
- * test-charset-picker.c:
- * test-color.c:
- * test-error.c:
- * test-info-label.c:
-
-2008-08-14 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #547411
-
- * e-online-button.c (e_online_button_set_online):
- The button icons are themed now but still oblong.
- Load the icons by filename so GTK+ doesn't scale them.
-
-2008-08-14 Matthew Barnes <mbarnes@redhat.com>
-
- * e-multi-config-dialog.c:
- * e-send-options.c:
- Use e_display_help() for displaying help.
-
-2008-08-11 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #546892
-
- * e-combo-button.c:
- * e-info-label.c:
- * e-url-entry.c:
- * e-task-widget.c:
- Prefer gtk_image_new_from_stock() over e_icon_factory_get_image().
-
- * e-activity-handler.c:
- * e-task-widget.c:
- Purge the GdkPixbuf arguments from the API. We've been ignoring
- them since the spinner icon was added.
-
-2008-07-23 Milan Crha <mcrha@redhat.com>
-
- ** Part of fix for bug #543943
-
- * e-activity-handler.c: (e_activity_handler_operation_set_error):
- * e-task-bar.c: (e_task_bar_class_init), (impl_finalize):
- Leak fix.
-
-2008-07-20 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #542587
-
- * e-online-button.c:
- * e-online-button.h:
- New widget implements the online/offline button used in the main
- window. The button just maintains an "online" flag and displays
- the appropriate button image for the flag.
-
-2008-17-14 Paolo Borelli <pborelli@katamail.com>
-
- ** Fix for bug #542889
-
- * e-search-bar.h:
- * widgets/misc/e-search-bar.c:
- * widgets/misc/e-task-widget.c:
- Port to the new gtk tooltip api.
-
-2008-07-12 Paolo Borelli <pborelli@katamail.com>
-
- ** Fix for bug #542631
-
- * e-attachment-bar.c: use g_format_size_for_display instead of cut and
- pasted code.
-
-2008-07-07 Suman Manjunath <msuman@novell.com>
-
- ** Fix for bug #370731 (bugzilla.novell.com)
-
- * e-calendar-item.c (e_calendar_item_update),
- (e_calendar_item_draw_month), (e_calendar_item_draw_day_numbers),
- (e_calendar_item_recalc_sizes):
- * e-calendar-item.h:
- Use MAX (<max width of day-names>, (2 * <max width of a digit>))
- to determine the minimal size for each cell. This prevents the numbers
- and day-names from getting fuzzy when using large font-sizes.
-
-2008-06-30 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bug #519536
-
- * e-activity-handler.c: (cancel_wrapper): Handle freeing of data
- safely.
-
-2008-06-18 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #532597
-
- * e-selection-model-array.c: (e_selection_model_array_delete_rows):
- Do not leave selected more than one item if somebody else took care
- or reposition of the cursor row before the delete.
-
-2008-06-10 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #340683
-
- * e-attachment-bar.c: (get_system_thumbnail), (scale_pixbuf),
- (e_attachment_bar_create_attachment_cache), (update):
- Allow creating thumbnails of non-pictures with a gnome's thumbnailer.
-
-2008-06-03 Kjartan Maraas <kmaraas@gnome.org>
-
- * e-cell-date-edit.c: (e_cell_date_edit_init):
- * e-dateedit.c: (create_children):
- * e-multi-config-dialog.c: (e_multi_config_dialog_init):
- * e-unicode.h:
- * test-calendar.c: (main):
- * test-dateedit.c: (main):
- * test-info-label.c: (main):
- Migrate from gtk_window_set_policy() to gtk_window_set_resizable()
- and clean up a bunch of coding style issues along the way.
-
-2008-05-28 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #532597
-
- * e-selection-model-array.h: (struct ESelectionModelArray):
- * e-selection-model-array.c: (es_row_model_to_sorted),
- (es_row_sorted_to_model), (e_selection_model_array_delete_rows),
- (e_selection_model_array_insert_rows), (esma_invert_selection),
- (e_selection_model_array_move_row), (esma_clear), (esma_select_all),
- (esma_change_cursor), (esma_set_selection_end),
- (e_selection_model_array_init): Work with sorted cursor row to keep
- right position after insert/delete/move row(s).
-
-2008-05-22 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #534360
-
- * e-activity-handler.h:
- * e-attachment-bar.h:
- * e-attachment.c:
- * e-calendar-item.c:
- * e-calendar-item.h:
- * e-calendar.h:
- * e-canvas-background.h:
- * e-canvas-vbox.h:
- * e-canvas.c:
- * e-canvas.h:
- * e-cell-date-edit.c:
- * e-cell-date-edit.h:
- * e-combo-button.c:
- * e-combo-button.h:
- * e-config-page.h:
- * e-dateedit.c:
- * e-dateedit.h:
- * e-dropdown-button.c:
- * e-dropdown-button.h:
- * e-filter-bar.c:
- * e-gui-utils.c:
- * e-gui-utils.h:
- * e-image-chooser.c:
- * e-map.c:
- * e-map.h:
- * e-multi-config-dialog.h:
- * e-popup-menu.h:
- * e-printable.h:
- * e-reflow.h:
- * e-send-options.h:
- * e-task-bar.h:
- * e-task-widget.h:
- * e-url-entry.c:
- * e-url-entry.h:
- Migrate from deprecated GtkObject symbols to GObject equivalents.
-
-2008-05-14 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes bug #311042, Patch by Milan Crha
-
- * e-info-label.c: (el_size_allocate), (el_class_init),
- (e_info_label_set_info), (get_text_full_width): Allocate size for
- location and info labels differently, than GtkHBox does, to be able
- to minimize it as much as possible and do not waste empty space.
-
-2008-05-06 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #424744
-
- * e-attachment-bar.c:
- * e-unicode.c:
- Use camel-iconv.c instead of e-iconv.h (now deprecated).
-
-2008-04-30 Milan Crha <mcrha@redhat.com>
-
- ** Part of fix for bug #528288
-
- * e-filter-bar.c: (get_property): Do not return any query
- with empty text from search bar.
-
-2008-04-25 Danny Baumann <dannybaumann@web.de>
-
- ** Fix for bug #529893
-
- * e-dateedit.c (create_children):
- * e-combo-cell-editable.c (build_popup):
- * e-cell-date-edit.c (e_cell_date_edit_init):
- Properly set type hint on popup windows.
-
-2008-04-22 Matthew Barnes <mbarnes@Redhat.com>
-
- ** Fixes part of bug #529641
-
- * e-dateedit.c (create_children):
- * e-map.c (e_map_new):
- Prefer the term "drop-down combination box" to "combo box" per the
- GNOME Documentation Style Guide.
-
-2008-04-20 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bug #334444
-
- * e-attachment-bar.c: (e_attachment_bar_add_attachment_silent),
- (e_attachment_bar_refresh):
- * e-attachment-bar.h:
-
-2008-04-17 Milan Crha <mcrha@redhat.com>
-
- ** Part of fix for bug #526739
-
- * e-attachment.h: (struct _EAttachment):
- * e-attachment.c: (finalise), (init), (attachment_guess_mime_type),
- (e_attachment_new), (struct DownloadInfo), (download_info_free),
- (data_ready_cb), (download_to_local_path),
- (e_attachment_new_remote_file):
- Use gio instead of gnome-vfs to download remote files.
- * e-image-chooser.c: (image_drag_data_received_cb):
- Use new util function to read file.
- * e-attachment-bar.c: (size_to_string): Stolen from gnome-vfs.
-
-2008-04-14 Matthew Barnes <mbarnes@redhat.com>
-
- * e-attachment-bar.c
- (e_attachment_bar_bonobo_ui_populate_with_recent):
- Fix a compiler warning.
-
-2008-04-11 Suman Manjunath <msuman@novell.com>
-
- ** Fix for bug #517134
-
- * e-attachment-bar.c: (destroy), (init): Related changes.
- (e_attachment_bar_bonobo_ui_populate_with_recent): New API to populate
- a bonoboUI menu with "Recent Documents".
- (action_recent_cb), (e_attachment_bar_recent_action_new): New API to
- obtain a new, pre-configured GtkRecentAction (which can be used as a
- "Recent Documents" menu)
- * e-attachment-bar.h: APIs' signatures
-
-2008-04-02 Matthew Barnes <mbarnes@redhat.com>
-
- * Makefile.am:
- Add EVOLUTION_MAIL_LIBS.
-
- * e-account-combo-box.c:
- * e-account-combo-box.h:
- New function e_account_combo_box_get_account_list().
- Emit a "refreshed" signal when the EAccountList changes.
- Add an internal reverse-lookup index.
-
- * e-charset-picker.c (e_charser_add_radio_actions):
- New function adds radio actions to an action group.
- Will eventually replace e_charset_picker_bonobo_ui_populate().
-
- * e-signature-combo-box.c:
- * e-signature-combo-box.h:
- New function e_signature_combo_box_get_signature_list().
-
-2008-03-27 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #507526
-
- * e-send-options.glade: Add translators' comment.
-
-2008-03-14 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #482148
-
- * e-search-bar.c: (entry_activated_cb), (entry_changed_cb),
- (search_now_verb_cb), (clear_verb_cb), (clear_button_clicked_cb):
- Allow clear search when some search is active and text is empty.
-
-2008-03-13 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #460204
-
- * e-attachment.c: (attachment_guess_mime_type):
- Check whether found mime type is valid before returning it.
- My thanks come to Effenberg whom helped me to debug it.
-
-2008-03-13 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #512543
-
- * e-calendar-item.c: Get rid of ENABLE_CAIRO define.
-
-2008-02-18 Milan Crha <mcrha@redhat.com>
-
- ** Part of fix for bug #515744
-
- * e-cursors.c: (e_cursors_init):
- * e-calendar-item.c: (e_calendar_item_draw_month):
- Memory leak fix.
-
-2008-02-18 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bnc #178778
-
- * e-calendar-item.c: (e_calendar_item_destroy):
-
-2008-02-07 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #249501
-
- * e-attachment.c: (attachment_guess_mime_type):
- gnome_vfs_get_file_info expects URI,
- thus if file_name contains '%' it failed.
-
-2007-01-25 Johnny Jacob <jjohnny@novell.com>
-
- * e-filter-bar.h : Added a cameloperation cancel field for vfolder
- based search.
-
-2008-01-24 Tor Lillqvist <tml@novell.com>
-
- * Makefile.am (libemiscwidgets_la_LIBADD): Fix typo:
- s/EVOLUTON_MAIL_LIBS/EVOLUTION_MAIL_LIBS/. No need to use
- CAMEL_LIBS as EVOLUTION_MAIL_LIBS already covers that.
-
-2008-01-24 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #402487
-
- * e-search-bar.c: (search_now_verb_cb), (scopeoption_changed_cb):
- Memory leak fix.
-
-2008-01-24 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-multi-config-dialog.c: (canvas_realize),
- (e_multi_config_dialog_add_page): Enable for Cairofication of the
- settings dialogs's etable.
-
-2008-01-11 Jeffrey Stedfast <fejj@novell.com>
-
- Patch by Jean-Christophe BEGUE to fix bug #329692.
-
- * e-attachment.c (e_attachment_new_from_mime_part): Get the
- content size of the MIME part by calling the new
- camel_mime_part_get_content_size() function.
-
-2008-01-11 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #488213
-
- * e-spinner.c: (scale_to_size):
- * e-image-chooser.c: (set_image_from_data):
- * e-attachment-bar.c: (e_attachment_bar_create_attachment_cache),
- (update):
- Use global function e_icon_factory_pixbuf_scale for scaling pixbufs.
-
-2008-01-10 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Add better support to show info/errors
-
- * e-activity-handler.c: (setup_task_bar), (cancel_wrapper),
- (handle_error), (error_cleanup), (e_activity_handler_make_error),
- (e_activity_handler_operation_set_error):
- * e-activity-handler.h:
- * e-task-widget.c: (e_task_widget_update_image):
-
-2008-01-07 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #339813
-
- * e-dateedit.h: (e_date_edit_get_twodigit_year_can_future),
- (e_date_edit_set_twodigit_year_can_future):
- Added new option for component.
- * e-dateedit.c: (e_date_edit_get_twodigit_year_can_future),
- (e_date_edit_set_twodigit_year_can_future),
- (struct _EDateEditPrivate::twodigit_year_can_future),
- (e_date_edit_init), (e_date_edit_parse_date):
- Implementing new option for component.
- * e-dateedit.c: (on_date_entry_focus_out):
- Always repaint value on focus out.
- * e-dateedit.c: (e_date_edit_update_date_entry):
- Forced to always show 4-digit year.
-
-2008-01-04 Milan Crha <mcrha@redhat.com>
-
- * Part of bug #504480
- * e-task-widget.c: (e_task_widget_construct):
- Possible leak fix.
- * e-task-widget.c: (e_task_widget_update_image):
- Function prototype changed and using parameter stock now.
-
-2008-01-04 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fix for bug #504480
-
- * e-task-bar.c: (e_task_bar_init): Increases the height
- of the ETaskBar to eliminate the constant resizing.
-
-2007-12-14 Milan Crha <mcrha@redhat.com>
-
- ** Part of fix for bug #211353
-
- * e-search-bar.c: (e_search_bar_get_viewitem_id):
- Return -1 if no viewmenu is setup yet.
-
-2007-12-17 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Revamped Activity handler and task bar/widget for non-intrusive
- error reporting
-
- * e-activity-handler.c: (activity_info_new), (activity_info_free),
- (task_widget_new_from_activity_info), (setup_task_bar),
- (e_activity_handler_init),
- (e_activity_handler_set_error_flush_time),
- (e_activity_handler_set_logger), (cancel_wrapper),
- (e_activity_handler_cancelable_operation_started),
- (e_activity_handler_operation_started), (handle_error),
- (error_cleanup), (e_activity_handler_make_error),
- (e_activity_handler_operation_set_error),
- (e_activity_handler_operation_progressing),
- (e_activity_handler_operation_finished):
- * e-activity-handler.h:
- * e-task-bar.c: (e_task_bar_prepend_task),
- (e_task_bar_remove_task_from_id), (e_task_bar_remove_task),
- (e_task_bar_get_task_widget_from_id):
- * e-task-bar.h:
- * e-task-widget.c: (e_task_widget_init), (button_press_event_cb),
- (prepare_popup), (e_task_widget_construct),
- (e_task_widget_new_with_cancel), (e_task_widget_new),
- (e_task_widget_update_image):
- * e-task-widget.h:
-
-2007-12-05 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #392747 (extra cleanup work)
-
- * e-calendar-item.c (e_calendar_item_show_popup_menu):
- Call e_get_month_name() instead of e_utf8_strftime().
-
-2007-12-03 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #392747
-
- * e-calendar-item.h (struct _ECalendarItem):
- * e-calendar-item.c (e_calendar_item_init), (e_calendar_item_draw):
- Lose the local weekday name cache and just call e_get_weekday_name().
-
-2007-12-01 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #495123
-
- * Makefile.am:
- Add e-signature-combo-box.[ch].
-
- * e-account-combo-box.c (account_combo_box_refresh_cb):
- Make sure the EAccount isn't lost while swapping models.
-
- * e-signature-combo-box.c:
- * e-signature-combo-box.h:
- New widget renders an ESignatureList as a combo box. Also listens
- for changes to the ESignatureList and updates itself accordingly.
-
-2007-11-27 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #495123
-
- * Makefile.am:
- Add e-account-combo-box.[ch].
-
- * e-account-combo-box.c:
- * e-account-combo-box.h:
- New widget renders an EAccountList as a combo box. Also listens
- for changes to the EAccountList and updates itself accordingly.
-
-2007-11-05 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #231166
-
- * e-dateedit.c: (create_children), (e_date_edit_check_time_changed),
- (rebuild_time_popup), (on_date_edit_time_selected),
- (on_time_entry_key_press), (e_date_edit_update_time_entry),
- (e_date_edit_grab_focus), (e_date_edit_update_time_combo_state):
- Migrate from gtk_combo to gtk_com_box_entry for time_combo.
-
-2007-11-05 Milan Crha <mcrha@redhat.com>
-
- ** Part of fix for bug #351932
-
- * e-dateedit.h: (e_date_edit_have_time):
- * e-dateedit.c: (e_date_edit_have_time): Extend API to be able
- to check if time is set independently of date part.
-
-2007-10-29 Kjartan Maraas <kmaraas@gnome.org>
-
- * e-activity-handler.c: (e_activity_handler_new):
- * e-canvas.c: (e_canvas_new), (emit_event), (pick_current_item),
- (e_canvas_button):
- * e-combo-button.c: (menu_detacher), (impl_destroy),
- (impl_button_press_event):
- * e-combo-cell-editable.c: (e_combo_cell_editable_new):
- * e-expander.c: (e_expander_init), (e_expander_size_request),
- (e_expander_size_allocate), (e_expander_button_press),
- (e_expander_focus):
- * e-gui-utils.c: (e_popup_menu),
- (e_container_change_tab_order_callback):
- * e-image-chooser.c: (image_drag_data_received_cb):
- * e-info-label.c: (e_info_label_new):
- * e-map.c: (e_map_key_press), (e_map_new), (update_render_pixbuf),
- (blowup_window_area), (zoom_do), (set_scroll_area):
- * e-pilot-settings.c: (e_pilot_settings_get_source):
- * e-printable.c: (e_printable_will_fit):
- * e-reflow.c: (items_inserted), (model_changed), (set_empty),
- (e_reflow_event), (e_reflow_draw):
- * e-search-bar.c: (set_option):
- * e-search-bar.h:
- * e-unicode.c: (e_xml_get_translated_utf8_string_prop_by_name):
-
- Warning fixes:
- - NULL vs 0 vs FALSE
- - ANSIfication of function declarations.
- - Use non-deprecated GSignal functions
- - Don't mix different enum types
-
-2007-10-31 Michael Monreal <mmonreal@svn.gnome.org>
-
- ** Fix for bug #483785
-
- * e-url-entry.c: (init):
- Use go-jump icon instead of stock_connect-to-url
- to get rid of deprecated icons from gnome-icon-theme.
-
-2007-10-26 Tobias Mueller <tobiasmue@svn.gnome.org>
-
- ** Workaround for bug #395272
-
- * e-search-bar.c:
- Minor code cleanups and value checking
-
-2007-10-22 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #417999
-
- * e-pilot-settings.c:
- Use ESourceComboBox instead of ESourceOptionMenu (deprecated).
-
-2007-10-09 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #437579
-
- * e-cursors.c:
- * e-spinner.c:
- * e-unicode.c:
- Fix various compiler warnings. Patch from Milan Crha.
-
-2007-10-01 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #413420
-
- * e-attachment.c: (file_ext_is): New helper function.
- * e-attachment.c: (attachment_guess_mime_type): Change mimetype
- if knows the extension and if the content of file is valid.
-
-2007-09-26 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #423401
-
- * e-attachment.h: (e_attachment_new_remote_file):
- * e-attachment.c: (struct DownloadInfo), (async_progress_update_cb),
- (e_attachment_new_remote_file):
- * e-attachment-bar.c: (e_attachment_bar_attach_remote_file):
- Better error handling when attaching remote file.
-
-2007-09-26 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #351333
-
- * e-search-bar.c: (paint_search_text), (option_activated_cb):
- Added more descriptive hint over search bar's option button.
-
-2007-09-12 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #476040
-
- * e-attachment-bar.c:
- Use "mail-attachment" icon for unknown attachment types.
-
-2007-08-31 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Move away from g_assert to g_return* critical warnings to debug
- them better.
-
- * e-canvas.c: (e_canvas_button):
- * e-cursors.c: (create_bitmap_and_mask_from_xpm), (e_cursors_init):
- * e-expander.c: (e_expander_focus):
- * e-search-bar.c: (clear_button_state_changed), (search_verb_cb):
- * e-selection-model.c: (e_selection_model_do_something),
- (e_selection_model_select_as_key_press):
- * e-spinner.c: (e_spinner_images_load), (e_spinner_expose):
- * e-task-bar.c: (reduce_displayed_activities_per_component):
-
-2007-08-16 Milan Crha <mcrha@redhat.com>
-
- ** Part of fix for bug #350539
-
- * e-attachment.c: (e_attachment_edit):
- * e-attachment-bar.c: (e_attachment_bar_create_attachment_cache),
- (update), (attach_to_multipart):
- Ensures non-NULL part.
-
-2007-08-06 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bug #429234
-
- * e-attachment-bar.c: (destroy): Remove the weak ref while the purpose
- is achieved.
-
-2007-08-03 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #335566
-
- * e-attachment-bar.c: (e_attachment_bar_create_attachment_cache),
- (update): When scaling image, ensures nonzero width or height.
-
-2007-08-03 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bug #451599
-
- * e-attachment.c: (async_progress_update_cb): Timing of setting the
- attachment is downloaded has to be after creating the attachment.
-
-2007-08-03 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #331729
-
- * e-selection-model.c: (move_selection): Don't call
- e_sorter_model_to_sorted when there is no selected row.
-
-2007-07-27 Matthew Barnes <mbarnes@redhat.com>
-
- * Makefile.am:
- Rename EXTRA_GNOME_CFLAGS to GNOME_PLATFORM_CFLAGS.
- Similarly for EXTRA_GNOME_LIBS.
-
-2007-07-09 Chenthill Palanisamy <pchenthill@novell.com>
-
- Fixes #387844
- * e-dateedit.c: Increase the buffer size.
-
- Committing on behalf of Makuchaku <mayank.gnu@gmail.com>
-
-2007-06-18 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bug #448223 from Gilles Dartiguelongue
-
- * e-search-bar.c: (set_option), (e_search_bar_set_viewoption),
- (e_search_bar_set_scopeoption):
-
-2007-06-15 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #257118
-
- * e-search-bar.c: (set_clear_menuitem_sensitive),
- (clear_button_state_changed): Added two helper functions.
- * e-search-bar.c: (setup_standard_verbs), (setup_bonobo_menus):
- Using these helper functions, clear menu item is synchronized
- by changed state of clear_button of search bar.
-
-2007-06-15 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #263207
-
- * e-filter-bar.c: (dialog_rule_changed): New callback
- for disabling OK button in dialog when rule isn't valid.
- * e-filter-bar.c: (do_advanced), (save_search_dialog):
- Connecting dialog_rule_changed on "changed" signal of
- actual rule.
-
-2007-06-15 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #447727
-
- * e-info-label.c:
- * e-multi-config-dialog.c:
- * e-task-bar.c:
- Use ellipsized GtkLabels instead of EClippedLabels.
-
- * e-clipped-label.[ch]:
- Remove these files. GTK+ provides this functionality now.
-
- * Makefile.am:
- Remove e-clipped-label.[ch].
-
-2007-06-04 Chenthill Palanisamy <pchenthill@novell.com>
-
- * e-filter-bar.[c]: (e_filter_bar_new), (e_filter_bar_new_construct):
- Added a construct function.
-
- Committing on behalf of Keshav Upadhayaya <ukeshav@novell.com>
-
-2007-06-03 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bug #386503 from Matthew Barnes
-
- * e-multi-config-dialog.c: (impl_response):
- * e-send-options.c: (e_send_options_cb):
-
-2007-06-03 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bug #416031 from Martin Jürgens
-
- * e-charset-picker.c:
-
-2007-06-02 Gilles Dartiguelongue <dartigug@esiee.fr>
-
- ** Fixes part of bug #441014
-
- * e-dateedit.c: (rebuild_time_popup):
- * e-filter-bar.c: (get_property), (xml_get_prop_int),
- (set_property):
- * e-image-chooser.c: (set_image_from_data),
- (image_drag_data_received_cb):
- * e-task-widget.c: (e_task_widget_construct):
- * e-unicode.c: (e_utf8_strstrcasedecomp), (e_utf8_strstrcase),
- (e_utf8_from_iconv_string_sized), (e_utf8_to_iconv_string_sized),
- (e_utf8_xml1_decode), (e_utf8_xml1_encode),
- (e_xml_get_translated_utf8_string_prop_by_name): various
- compilation cleanups.
-
-+2007-05-25 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #441010
-
- * gal-combo-box.c:
- * gal-combo-box.h:
- * gal-combo-text.c:
- * gal-combo-text.h:
- Bye bye old widgets, go back to Motif!
-
- * Makefile.am:
- Remove the aforementioned files.
-
-2007-05-21 Wang Xin <jedy.wang@sun.com>
-
- * e-dateedit.c: Fixes #439049.
-
-2006-02-28 Andre Klapper <a9016009@gmx.de>
-
- * e-clipped-label.c: add translator comments for a string.
- Fixes bug #325118.
-
-2007-05-03 Matthew Barnes <mbarnes@redhat.com>
-
- * e-attachment-bar.c (e_attachment_bar_remove_selected):
- Emit "changed" signal. (#434981)
-
-2007-04-24 Matthew Barnes <mbarnes@redhat.com>
-
- * e-task-widget.c: #include "e-spinner.h" (#433005)
- Patch from Daniel Gryniewicz.
-
-2007-04-20 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-task-widget.c: (e_task_widget_construct): Show spinner instead of
- the component icon.
-
-2007-04-19 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #429422
-
- * e-combo-cell-editable.c (ecce_init):
- * e-dateedit.c (e_date_edit_set_editable):
- Use gtk_editable_set_editable() instead of gtk_entry_set_editable().
-
- * e-dateedit.c (create_children):
- * e-cell-date-edit.c (e_cell_date_edit_init):
- Use gtk_box_set_spacing() instead of gtk_button_box_set_spacing().
- Remove gtk_button_box_set_child_ipadding() and
- gtk_button_box_set_child_size(). Use style properties instead.
-
- * e-clipped-label.c (e_clipped_label_new):
- * e-combo-button.c (e_combo_button_new):
- * e-config-page.c (e_config_page_init):
- * e-multi-config-dialog.c (e_multi_config_dialog_init):
- * e-dropdown-button.c (e_dropdown_button_new):
- * e-cell-date-edit.c (e_cell_date_edit_new):
- * e-filter-bar.c (e_filter_bar_new):
- * e-url-entry.c (mnemonic_activate):
- * e-map.c (e_map_new):
- * e-search-bar.c (e_search_bar_new):
- * e-calendar.c (e_calendar_new):
- Use g_object_new() instead of gtk_type_new().
-
- * test-calendar.c (main):
- * test-info-label.c (main):
- * test-multi-config-dialog.c (main):
- * test-dropdown-button.c (main):
- Use gnome_program_init() instead of gnome_init().
-
- * e-combo-button.c (impl_released):
- Replace gtk_widget_draw() with GTK's 2-line implementation.
-
- * e-multi-config-dialog.c (set_page_timeout_callback),
- (e_multi_config_dialog_show_page):
- Use gtk_notebook_set_current_page() instead of
- gtk_notebook_set_page().
-
- * e-dropdown-button.c (impl_destroy):
- Use g_object_unref() instead of gtk_accel_group_unref().
-
- * e-cell-percent.c (show_percent_warning):
- * e-cell-date-edit.c (e_cell_date_edit_show_time_invalid_warning):
- Use GtkMessageDialog instead of GnomeMessageDialog.
-
- * e-cell-date-edit.c (e_cell_date_edit_select_matching_time),
- (e_cell_date_edit_on_time_selected):
- Use gtk_label_get_text() instead of gtk_label_get().
-
- * e-filter-bar.c (class_init):
- * gal-combo-box.c (gal_combo_box_init), (gtk_combo_popup_tear_off),
- (gtk_combo_popup_reparent):
- * e-map.c (e_map_set_scroll_adjustments):
- * e-task-widget.c (e_task_widget_construct):
- Use g_object_ref_sink() instead of gtk_object_sink().
-
- * gal-combo-box.c (gtk_combo_tearoff_bg_copy),
- (gtk_combo_popup_reparent):
- * gal-combo-text.c (gal_combo_text_construct):
- Use gtk_widget_set_size_request() instead of gtk_widget_set_usize().
-
- * test-dropdown-button.c:
- Use GTK_STOCK_* constants instead of GNOME_STOCK_*.
-
- * e-calendar.c (e_calendar_init):
- Use g_signal_connect_swapped() instead of gtk_signal_connect_object().
-
- * e-calendar.c (e_calendar_destroy), (e_calendar_stop_auto_move):
- Use g_source_remove() instead of gtk_timeout_remove().
-
-2007-04-11 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Added spinner widgets.
-
- * Makefile.am: Add them to the build
- * e-spinner.[ch]: Spinner widget for progress indiation.
-
-2007-04-09 Jeff Cai<jeff.cai@sun.com>
-
- * e-dateedit.c: (rebuild_time_popup):
- Use e_time_format_time to ensure evolution and evolution-
- data-server use same translations.
- Fix #380843.
-
-2007-03-29 Matthew Barnes <mbarnes@redhat.com>
-
- * e-icon-entry.c:
- Fix "incompatible pointer type" warnings (#360619).
-
-2007-03-27 Matthew Barnes <mbarnes@redhat.com>
-
- * e-filter-bar.c (menubar_activated): Fix build breakage due to
- poorly placed preprocessor condition.
-
-2007-03-27 Matthew Barnes <mbarnes@redhat.com>
-
- * e-filter-bar.c:
- * e-multi-config-dialog.c:
- Don't mix declarations and code (#405495).
-
-2007-03-20 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #419524
-
- * Include <glib/gi18n.h> instead of <libgnome/gnome-i18n.h>.
-
-2007-03-16 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #360240
-
- * e-calendar-item.c (e_calendar_item_unrealize):
- * e-icon-entry.c (e_icon_entry_pack_widget):
- Remove unused variables.
-
-2007-02-12 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bug #368983 from Ebby Wiselyn
-
- * e-filter-bar.c: (menubar_activated):
-
-2007-02-12 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Print migration updates from Ebby Wiselyn
-
- * e-printable.c: (e_printable_print_page), (e_printable_height),
- (e_printable_will_fit):
- * e-printable.h:
-
-2007-01-08 Harish Krishnaswamy <kharish@novell.com>
-
- * e-filter-bar.c: (build_items): Initialize ESearchBarItem
- type to ESB_ITEMTYPE_RADIO. Fixes #382860.
-
-2006-12-04 Matthew Barnes <mbarnes@redhat.com>
-
- Fixes bug #357970
-
- * e-calendar-item.c:
- * e-canvas-background.c:
- * e-filter-bar.c:
- * e-search-bar.c:
- * gal-combo-box.c:
- Don't call deprecated GLib / GDK functions.
-
- * e-colors.c (e_color_alloc): Remove unused function.
-
-2006-12-04 Harish Krishnaswamy <kharish@novell.com>
-
- * e-filter-bar.c: (build_items): Fix read of uninitialized
- ESearchBarItems. Partially fixes #381642.
-
-2006-11-21 Harish Krishnaswamy <kharish@novell.com>
-
- * e-filter-bar.c: (e_filter_bar_new): type should be
- initialized to 0, not NULL.
-
-2006-11-03 Parthasarathi Susarla <ajaysusarla@gmail.com>
-
- ** Fixes bug #357492
- * e-attachment-bar.c: (e_attachment_bar_remove_selected):
- put the attachment pointes into a temporary array. Free the
- pointers and the array after going thru the entire list
- This prevents a crash and also fixes the issue of only few
- attachments getting deleted.
-
-2006-10-11 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bug #360237 & bug #359236
-
- * e-filter-bar.c: (rule_advanced_response), (set_property): Fix for a
- crash while saving empty search.
-
-2006-10-03 Francisco Javier F. Serrador <serrador@tecknolabs.com>
-
- * e-dateedit.c: Make two strings translatable.
-
-2006-10-02 Harish Krishnaswamy <kharish@novell.com>
-
- * Revert the previous patch as per rel-team
- disapproval on the commit.
-
-2006-08-23 Ushveen kaur <kushveen@novell.com>
-
- ** Fix for bug #329694
-
- * e-charset-picker.c : Translator comment added for "logical".
-
-2006-09-28 Ushveen Kaur <kushveen@novell.com>
-
- ** Fixes bug #335814
-
- * e-charset-picker.c: Name and subclass changed for
- E_CHARSET_HEBREW from "ISO-8859-8","Visual" to "ISO-8859-8-i","Logical".
-
-2006-09-29 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fixes a lot of search issues.
-
- * e-filter-bar.c: (rule_advanced_response), (do_advanced),
- (menubar_activated), (option_changed), (free_items),
- (get_property), (set_property):
- * e-search-bar.c: (clear_search), (clear_verb_cb),
- (paint_search_text), (e_search_bar_paint), (viewitem_activated_cb),
- (scopeitem_activated_cb), (option_activated_cb),
- (clear_button_clicked_cb), (scopeoption_changed_cb), (set_option),
- (init), (e_search_bar_construct), (e_search_bar_set_viewitem_id),
- (e_search_bar_set_item_id), (e_search_bar_set_item_menu),
- (e_search_bar_set_search_scope), (e_search_bar_set_ids):
- * e-search-bar.h:
-
-2006-09-29 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fixes bug #341474 patch from Ushveen
-
- * e-attachment-bar.c: (size_to_string): Use
- gnome_vfs_format_file_size_for_display instead of manual calculations.
-
-2006-09-12 Ushveen Kaur <kushveen@novell.com>
-
- ** Fix for bug #325614
-
- * e-task-widget.c (e_task_widget_update) : Translator comment
- added.
-
-2006-09-07 Hiroyuki Ikezoe <poincare@ikezoe.net>
-
- ** Fixes bug #341099.
- * e-canvas-item.c: (e_canvas_unrealize):
- Set second argument of gtk_im_context_set_client_window to NULL.
-
-2006-08-28 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bug #353059
-
- * e-search-bar.c: (e_search_bar_set_scopeoption): Added translatable
- options to search strings, which are already translated.
-
-2006-08-23 Behnam Esfahbod <behnam@zwnj.org>
-
- * e-calendar.c:
- * e-calendar-item.c:
- flip month view in RTL locale - fixes bug 342443.
- committed by Andre Klapper
-
-2006-08-23 Matthew Barnes <mbarnes@redhat.com>
-
- * e-multi-config-dialog.c:
- improve GError initialization code - fixes bug 352423.
- committed by Andre Klapper
-
-2006-08-07 Ushveen Kaur <kushveen@novell.com>
-
- ** Fix for bug #347238
-
- * e-attachment-bar.c: Changed the file permission changed to 644
- while saving the attachment.
-
-2006-08-21 Li Yuan <li.yuan@sun.com>
-
- ** Fixes bug #348753
-
- * e-search-bar.c: (entry_key_press_cb), (e_search_bar_construct):
- Add accelerate key to the search bar. <ALT ARROW_DOWN> open option window.
-
-2006-08-21 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-filter-bar.c: (rule_editor_destroyed),
- (rule_advanced_response), (do_advanced), (save_search_dialog),
- (menubar_activated), (option_changed), (set_property):
- * e-search-bar.[ch]: (clear_search), (clear_verb_cb),
- (paint_search_text), (entry_focus_out_cb), (entry_changed_cb),
- (scopeoption_changed_cb), (set_option), (class_init), (init),
- (e_search_bar_construct), (e_search_bar_set_scopeoption),
- (e_search_bar_set_item_id), (e_search_bar_get_text),
- (e_search_bar_scope_enable): Fixes a lot of search issue.
-
-2006-08-21 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bug 347430
-
- * e-cell-date-edit.c: (e_cell_date_edit_update_cell): commit the text
- on updation of cell.
-
-2006-08-20 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Patch from Pavel Roskin.
-
- * e-icon-entry.c: Added missing headers.
-
-2006-08-18 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-filter-bar.c: (rule_editor_destroyed),
- (rule_advanced_response), (do_advanced), (save_search_dialog),
- (menubar_activated), (option_changed), (set_property):
- * e-search-bar.c: (clear_search), (clear_verb_cb),
- (paint_search_text), (entry_focus_out_cb), (entry_changed_cb),
- (scopeoption_changed_cb), (set_option), (class_init), (init),
- (e_search_bar_construct), (e_search_bar_set_scopeoption),
- (e_search_bar_set_item_id), (e_search_bar_get_text),
- (e_search_bar_scope_enable):
- * e-search-bar.h:
-
-2006-08-10 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bug #341482
-
- * e-attachment-bar.c: (eab_drag_data_get), (eab_icon_clicked_cb):
- * e-attachment.c: (e_attachment_new),
- (e_attachment_build_remote_file): Use file:// as the uri.
-
-2006-08-04 Johnny Jacob <jjohnny@novell.com>
-
- * e-icon-entry.c: (set_cursor) : Added. Change cursor over icon.
- (e_icon_entry_create_button) : Handle enter/leave-notify signals
- for changing cursor.
- * e-search-bar.c: (e_search_bar_construct) : Added mnemonic for
- "Sho_w". Added tooltips for e-icon-entry.
- (option_activated_cb) : Set the selected item's label in tooltip.
-
-
-2006-08-02 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bug #349565
-
- * e-search-bar.c: (clear_search): Dont clear the criteria.
-
-2006-07-28 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-calendar-item.c: Removed the hardcoded ENABLE_CAIRO for tag
- calendar.
-
-2006-07-22 Yuri Pankov <yuri.pankov@gmail.com>
-
- Reviewed by Harish Krishnaswamy <kharish@novell.com>
- * e-icon-entry.c: Add missing headers. Fixes #347689.
-
-2006-07-20 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-search-bar.c: (e_search_bar_construct): Modified
- the mnemonics for avoiding the conflict with attachment bar.
-
-2006-07-18 Andre Klapper <a9016009@gmx.de>
-
- * e-attachment.glade:
- * gal-categories.glade:
- remove "*" from translation. Fixes bug #331147.
-
-2006-07-17 Sankar P <psankar@novell.com>
-
- * Replaced classification with security in the send-options
- so that the client ui looks consistent (GW)
- * e-send-options.[c|h|glade]:
-
-2006-07-11 Hiroyuki Ikezoe <poincare@ikezoe.net>
-
- ** Fixes bug #347166
-
- * widgets/misc.e-search-bar.c: (set_option):
- remove gtk_option_menu_set_history().
-
-2006-06-07 Ushveen Kaur <kushveen@novell.com>
-
- ** Fixes bug #341333
-
- * e-dateedit.c: accelarator for 'now'('w') and 'today'('t')
- 'None'('n')
-
-2006-07-11 Li Yuan <li.yuan@sun.com>
-
- Fixes bug #345402
-
- * e-dateedit.c: (on_date_popup_key_press):
- Grab the popup window when some key except ESC is pressed.
-
-2006-07-04 Andre Klapper <a9016009@gmx.de>
-
- * e-search-bar.c: fixing two typos, adding translator comments.
-
-2006-07-03 Harry Lu <harry.lu@sun.com>
-
- Fix compile error in solaris
-
- * e-filter-bar.h: E_FILTERBAR_SEPARATOR should have 3 members.
- * e-search-bar.h: add the declaration of e_search_bar_set_viewitem_id.
-
-2006-06-19 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fixes bug #252814
- Committing a patch from Oswald.
-
- * e-combo-button.c: (e_combo_button_init),
- (e_combo_button_pack_hbox), (e_combo_button_pack_vbox):
- * e-combo-button.h: Adds new packing support for supporting toolbar
- options.
-
-2006-06-19 Chpe <chpe@gnome.org>
-
- * e-combo-button.c: (paint): Fix for bug #262210
-
-2006-06-09 Johnny Jacob <johnnyjacob@gmail.com>
-
- * e-dateedit.c (): Removing aggressive time check when entering a
- date in the editor. Fixes bug #335400. (Committed by Andre Klapper)
-
-2006-06-08 Jeffrey Stedfast <fejj@novell.com>
-
- * e-attachment-bar.c (attachment_destroy): Call update (bar); the
- rest of the fix for bug #178631.
-
-2006-06-07 Federico Mena Quintero <federico@novell.com>
-
- * e-map.c (e_map_class_init): Don't use gtk_signal_new() for the
- set_scroll_adjustments signal, and use the correct marshaler.
- Fixes bug #331743.
-
-2006-06-02 Hiroyuki Ikezoe <poincare@ikezoe.net>
-
- ** Fixes bug 343494
-
- * e-search-bar.c (add_button): Use gtk_button_set_image if GTK+ is
- 2.6 or higher.
-
-2006-05-30 Li Yuan <li.yuan@sun.com>
-
- Fix for #343280.
-
- * e-search-bar.c (add_button): No need to add label when we use
- gtk_button_new_from_stock to create a button.
-
-2006-05-26 Jeffrey Stedfast <fejj@novell.com>
-
- Fix for Novell bug #178631
-
- * e-attachment-bar.c: Changed the EAttachmentBarPrivate struct, we
- no longer use a linked list, instead we use a GPtrArray - faster,
- simpler (plus all the code used indexes anyway, so it was really
- bizarre).
- (free_attachment_list): Removed.
- (attachment_destroy): New GWeakNotify callback for when an
- EAttachment object gets destroyed. Remove the attachment from the
- attachments array.
- (add_common): Updated to add to an array rather than a linked
- list. Also weak_ref the attachment object.
- (remove_attachment): Removed.
- (update): Updated to use the array instead of linked list of
- attachments.
- (e_attachment_bar_remove_selected): Same.
- (e_attachment_bar_set_width): Same.
- (e_attachment_bar_edit_selected): Same.
- (e_attachment_bar_get_selected): Same.
- (e_attachment_bar_get_attachment): Same.
- (e_attachment_bar_get_all_attachments): Same and also optimised
- since we can cheat now without having to g_slist_reverse.
- (e_attachment_bar_get_parts): Same.
- (destroy): Same.
- (eab_drag_data_get): Same.
- (init): Init attachments to a g_ptr_array_new
- (e_attachment_bar_to_multipart): Updated to use the attachments
- array.
- (e_attachment_bar_get_num_attachments): Updated to return the
- attachments->len.
- (e_attachment_bar_get_download_count): Updated to use the array.
-
- * e-attachment.c (finalise): Close the editor dialog if it is
- open.
- (async_progress_update_cb): If the phase is COMPLETE but the
- file_size is 0, then treat it as an error. In the error case,
- unref the attachment object (this will magically remove it from
- the EAttachmentBar).
- (close_cb): Don't unref the attachment object here anymore.
- (e_attachment_edit): Don't ref the EAttachment anymore.
-
-2006-05-25 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-attachment-bar.c (update, eab_icon_clicked_cb),
- (e_attachment_bar_attach_remote_file):
-
- * e-attachment-bar.h:
-
- * e-attachment.c (e_attachment_new_remote_file),
- (e_attachment_build_remote_file): Added code to specify the
- attachment type for remote files. Also added code to save files
- to CamelStreamVfs
-
-2006-05-04 Rajeev Ramanathan <rajeevramanathan_2004@yahoo.co.in>
-
- * e-calendar-item.c (e_calendar_item_draw),
- (e_calendar_item_draw_month, e_calendar_item_draw_day_numbers),
- (layout_set_day_text): enable build without cairo using
- ENABLE_CAIRO macro. Also it fixes a bold issue, where entire
- evolution appears with bold text.
-
-2006-04-27 Boby Wang <boby.wang@sun.com>
-
- ** Fixes bug #339138
-
- * e-calendar.c (e_calendar_init): Correct the button's accessible
- name.
-
-2006-04-27 Boby Wang <boby.wang@sun.com>
-
- ** Fixes bug #332821
-
- * e-expander.c (e_expander_class_init): Implement the
- accessibility of EExpander.
-
-2006-04-26 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-search-bar.c (append_xml_menu_item, setup_bonobo_menus): Added
- icons to search menu.
-
-2006-04-26 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-search-bar.c (add_button, e_search_bar_construct): Adding
- icons for find and clear buttons. (Patch from PR Suman)
-
-2006-04-26 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Patch from charu_jayaprakasam@yahoo.com fixes bug #335861
-
- * e-search-bar.c (e_search_bar_construct): Change the mnemonics
- for Find Now button.
-
-2006-04-24 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-calendar-item.c (e_calendar_item_draw),
- (e_calendar_item_draw_month, e_calendar_item_draw_day_numbers):
- Used Cairo to draw the Tag Calendar. (Rajeev)
-
-2006-04-22 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-attachment-bar.c (e_attachment_bar_create_attachment_cache):
- Added a new function that creates a attachment with a image cache.
-
-2006-03-28 Li Yuan <li.yuan@sun.com>
-
- **Fixes bug #335618
-
- * e-selection-model-array.c (e_selection_model_array_delete_rows):
- If the row being deleted is the last one, we should change the
- selection_start_row.
-
-2006-03-06 Simon Zheng <simon.zheng@sun.com>
-
- Fixes bug #332140
-
- * e-attachment-bar.c (temp_save_part): Changed to transfer
- filenames from utf-8 to glib encoding before really saving files.
-
-2006-03-06 Jeff Cai <jeff.cai@sun.com>
-
- ** Fixes for 333235
-
- * e-combo-button.c (paint): If width of a widget is 0, don't draw
- it.
-
-2006-02-28 Devashish Sharma <sdevashish@novell.com>
-
- * e-reflow.c (do_adjustment): Check and see if reflow->items and
- reflow->items[row] are NULL or not. Fixes Bug # 331998.
-
- Patch submitted by Irene Huang <Irene.Huang@sun.com>
-
-2006-02-24 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fixes bug #322789
-
- * e-image-chooser.c (set_image_from_data): Added code to get the
- pixbuf after closing the loaded.
-
-2006-02-13 Andre Klapper <a9016009@gmx.de>
-
- * e-charset-picker.c: adding thai support.
- fixes the UI part of bug 251062.
-
-2006-02-11 Karsten Bräckelmann <guenther@rudersport.de>
-
- * e-search-bar.c (activate_by_subitems):
- * e-dateedit.c (e_date_edit_new, create_children)
- (create_children, create_children):
- * e-calendar.c (e_calendar_init):
- Change a11y names. Fixes part of bug #330723.
-
-2006-01-16 Nancy Cai <nancy.cai@sun.com>
-
- ** Fixes bug #326649
-
- * e-multi-config-dialog.c (set_page_timeout_callback): make the
- preferences dialog's keyboard navigation more consistent.
-
-2006-01-13 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fixes bug #326265
-
- * e-charset-picker.c (e_charset_picker_bonobo_ui_populate): Added
- mnemonics to "Character Encoding" menu.
-
-2006-01-11 Chenthill Palanisamy <pchenthill@novell.com>
-
- * Makefile.am: Remove the e-util-marshal.list from extra dist.
- Fixes a build break.
-
-2006-01-10 Simon Zheng <simon.zheng@sun.com>
-
- * Makefile.am:
- * e-dateedit.c:
- * e-image-chooser.c:
- * e-printable.c:
- * e-reflow-model.c:
- * e-reflow.c:
- * e-search-bar.c:
- * e-selection-model.c:
- * gal-combo-box.c:
- Remove e-util-marshal.list in current directory, and
- use the copy in evolution/e-util directory instead.
-
- *e-util-marshal.list: removed
-
-2006-01-06 Parthasarathi Susarla <sparthasarathi@novell.com>
-
- * e-search-bar.c (clear_verb_cb): assign the data first before
- accessing it.
-
-2006-01-02 Harish Krishnaswamy <kharish@novell.com>
-
- reviewed by: Srinivasa Ragavan <sragavan@novell.com>
-
- * e-canvas-background.c (ecb_style_set): Set the foreground only
- if the widget has already been realized. Fixes #309618.
-
-2005-12-21 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fixes bug #324590
-
- * e-search-bar.c (search_now_verb_cb, clear_verb_cb): Added code
- to clear search entry from menu.
-
-2005-12-20 Johnny Jacob <johnnyjacob@gmail.com>
-
- ** See Bug #246233
-
- * e-filter-bar.c (member_activated): Changed "Search Editor" to
- "Searches"
-
-2005-12-18 Tor Lillqvist <tml@novell.com>
-
- * Makefile.am: Link with bootstrap libs on Win32. Use
- EVOLUTION_IMAGES instead of MAP_DIR for uniformity. Use
- EVOLUTION_MAIL_CFLAGS instead of E_WIDGETS_CFLAGS. Use privsolib
- instead of privlib (no difference on Unix). Use -no-undefined on
- Win32. Link with all required libraries.
-
- * e-attachment.c
- * e-send-options.c: Use gstdio wrappers. Construct glade file name
- at run-time.
-
- * e-map.c: Construct map file name at run-time.
-
- * gal-combo-text.c (strcase_equal): Use g_ascii_strcasecmp().
- (strcase_hash): Use g_ascii_tolower().
-
-2005-12-15 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-filter-bar.c (rule_advanced_response, option_changed)
- (set_property): Added code to Show color in search widget. *
-
- * e-search-bar.c (entry_activated_cb),
- (activate_button_clicked_cb, clear_button_clicked_cb): Added code
- to show color in search widget, when the filter is active.
-
-2005-11-24 Tor Lillqvist <tml@novell.com>
-
- * e-dateedit.c:
- * e-cell-date-edit.c: Include e-time-utils.h from libedataserver
- instead of using evolution's copy which is going away.
-
-2005-11-23 Johnny Jacob <johnnyjacob@gmail.com>
-
- * e-dateedit.c (on_date_entry_focus_out, on_time_entry_focus_out):
- Validation for date and time during focus out event.
-
-2005-11-22 Johnny Jacob <johnnyjacob@gmail.com>
-
- ** See Bug #303856
-
- * e-dateedit.c (create_children): Added a signal handler for
- date_entry's "key_release_event".
-
-2005-11-17 Harish Krishnaswamy <kharish@novell.com>
-
- * e-attachment-bar.c (update, e_attachment_bar_set_width): Fix a
- division-by-zero error crasher.
-
-2005-11-15 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-attachment-bar.c (e_attachment_bar_get_all_attachments): Added
- a function to get all attachments of the attachment bar for plugin
- purposes.
-
-2005-11-14 Chenthill Palanisamy <pchenthill@novell.com>
-
- * e-dateedit.c (create_children): Adjusted the size for the
- dateedit widgets.
-
-2005-11-14 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-dateedit.c (create_children): Set a size for the date
- edit widgets, so that it doesnt expand too much.
-
-2005-09-28 Veerapuram Varadhan <vvaradhan@novell.com>
-
- * e-attachment-bar.c (update): gtk_pixbuf_add_alpha returns a
- newly allocated pixbuf, so, free the original one.
-
-2005-09-28 Tor Lillqvist <tml@novell.com>
-
- * e-charset-picker.c (e_charset_picker_new)
- (e_charset_picker_bonobo_ui_populate): Use g_ascii_strcasecmp()
- instead of strcasecmp(). We are comparing to strings known to be
- plain ASCII, so just casefolding ASCII is enough. Also better for
- portability.
-
-2005-09-20 Devashish Sharma <sdevashish@novell.com>
-
- * e-search-bar.c (subitem_activated_cb): Emits the signal "search
- activated" when after selecting option "Category is" in search bar
- category is selected. So dont have to explicitly click "Find Now".
- Fixes #263269.
-
-2005-08-22 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-attachment.c (e_attachment_build_remote_file):
- Fix for bug #314136. Shows filename in the remote download in
- composer.
-
-2005-08-22 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-attachment-bar.c (update): Better space management.
- Kills one extra row that happens some times.
- (e_attachment_bar_set_width): Just adjusts the size instead of
- rebuild of the bar, which is the cause for the freeze. Fixes the
- bug #313799. Remove the function e_attachment_bar_refresh
-
- * e-attachment-bar.h: Remove the function e_attachment_bar_refresh
-
-2005-08-23 Not Zed <NotZed@Ximian.com>
-
- * e-send-options.c (get_widgets): cast warning away.
-
- * e-calendar-item.c (e_calendar_item_realize): remove some unused
- vars.
-
-2005-08-17 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-attachment-bar.c (eab_drag_data_get): Use camel_url to
- construct url
- (eab_icon_clicked_cb, e_attachment_bar_new): Fixed part of bug
- #312224. It handles double click on a attachment icon and calls
- gnome_url_show.
-
- * e-attachment.c (finalise, init): Add a new member to preserve
- the stored location
- (e_attachment_new)(e_attachment_build_remote_file): Camel_url to
- construct urls
-
-2005-08-16 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-attachment.c (download_to_local_path, e_attachment_edit):
- Fixed few warnings
-
-2005-08-16 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-attachment.c (finalise, e_attachment_new)
- (e_attachment_build_remote_file, e_attachment_new_from_mime_part)
- (ok_cb): Maintain the filename of the attachment in the structure
- and free it in finalize.
-
- * e-attachment-bar.c (update): For display consider the filename
- from the structure before from the part.
-
-2005-08-03 Not Zed <NotZed@Ximian.com>
-
- * e-filter-bar.c (build_items): revert dobey's last patch here, it
- completely broke customisation of the menu.
-
-2005-08-11 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-attachment-bar.c (e_attachment_bar_refresh): Added a function
- to force refresh/resize the icons.
-
-2005-08-02 David Malcolm <dmalcolm@redhat.com>
-
- * e-attachment-bar.c (update_remote_file): escape the "%"
- character correctly.
-
-2005-07-29 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-attachment.c (e_attachment_new_from_mime_part): used ref
- instead of copying the entire mime part.
-
-2005-07-15 Diego Gonzalez <diego@pemas.net>
-
- * e-image-chooser.c (image_drag_data_received_cb): modificatio to
- avoid getting into an infinite loop. Also remove some debug
- output.
- (set_image_from_data): substitute calls to gdk_pixbuf_unref and
- gdk_pixbuf_ref and use g_object_ref/unref instead. The first ones
- are deprecated API. Fixes #310488
-
-2005-07-25 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-attachment-bar.c (e_attachment_bar_remove_selected)
- (e_attachment_bar_edit_selected)
- (e_attachment_bar_get_attachment, e_attachment_bar_get_parts)
- (e_attachment_bar_get_download_count)
- (e_attachment_bar_attach_remote_file): Added checks for the
- parameters.
-
-2005-07-20 Vivek Jain <jvivek@novell.com>
-
- * e-send-options.h: ESendOptionsDialogClass: has a member new
- virtual method for default callback of "sod_response"
-
- * e-send-options.c: introduced a new signal "sod_response"
- captures the response for the child dialog and makes it available
- at the object level (useful for the external members invoking the
- dialog)
-
-2005-07-20 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-attachment-bar.c (remove_attachment, update)
- (e_attachment_bar_get_selector, e_attachment_bar_get_attachment)
- (destroy, init, e_attachment_bar_new)
- (e_attachment_bar_add_attachment)
- (e_attachment_bar_attach_remote_file): Cleaned up most of
- it. Added the DnD.
-
- * e-attachment.c (real_changed, class_init, init)
- (e_attachment_new, e_attachment_new_remote_file)
- (e_attachment_build_remote_file): Moved the remote download code
- from bar to here and few cleanups.
-
-2005-07-11 Srinivasa Ragavan <sragavan@novell.com>
-
- * Makefile.am: Added e-attachment-bar.[ch], e-attachment.[ch],
- and e-attachment.glade.
-
- * e-attachment.[ch]: Merge of em-attachment.[ch] and
- cal-attachment.[ch]
-
- * e-attachment-bar.[ch]: Merge of em-attachment-bar.[ch] and
- cal-attachment-bar.[ch].
-
-2005-06-23 Kaushal Kumar <kakumar@novell.com>
-
- * Makefile.am: Use 'misc' for widgetsincludedir, instead of
- 'widgets', to match source directory name and fix
- evolution-exchange build.
-
-2005-05-31 Li Yuan <li.yuan@sun.com>
-
- * e-dateedit.c (e_date_edit_update_date_entry): add relation to
- date_button.
-
- Fixes #302267
-
-2005-05-16 Not Zed <NotZed@Ximian.com>
-
- * Makefile.am: move e-error.[ch] and e-system-errors.xml to
- e-util/. remove test-error.
-
-2005-05-13 Rodney Dawes <dobey@novell.com>
-
- * e-filter-bar.[ch]: Update for the new menu layout
-
-2005-05-12 Shreyas Srinivasan <sshreyas@novell.com>
-
- * e-send-options.c: Fixed #272005
-
-2005-05-06 Sarfraaz Ahmed <asarfraaz@novell.com>
-
- * e-send-options.glade: Fixed a typo. #273095
-
-2005-05-06 Harish Krishnaswamy <kharish@novell.com>
-
- * e-send-options.glade: Fix for bugs #273096, #273097
-
-2005-03-01 Jeffrey Stedfast <fejj@novell.com>
-
- * e-search-bar.c (subitem_activated_cb): Make the entry widget
- grab focus. Fixes bug #60551.
-
-2005-02-21 Rodney Dawes <dobey@novell.com>
-
- * e-combo-button.c (paint): Fix the calculation of which shadow type
- to use to be more appropriate for the widget state and relief
- Always call gtk_box_paint and not only in special cases like GtkButton
- (e_combo_button_init): Change the arrow packing to pack_end
-
- Fixes #54503
-
-2005-02-02 Li Yuan <li.yuan@sun.com>
-
- * e-url-entry.c (init): add a11y name to url link button.
-
-2005-01-26 Rodney Dawes <dobey@novell.com>
-
- * e-error.c (e_error_newv): Fix up spacing to be HIG compliant for
- the borders around the dialogs
-
-2005-01-25 Not Zed <NotZed@Ximian.com>
-
- * e-error.c: turn off debug output, people think its a significant
- error.
-
-2005-01-24 Mengjie Yu <meng-jie.yu@sun.com>
-
- * e-search-bar.c (set_option): add a11y name for the option menu.
-
-2005-01-20 Not Zed <NotZed@Ximian.com>
-
- ** See bug #64964.
-
- * e-error.c (e_error_newv): just use add_button, not
- add_action_widget, for stock+label widgets, since they both show
- the same, and for some reason set_default_response doesn't work
- otherwise.
-
-2005-01-20 Harry Lu <harry.lu@sun.com>
-
- * e-search-bar.c (activate_by_subitems): add a translater note.
-
-2005-01-19 Harry Lu <harry.lu@sun.com>
-
- Fix for 46359, enable "Alt+Down Arrow" to show the popup for
- e-combo-cell-editable.c.
-
- * e-combo-cell-editable.c (show_popup): rewrite it to a more
- generic function.
- (button_clicked_cb): call the new show_popup function.
- (entry_key_press_event_cb): show popup if "Alt+Down Arrow".
- (ecce_grab_focus): new function.
- (ecce_class_init): add grab_focus handler so that the entry can
- get focus.
-
-2005-01-17 Harry Lu <harry.lu@sun.com>
-
- Fix for 62831.
-
- * e-search-bar.c (activate_by_subitems): add an a11y name for the
- search entry.
-
-2005-01-12 Chenthill Palanisamy <pchenthill@novell.com>
-
- * e-send-options.c (e_send_options_get_widgets_data),
- (e_send_options_fill_widgets_with_data): Get the value for the
- autodelete toggle button
- (page_changed_cb): Do not hide the classification label and its
- combo box here.
-
-2005-01-10 Chenthill Palanisamy <pchenthill@novell.com>
-
- * e-send-options.c (e_send_options_get_widgets_data),
- (e_send_options_fill_widgets_with_data, page_changed_cb),
- (init_widgets, get_widgets, setup_widgets),
- (e_sendoptions_set_global, e_sendoptions_dialog_run),
- (e_sendoptions_dialog_finalize, e_sendoptions_dialog_dispose),
- (e_sendoptions_dialog_init, e_sendoptions_dialog_class_init),
- (e_sendoptions_dialog_get_type): Added code to support global
- options. Filled the finalize and dispose functions.
-
- * e-send-options.glade: Changed a label id.
-
- * e-send-options.h: Added the set_global function.
-
-2005-01-06 JP Rosevear <jpr@novell.com>
-
- * Makefile.am: dist the glade file
-
-2005-01-06 Chenthill Palanisamy <pchenthill@novell.com>
-
- Commiting the files mentioned below again to HEAD since it
- was not added in head.
-
-2005-01-06 Chenthill Palanisamy <pchenthill@novell.com>
-
- merging send options
-
- * Makefile.am:
-
- * e-send-options.[ch]: Widgets for the send options dialog
-
- * e-send-options.glade: Contains interface for the dialog
-
-2005-01-04 Harry Lu <harry.lu@sun.com>
-
- * misc/e-combo-button.c (e_combo_button_popup): new internal
- function to popup the menu.
- (impl_button_press_event): call the new function.
- (e_combo_button_class_init): init a11y.
- (e_combo_button_get_label): new function to return label.
- (e_combo_button_popup_menu): new function to popup menu.
-
- * misc/e-combo-button.h: add function declarations.
-
-2004-12-17 Not Zed <NotZed@Ximian.com>
-
- * e-error.c (ee_load, e_error_newv): translate strings based on
- translation-domain, if supplied.
-
-2004-12-14 Rodney Dawes <dobey@novell.com>
-
- * e-calendar-item.c (e_calendar_item_draw): Use gtk_paint_foo instead
- of the deprecated gtk_draw_foo functions
- (e_calendar_item_get_day_style): Use colors from the theme for the
- background and foreground of various items
-
- * test-calendar.c (main): Don't set a callback for getting the day
- style, we want the test app to use the widget defaults
- (get_day_style): Remove all this duplicated code as we want to use
- the widget default colors for day fg/bg
-
-2004-11-26 JP Rosevear <jpr@novell.com>
-
- * test-info-label.c: test prog
-
- * e-url-entry.c: get image directly from icon factory
-
- * e-combo-button.c: ditto; convert to G_DEFINE_TYPE
-
- * e-activity-handler.c: convert to G_DEFINE_TYPE
-
- * e-task-widget.c: ditto
-
- * e-task-bar.c: ditto
-
- * e-multi-config-dialog.c: ditto
-
- * e-dropdown-button.c: ditto
-
- * e-cell-renderer-combo.c: ditto
-
- * e-cell-date-edit.c: ditto
-
- * e-calendar.c: ditto
-
- * e-calendar-item.c: ditto
-
- * Makefile.am: don't build the title bar, build an info label test
- program
-
-2004-10-28 Li Yuan <li.yuan@sun.com>
-
- * e-calendar.c (e_calendar_init, e_calendar_new): Make
- accessibility name and description translatable. Add a atk name
- for the two buttons so that they can be UI grabbed by GOK.
-
- * e-dateedit.c (e_date_edit_new, create_children): Add a name for
- atk object. Make accessibility name and description translatable.
- Add name and description for the date_entry, date_button and
- time_combo.
- (e_date_edit_show_date_popup), (hide_date_popup): Grab and ungrab
- keyboard. add_relation(): New function to add labelled_by
- relation for entry and combobox.
-
- * e-map.c (e_map_new): Add a name for world map widget. Make
- accessibility name and description translatable. Set the atk role
- to image.
-
- * e-multi-config-dialog.c (e_multi_config_dialog_add_page): Add an
- atk name for the page.
-
-2004-10-27 JP Rosevear <jpr@novell.com>
-
- * Makefile.am: use E_WIDGET instead of GNOME_FULL
-
-2004-10-14 JP Rosevear <jpr@novell.com>
-
- * e-pilot-settings.c: fix e-source-option-menu include
-
-2004-10-13 JP Rosevear <jpr@novell.com>
-
- * Makefile.am: don't build source selector or source option menu
- or test programs any more
-
-2004-10-08 Harry Lu <harry.lu@sun.com>
-
- * e-source-selector.c (e_source_selector_popup_menu),
- (class_init): implement popup_menu so that popup menu can be shown
- with Shift+F10.
-
-2004-10-06 JP Rosevear <jpr@novell.com>
-
- Fixes #66164
-
- * e-cell-date-edit.c (e_cell_date_edit_get_popup_pos): replicate
- fix to e-cell-combo.c by NotZed
-
-2004-10-01 Not Zed <NotZed@Ximian.com>
-
- * e-util-marshal.list: added boolean object boxed.
-
- * e-source-selector.c (class_init): add new 'popup event' signal,
- to replace fill_popup_menu.
- (selector_button_press_event): emit a POPUP_EVENT rather than a
- FILL_POPUP_MENU.
-
-2004-09-13 Rodney Dawes <dobey@novell.com>
-
- * e-multi-config-dialog.c (impl_response):
- Point at "config-prefs" instead of "config" for the help section
-
-2004-08-03 JP Rosevear <jpr@novell.com>
-
- * Makefile.am: Really dist the pilot sources this time
-
-2004-08-03 JP Rosevear <jpr@novell.com>
-
- * Makefile.am: Dist the pilot sources
-
-2004-08-01 JP Rosevear <jpr@novell.com>
-
- * e-pilot-settings.c (e_pilot_settings_get_source): accessor
- (e_pilot_settings_set_source): ditto
- (build_ui): show the source option menu
- (e_pilot_settings_new): use above
-
- * e-pilot-settings.h: add prototypes
-
-2004-07-20 JP Rosevear <jpr@novell.com>
-
- * Makefile.am: build pilot setting
-
-2004-07-26 JP Rosevear <jpr@novell.com>
-
- * e-search-bar.c (setup_bonobo_menus): use ctrl-shift-q to clear
- search bar
-
-2004-07-20 Not Zed <NotZed@Ximian.com>
-
- * e-error.c: include config.h. See #61395.
-
-2004-07-20 JP Rosevear <jpr@novell.com>
-
- * e-source-selector.h: remove proto
-
- * e-source-selector.c (selection_func): don't force the item to be
- checked
- (cell_toggled_callback): allow the cell to be untoggled even if
- its primary
- (init): set the pixbuf renderable
- (e_source_selector_set_toggle_selection): no longer necessary
-
-2004-07-16 Chris Toshok <toshok@ximian.com>
-
- * e-clipped-label.c (e_clipped_label_recalc_chars_displayed):
- remove debug spew and fix the display when
- pango_layout_line_x_to_index returns FALSE (before we were drawing
- both the ellipses and the text).
-
-2004-07-12 Jeffrey Stedfast <fejj@novell.com>
-
- * e-charset-picker.c: s/GB-2312/GB2312/ - fixes bug #61385.
-
-2004-06-24 Rodney Dawes <dobey@novell.com>
-
- * e-error.c (e_error_newv): Fix alignment of the icon to be 0x0
-
- Fixes #60493
-
-2004-06-24 Rodney Dawes <dobey@novell.com>
-
- * e-source-selector.[ch]: Add new "select_new" property to
- private structure of the ESourceSelector
- (rebuild_cb): Add code to select the new source, and cause the
- selection_changed signal to get emitted, if we select new sources
- (init): Don't select new sources by default
- (e_source_selector_set_select_new): Add function to set whether or not
- we want to select new sources when we add them
-
-2004-06-22 Hans Petter Jansson <hpj@ximian.com>
-
- * e-source-selector.c (e_source_selector_peek_primary_selection):
- Add preconditions. Make sure garbage or NULL data doesn't get
- used.
-
-2004-06-16 Not Zed <NotZed@Ximian.com>
-
- * e-source-selector.c (cell_toggled_callback): fix a path leak and
- maek the code more structured.
- (e_source_selector_set_toggle_selection): set the mode on whether
- you can toggle the currnet selection or not.
- (cell_toggled_callback): implement set_toggle_selection behaviour.
-
-2004-06-11 Larry Ewing <lewing@ximian.com>
-
- * e-source-selector.c: make the source selector use a colock block
- instead of setting the foreground to indicate the source color.
- (pixbuf_cell_data_func): actually initialize the pixbuf (bad
- larry).
- (pixbuf_cell_data_func): clean up warnings. (double bad larry).
- (pixbuf_cell_data_func): fix the appearance a little.
-
-2004-06-03 William Jon McCann <mccann@jhu.edu>
-
- * e-error.c (e_error_newv): Add HIG border width for dialog window.
-
-2004-06-01 Christian Neumair <chris@gnome-de.org>
-
- * Makefile.am (test_error_LDADD): Link test-error against libeutil.
-
-2004-06-01 Anders Carlsson <andersca@gnome.org>
-
- * e-expander.c (e_expander_expose): Don't propagate the expose
- to the label widget, the parent expose handler does that.
-
-2004-05-28 Anders Carlsson <andersca@gnome.org>
-
- * e-error.c (e_error_newv): Use the constructed title string.
-
-2004-05-27 Rodney Dawes <dobey@novell.com>
-
- * Makefile.am (EXTRA_DIST): Add $(error_i18n)
-
-2004-05-21 Not Zed <NotZed@Ximian.com>
-
- * e-error.c (e_error_default_parent): set a default error parent
- fallback.
- (e_error_newv): if parent is null, see if we have a default still
- alive, and use that. warn if not.
- (e_error_default_parent): uh, fix the sense of the
- if-we-dont-have-it test.
-
-2004-05-20 JP Rosevear <jpr@novell.com>
-
- * e-task-widget.c (e_task_widget_construct): only unref the mask
- if there is one
-
-2004-05-19 JP Rosevear <jpr@novell.com>
-
- * Makefile.am: don't dist the error .h file
-
-2004-05-18 Not Zed <NotZed@Ximian.com>
-
- * e-error.c (ee_load): load the <help> tag if present.
- (ee_response): handle the help response and swallow the signal.
- (e_error_newv): setup help button if we have a help uri.
-
-2004-05-17 Jeffrey Stedfast <fejj@novell.com>
-
- * e-url-entry.c (init): Use E_ICON_SIZE_BUTTON for the icon size
- in the e_icon_factory_get_icon() call.
-
- * e-combo-button.c (create_empty_image_widget): Don't hard-code
- the size of the icon in pixels, instead use the appropriate
- E_ICON_SIZE_ enum.
-
-2004-05-17 JP Rosevear <jpr@novell.com>
-
- Fixes #58460
-
- * e-task-widget.c (e_task_widget_construct): bitmap_unref the
- mask, don't object_unref it
-
-2004-05-12 Not Zed <NotZed@Ximian.com>
-
- * e-error.c (ee_load): duh, use the right node pointer for title
- and secondary text.
-
- * e-system-errors.xml: make the Because cases the same.
-
- * e-system-errors.xml.h: add for translators.
-
- * e-error.c (ee_load): just use _() to do i18n rather than the
- nasty lang stuff.
- (find_node): no longer needed.
-
- * Makefile.am (%.xml.h): setup the build rules for the i18n file
- for the errors.
-
- * e-system-errors.xml.in: Removed, renamed to .xml and removed the
- _ stuff.
-
-2004-05-04 Xan Lopez <xan@gnome.org>
-
- * Makefile.am:
-
- Build fixes.
-
-2004-05-03 Not Zed <NotZed@Ximian.com>
-
- * e-error.c (ee_build_label): blah, need to do entity decoding.
- #57918.
-
-2004-04-29 JP Rosevear <jpr@ximian.com>
-
- * e-activity-handler.c (impl_dispose): pass the correct data when
- weak unreffing
-
-2004-04-29 Not Zed <NotZed@Ximian.com>
-
- * e-error.c (e_error_newv): make the label selectable.
- (e_error_newv): if we have stock and label set, then use a stock
- button with an override label.
-
-2004-04-28 Not Zed <NotZed@Ximian.com>
-
- * e-system-errors.xml.in: holder for system errors.
-
- * test-error.c: helper to show an error message/test it.
-
- * e-error.[ch]: Api for disk-based, hig-compliant error messages
- and query boxes.
-
-2004-04-19 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-info-label.c (e_info_label_new): Updated to sue E_ICON_SIZE enums.
-
-2004-04-19 Rodney Dawes <dobey@ximian.com>
-
- * e-info-label.c (e_info_label_new): Update to use EIconFactory to
- get the filename for the component icons using the icon theme
-
-2004-04-19 Michael Terry <mike@mterry.name>
-
- * e-combo-buddon.c:
- * e-url-entry.c: Update these to use EIconFactory and GtkImages
- directly instead of GdkPixmaps
-
-2004-04-09 Rodney Dawes <dobey@ximian.com>
-
- * e-charset-picker.c: Include gtkhbox.h in here to avoid the warnings
- (activate_other):
- (e_charset_picker_dialog): Make these dialogs be more HIG-compliant
- * e-filter-bar.c (do_advanced):
- (menubar_activated): Make these dialogs be more HIG-compliant
-
-2004-04-08 Not Zed <NotZed@Ximian.com>
-
- * e-info-label.c (e_info_label_set_info): ugh, fix some last
- minute changes which broke shit.
-
- * e-info-label.[ch]: A widget to show component info for the
- current component/view.
-
-2004-04-07 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-multi-config-dialog.c: Updated for changes to e-config-page.c
- (init): Removed the OK and Apply buttons.
-
- * e-config-page.c (e_config_page_apply): Removed.
- (e_config_page_is_applied): Removed.
- (e_config_page_changed): Removed.
-
-2004-04-01 Dan Winship <danw@ximian.com>
-
- * e-url-entry.c (init): Make the button initially insensitive.
- Connect to the entry's "changed" signal.
- (entry_changed_cb): sensitize the button iff the entry is
- non-empty
- (button_clicked_cb): simplify a bit by using gtk_entry_get_text
- rather than gtk_editable_get_chars.
-
-2004-04-01 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-charset-picker.c (e_charset_picker_new): Create a new class
- for "Western European, New" to fix a translation issue.
-
-2004-03-31 Not Zed <NotZed@Ximian.com>
-
- * e-filter-bar.c (menubar_activated): start the rule editor with
- the right label.
-
-2004-03-26 Rodney Dawes <dobey@ximian.com>
-
- * e-multi-config-dialog.c (init): Remove the dialog separator
- Set the border widths of the dialog's vbox and action area to be more
- HIG-compliant
- Set the border width of the dialog's child to 12 for HIG-compliance
-
-2004-03-15 JP Rosevear <jpr@ximian.com>
-
- * e-calendar-item.c (e_calendar_item_class_init): change arg name
- (e_calendar_item_init): ditto
- (e_calendar_item_get_arg): ditto
- (e_calendar_item_set_arg): ditto
- (e_calendar_item_preserve_day_selection): set the selection day to
- the given selection
- (e_calendar_item_set_first_month): use above to preserve selected
- day of week
-
- * e-calendar-item.h: change field name
-
-2004-03-13 Trent Lloyd <lathiat@sixlabs.org>
-
- * e-search-bar.c (remove_bonobo_menus): move function above
- setup_bonobo_menus, fixes implicit declaration.
-
-2004-03-12 Kidd Wang <kidd.wang@sun.com>
-
- * e-dateedit.c (create_children): enlarge the text box to
- accomodate the time info in different locales.
-
-2004-03-11 Jeffrey Stedfast <fejj@ximian.com>
-
- Fix for bug #55267.
-
- * e-filter-bar.c (set_property): Use efb->setquery properly (set
- to TRUE before calling set_item_id and FALSE afterwards). Also
- setquery to TRUE before emitting the "search-activated" signal so
- that we don't run the callback for the signal we are emitting.
-
-2004-03-02 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-filter-bar.c (set_property): Emit the "search-activated"
- signal. Fixes bug #55054.
-
-2004-02-26 Rodney Dawes <dobey@ximian.com>
-
- * e-cell-renderer-combo.c (ecrc_get_size):
- * e-dateedit.c (create_children):
- * e-dropdown-button.c (e_dropdown_button_construct): Create the
- arrows in these widgets as GTK_SHADOW_NONE, since the default arrow
- type in GTK+ 2.x is flat triangle arrows, and shadow types are
- generally ignored for arrows anyway, and so we don't look ugly with
- themes that handle shadow types on arrows correctly
-
-2004-02-26 Bill Zhu <bill.zhu@sun.com>
-
- * e-search-bar.c (setup_bonobo_menus): Before Update the bonobo ui
- component, remove it first.
-
- Fixes #54788
-
-2004-02-11 Rodney Dawes <dobey@ximian.com>
-
- * e-multi-config-dialog.c (impl_response): Change the filename and
- section that we pass to gnome_help_display_desktop so that the help
- browser displays the documentation correctly
-
-2004-02-10 Rodney Dawes <dobey@ximian.com>
-
- * e-multi-config-dialog.c (init): Add a Help button
- (impl_response): Handle the Help button and open the documentation
-
- Fixes #30681
-
-2004-02-05 Rodney Dawes <dobey@ximian.com>
-
- * e-task-bar.c: Don't show the task label by default
-
-2004-02-03 Dan Winship <danw@ximian.com>
-
- * e-activity-handler.c:
- * e-activity-handler.h:
- * e-task-bar.c:
- * e-task-bar.h:
- * e-task-widget.c:
- * e-task-widget.h: Moved here from shell/, since they are now used
- only by the components, not the shell itself.
-
- * Makefile.am (widgetsinclude_HEADERS,
- libemiscwidgets_la_SOURCES): add new files
-
-2004-02-02 Chris Toshok <toshok@ximian.com>
-
- * e-image-chooser.c (set_image_from_data): set
- image_buf/image_buf_size here instead of in all callers. also
- emit the "changed" signal here.
- (image_drag_data_received_cb): remove the copying to image_buf and
- emitting of "changed" from here.
- (e_image_chooser_set_from_file): only g_free (data) here if
- set_image_from_data failed.
- (e_image_chooser_set_image_data): copy the image data we're passed
- before calling set_image_data. free it if rv == FALSE.
-
-2004-01-30 Chris Toshok <toshok@ximian.com>
-
- * e-image-chooser.c (e_image_chooser_init): add an alignment
- around the image. This might not be enough. hrm.
- (set_image_from_data): handle the case where there's no image
- (image_height == image_width == 0).
- (e_image_chooser_get_image_data): new function.
- (e_image_chooser_set_image_data): new function.
-
- * e-image-chooser.h: add prototypes for set/get_image_data.
-
-2004-01-30 Chris Toshok <toshok@ximian.com>
-
- * e-image-chooser.[ch]: abstract out the drag and droppable image
- widget from the contact list editor and stick it here. There's
- some code for a "Browse..." button here but it's not enabled.
-
- * Makefile.am (widgetsinclude_HEADERS): add e-image-chooser.h.
- (libemiscwidgets_la_SOURCES): add e-image-chooser.c
-
-2004-01-30 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-filter-bar.c (get_property): Only save the search-bar state OR
- the filter-bar state - decided based on what the search is. If the
- search is an advanced search, then save the filter-bar state,
- otherwise save the search-bar state.
- (set_property): Only need to restore the first state we find
- (filter-bar vs search-bar). If we are restoring filter-bar state,
- set efb->setquery to TRUE and then set the item_id to
- E_FILTERBAR_ADVANCED_ID.
-
-2004-01-29 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-filter-bar.c (option_changed): Don't call efb->config() if the
- current_query is NULL.
-
-2004-01-28 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-search-bar.c (impl_get_property): Same.
-
- * e-filter-bar.c (get_property): Use
- g_value_set_string_take_ownership() instead of
- g_value_take_string() since we need snaps to work with glib-2.0
- earlier than 2.3.x.
-
-2004-01-28 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-filter-bar.c: Added a new property "state" which is READ-WRITE
- so that we can save/restore state in the mailer code if we want
- to. Sort of a work-in-progress toward fixing bug #53195.
- (class_init): Ported to use the GObject property stuff instead of
- the deprecated GtkArg stuff.
- (get_property): Ported from impl_get_arg().
- (set_property): New object::set_property implementation to set the
- query state.
-
-2004-01-24 JP Rosevear <jpr@ximian.com>
-
- * e-source-selector.c (cell_toggled_callback): if the source is
- primary, don't allow it to be un-selected
-
-2004-01-20 Rodney Dawes <dobey@ximian.com>
-
- * e-combo-button.c (paint): Be even more exactly like the GtkButton
- painting stuff
-
- Fixes #52988
-
-2004-01-20 JP Rosevear <jpr@ximian.com>
-
- * e-source-selector.c (rebuild_model): set a primary selection if
- there is one before the rebuild
- (e_source_selector_set_primary_selection): block the signals when
- clearing the tree selection to make the op atomic; emit the
- selection_changed signal if a hidden selection is not currently
- selectecd
-
-2004-01-20 JP Rosevear <jpr@ximian.com>
-
- * e-source-selector.c (find_source_iter): provide parent iter
- in/out arg
- (test_collapse_row_callback): use priv shortcut
- (e_source_selector_select_source): pass parent iter
- (e_source_selector_unselect_source): ditto
- (e_source_selector_peek_primary_selection): return the right thing
- if the primary selection is currently hidden
- (e_source_selector_set_primary_selection): set the primary
- selection properly if the source node is currently hidden
-
-2004-01-20 JP Rosevear <jpr@ximian.com>
-
- * e-source-selector.c (clear_saved_primary_selection): util
- routine to clear the row reference to the saved primary selection
- (find_source_iter): unref the model data retrieved
- (rebuild_existing_cb): ditto
- (toggle_cell_data_func): ditto
- (text_cell_data_func): ditto
- (selection_func): ditto; clear the saved primary selection if
- something else is selected
- (cell_toggled_callback): ditto
- (test_collapse_row_callback): clear the toggled_last flag
- (row_expanded_callback): once we've restored the saved primary
- selection, clear it
- (selector_button_press_event): unref the model data
- (impl_dispose): use clear_saved_primary_selection
- (init): the store column holds object not pointer type
- (e_source_selector_peek_primary_selection): unref the model data
-
-2004-01-20 JP Rosevear <jpr@ximian.com>
-
- * e-source-selector.c (test_collapse_row_callback): check if the
- collapsing node has its child selected, if so take a row reference
- to remember the selection
- (row_expanded_callback): check if the expanding node has the saved
- primary selection under it and re-select if so
- (init): listen for signals
- (impl_dispose): free the primary selection
-
-2004-01-19 JP Rosevear <jpr@ximian.com>
-
- * e-source-selector.c (create_rebuild_data): create the data
- structure for rebuilding the model
- (free_rebuild_data): free it
- (rebuild_existing_cb): check for the sources that are still
- existing or deleted
- (rebuild_model): do incremental updates
- (selection_func): if the last thing we did was toggle, we don't
- actually want to highlight and if the source is not checked, check
- it
- (cell_toggled_callback): indicate that a toggle just occurred
- (init): initial toggled last to false
- (e_source_selector_set_primary_selection): set some preconditions
-
- Fixes #51787
-
-2004-01-19 JP Rosevear <jpr@ximian.com>
-
- * e-source-selector.c (cell_toggled_callback): indicate that a toggle just occurred
-
-2004-01-19 JP Rosevear <jpr@ximian.com>
-
- * e-source-selector.c
-
- (selector_button_press_event): when right clicking, make sure the
- calendar is highlighted and that groups can't be right clicked on
-
-2004-01-14 Rodney Dawes <dobey@ximian.com>
-
- * e-expander.[ch]: Fix remaining usages of GTK_*EXPANDER* defines
-
-2003-12-22 Rodney Dawes <dobey@ximian.com>
-
- Fix for bug #46349
-
- * e-combo-button.c: Use the appropriate style painting for a
- button widget, since we are a button
-
-2003-12-18 Harry Lu <harry.lu@sun.com>
-
- * e-cell-date-edit.c: (e_cell_date_edit_do_popup): call
- gdk_window_focus() so that keyboard works correctly.
-
-2003-12-16 Hans Petter Jansson <hpj@ximian.com>
-
- * e-source-option-menu.c (select_source_foreach_menu_item): Use
- e_source_equal() instead of comparing pointers. This allows user
- to pass in a source that was obtained from somewhere else. Set the
- matching internal source as "selected" instead of the one passed
- in.
- (select_source): Emit signal only if we found a match. Don't
- ref/unref anything, since the selected source will always be from
- our internal list.
-
-2003-12-04 Harry Lu <harry.lu@sun.com>
-
- Fix for bugzilla bug #51624 and #51627.
-
- * e-calendar-item.c: (e_calendar_item_selection_add_days):
- set the date to the first day of the month so that user can use
- keyboard's arrow key to select a date.
- (e_calendar_item_set_selection_if_emission): only set selection_changed
- if emission is TRUE.
- * e-calendar.c: (e_calendar_init): add back the "clicked" handler so
- that user can use keyboard to click the button.
- (e_calendar_start_auto_move): no need to move since it is already
- handled by the clicked handler
- (e_calendar_on_prev_clicked), (e_calendar_on_next_clicked): move the
- month here.
- * e-dateedit.c: (e_date_edit_show_date_popup): use gdk_window_focus
- instead of gdk_keyboard_grab so that the focus won't lost if user click
- the button with keyboard.
- (hide_date_popup): no need to call gdk_keyboard_ungrab.
-
-2003-12-02 Ettore Perazzoli <ettore@ximian.com>
-
- * e-source-selector.c (init): Set the mode on the text cell
- renderer to GTK_CELL_RENDERER_MODE_ACTIVATABLE so clicking on the
- text doesn't change the status of the checkbox. [Many thanks to
- Jonathan Blandford for telling me how to do this!]
-
-2003-12-01 JP Rosevear <jpr@ximian.com>
-
- * e-source-selector.c (class_init): list the signal args properly
-
-2003-11-30 ERDI Gergo <cactus@cactus.rulez.org>
-
- * e-calendar.c: canned the _clicked handlers as those make it
- impossible to move just one month at a time
-
-2003-11-30 Ettore Perazzoli <ettore@ximian.com>
-
- * e-util-marshal.list: Add NONE:POINTER.
-
- * test-source-option-menu.c (source_selected_callback): New
- callback to test the "source_selected" signal.
- (on_idle_create_widget): Connect.
-
- * e-source-option-menu.c: Add "source_selected" signal.
- (select_source): Assume source != NULL and emit "source_selected".
-
-2003-11-30 Ettore Perazzoli <ettore@ximian.com>
-
- * test-source-option-menu.c: New test.
-
- * e-source-option-menu.h: New.
- * e-source-option-menu.c: New.
-
-2003-11-23 ERDI Gergo <cactus@cactus.rulez.org>
-
- * e-expander.c: Added the late eggexpander
-
- * e-expander.c (e_expander_button_release): Emit 'activate' signal when
- appropriate
-
-
-2003-11-17 Charles Zhang <charles.zhang@sun.com>
-
- * e-search-bar.c(add_button): allow new lable with mnemonic
- (e_search_bar_construct): alter lable name. [50810]
-
-2003-11-16 JP Rosevear <jpr@ximian.com>
-
- * e-source-selector.c (e_source_selector_set_primary_selection):
- use find_source_iter and get the selection from the right spot
- (find_source_iter): util function to find the iter given the
- source
- (e_source_selector_select_source): signal that the model changed
- (e_source_selector_unselect_source): ditto
-
-2003-11-14 JP Rosevear <jpr@ximian.com>
-
- * e-source-selector.h: include e-source stuff from e-d-s
-
- * Makefile.am: use new cflags/libs to build
-
-2003-11-13 Bolian Yin <bolian.yin@sun.com>
-
- * e-calendar-item.c: remove a declaration of a deleted func.
-
-2003-11-12 JP Rosevear <jpr@ximian.com>
-
- * e-calendar-item.c (e_calendar_item_class_init): a canvas item
- does not inherit from gtkwidget
-
-2003-11-11 Bolian Yin <bolian.yin@sun.com>
-
- Fixes #50538
-
- * e-calendar-item: make e_calendar_item_normalize_date public func.
- add "selection_preview_changed" signal.
- move some definition of constants to .h
-
-2003-11-10 Ettore Perazzoli <ettore@ximian.com>
-
- * e-source-selector.c (e_source_selector_new): Expand all the
- nodes.
-
-2003-11-07 JP Rosevear <jpr@ximian.com>
-
- * Makefile.am: make sure the marshal stuff is in the sources and
- remove the built files when disting
-
-2003-10-28 Rodrigo Moya <rodrigo@ximian.com>
-
- * e-source-selector.c (class_init): fill_popup_menu signal has
- 2 arguments.
-
-2003-10-28 Rodrigo Moya <rodrigo@ximian.com>
-
- * e-source-selector.[ch]: added "fill_popup_menu" signal, to
- allow the addition of new items to the popup menu.
- (class_init): create new signal.
- (init): connect to "button_press_event" for the tree view.
- (selector_button_press_event): callback for "button_press_event".
- (e_source_selector_selection_shown): use g_return_val_if_fail.
-
-2003-10-22 Dan Winship <danw@ximian.com>
-
- * e-bonobo-widget.[ch]: Remove these (unused since 1.2)
-
-2003-09-30 Mike Kestner <mkestner@ximian.com>
-
- * e-cell-renderer-combo.* : new, treeview renderer for combo cells
- * e-combo-cell-editable.* : new, GtkCellEditable for combo cells
- * Makefile.am : build the new files
-
-2003-09-19 Bolian Yin <bolian.yin@sun.com>
-
- Fixes #1245. ECalendar should be usable with the keyboard
-
- * e-calendar-item.c (e_calendar_item_focus): new func, focus
- handler.
- (e_calendar_item_key_press_event): new func, key press event
- handler
- (e_calendar_item_selection_add_days,
- e_calendar_item_stop_selecting): helpers.
- (e_calendar_item_ensure_days_visible,
- e_calendar_item_set_selection_if_emission): add the flag to
- control if we should emit e-calendar signals.
- (e_calendar_item_class_init): register focus handler.
- (e_calendar_item_event): add code for GDK_FOCUS_CHANGE and
- GDK_KEY_PRESS.
-
- * e-calendar.c (e_calendar_focus): new func, focus handler
- (e_calendar_button_has_focus): new func, if prev/next button has
- focus.
- (e_calendar_on_next_clicked, e_calendar_on_prev_clicked): click
- signal handler for prev/next buttons.
- (e_calendar_set_focusable): set if the e-calendar is focusable
-
- * e-dateedit.c (e_date_edit_show_date_popup, hide_date_popup):
- grab/ungrab gdk keyboard.
-
-2003-08-27 Hans Petter Jansson <hpj@ximian.com>
-
- Fixes #15638.
-
- * e-dateedit.c (rebuild_time_popup): Make 12-hour time format not
- be zero-padded. Right-align time labels so digits line up.
-
-2003-08-27 Bolian Yin <bolian.yin@sun.com>
-
- * Makefile.am: add dependency on a11y/widgets.
-
- * e-calendar-item.c (e_calendar_item_class_init): a11y init.
- (e_calendar_item_bounds): new func, impl the bounds virtual
- func.
-
-2003-08-18 Ettore Perazzoli <ettore@ximian.com>
-
- * e-source-selector.c (e_source_selector_selection_shown)
- (e_source_selector_show_selection): Add precondition.
-
-2003-08-18 Ettore Perazzoli <ettore@ximian.com>
-
- * test-source-selector.c (on_idle_create_widget): Add a
- checkbutton to the test window for toggling the checkboxes on and
- off. Also, put the list in a scrolled window and set a default
- size for the main window.
- (check_toggled_callback): Callback for the checkbutton.
-
- * e-source-selector.c: New member checkboxes_shown in struct
- ESourceSelectorPrivate.
- (init): Set to TRUE.
- (e_source_selector_show_selection): New.
- (e_source_selector_selection_shown): New.
- (toggle_cell_data_func): Don't show the toggle if checkboxes_shown
- is FALSE.
-
-2003-08-17 Ettore Perazzoli <ettore@ximian.com>
-
- * e-source-selector.c: New signal "primary_selection_changed",
- removed members list_changed_callback_id and
- selection_changed_callback_id in ESourceSelectorPrivate.
- (rebuild_model): If the new set of selected sources is smaller
- than the old one, emit "selection_changed".
- (e_source_selector_peek_primary_selection): New.
- (e_source_selector_set_primary_selection): New.
- (selection_changed_callback): New callback for the "changed"
- signal on our associated GtkTreeSelection.
- (init): Connect.
- (impl_dispose): Disconnect.
- (setup_model): Use signal_connect_object() instead of saving the
- ID.
-
-2003-08-15 Ettore Perazzoli <ettore@ximian.com>
-
- * e-source-selector.c (cell_toggled_callback): Call
- gtk_tree_model_row_changed() to let the model know that we changed
- the data.
-
-2003-08-15 Ettore Perazzoli <ettore@ximian.com>
-
- * test-source-selector.c: New test program.
-
- * e-source-selector.c: New file.
- * e-source-selector.h: New file.
-
-2003-07-23 Dan Winship <danw@ximian.com>
-
- * Makefile.am: use EVO_MARSHAL_RULE
-
- * e-combo-button.c (create_empty_pixmap_widget): Create the pixbuf
- from empty.xpm rather than just calling gdk_pixbuf_new(), which
- doesn't actually initialize the pixel data.
-
- * e-messagebox.c: Remove this, since it claims to be deprecated,
- and nothing is actually using it any more.
-
- * Makefile.am: Remove e-messagebox.[ch]
-
-2003-07-11 Federico Mena Quintero <federico@ximian.com>
-
- * e-dateedit.c (e_date_edit_mnemonic_activate): Added a handler
- for GtkWidget::mnemonic_activate().
-
- * e-url-entry.c (mnemonic_activate): Likewise.
-
-2003-07-09 Federico Mena Quintero <federico@ximian.com>
-
- * e-url-entry.c (destroy): Chain to the parent handler. Fixes #45236.
-
-2003-06-23 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (set_menu): Translate the text. [#45112]
-
-2003-06-18 Suresh Chandrasekharan <suresh.chandrasekharan@sun.com>
-
- * e-charset-picker.c: Fix for #45082: GB18030 BIG5HKSCS and EUC-TW
- charsets not supported in evolution mail
-
-2003-06-17 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-charset-picker.c (e_charset_picker_bonobo_ui_populate): Don't
- use the charset class in the menu label if it is 'Unknown'.
- (e_charset_picker_bonobo_ui_populate): For user-defined charsets,
- just use the name of the charset rather than "Unknown".
- (add_charset): Don't escape _'s anymore, this seems to not be
- needed int gtk2.
- (add_other_charset): g_strdup() the charset name. Fixes bug
- #43917.
-
-2003-06-11 Larry Ewing <lewing@ximian.com>
-
- * e-search-bar.c (impl_get_property): take ownership of the duped
- string.
-
diff --git a/widgets/misc/ChangeLog.pre-1-4 b/widgets/misc/ChangeLog.pre-1-4
deleted file mode 100644
index 7a5cae8211..0000000000
--- a/widgets/misc/ChangeLog.pre-1-4
+++ /dev/null
@@ -1,1903 +0,0 @@
-2003-05-29 JP Rosevear <jpr@ximian.com>
-
- Fixes #43775
-
- * e-calendar-item.c (layout_set_day_text): calculate the day
- character correctly
- (e_calendar_item_draw_month): use it
-
- * e-dateedit.c (rebuild_time_popup): use e_utf8_strftime
- (e_date_edit_update_date_entry): ditto
- (e_date_edit_update_time_entry): ditto
-
- * e-calendar-item.c (layout_set_day_text): calculate the day
- character correctly
- (e_calendar_item_draw_month): use e_utf8_strftime and above
- (e_calendar_item_show_popup_menu): use e_utf8_strftime
- (e_calendar_item_recalc_sizes): use layout_set_day_text
-
-2003-05-19 Anna Marie Dirks <anna@ximian.com>
-
- * e-multi-config-dialog.c (init): Added HIG-appropriate spacing/
- padding to the main hbox into which the icons and page widgets
- are packed.
-
-2003-05-19 Larry Ewing <lewing@ximian.com>
-
- * e-charset-picker.c: port to GtkDialog.
-
-2003-05-14 JP Rosevear <jpr@ximian.com>
-
- * e-combo-button.c (impl_destroy): guard against multiple destroys
-
-2003-05-13 Ettore Perazzoli <ettore@ximian.com>
-
- [#42628]
- * e-search-bar.c (search_now_verb_cb): Call
- emit_search_activated() instead of emit_query_changed().
-
-2003-05-11 Chris Toshok <toshok@ximian.com>
-
- [ fixes bug #42177 ]
- * e-dateedit.c (e_date_edit_init): remove the CAN_FOCUS flag.
-
-2003-05-09 Ettore Perazzoli <ettore@ximian.com>
-
- * e-combo-button.c (menu_deactivate_callback): Set in_button to
- FALSE; this makes sure the button gets the right appearance after
- the menu is popped down (the reason why this is necessary is that
- the widget doesn't never gets to the leave_notify event).
-
-2003-05-07 JP Rosevear <jpr@ximian.com>
-
- * e-search-bar.c (e_search_bar_set_text): trash e_utf8_gtk function
- (e_search_bar_get_text): ditto
-
-2003-04-29 Dan Winship <danw@ximian.com>
-
- * e-dateedit.c (e_date_edit_forall): Remove this so that
- GtkContainer's destroy method will destroy all of the internal
- widgets. (This is how other compound-widgets-that-aren't-
- meant-to-be-used-as-containers behave.) #41458
-
-2003-04-16 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (remove_bonobo_menus): Only do the actual remove
- if the ui component actually has a container; this suppresses a
- BonoboUI warning at each folder view switch.
-
-2003-04-15 Hans Petter Jansson <hpj@ximian.com>
-
- * e-calendar-item.c (e_calendar_item_update): Unref the metrics.
- (e_calendar_item_draw): Re-use the widget's context instead of
- creating a new one. Unref the metrics.
- (e_calendar_item_draw_month): Unref the metrics. Don't create the
- layout where it might be leaked by an early return. Unref the layout
- before returning if we're outside the clip area.
- (e_calendar_item_draw_day_numbers): Unref the metrics.
- (e_calendar_item_recalc_sizes): Unref the metrics.
- (e_calendar_item_convert_position_to_day): Unref the metrics.
-
- * e-calendar.c (e_calendar_size_allocate): Unref the metrics.
-
-2003-04-11 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-filter-bar.c (do_advanced): Change the border width and
- padding to comply with the HIG. Fixes bug #41202.
- (do_advanced): Changed the button ordering from Cancel/Save/OK to
- Save/Cancel/OK to comply with the HIG. Fixes bug #41207.
-
-2003-04-08 Mike Kestner <mkestner@ximian.com>
-
- * e-search-bar.c (set_option): kill an old e_utf8_gtk usage
-
-2003-04-06 Chris Toshok <toshok@ximian.com>
-
- * e-cell-percent.h: e_cell_percent_get_type returns GType, not
- GtkType.
-
- * e-cell-percent.c (e_cell_percent_new): use g_object_new, not
- gtk_object_new.
-
-2003-04-02 Hans Petter Jansson <hpj@ximian.com>
-
- * e-calendar-item.c (e_calendar_item_set_selection): For example;
- a selection ending 2003-apr-02 does not fit into the remaining
- shown days after 1969-dec. Stop assuming that it does.
-
-2003-04-01 Hans Petter Jansson <hpj@ximian.com>
-
- * e-calendar-item.c (e_calendar_item_class_init)
- (e_calendar_item_destroy)
- (e_calendar_item_get_arg)
- (e_calendar_item_set_arg)
- (e_calendar_item_update)
- (e_calendar_item_draw)
- (e_calendar_item_draw_month)
- (e_calendar_item_draw_day_numbers)
- (e_calendar_item_recalc_sizes)
- (e_calendar_item_convert_position_to_day): Nuke GdkFont and use
- Pango's font measuring for everything.
-
- * e-calendar-item.h: Ditto.
-
- * e-calendar.c (e_calendar_init)
- (e_calendar_size_allocate): Ditto.
-
-2003-03-30 Hans Petter Jansson <hpj@ximian.com>
-
- * e-calendar-item.c (e_calendar_item_destroy): Handle multiple
- destroys.
-
-2003-03-28 JP Rosevear <jpr@ximian.com>
-
- * e-search-bar.c (clear_search): set the sub item to the default
- as well
-
-2003-03-25 Dan Winship <danw@ximian.com>
-
- * e-calendar.c: #include gtkarrow.h
- * e-combo-button.c: Likewise
-
- * e-charset-picker.c: Update for e_notice move
-
-2003-03-19 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-filter-bar.c: Updated to use GtkDialog instead of
- GnomeDialog. Also fixed bug #39550 while I was at it.
-
-2003-03-10 Rodney Dawes <dobey@ximian.com>
-
- * e-calendar.c: Use GtkArrow instead of pixmaps
- * e-combo-button.c: Use GtkArrow instead of pixmaps
- * e-filter-bar.c: gtk_window_set_policy () is deprecated
- * e-url-entry.c: Load the icon in a pixbuf instead of GdkPixmap
-
-2003-03-06 Ettore Perazzoli <ettore@ximian.com>
-
- * e-url-entry.c (destroy): Removed unused variable.
-
-2003-03-06 Ettore Perazzoli <ettore@ximian.com>
-
- * e-dropdown-button.c (menu_deactivate_cb): Removed debugging
- spew.
-
-2003-02-27 Chris Toshok <toshok@ximian.com>
-
- * e-url-entry.c (destroy): guard this so we don't try to free priv
- multiple times.
-
-2003-02-25 Dan Winship <danw@ximian.com>
-
- * e-map.c (e_map_destroy): Use
- g_signal_handlers_disconnect_by_func since
- gtk_signal_disconnect_by_data doesn't seem to work right.
- (e_map_set_scroll_adjustments): Likewise.
-
-2003-02-25 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-dateedit.c (on_date_popup_date_selected): Same as below.
-
- * e-cell-date-edit.c (e_cell_date_edit_on_ok_clicked): Also
- updated to use the new GDate API from glib 2.0
-
- * test-calendar.c (on_selection_changed): Fixed to use glib 2.0's
- GDate API.
-
- * e-calendar-item.c (e_calendar_item_get_week_number): Port to
- glib 2.0's GDate API.
- (e_calendar_item_set_selection): Same.
-
- * e-search-bar.c (append_xml_menu_item): Use
- g_string_append_printf instead of g_string_sprintfa since the
- latter is now deprecated.
- (setup_bonobo_menus): Same.
-
- * e-filter-bar.c (do_advanced): Use gtk_window_set_resizable()
-
- * e-charset-picker.c: Fixes to make it build cleanly with
- -DG_DISABLE_DEPRECATED
- (add_charset): Escape _'s so we don't get underline weirdness due
- to GtkLabel thinking the _ means to underline the next char.
- (e_charset_picker_bonobo_ui_populate): Same here.
-
-2003-02-20 Dan Winship <danw@ximian.com>
-
- * Makefile.am: Make libemiscwidgets and libefilterbar dynamic
- libraries instead of static so they can be portably linked into
- the shlib components
-
-2003-02-05 Dan Winship <danw@ximian.com>
-
- * Makefile.am (INCLUDES): Define MAP_DIR in terms of $(imagesdir).
- (widgetsincludedir): Define in terms of $(privincludedir)
-
-2003-02-02 Hans Petter Jansson <hpj@ximian.com>
-
- * e-calendar-item.[ch]: Use Pango to draw.
- (e_calendar_item_class_init): Add font_desc and week_number_font_desc
- args.
- (e_calendar_item_get_arg): Ditto.
- (e_calendar_item_set_arg): Ditto.
- (e_calendar_item_draw_month): Use Pango.
- (e_calendar_item_draw_day_numbers): Ditto.
-
- * e-calendar.c: Use Pango to draw. Specify just the size of the small
- font to use, instead of all aspects of it.
- (e_calendar_init): Produce the small font description and pass it to
- the ECalendarItem.
-
-2003-02-01 Hans Petter Jansson <hpj@ximian.com>
-
- * e-dateedit.c (create_children): Don't request combo boxes that are
- 0 pixels tall.
- (position_date_popup): Make this work when the button doesn't have
- its own window.
-
-2003-01-26 Chris Toshok <toshok@ximian.com>
-
- * e-clipped-label.c (e_clipped_label_new): init the layout to
- NULL.
-
-2003-01-23 Ettore Perazzoli <ettore@ximian.com>
-
- * e-title-bar.c (e_title_bar_construct): Make the label bold using
- the new args to e_clipped_label_new().
-
- * e-clipped-label.c (build_layout): Honor ->font_size and ->layout
- in the newly created PangoLayout.
- (e_clipped_label_new): New args font_weight, font_size.
- (e_clipped_label_size_request): Removed unused variables.
- (e_clipped_label_expose): Likewise.
- (e_clipped_label_expose): Likewise.
- (e_clipped_label_set_text): Likewise.
- (e_clipped_label_recalc_chars_displayed): Likewise.
-
- * e-clipped-label.h (struct _EClippedLabel): Add font_size, layout
- members.
-
-2003-01-22 Ettore Perazzoli <ettore@ximian.com>
-
- * Makefile.am (widgetsincludedir): Version using $(BASE_VERSION).
-
-2003-01-14 Ettore Perazzoli <ettore@ximian.com>
-
- * e-multi-config-dialog.c (init): Change dialog from
- OK/Apply/Cancel to Apply/Close/OK to be closer to the HIG.
-
-2003-01-14 Ettore Perazzoli <ettore@ximian.com>
-
- * Makefile.am (widgetsinclude_HEADERS): Ooops, remove
- e-bonobo-widget.h.
- (libemiscwidgets_a_SOURCES): Likewise, remove e-bonobo-widget.c.
-
-2003-01-14 Ettore Perazzoli <ettore@ximian.com>
-
- * Makefile.am (EXTRA_DIST): e-util-marshal.list, not
- e-book-marshal.list.
- (widgetsinclude_HEADERS): Add e-bonobo-widget.h.
- (libemiscwidgets_a_SOURCES): Add e-bonobo-widget.c.
-
-2003-01-08 Ettore Perazzoli <ettore@ximian.com>
-
- * Makefile.am: Images are now in $(datadir)/evolution/images
- instead of $(datadir)/images/evolution.
-
-2002-12-10 Not Zed <NotZed@Ximian.com>
-
- * e-multi-config-dialog.c (impl_response): Removed the
- g_assert_not_reached(). If you hit the close button on your
- window it would abort, treat same as close.
-
-2002-12-09 Chris Toshok <toshok@ximian.com>
-
- * e-clipped-label.[ch]: rework this to be faster and deal more
- correctly with the ellipsis.
-
-2002-12-03 Not Zed <NotZed@Ximian.com>
-
- * e-search-bar.c (impl_dispose): dispose can be run multiple times
- too ... bloody gobject crap.
-
-2002-11-27 Not Zed <NotZed@Ximian.com>
-
- * e-charset-picker.c: Add include of gnome-dialog.h
-
- * *.[ch]: ran fix.sh script over everything.
-
-2002-11-26 Not Zed <NotZed@Ximian.com>
-
- * e-combo-button.c (impl_button_press_event): Dont grab_add
- anymore on the button, gtk_button is changed in gtk2 not to do
- this anymore.
-
-2002-11-15 Chris Toshok <toshok@ximian.com>
-
- * e-clipped-label.c (build_layout): new function, build pango
- layout for string.
- (e_clipped_label_size_request): pango-ize this, make the size
- requested dependent on the label.
- (e_clipped_label_expose): pango-ize this.
- (e_clipped_label_recalc_chars_displayed): pango-ize this.
-
-2002-11-14 Ettore Perazzoli <ettore@ximian.com>
-
- * e-clipped-label.c (e_clipped_label_finalize): New.
- (e_clipped_label_destroy): Removed.
-
- * e-title-bar.c (destroy): Removed.
- (impl_finalize): New.
- (class_init): Install GObject::finalize handler instead of
- GtkObject::destroy handler.
-
-2002-11-14 Ettore Perazzoli <ettore@ximian.com>
-
- * e-filter-bar.c: Changed to use g_object_*() and g_signal_*()
- functions instead of gtk_object_*() and gtk_signal_*().
- (destroy): Removed.
- (dispose): New.
- (class_init): Install GObject::dispose handler instead of
- GtkObject::destroy handler.
-
-2002-11-11 Chris Toshok <toshok@ximian.com>
-
- * e-dateedit.[ch]: port to GObject.
-
-2002-11-11 Ettore Perazzoli <ettore@ximian.com>
-
- * e-multi-config-dialog.c (init): Use GObject functions instead of
- GtkObject throughout.
-
-2002-11-11 Ettore Perazzoli <ettore@ximian.com>
-
- * e-multi-config-dialog.c (impl_destroy): Removed.
- (impl_finalize): New.
- (class_init): Override GObject::finalize, not GtkObject::destroy.
-
- * e-config-page.c (impl_destroy): Removed.
- (impl_finalize): New.
- (class_init): Override GObject::finalize, not GtkObject::destroy.
-
- * e-multi-config-dialog.c: Converted to a GtkDialog subclass
- [instead of GnomeDialog].
-
-2002-11-07 JP Rosevear <jpr@ximian.com>
-
- * e-filter-bar.c: include gnome-dialog.h
-
-2002-11-06 Chris Toshok <toshok@ximian.com>
-
- * .cvsignore: ignore the generated marshal source.
-
- * Makefile.am: add marshal stuff.
-
- * e-util-marshal.list: marshaller list.
-
- * e-search-bar.[ch]: gobjectify this.
-
-2002-11-04 Ettore Perazzoli <ettore@ximian.com>
-
- * e-combo-button.c (impl_expose_event): Use
- gtk_container_propagate_expose().
-
-2002-11-01 Ettore Perazzoli <ettore@ximian.com>
-
- * test-title-bar.c: #include <libgnomeui/gnome-ui-init.h> instead
- of <libgnomeui/gnome-init.h>.
- (main): Use a GtkLabel, not a GtkText.
-
- * test-dropdown-button.c: #include <libgnomeui/gnome-ui-init.h>
- instead of <libgnomeui/gnome-init.h>, and
- <libgnomeui/gnome-stock-icons.h> instead of
- <libgnomeui/gnome-stock.h>.
-
- * test-dateedit.c: #include <libgnomeui/gnome-ui-init.h> instead
- of <libgnomeui/gnome-init.h>.
- (main): Use gnome_program_init().
-
- * test-calendar.c: #include <libgnomeui/gnome-ui-init.h>.
-
- * e-url-entry.c (button_clicked_cb): Pass NULL as the error arg to
- gnome_url_show().
-
- * e-title-bar.c (class_init): GTK2-ified. Use GTK_TYPE_POINTER
- instead of GTK_TYPE_GDK_EVENT.
-
- * e-search-bar.c: Removed #include <libgnome/gnome-defs.h>.
- #include <string.h>.
- (class_init): GTK2-ified.
- (e_search_bar_set_menu): Use GTK_OBJECT_GET_CLASS.
- (e_search_bar_set_option): Likewise.
-
- * e-messagebox.c (e_message_box_class_init): Updated to put
- finalize in GObjectClass intead of GtkObjectClass.
- (e_message_box_finalize): Likewise.
- (e_message_box_construct): Just check if pixmap is NULL, instead
- of pixmap->pixmap.
-
- * e-messagebox.h: No {BEGIN,END}_GNOME_DECLS.
- (e_message_box_get_type): Fix prototype, should return GtkType
- instead of guint.
-
- * e-map.c: Removed e_map_signals, which was unused.
- (e_map_finalize): Update for the fact that finalize is now in
- GObjectClass.
- (e_map_class_init): Likewise. Also GTK2-ify.
- (e_map_draw): Removed.
- (load_map_background): Pass NULL as the gdk_pixbuf_new_from_file()
- error arg.
-
- * e-dropdown-button.c (menu_position_cb): Added arg push_in.
-
- * e-dateedit.c (e_date_edit_class_init): GTK2-ified.
- (e_date_edit_show_date_popup): Constify local variable.
- (e_date_edit_check_date_changed): Likewise.
- (e_date_edit_check_time_changed): Likewise.
- (e_date_edit_check_date_changed): Likewise.
- (field_set_to_none): Constify arg text.
- (e_date_edit_parse_date): Constify arg date_text.
- (e_date_edit_parse_time): Constify arg time_text.
-
- * e-dateedit.h: No {BEGIN,END}_GNOME_DECLS.
-
- * e-combo-button.c (menu_position_func): New arg push_in.
- (impl_draw): Removed.
- (class_init): GTK2-ified.
- (init): style->xthickness instead of style->klass->xthickness.
-
- * e-config-page.c (class_init): GTK2-ified.
-
- * e-clipped-label.c (e_clipped_label_size_request): Use
- gtk_style_get_font().
- (e_clipped_label_recalc_chars_displayed): Likewise.
- (e_clipped_label_expose): Likewise.
-
- * e-charset-picker.c: No #include <libgnome/gnome-defs.h> or
- <libgnome/gnome-i18n.h> or <libgnome/gnome-stock.h>. Also no
- <gal/gunicode.h>. On the other hand, #include <gtk/gtkvbox.h>.
- (e_charset_picker_new): Make locale_charset const.
- (e_charset_picker_bonobo_ui_populate): Make locale_charset const.
-
- * e-cell-percent.c: #include <stdio.h> for sscanf().
-
- * e-cell-percent.h: Removed BEGIN_GNOME_DECLS, END_GNOME_DECLS.
-
- * e-cell-percent.c: Do not #include <libgnomeui/gnome-stock.h>.
-
- * e-cell-date-edit.c: Do not #include <libgnomeui/gnome-stock.h>.
- Added a bunch of #includes for GTK stuff.
- (e_cell_date_edit_on_ok_clicked): Constified variable.
-
- * e-calendar-item.c: Do not #include <libgnome/gnome-defs.h>.
- (e_calendar_item_class_init): Use GTK_TYPE_POINTER instead of
- GTK_TYPE_GDK_POINTER.
- (e_calendar_item_class_init): GTK_CLASS_TYPE() instead of
- object_class->type.
- (e_calendar_item_class_init): No gtk_object_class_add_signals().
- (e_calendar_item_update): style->[xy]thickness instead of
- style->klass->[xy]thickness.
- (e_calendar_item_draw): Likewise.
- (e_calendar_item_draw_month): Likewise.
- (e_calendar_item_draw_month): Likewise.
- (e_calendar_item_recalc_sizes): Likewise.
- (e_calendar_item_convert_position_to_day): Likewise.
- (e_calendar_item_update): Use gtk_style_get_font().
- (e_calendar_item_draw_month): Likewise.
- (e_calendar_item_draw_day_numbers): Likewise.
- (e_calendar_item_convert_position_to_day): Likewise.
- (e_calendar_item_recalc_sizes): Likewise.
- (e_calendar_item_signal_emission_idle_cb): Removed check for
- GTK_OBJECT_DESTROY.
- (e_calendar_item_position_menu): Add push_in arg.
-
- * e-calendar.c (e_calendar_draw): Remove.
- (e_calendar_size_request): style->[xy]thickness instead of
- style->klass->[xy]thickness.
- (e_calendar_size_allocate): Likewise.
- (e_calendar_get_border_size): Likewise.
- (e_calendar_size_allocate): Get font from style with
- gtk_style_get_font().
-
- * e-calendar-item.h: #include <libgnomecanvas/gnome-canvas.h>
- instead of <libgnomeui/gnome-canvas.h>.
- * e-calendar.c: Likewise for
- <libgnomecanvas/gnome-canvas-widget.h>.
-
- * Makefile.am: Don't compile e-bonobo-widget.c, e-bonobo-widget.h.
- [Unused right now, so we can avoid porting until, and if, they are
- needed.]
-
- * e-filter-bar.c: Do not #include <libgnome/gnome-defs.h>. Do not
- #include <libgnomeui/gnome-stock.h>. #include <gtk/gtksignal.h>.
- Also remove gal #includes.
- (do_advanced): Add some GTK_SIGNAL_FUNC() casts.
- (menubar_activated): Likewise.
- (menubar_activated): Likewise.
-
-2002-10-30 Ettore Perazzoli <ettore@ximian.com>
-
- * e-map.h: Do not #include <libgnome/gnome-defs.h>.
-
-2002-10-28 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-search-bar.c (clear_search): Emit a search_activated signal.
- (e_search_bar_set_item_id): Revert to original implementation.
-
-2002-10-23 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-filter-bar.c (option_changed): If the clear button was
- pressed, we want the entry to be sensitive (not insensitive).
-
- * e-search-bar.c (e_search_bar_set_item_id): If the item id is
- CLEAR_ID, we want to select the first item (0) but still set the
- esb->item_id to CLEAR_ID.
- (set_find_now_sensitive): Don't bother getting the GtkEntry text,
- we don't even use it?
- (clear_search): Set the item id as E_SEARCHBAR_CLEAR_ID rather
- than 0 so that it can be checked for.
-
-2002-10-23 Ettore Perazzoli <ettore@ximian.com>
-
- [#26128, thanks to Federico Mena Quintero <federico@ximian.com>
- for providing this fix.]
-
- * e-search-bar.c (activate_by_subitems): gtk_widget_grab_focus()
- on the entry when adding it in.
-
-2002-10-11 JP Rosevear <jpr@ximian.com>
-
- * e-calendar-item.c (e_calendar_item_ensure_days_visible): check
- if the selection fits in the leftover days
-
-2002-09-30 Ettore Perazzoli <ettore@ximian.com>
-
- [Add a small delay to the switching of pages in the multi-config
- dialog. This makes keyboard navigation slightly nicer, and also
- happens to fix mysterious bug #28931.]
-
- * e-multi-config-dialog.c: New constant SWITCH_PAGE_INTERVAL. New
- members set_page_timeout_id and set_page_timeout_page in
- EMultiConfigDialogPrivate.
- (init): Initialize new member variables.
- (table_cursor_change_callback): Set up a timeout instead of
- switching right away.
- (set_page_timeout_callback): Timeout function to switch page after
- a small delay.
- (impl_destroy): Remove a pending timeout.
-
-2002-09-27 Ettore Perazzoli <ettore@ximian.com>
-
- * e-multi-config-dialog.c (create_page_container): Don't set up
- the description label here.
-
-2002-09-24 Not Zed <NotZed@Ximian.com>
-
- * e-search-bar.c (clear_search): Clear search by setting text to
- "" and search to first search.
-
- * e-filter-bar.c (option_changed): Revert change of 2002-08-29
- below, always do advanced search if we have the advanced id.
- Handle clear elsewhere.
- (menubar_activated): If we get the advanced menu, set the advanced
- option menu, and let that handle it, rather than doing it
- ourselves. For #31060 & #29625.
-
-2002-09-22 Dan Winship <danw@ximian.com>
-
- * e-filter-bar.c: Fix some non-ANSI switch statements.
-
-2002-08-29 Chris Toshok <toshok@ximian.com>
-
- * e-search-bar.c (subitem_activated_cb): need to make the find now
- button sensitive when you select something from a submenu.
-
-2002-08-29 Peter Williams <peterw@ximian.com>
-
- * e-filter-bar.c (option_changed): If the item is ADVANCED_ID, check
- the query and efb->setquery to see whether we should pop up the advanced
- dialog or clear an advanced search. Fixes #29625.
-
-2002-08-21 Peter Williams <peterw@ximian.com>
-
- * e-search-bar.c (clear_search): Don't set the item id; clear search
- isn't in the menu anymore. Fixes #29211.
-
-2002-08-22 JP Rosevear <jpr@ximian.com>
-
- * e-dateedit.c (e_date_edit_parse_date): don't adjust for two
- digit dates here, the e_time_parse routines do that now
-
-2002-08-06 Not Zed <NotZed@Ximian.com>
-
- * e-filter-bar.c (menubar_activated): Set the query text into the
- filter name when saving it, for #10979.
-
-2002-07-24 Ettore Perazzoli <ettore@ximian.com>
-
- * e-calendar-item.c (e_calendar_item_signal_emission_idle_cb): Add
- missing cast.
- (e_calendar_item_signal_emission_idle_cb): Likewise.
-
- * e-search-bar.c (init): Don't initialize dropdown_menu here
- anymore since we got rid of it.
-
- * e-search-bar.h (struct _ESearchBar): Removed member
- dropdown_menu.
-
-2002-07-22 Peter Williams <peterw@ximian.com>
-
- * e-filter-bar.c (do_advanced): Break out the code for creating
- the advanced rule editor into a separate function, so that...
- (menubar_activated): ... can also create an Advanced dialog;
- needed when the Search menu's advanced button is used.
- (option_changed): Change this to call the function instead of
- having all the code to itself.
-
- * e-search-bar.h: Add id's for the FIND_NOW and CLEAR actions
- so that other code (eg, EFilterBar) doesn't get confused by
- an old id being used when the search-activated signal gets
- emitted.
-
- * e-search-bar.c (clear_search): Set the item_id to CLEAR
- before emitting the signal.
- (search_now_verb_cb): Just make this emit query_changed,
- as the button in the toolbar does.
-
-2002-07-17 Ettore Perazzoli <ettore@ximian.com>
-
- [Fix #27854, spurious warnings from ESearchBar.]
-
- * e-search-bar.c (setup_standard_verbs): Set the <commands> part
- of the XML manually with bonobo_ui_component_set() otherwise the
- verbs don't get added on the other side for us to be able to do
- bonobo_ui_component_set_prop().
- (setup_bonobo_menus): New, menu setup code taken from
- update_bonobo_menus().
- (remove_bonobo_menus): New; removes the Bonobo menus.
- (update_bonobo_menus): Rewritten, just call remove_bonobo_menus()
- first and setup_bonobo_menus() then.
- (e_search_bar_set_ui_component): Call setup_bonobo_menus() and
- remove_bonobo_menus() as appropriate instead of just
- update_bonobo_menus().
-
-2002-07-02 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (update_sensitivity): Removed.
- (set_find_now_sensitive): New.
- (entry_changed_cb): Always make the "Find Now" button and menu
- item sensitive here.
- (emit_search_activated): ...And here, always insensitive.
- (setup_standard_verbs): Always start up insensitive.
- (activate_button_clicked_cb): Make the entry grab the focus.
- (clear_button_clicked_cb): Likewise.
-
-2002-07-02 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (subitem_activated_cb): Don't emit
- "search_activated" here.
- (e_search_bar_set_subitem_id): And not here either.
- (e_search_bar_set_text): Same.
-
-2002-07-02 Ettore Perazzoli <ettore@ximian.com>
-
- [Fix #7736.]
-
- * e-search-bar.c (activate_by_subitems): Don't set the entry to be
- an empty string here.
-
-2002-06-18 Ettore Perazzoli <ettore@ximian.com>
-
- * e-filter-bar.c (build_items): Put the numbers in front of the
- rules only if type is zero [i.e. not in the option menu].
-
-2002-05-30 Ettore Perazzoli <ettore@ximian.com>
-
- * e-filter-bar.c (dup_item_no_subitems): New helper function.
- (build_items): g_strdup() the text for all the items. Prepend the
- user-defined items with an order number.
- (free_built_items): New function to free the array returned by
- build_items, freeing the text strings too [since now they are
- newly allocated instead of just pointing to the exiting ones].
- (generate_menu): Call free_built_items() on the built items
- instead of just g_array_free().
- (set_option): Likewise.
-
-2002-05-22 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (update_bonobo_menus): Put the stuff in
- /menu/Searchplaceholder/Search instead of /menu/Search.
-
- * e-combo-button.c (impl_draw): New, overrides GtkWidget::draw.
- (impl_expose_event): New, overrides GtkWidget::expose_event.
-
-2002-05-20 Ettore Perazzoli <ettore@ximian.com>
-
- * e-filter-bar.c (build_items): Prepend the advanced menu with a
- separator.
-
- * e-filter-bar.h: Add E_FILTERBAR_SEPARATOR. Rename the "Advanced
- Search..." menu item into "Advanced...".
-
-2002-05-20 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (activate_by_subitems): Strip underscores from
- the menu item labels.
-
-2002-04-26 Christopher James Lahey <clahey@ximian.com>
-
- * e-multi-config-dialog.c (fill_in_pixbufs): Don't print out the
- colors here unless debugging is turned on.
-
-2002-04-22 Christopher James Lahey <clahey@ximian.com>
-
- * e-multi-config-dialog.c (e_multi_config_dialog_add_page):
- Updated this to match the changed function name in gal.
-
-2002-04-09 Dan Winship <danw@ximian.com>
-
- * e-search-bar.c (e_search_bar_construct, add_button): Oops. The
- previous change made the search bar widgets get packed in the
- wrong order. So use gtk_box_pack_end instead in add_button and add
- the two buttons in reverse order. It's all good now. Noticed by
- Ettore, who I then promptly blamed for it. Sorry Ettore!
-
-2002-04-08 Dan Winship <danw@ximian.com>
-
- * e-search-bar.c (e_search_bar_construct): Construct the buttons
- earlier so that the option-menu-setup code that tries to adjust
- the button sensitivity won't fail and g_warn.
-
-2002-04-06 JP Rosevear <jpr@ximian.com>
-
- * e-multi-config-dialog.c (e_multi_config_dialog_show_page): show
- a specific page number
-
- * e-multi-config-dialog.h: new proto
-
-2002-03-29 Ettore Perazzoli <ettore@ximian.com>
-
- * e-multi-config-dialog.c: Change the ETable specs so it doesn't
- sort.
-
-2002-03-20 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (update_bonobo_menus): Add accelerators for "Find
- Now" and "Clear".
-
- * e-filter-bar.h: Change search labels as suggested in Anna's
- redesign [#16246].
-
-2002-03-20 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (update_bonobo_menus): Remove all the SearchBar
- items before setting them up again.
- (free_menu_items): New.
- (impl_destroy): Call it.
- (set_menu): Call it here too before adding the new items.
-
-2002-03-18 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (verb_name_from_id): New.
- (e_search_bar_set_menu_sensitive): Rewritten using it.
-
-2002-03-18 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (update_bonobo_menus): No accelerator for
- "FindNow".
- (add_button): Add a one-pixel padding to the button.
-
-2002-03-18 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (update_bonobo_menus): Rename the "Search Now"
- menu entry to "Find Now". Rename the corresponding verb to
- "ESearchBar:FindNow".
- (update_sensitivity): Updated accordingly.
- (setup_standard_verbs): Likewise.
-
-2002-03-18 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (update_sensitivity): New halper function to
- update the sensitivity of the commands.
- (entry_changed_cb): New callback to make the activate_button and
- the "Find Now" verb sensitive only if the entry has some contents.
- (activate_by_subitems): Connect the callback here.
- (setup_standard_verbs): Call update_sensitivity() here.
-
-2002-03-18 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (init): Init clear_button to NULL.
- (add_button): New helper function to add a button to the search
- bar with the right spacing etc.
- (clear_search): New helper function.
- (add_activate_button): Removed.
- (clear_button_clicked_cb): New.
- (e_search_bar_construct): Just add the button here using
- `add_button'. Also add a clear_button.
- (clear_verb_cb): Rewritten by means of `clear_search()'.
-
- * e-search-bar.h (ESearchBar): Add clear_button.
-
-2002-03-18 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (search_now_verb_cb): New, implementation for a
- new "SearchNow" verb.
- (setup_standard_verbs): Create verb here.
- (update_bonobo_menus): Add SearchNow menu item.
-
-2002-03-18 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (clear_verb_cb): New.
- (setup_standard_verbs): New.
- (e_search_bar_set_ui_component): Call it if a new
- BonoboUIComponent is set.
- (append_xml_menu_item): New helper function.
- (update_bonobo_menus): Use it. Also add a "Clear" menu item.
- (e_search_bar_construct): @menu_items can be NULL now.
- (e_search_bar_new): Same here.
- (set_menu): Work with NULL items.
-
- * e-filter-bar.c (menubar_activated): Don't handle
- E_FILTERBAR_RESET_ID anymore.
-
- * e-filter-bar.h: Remove `E_FILTERBAR_RESET_ID' and `E_FILTERBAR_RESET'.
-
-2002-03-15 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (init): Init various members to NULL.
- (set_dropdown): Removed.
- (add_dropdown): Removed.
- (set_menu): New.
- (add_menu_items): New.
- (set_option): No need to setup the dropdown size here anymore.
- (verb_cb): Function implementing the search menu verbs.
- (update_bonobo_menus): New.
- (e_search_bar_set_ui_component): New.
-
- * e-search-bar.h: Remove the dropdown button stuff from struct
- ESearchBar. Add `uic' and `items' members.
-
- * e-filter-bar.c (e_filter_bar_new): Get a @uic arg.
-
-2002-03-15 Christopher James Lahey <clahey@ximian.com>
-
- * e-multi-config-dialog.c (init): Set horizontal scroll policy to
- GTK_POLICY_NEVER here. Don't set usize here. Changed RGBA_COLOR
- to RGB_COLOR. Turned on horizontal resize.
-
-2002-03-13 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-charset-picker.c (add_charset): If the charset item doesn't
- have a class (aka "Unknown"), don't write a class name, instead
- just give the charset name as the menu item label. Fixes bug
- #14753.
-
-2002-03-13 Christopher James Lahey <clahey@ximian.com>
-
- * e-multi-config-dialog.c: Added alpha blending here.
-
-2002-03-12 Christopher James Lahey <clahey@ximian.com>
-
- * e-multi-config-dialog.c: Removed Page struct.
- (e_multi_config_dialog_add_page): Select the initial row after
- appending to the model.
-
-2002-03-12 Christopher James Lahey <clahey@ximian.com>
-
- * e-multi-config-dialog.c (init): Use Use e_table_memory_store
- instead of e_table_memory_callbacks. Use e_cell_vbox to include a
- pixbuf cell and a text cell.
-
-2002-03-11 Ettore Perazzoli <ettore@ximian.com>
-
- * e-multi-config-dialog.c (init): Use GNOME_STOCK_BUTTON_CLOSE,
- not GNOME_STOCK_BUTTON_CANCEL.
- (do_close): Renamed from `cancel'.
- (do_apply): Renamed from `apply'.
- (do_ok): Renamed from `ok'.
-
-2002-03-09 Ettore Perazzoli <ettore@ximian.com>
-
- * e-multi-config-dialog.c: Rename Page.widget -> Page.page_widget;
- it is now an EConfigPage instead of just a GtkWidget. Add
- `num_unapplied' to EMultiConfigDialogPrivate. Derive from
- GnomeDialog, not GtkWindow.
- (update_buttons): New function to update the sensitiveness of the
- buttons according to whether all the settings have been applied or
- not.
- (page_new): Likewise.
- (create_page_container): Renamed from `create_page_widget'.
- (init): Add Apply/OK/Cancel buttons to the dialog. Init
- ->num_unapplied to zero.
- (page_changed_callback): New, callback for the page's "changed"
- signal.
- (e_multi_config_dialog_add_page): Connect the callback, update
- ->num_unapplied, update the buttons by calling `update_buttons'.
- (ok): New function for handling the OK button.
- (apply): New function for handling the Apply button.
- (cancel): New function for handling the Cancel button.
- (impl_clicked): Implementation for the GnomeDialog's ::clicked
- signal.
- (class_init): Install.
-
- * test-multi-config-dialog.c (add_pages): Update to use
- EConfigPages instead of plain GtkWidgets.
-
- * e-multi-config-dialog.c, e-multi-config-dialog.h: Derive from
- GnomeDialog, not GtkWindow.
-
- * e-config-page.c: New.
- * e-config-page.h: New.
-
-2002-03-07 Ettore Perazzoli <ettore@ximian.com>
-
- * e-multi-config-dialog.c: Don't display a header in the table on
- the left.
-
-2002-03-05 Ettore Perazzoli <ettore@ximian.com>
-
- * test-multi-config-dialog.c: New.
- * test-multi-config-dialog.h: New.
-
- * e-multi-config-dialog.c: New.
- * e-multi-config-dialog.h: New.
-
-2002-02-24 Chris Toshok <toshok@ximian.com>
-
- * e-filter-bar.c (init): preserve behavior - hook search_activated
- signal to the same function as query_changed.
-
- * e-search-bar.c (emit_search_activated): new function.
- (entry_activated_cb): use emit_search_activated instead of
- emit_query_changed.
- (subitem_activated_cb): same.
- (activate_button_clicked_cb): same.
- (class_init): add the search_activated signal.
- (idle_activate_hack): rename idle_change_hack to this, and
- emit_search_activated.
- (e_search_bar_construct): idle_change_hack -> idle_activate_hack.
- (e_search_bar_set_subitem_id): emit_search_activated instead of
- emit_query_changed.
- (e_search_bar_set_text): same.
-
- * e-search-bar.h (struct _ESearchBarClass): add a search_activated
- signal.
-
-2002-02-21 Ettore Perazzoli <ettore@ximian.com>
-
- * e-combo-button.c (set_icon): gtk_widget_show() the icon_pixmap
- if the specified icon is not NULL.
-
-2002-02-20 Ettore Perazzoli <ettore@ximian.com>
-
- * e-combo-button.c (set_icon): Work with a NULL @pixbuf as well
- [in that case, just hide the current icon widget].
- (e_combo_button_set_icon): Remove the precondition about @pixbuf
- being non-NULL.
-
-2002-02-08 JP Rosevear <jpr@ximian.com>
-
- * e-url-button.[hc]: remove briefly used files
-
-2002-02-08 JP Rosevear <jpr@ximian.com>
-
- * e-url-entry.[hc]: button/entry combo that launchs the gnome url
- handler on the entry text when the button is clicked
-
- * Makefile.am: build new files
-
-2002-02-08 JP Rosevear <jpr@ximian.com>
-
- * Makefile.am: build new files
-
- * e-url-button.[hc]: button widget that when clicked slurps the
- url of an entry and launchs the gnome url handler on the text
-
-2002-01-27 Ettore Perazzoli <ettore@ximian.com>
-
- * Makefile.am: Use GNOME_FULL_CFLAGS and GNOME_FULL_LIBS.
-
-2002-01-23 Ettore Perazzoli <ettore@ximian.com>
-
- * e-combo-button.c: Remove member `separator' from
- `EComboButtonPrivate'. New members `icon', `label'.
- (init): There shall be no separator no more. Init `icon' and
- `label' to %NULL.
- (e_combo_button_construct): Set no relief.
- (e_combo_button_new): Don't get a @menu arg anymore.
- (e_combo_button_construct): Likewise.
- (e_combo_button_set_icon): New.
- (e_combo_button_set_label): New.
- (e_combo_button_set_menu): New.
- (impl_clicked): New, overriding the "clicked" method for
- GtkButton.
- (class_init): Install.
- (impl_button_release_event): Removed.
- (class_init): No need to override ::release_event with this
- anymore.
- (impl_released): New, override for the GtkButton::released method.
- (class_init): Install.
-
-2002-01-04 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-charset-picker.c: Added iso-8859-8 (Hebrew; Visual) to the
- list of charsets in the menu. Fixes bug #15655.
-
-2001-12-20 Ettore Perazzoli <ettore@ximian.com>
-
- * e-combo-button.c: New.
- * e-combo-button.h: New.
-
-2001-11-21 Not Zed <NotZed@Ximian.com>
-
- * e-filter-bar.c (menubar_activated): Mark the dialogue as already
- up so we dont allow multiple dialogues up. Behaviour fix part of
- #15745.
-
-2001-11-28 Damon Chaplin <damon@ximian.com>
-
- * e-map.c: updated to new version from Ximian Setup Tools.
- Fixes bug #7641.
-
-2001-11-27 Damon Chaplin <damon@ximian.com>
-
- * e-dateedit.c (e_date_edit_get_date): if allow_no_date_set is FALSE,
- return the last valid date entered, even if the field is currently
- empty. Fixes bug #15749.
-
-2001-11-05 JP Rosevear <jpr@ximian.com>
-
- * e-dateedit.c (e_date_edit_set_date_and_time_of_day): set both
- the date and the time of day in one call, creating only a single
- changed signal
-
- * e-dateedit.h: add proto
-
-2001-11-05 Christopher James Lahey <clahey@ximian.com>
-
-Based on a patch by Damon Chaplin <damon@ximian.com>
-
- * e-cell-date-edit.c: Connect to the button_press signal on the
- popup and do the grab correctly so that this dialog behaves
- properly when the user clicks it away. Also, changed all
- instances of setting of popup_shown field of ECellPopup to call
- e_cell_popup_set_shown. Fixes Ximian bug #14016.
-
-2001-10-31 <NotZed@Ximian.com>
-
- * e-filter-bar.c (build_items): Snotty code so we only disconnect
- to rules we no longer have, etc.
-
-2001-11-01 Not Zed <NotZed@Ximian.com>
-
- * e-filter-bar.c (build_items): Ref and connect to rule changed
- here, also clear out previous ref's.
- (generate_menu): No longer connect to rules, or reset rule array.
- (set_option): Dont reset option rules array.
- (context_rule_removed): Disconnect changed event on rule.
- (clear_rules): Fujnction to clear rules from an array.
- (destroy): Disconnect from context signals, and clear rules arrays.
-
- * e-filter-bar.h: Remove hash table for change id's.
-
-2001-10-30 Damon Chaplin <damon@ximian.com>
-
- * e-dateedit.c (e_date_edit_set_time_of_day): emit signal when time
- set to none/empty.
-
-2001-10-30 <NotZed@Ximian.com>
-
- * e-filter-bar.c (generate_menu): Hook to rule changed events.
- (destroy): Free change id table/unconnect to signals.
- (init): Setup change id table.
- (e_filter_bar_new): Hook onto rule removed signal.
- (context_rule_removed): If rule removed, disconnect from signal handler.
- (rule_changed): For changed rules, also rebuild menu. Fixed #12233.
-
-2001-10-30 Damon Chaplin <damon@ximian.com>
-
- * e-cell-date-edit.c (e_cell_date_edit_set_popup_values): try to parse
- just a date first, and if that works we assume it is a DATE value,
- so we clear the time field in the popup.
- (e_cell_date_edit_on_ok_clicked): if the time field is empty, use a
- DATE value.
- Also removed some debug messages.
-
-2001-10-30 <NotZed@Ximian.com>
-
- * e-filter-bar.c (set_option): Set the item to the option_base on
- it, so the current item is set. Fix for #7081.
-
-2001-10-30 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-date-edit.c (e_cell_date_edit_get_popup_pos): Adapt to
- the new ECellPopup signature.
-
-2001-10-29 Damon Chaplin <damon@ximian.com>
-
- * e-calendar-item.c (e_calendar_item_signal_emission_idle_cb): ref
- the ECalendarItem and check if it gets destroyed, to try to avoid a
- free memory write.
-
- * e-dateedit.c (e_date_edit_set_time_of_day): allow setting the time
- to empty by passing hour as -1.
-
-2001-10-23 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-filter-bar.c (rule_editor_clicked): Don't add the menu item
- here, do this in the context_changed signal callback instead.
- (context_changed): rebuild the search menu.
- (set_menu): Copy the items into a default_items list so we can
- regenerate the menu when something changes. Then call
- generate_menu().
- (generate_menu): Do what set_menu() used to do.
- (e_filter_bar_new): Don't do a rule_context_load() anymore since
- we don't need to.
- (destroy): free the default_items list.
-
-2001-10-23 Damon Chaplin <damon@ximian.com>
-
- * e-search-bar.c (copy_subitems): copy the translate field over as
- well. Should fix an uninitialized memory read.
-
-2001-10-23 Damon Chaplin <damon@ximian.com>
-
- * e-dateedit.c (e_date_edit_check_date_changed):
- (e_date_edit_check_time_changed): clear the struct tm fields to keep
- purify happy.
-
-2001-10-22 Damon Chaplin <damon@ximian.com>
-
- * e-cell-date-edit.c (e_cell_date_edit_set_popup_values):
- (e_cell_date_edit_update_cell): use the new ECellText methods to get
- the text and set the value.
-
- * e-cell-percent.c: new subclass of ECellText to display & edit a
- percentage value.
-
-2001-10-20 Jon Trowbridge <trow@ximian.com>
-
- * e-dateedit.c (e_date_edit_check_date_changed): Keep us from
- reading tmp_tm uninitialized, so purify won't complain.
-
-2001-10-09 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-charset-picker.c (e_charset_picker_bonobo_ui_populate): Now
- takes a menu path argument.
-
-2001-10-04 Rodrigo Moya <rodrigo@ximian.com>
-
- * Makefile.am: added BONOBO_GNOME_CFLAGS to make it compile with
- latest Bonobo
-
-2001-10-04 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-date-edit.c (e_cell_date_edit_get_popup_pos): Call
- gnome_canvas_world_to_window here. Finishes fixing Ximian bug
- #2613.
-
-2001-09-18 Damon Chaplin <damon@ximian.com>
-
- * e-dateedit.c (e_date_edit_grab_focus): grab focus to the date entry
- or the time entry, depending on which is visible. Fixes bug #7237.
-
-2001-09-16 Chris Toshok <toshok@ximian.com>
-
- * e-dateedit.h: add prototype for e_date_edit_set_editable.
-
- * e-dateedit.c (e_date_edit_set_editable): new function, analogous
- to gtk_entry_set_editable: let's the user select but not edit (or
- in this case, bring up the calendar view.)
-
-2001-09-13 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-search-bar.c (set_dropdown): Don't unref the old dropdown, we
- don't "own" it.
-
-2001-09-13 Larry Ewing <lewing@ximian.com>
-
- * e-search-bar.c (set_dropdown): unref the old dropdown_menu if
- there is one.
-
-2001-09-12 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-filter-bar.c (menubar_activated): No longer need the context
- in order to clone a FilterRule.
- (option_changed): Same.
-
-2001-09-06 Anna Marie Dirks <anna@ximian.com>
-
- * e-filter-bar.c: added a default size for the saved search
- dialog of 600 x 300 such that it opens at a usable size.
- this fixes bug #7083.
-
-2001-09-05 Anna Marie Dirks <anna@ximian.com>
-
- * e-search-bar.c (add_activate_button): added a wee bit of
- padding around the find now label in response to bug #7049.
-
-2001-08-23 Federico Mena Quintero <federico@ximian.com>
-
- * e-search-bar.c (e_search_bar_set_ids): New function to set the
- item_id and the subitem_id simultaneously.
-
-2001-08-16 Damon Chaplin <damon@ximian.com>
-
- * e-dateedit.c: added e_date_edit_get/set_make_time_insensitive()
- which makes the time field insensitive rather than hiding it.
- I'm not sure we're going to actually use this now, though.
-
-2001-08-16 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (activate_by_subitems): Set the horizontal usize
- of the entry to 4.
-
-2001-08-16 Jon Trowbridge <trow@ximian.com>
-
- * e-filter-bar.c (option_changed): Adjusted for renamed ESearchBar
- functions.
- (menubar_activated): Adjusted for renamed ESearchBar functions.
-
- * e-search-bar.c: Renames some of the horrible function names:
- s/option_choice/item_id/, s/suboption_choice/subitem_id/.
-
-2001-08-14 Federico Mena Quintero <federico@ximian.com>
-
- * e-cell-date-edit.c (e_cell_date_edit_destroy): Destroy, do not
- unref, the popup_window.
-
-2001-08-14 Federico Mena Quintero <federico@ximian.com>
-
- * e-search-bar.c (activate_by_subitems): Correctness fixes for
- when the entry and submenu must be interchanged.
-
-2001-08-14 Federico Mena Quintero <federico@ximian.com>
-
- *Please* add accessor functions instead of just object arguments!
-
- * e-search-bar.c (e_search_bar_set_option_choice): New function.
- (e_search_bar_set_suboption_choice): New function.
- (e_search_bar_set_text): New function.
- (impl_set_arg): Use the functions above instead of setting things
- directly.
- (add_dropdown): If the item is a separator, set it as insensitive.
- (activate_by_subitems): Handle the translate field in the subitem
- structure. Also, allow the creation of separators by having NULL
- text strings in the subitems.
- (set_option): If the item is a separator, set it as insensitive.
- (set_option): Do not use the subitem_garbage hack. Do proper
- memory management instead.
- (e_search_bar_set_suboption): New function to change the suboption
- items in a search bar.
-
- * e-search-bar.h (ESearchBarSubitem): Added a `translate' field.
- This API sucks so much it is not funny.
- (ESearchBar): Removed the subitem_garbage hack. Please do proper
- memory management.
-
-2001-08-14 Jon Trowbridge <trow@ximian.com>
-
- * e-search-bar.c (activate_by_subitems): Oops... initial
- suboption_choice should be subitems[0].id, not 0.
-
-2001-08-10 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-search-bar.c (impl_destroy): Oops, we didn't need to unref all
- of the widgets, just a few.
-
-2001-08-10 Jon Trowbridge <trow@ximian.com>
-
- * e-filter-bar.h: Set the subitems to NULL in the pre-defined
- ESearchBarItems.
-
- * e-filter-bar.c (rule_editor_clicked): Set the ESearchBarItem's
- subitems to NULL.
- (build_items): Set the ESearchBarItem's subitems to NULL.
- (e_filter_bar_new): Set the ESearchBarItem's subitems to NULL.
-
- * e-search-bar.c: Added support for subitems, so that a search
- option can key off of another option menu rather than just an
- entry.
-
-2001-08-10 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-filter-bar.c (destroy): Free all the goodies that we allocate
- at construct time and unref the rule context.
- (class_init): Override the destroy method.
-
-2001-08-09 Anna Marie Dirks <anna@ximian.com>
-
- Fixes bug #6918
-
- * e-filter-bar.h: Changed the "Save As.." menu item to
- "Add to Saved Searches".
-
-2001-08-09 Anna Marie Dirks <anna@ximian.com>
- * e-filter-bar.h : changed the E_FILTERBAR_RESET label from
- "Show All" to "Clear" to alleviate confusion about whether
- "Show All" means that hidden messages are also shown or not.
- (See ximian bug #6743)
-
-2001-08-09 Federico Mena Quintero <federico@ximian.com>
-
- * e-calendar-item.c (e_calendar_item_destroy): Chain to the
- destroy handler in the parent class!
-
- * e-clipped-label.c (e_clipped_label_destroy): Likewise. Sigh.
-
- * e-dropdown-button.c (impl_destroy): Likewise. Double sigh.
-
-2001-08-08 Anna Marie Dirks <anna@ximian.com>
-
- * e-search-bar.c: Re-labeled the "Activate" button "Find Now".
-
-2001-08-08 Ettore Perazzoli <ettore@ximian.com>
-
- * e-bonobo-widget.c: New.
- * e-bonobo-widget.h: New.
-
-2001-08-05 Ettore Perazzoli <ettore@ximian.com>
-
- [Added an "Activate" button to the search bar.]
-
- * e-search-bar.c (submit_button_clicked_cb): Callback for the
- "clicked" signal on the activate button.
- (add_submit): New function to add a "Activate" button on the right
- of the entry.
- (e_search_bar_construct): Call it.
- (add_spacer): Removed.
- (e_search_bar_construct): Don't call it.
- (find_id): Remove debugging message.
- (put_in_spacer_widget): New utility function to create a
- GtkEventBox with a border width of one and put a widget into it.
-
-2001-08-04 Ettore Perazzoli <ettore@ximian.com>
-
- * e-title-bar.c: Make the close icon as large as the pin icon so
- the bar doesn't change size when it switches between them.
- (e_title_bar_construct): Add some horizontal padding to the label
- to make it look nicer.
-
-2001-08-03 Federico Mena Quintero <federico@ximian.com>
-
- * e-calendar-item.c (e_calendar_item_mark_day): Request an update.
- (e_calendar_item_mark_days): Likewise.
-
-2001-07-24 Damon Chaplin <damon@ximian.com>
-
- * e-calendar-item.c (e_calendar_item_show_popup_menu): don't show the
- year in the popup submenu for the months, and center the months.
- Fixes
-
-2001-07-18 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-filter-bar.c (rule_editor_destroyed): When the dialog gets
- closed, always make sure the entry widget becomes sensitive again.
- (menubar_activated): Don't use FILTER_SOURCE_INCOMING because
- that's not what we want, we want (I think) NULL (at least with
- NULL, bug #4490 goes away).
-
-2001-07-16 Federico Mena Quintero <federico@ximian.com>
-
- Fixes bug #2901.
-
- * e-dateedit.c (e_date_edit_parse_date): Use e_time_parse_date().
- (e_date_edit_parse_time): Use e_time_parse_time().
-
-2001-07-17 jacob berkman <jacob@ximian.com>
-
- * e-search-bar.c (set_dropdown): don't unset _CAN_FOCUS
-
- * e-dropdown-button.c (menu_deactivate_cb): un-toggle ourself
- (impl_toggled): override the toggled rather than clicked signal.
- if we are active, popup the menu; else, popdown
-
- these fix ximian #2016
-
-2001-07-02 Damon Chaplin <damon@ximian.com>
-
- * e-calendar-item.c:
- * e-cell-date-edit.c:
- * e-dateedit.c: added functions to set a callback to get the current
- time, which is used instead of localtime(). We need this as we have to
- use our own timezones.
-
-2001-07-02 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-charset-picker.c (e_charset_picker_bonobo_ui_populate): Take a
- callback function and user_data so that we can add listeners to
- each of the menu items.
-
-2001-07-02 Jeffrey Stedfast <fejj@ximian.com>
-
- * Makefile.am: Updated to build e-charset-picker.c
-
- * e-charset-picker.[c,h]: Moved here from gal.
- (e_charset_picker_bonobo_ui_populate): New function to populate a
- bonobo-ui with a charset picker menu.
-
-2001-06-14 Damon Chaplin <damon@ximian.com>
-
- * e-map.[hc]: copied the EMap widget verbatim from Ximian Setup Tools.
- Hmm. Maybe it should go in gal, but its not a very general widget.
-
- * Makefile.am (INCLUDES): defined MAP_DIR for e-map.c.
- (libemiscwidgets_a_SOURCES): added e-map.[hc].
-
-2001-05-31 Federico Mena Quintero <federico@ximian.com>
-
- * e-dropdown-button.c (impl_button_press_event): Removed unused
- variable.
-
- * e-cell-date-edit.c (e_cell_date_edit_rebuild_time_list): Removed
- unused variable.
-
-2001-05-07 Gediminas Paulauskas <menesis@delfi.lt>
-
- * misc/e-filter-bar.h: xgettext does not find N_() in #defines. So
- created fake enum. Also removed spaces before "..."
-
-2001-04-24 Kjartan Maraas <kmaraas@gnome.org>
-
- * e-calendar-item.c, e-calendar.c, e-cell-date-edit.c,
- e-clipped-label.c, e-dateedit.c, e-dropdown-button:
- Added #include <glib.h> and moved corresponding local headers
- to the top.
-
-2001-04-15 Federico Mena Quintero <federico@ximian.com>
-
- * e-search-bar.c (e_search_bar_get_option_choice): New function,
- because it is ridiculous to have to hunt down object arguments to
- fetch values.
- (e_search_bar_get_text): Likewise.
- (impl_get_arg): Use the functions above so that we have to
- maintain only one version of the getters.
-
-2001-04-04 Kjartan Maraas <kmaraas@gnome.org>
-
- * e-calendar.c: More header fixes.
- * e-cell-date-edit.c: Same.
- * e-dateedit.[ch]: Same.
- * e-title-bar.c: Same here.
- * e-search-bar.c: More header fixes.
- * test-calendar.c: Same here.
-
-2001-03-29 Kjartan Maraas <kmaraas@gnome.org>
-
- * e-dropdown-button.c: Replace #include <gtk/gtk.h>
- * e-dropdown-button.h: Remove #include <gnome.h>
- * e-filter-bar.c: Replace #include <gtk/gtk.h>
- * e-filter-bar.h: Replace #include <gtk/gtk.h>
- * e-messagebox.c: Add #includes to count for removed <gnome.h> in
- e-messagebox.h:
- * e-messagebox.h: Replace #include <gnome.h>
- * e-search-bar.c: Replace #include <gnome.h>
- * e-search-bar.h: Same here
- * test-calendar.c: Remove #include <gnome.h>
- * test-dateedit.c: Replace #include <gnome.h>
- * test-dropdown-button.c: Same here.
- * test-title-bar.c: Same here.
-
-2001-03-22 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-filter-bar.c (rule_editor_clicked): Validate the filter rule.
-
-2001-03-18 Damon Chaplin <damon@ximian.com>
-
- * e-cell-date-edit.c (e_cell_date_edit_show_time_invalid_warning):
- use gnome_dialog_run() to make the warning dialog modal. Also created
- a better warning message showing the format expected.
- Also used e_time_format_time() to format all times.
-
-2001-03-15 Not Zed <NotZed@Ximian.com>
-
- * e-filter-bar.c (menubar_activated): If we click on the edit
- menu, then bring up a rule editor. If the user adds/removes rules
- though, they are neither saved, nor added to the menu's. sigh.
-
-2001-03-04 Damon Chaplin <damon@ximian.com>
-
- * e-cell-date-edit.c: pretty much working now.
-
-2001-03-01 Not Zed <NotZed@Ximian.com>
-
- * e-filter-bar.c: New type of search bar that interacts with
- filter contexts to save filters etc. Still probably needs a
- little cleanpu.
-
-2001-02-28 Not Zed <NotZed@Ximian.com>
-
- * e-search-bar.c (add_dropdown): Save the dropdown menu in the
- struct too. Sigh, this is only so we can scan its content later,
- ick.
- (e_search_bar_set_menu_sensitive): New function to se tthe
- sentisitivty of menyu items based on id.
- (find_id): New function to find the row and widget for a specific
- id.
- (add_option): Renamed to set_option.
- (add_dropdown): Renamed to set_dropdown.
- (add_dropdown): ?New function to add a single item.
- (set_dropdown): Call add_dropdown to add each item.
- (e_search_bar_add_menu): New public function to add a single item.
-
-2001-02-27 Not Zed <NotZed@Ximian.com>
-
- * Makefile.am (libemiscwidgets_a_SOURCES): Added filter-bar.[ch].
-
- * e-search-bar.c (class_init): Init virtual functions.
- (e_search_bar_set_option):
- (e_search_bar_set_menu): virtualise calling.
- (e_search_bar_construct): Call virtual functions to setup menus.
-
- * e-search-bar.h (struct _ESearchBarClass): Virtualise
- add_dropdown/add_option, so certain base options can be created.
-
-2001-02-25 Damon Chaplin <damon@ximian.com>
-
- * e-cell-date-edit.[hc]: new files to implement an ECell for showing
- and editing dates & times. (Unfinished)
-
- * Makefile.am (libemiscwidgets_a_SOURCES): added e-cell-date-edit.[hc]
-
-2001-02-24 Not Zed <NotZed@Ximian.com>
-
- * e-search-bar.c (add_dropdown): Move the event box into the
- esb->dropdown_holder. Changed so it can be called again on the
- same esb, to rebuild the menu.
- (e_search_bar_set_menu): New function to (re)set the menu.
- (add_option): Setup so it can be re-called to rebuild the option
- list.
- (e_search_bar_set_option): New function to build the menu's.
-
-2001-02-05 Jeffrey Stedfast <fejj@ximian.com>
-
- * .cvsignore: Ignore test-dropdown-button
-
-2001-01-28 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (add_spacer): Make the spacer 4 pixels wider.
- (add_dropdown): Put the dropdown button into an event box with a
- 1-pixel border, so that we match the [Hardcoded! Stupid GTK+!]
- border around the option menu.
-
-2001-01-28 Ettore Perazzoli <ettore@ximian.com>
-
- * e-dropdown-button.c (menu_deactivate_cb): New function to change
- the state of the toggle button when the pop-up menu disappears.
- (impl_clicked): Removed.
- (impl_button_press_event): New, implementation for
- `::button_press_event'. Pop-up the menu, and toggle the button.
- (class_init): Override `::button_press_event' with
- `impl_button_press_event'; don't override `::clicked' anymore.
-
- * e-dropdown-button.h, e-dropdown-button.c: Derive from
- `GtkToggleButton', instead of plain `GtkButton'.
-
-2001-01-27 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (add_dropdown): Make the dropdown button
- non-focusable.
-
-2001-01-27 Ettore Perazzoli <ettore@ximian.com>
-
- * e-search-bar.c (e_search_bar_init): Don't create the widgets
- here.
- (e_search_bar_construct): New. Do it here instead.
- (e_search_bar_new): Call it. Added preconditions.
- (esb_pack_menubar): Removed.
- (add_dropdown): New.
- (add_option): New.
- (add_entry): New.
- (e_search_bar_construct): Use `add_dropdown()', `add_option()',
- `add_entry()'.
- (class_init): Renamed from `e_seearch_bar_class_init'.
- (init): Renamed from `e_search_bar_init'.
- (impl_destroy): Renamed from `e_search_bar_destroy'.
- (emit_menu_activated): Renamed from `esb_menu_activated'.
- (emit_query_changed): Renamed from `esb_query_changed'.
- (menubar_activated_cb): Renamed from `esb_menubar_activated'.
- (option_activated_cb): Renamed from `esb_option_activated'.
- (esb_entry_activated): Renamed from `esb_entry_activated'.
- (impl_set_arg): Renamed from `e_search_bar_set_arg'.
- (impl_get_arg): Renamed from `e_search_bar_get_arg'.
-
- * e-search-bar.h (struct _ESearchBar): Removed member `menubar';
- replaced it with `dropdown'.
-
-2001-01-27 Ettore Perazzoli <ettore@ximian.com>
-
- * e-dropdown-button.c (e_dropdown_button_construct): Removed
- @ui_info and @data args. Obviously I am not very smart at this
- time of the night.
- (e_dropdown_button_new): Likewise.
-
-2001-01-27 Ettore Perazzoli <ettore@ximian.com>
-
- * e-dropdown-button.c, e-dropdown-button.h: New.
-
-2001-01-25 Damon Chaplin <damon@ximian.com>
-
- * e-calendar-item.[hc]: e_calendar_item_get_date_range() now returns
- a boolean, which is FALSE if no dates are currently shown.
- Plus a couple of minor sanity checks.
-
-2001-01-19 Federico Mena Quintero <federico@ximian.com>
-
- * e-calendar.c (e_calendar_init): Unset the GTK_CAN_FOCUS flag on
- the ECalendar.
- (e_calendar_focus_in): Removed function since it did nothing.
- (e_calendar_focus_out): Likewise.
- (e_calendar_key_press): Likewise.
- (e_calendar_init): Turn off the GTK_CAN_FOCUS flag for both arrow
- buttons.
-
-2001-01-17 Federico Mena Quintero <federico@ximian.com>
-
- * e-calendar-item.c (e_calendar_item_set_max_days_sel): Make zero
- the minimum number of days that can be specified.
- (e_calendar_item_set_arg): We do need an update when the maximum
- number of selected days is changed.
- (e_calendar_item_set_max_days_sel): Request an update of the
- canvas item.
- (e_calendar_item_button_press): Do not start selecting days if the
- max_days_selected is less than 1.
-
-2001-01-17 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-messagebox.c (e_message_box_get_id): Oops. Delete this. I
- never meant for this to get commit'd.
-
-2001-01-17 JP Rosevear <jpr@ximian.com>
-
- * e-messagebox.c (e_message_box_get_id): Dont remove the function, give
- it the proper name
-
-2001-01-17 Ettore Perazzoli <ettore@ximian.com>
-
- * e-messagebox.c (e_message_box_get_checkbox): Remove the version
- returning `const char *' as of course it doesn't compile. Please
- compile before committing.
-
-2001-01-17 Jeffrey Stedfast <fejj@ximian.com>
-
- * Makefile.am: Added e-messagebox to the build.
-
- * e-messagebox.[c,h]: Added a new messagebox window that contains
- a checkbox for "Don't show me this again."
-
-2001-01-16 Jason Leach <jasonleach@usa.net>
-
- * e-search-bar.[ch]: Moved here from $(toplevel)/filter.
-
-2000-12-22 JP Rosevear <jpr@helixcode.com>
-
- * e-calendar-item.h: add prototypes
-
- * e-calendar-item.c (e_calendar_item_init): Set max_days_selected to
- 1 and days_to_start_week_selection to -1 as documented in header
- (e_calendar_item_set_arg): use new accessor methods
- (e_calendar_item_get_arg): ditto
- (e_calendar_item_get_max_days_sel): accessor
- (e_calendar_item_set_max_days_sel): ditto
- (e_calendar_item_get_days_start_week_sel): ditto
- (e_calendar_item_set_days_start_week_sel): ditto
- (e_calendar_item_class_init): add display_popup argument
- (e_calendar_item_init): initialize display_popup member
- (e_calendar_item_get_arg): get display_popup member
- (e_calendar_item_set_arg): set display_popup member
- (e_calendar_item_button_press): only show the popup menu if the
- member is set
- (e_calendar_item_get_display_popup): acessor
- (e_calendar_item_set_display_popup): ditto
-
-2000-12-14 Federico Mena Quintero <federico@helixcode.com>
-
- * e-dateedit.h: #include <time.h>
-
-2000-12-08 JP Rosevear <jpr@helixcode.com>
-
- * e-calendar.c (e_calendar_destroy): Call the parent class destroyer
- as well
-
-2000-10-26 Damon Chaplin <damon@helixcode.com>
-
- * e-dateedit.[hc]: updated to emit "changed" when appropriate, which
- turned out to be amazingly difficult :(
- Also added e_date_edit_get/set_date() to get/set just the date.
- Added e_date_edit_date_is_valid() & e_date_edit_time_is_valid() so
- you can check if the user has tried to enter an invalid date.
- (All the get_date/time functions return the last valid date entered.)
-
- * test-dateedit.c: updated a bit.
-
-2000-11-02 Federico Mena Quintero <federico@helixcode.com>
-
- * e-dateedit.h (EDateEditClass): Removed the "time_changed"
- signal, since it was never being emitted in the first place. Time
- values *are* both date and time together anyways, so whenever one
- changes we should notify about the whole date/time value being
- changed.
- Renamed the remaining "date_changed" signal to just "changed".
-
- * e-dateedit.c (e_date_edit_class_init): Do not create the
- "time_changed" signal; rename the other one to "changed".
- (set_time): Moved the core functionality from
- e_date_edit_set_time() to here. This function just sets the
- widgets' values without emitting any signals.
- (e_date_edit_set_time): Emit the "changed" signal unconditionally.
- This is to be consistent with the rest of the GTK+ widgets, and it
- actually makes writing client code easier.
- (e_date_edit_new): Use set_time().
- (on_date_popup_now_button_clicked): Do not emit the signal here.
- (on_date_popup_none_button_clicked): Likewise.
- (e_date_edit_set_time_of_day): Emit the signal, since we do not
- call e_date_edit_set_time().
-
-2000-10-30 Kjartan Maraas <kmaraas@gnome.org>
-
- * e-calendar-item.c: #include <string.h> to get rid of warning.
- * e-clipped-label.c: Same here.
-
-2000-10-27 Federico Mena Quintero <federico@helixcode.com>
-
- * e-dateedit.c (e_date_edit_destroy): Do not unref the cal_popup
- since we already destroyed it.
-
-2000-10-11 Damon Chaplin <damon@helixcode.com>
-
- * e-calendar-item.c (e_calendar_item_recalc_sizes): fixed to
- recalculate min_cell_width/height in case the show_week_numbers option
- is changed.
-
- * e-dateedit.c: added support for hiding the date field, and added
- get/set_time_of_day() functions to get/set just the time.
-
-2000-09-30 Damon Chaplin <damon@helixcode.com>
-
- * e-calendar-item.c:
- * e-dateedit.c: better i18n of strftime strings.
-
-2000-09-29 Ettore Perazzoli <ettore@helixcode.com>
-
- * e-title-bar.c: New member `pin_gtk_pixmap' in
- `ETitleBarPrivate'. Signal "close_button_clicked" renamed to
- "button_clicked". Signal "title_button_press_event" renamed to
- "label_button_press_event".
- (init): Init new members.
- (close_button_realize_cb): Create the pin pixmap. Call
- `show_and_hide_pixmaps_according_to_mode()'.
- (e_title_bar_show_close_button): Renamed to
- `e_title_bar_show_button'.
- (e_title_bar_get_button_mode): New.
- (e_title_bar_set_button_mode): New.
-
-2000-09-23 Damon Chaplin <damon@helixcode.com>
-
- * e-calendar.c: use pixmaps instead of GtkArrows to look better.
- Also set the canvas window's background when realized so that we can
- set the button reliefs to none.
-
-2000-09-22 Damon Chaplin <damon@helixcode.com>
-
- * test-dateedit.c: updated a bit, adding a few EDateEdits with
- different options.
-
- * e-calendar-item.c (e_calendar_item_set_selection): aborted any
- current selection operation and initialize all of the selection fields.
- (e_calendar_item_unmap): new function to abort any current selection
- operation. Otherwise GnomeCanvas gets in a muddle about grabs.
-
- * e-dateedit.c: marked some strftime()/strptime() format strings for
- translation and used "%m/%d/%Y" instead of "%x" so we get the complete
- year number. Also changed e_date_edit_get_time() so it returns -2 if
- it can't parse the date or time, and -1 if it is explicitly set to
- None.
- (e_date_edit_parse_date): new function to parse the date string and
- add on the current century if a year of 0-99 is entered.
-
-2000-09-21 Damon Chaplin <damon@helixcode.com>
-
- * e-dateedit.c (on_date_button_clicked): only check return of strptime
- for NULL. It should now select the correct day set in the popup.
-
- * e-calendar.c:
- * e-calendar-item.c:
- * test-calendar.c: removed support for buttons within the ECalendar.
- It is cleaner to add them outside it, as EDateEdit does.
-
-2000-09-18 Dan Winship <danw@helixcode.com>
-
- * e-dateedit.c (_XOPEN_SOURCE): set this to 4 to specify how much
- X/Open we want with that.
-
-2000-09-18 Christopher James Lahey <clahey@helixcode.com>
-
- * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and
- $(EXTRA_GNOME_LIBS). Removed unneeded libraries.
-
- * e-calendar-item.c, e-calendar.c, e-calendar.h, e-title-bar.c:
- Fixed the #include lines to deal properly with gal.
-
- * e-scroll-frame.c, e-scroll-frame.h: Moved to gal.
-
-2000-09-11 Damon Chaplin <damon@helixcode.com>
-
- * Makefile.am (libemiscwidgets_a_SOURCES): added e-dateedit.[hc]
- and the test-dateedit app.
-
- * e-dateedit.[hc]: new widget to use instead of GnomeDateEdit. It
- uses the new ECalendar widget for the calendar and also supports
- "None", "Today" and "Now" buttons, and goes away with a single click.
-
- * test-dateedit.c: app to test the EDateEdit widget.
-
- * e-calendar-item.c: updated to support the EDateEdit better,
- mainly by adding the "move_selection_when_moving" arg so we can turn
- it off to keep the same day selected when changing the months shown.
-
-2000-09-05 Damon Chaplin <damon@helixcode.com>
-
- * e-calendar-item.c (e_calendar_item_draw_month): make sure we get
- the start_weekday since we need it for draw_days(). Fixes a drawing
- bug.
-
-2000-08-31 Damon Chaplin <damon@helixcode.com>
-
- * e-calendar-item.c (e_calendar_item_button_press):
- (e_calendar_item_button_release): grab/ungrab the pointer so we
- always get the button_release event.
-
-2000-08-30 Damon Chaplin <damon@helixcode.com>
-
- * e-calendar-item.[hc]:
- * e-calendar.[hc]: Updated.
-
-2000-08-10 Christopher James Lahey <clahey@helixcode.com>
-
- * e-calendar-item.c, e-calendar.c: Fixed some warnings.
-
-2000-07-25 Damon Chaplin <damon@helixcode.com>
-
- * e-calendar-item.h:
- * e-calendar.[hc]: new widget and canvas item to replace GtkCalendar.
- Not quite finished yet.
-
-2000-07-21 Ettore Perazzoli <ettore@helixcode.com>
-
- * e-title-bar.c (e_title_bar_set_title): We have a `EClippedLabel',
- not a `GtkLabel' here: use the right function to change the text.
-
-2000-07-12 Christopher James Lahey <clahey@helixcode.com>
-
- * e-scroll-frame.c: Tried rearranging the casts to try for a more
- correct computation.
-
-2000-07-08 Dan Winship <danw@helixcode.com>
-
- * e-scroll-frame.c (e_scroll_frame_add): comment out true but
- confused warning about non-scrollable widgets until Chris and/or
- Federico fix this correctly.
- (e_scroll_frame_size_allocate): If the available space for the
- child is less than the width/height of the frame, give the child
- an allocation of 0 rather than some small negative number cast to
- unsigned.
-
-2000-07-05 Dan Winship <danw@helixcode.com>
-
- * Makefile.am (INCLUDES): Set G_LOG_DOMAIN=__FILE__ rather than
- "e-title-bar" in all three widgets.
-
-2000-06-13 Anders Carlsson <andersca@gnu.org>
-
- * e-scroll-frame.c (e_scroll_frame_button_press): Control does
- horizontal scrolling, a la gimp.
-
-2000-06-11 Anders Carlsson <andersca@gnu.org>
-
- * e-scroll-frame.c (e_scroll_frame_button_press): Add support
- for mouse wheel scrolling in EScrollFrame.
-
-2000-06-10 Ettore Perazzoli <ettore@helixcode.com>
-
- * e-title-bar.c (close_button_realize_cb): Unref the pixmap and
- the mask.
-
diff --git a/widgets/misc/Makefile.am b/widgets/misc/Makefile.am
index daaf9717f2..6373ceb58b 100644
--- a/widgets/misc/Makefile.am
+++ b/widgets/misc/Makefile.am
@@ -69,10 +69,9 @@ widgetsinclude_HEADERS = \
e-signature-preview.h \
e-signature-script-dialog.h \
e-signature-tree-view.h \
- e-spinner.c \
- e-spinner.h \
e-url-entry.h \
e-web-view.h \
+ e-web-view-preview.h \
ea-calendar-cell.h \
ea-calendar-item.h \
ea-cell-table.h \
@@ -149,6 +148,7 @@ libemiscwidgets_la_SOURCES = \
e-signature-tree-view.c \
e-url-entry.c \
e-web-view.c \
+ e-web-view-preview.c \
ea-calendar-cell.c \
ea-calendar-item.c \
ea-cell-table.c \
@@ -226,7 +226,6 @@ test_preferences_window_LDADD = \
EXTRA_DIST = \
$(ui_DATA) \
e-pilot-settings.h \
- e-pilot-settings.c \
- ChangeLog.pre-1-4
+ e-pilot-settings.c
-include $(top_srcdir)/git.mk
diff --git a/widgets/misc/e-account-combo-box.c b/widgets/misc/e-account-combo-box.c
index 288ac408fb..7d34a29bfe 100644
--- a/widgets/misc/e-account-combo-box.c
+++ b/widgets/misc/e-account-combo-box.c
@@ -22,7 +22,6 @@
#include "e-account-combo-box.h"
#include <string.h>
-#include <camel/camel-store.h>
#define E_ACCOUNT_COMBO_BOX_GET_PRIVATE(obj) \
(G_TYPE_INSTANCE_GET_PRIVATE \
@@ -131,7 +130,7 @@ account_combo_box_test_account (EAccount *account)
camel_session, url, CAMEL_PROVIDER_STORE, &ex));
if (store != NULL) {
writable = (store->mode & CAMEL_STORE_WRITE);
- camel_object_unref (store);
+ g_object_unref (store);
}
camel_exception_clear (&ex);
diff --git a/widgets/misc/e-account-combo-box.h b/widgets/misc/e-account-combo-box.h
index c3fe4aa0f8..b624c9b17e 100644
--- a/widgets/misc/e-account-combo-box.h
+++ b/widgets/misc/e-account-combo-box.h
@@ -23,7 +23,7 @@
#define E_ACCOUNT_COMBO_BOX_H
#include <gtk/gtk.h>
-#include <camel/camel-session.h>
+#include <camel/camel.h>
#include <libedataserver/e-account.h>
#include <libedataserver/e-account-list.h>
diff --git a/widgets/misc/e-account-tree-view.c b/widgets/misc/e-account-tree-view.c
index 8c2e21092b..9b083a3f6e 100644
--- a/widgets/misc/e-account-tree-view.c
+++ b/widgets/misc/e-account-tree-view.c
@@ -22,7 +22,7 @@
#include "e-account-tree-view.h"
#include <glib/gi18n.h>
-#include <camel/camel-url.h>
+#include <camel/camel.h>
#define E_ACCOUNT_TREE_VIEW_GET_PRIVATE(obj) \
(G_TYPE_INSTANCE_GET_PRIVATE \
diff --git a/widgets/misc/e-action-combo-box.c b/widgets/misc/e-action-combo-box.c
index 2fa376d420..0260c6e19a 100644
--- a/widgets/misc/e-action-combo-box.c
+++ b/widgets/misc/e-action-combo-box.c
@@ -385,8 +385,8 @@ action_combo_box_class_init (EActionComboBoxClass *class)
PROP_ACTION,
g_param_spec_object (
"action",
- _("Action"),
- _("A GtkRadioAction"),
+ "Action",
+ "A GtkRadioAction",
GTK_TYPE_RADIO_ACTION,
G_PARAM_READWRITE));
}
diff --git a/widgets/misc/e-activity-proxy.c b/widgets/misc/e-activity-proxy.c
index 10249b1911..c503e5e26d 100644
--- a/widgets/misc/e-activity-proxy.c
+++ b/widgets/misc/e-activity-proxy.c
@@ -22,7 +22,6 @@
#include "e-activity-proxy.h"
#include <glib/gi18n.h>
-#include <e-spinner.h>
#define E_ACTIVITY_PROXY_GET_PRIVATE(obj) \
(G_TYPE_INSTANCE_GET_PRIVATE \
@@ -277,9 +276,9 @@ activity_proxy_init (EActivityProxy *proxy)
proxy->priv->button = g_object_ref (widget);
gtk_widget_hide (widget);
- /* XXX What's the rationale for killing the old spinner API? */
- widget = e_spinner_new_spinning_small_shown ();
- gtk_box_pack_start (GTK_BOX (container), widget, FALSE, FALSE, 0);
+ widget = gtk_spinner_new ();
+ gtk_spinner_start (GTK_SPINNER (widget));
+ gtk_box_pack_start (GTK_BOX (container), widget, FALSE, FALSE, 3);
proxy->priv->spinner = g_object_ref (widget);
gtk_widget_show (widget);
diff --git a/widgets/misc/e-attachment-handler-image.c b/widgets/misc/e-attachment-handler-image.c
index 6429eb6b8e..770b1c552b 100644
--- a/widgets/misc/e-attachment-handler-image.c
+++ b/widgets/misc/e-attachment-handler-image.c
@@ -24,6 +24,8 @@
#include <glib/gi18n.h>
#include <gconf/gconf-client.h>
+#include <e-util/e-util.h>
+
#define E_ATTACHMENT_HANDLER_IMAGE_GET_PRIVATE(obj) \
(G_TYPE_INSTANCE_GET_PRIVATE \
((obj), E_TYPE_ATTACHMENT_HANDLER_IMAGE, EAttachmentHandlerImagePrivate))
@@ -124,7 +126,7 @@ action_image_set_as_background_cb (GtkAction *action,
/* Save the image under ~/.gnome2/wallpapers/. */
path = g_build_filename (
- g_get_home_dir (), ".gnome2", "wallpapers", NULL);
+ e_get_gnome2_user_dir (), "wallpapers", NULL);
destination = g_file_new_for_path (path);
g_mkdir_with_parents (path, 0755);
g_free (path);
diff --git a/widgets/misc/e-attachment-paned.c b/widgets/misc/e-attachment-paned.c
index d47fe9c8c7..c9282c7718 100644
--- a/widgets/misc/e-attachment-paned.c
+++ b/widgets/misc/e-attachment-paned.c
@@ -516,7 +516,7 @@ attachment_paned_init (EAttachmentPaned *paned)
container = widget;
widget = e_attachment_icon_view_new ();
- GTK_WIDGET_SET_FLAGS (widget, GTK_CAN_FOCUS);
+ gtk_widget_set_can_focus (widget, TRUE);
gtk_icon_view_set_model (GTK_ICON_VIEW (widget), paned->priv->model);
gtk_container_add (GTK_CONTAINER (container), widget);
paned->priv->icon_view = g_object_ref (widget);
@@ -536,7 +536,7 @@ attachment_paned_init (EAttachmentPaned *paned)
container = widget;
widget = e_attachment_tree_view_new ();
- GTK_WIDGET_SET_FLAGS (widget, GTK_CAN_FOCUS);
+ gtk_widget_set_can_focus (widget, TRUE);
gtk_tree_view_set_model (GTK_TREE_VIEW (widget), paned->priv->model);
gtk_container_add (GTK_CONTAINER (container), widget);
paned->priv->tree_view = g_object_ref (widget);
@@ -602,7 +602,7 @@ attachment_paned_init (EAttachmentPaned *paned)
container = widget;
- widget = gtk_label_new_with_mnemonic (_("Show _Attachment Bar"));
+ widget = gtk_label_new_with_mnemonic (_("Show Attachment _Bar"));
gtk_box_pack_start (GTK_BOX (container), widget, FALSE, FALSE, 0);
paned->priv->show_hide_label = g_object_ref (widget);
gtk_widget_show (widget);
diff --git a/widgets/misc/e-attachment-view.c b/widgets/misc/e-attachment-view.c
index 2ff6fb4dab..832565c929 100644
--- a/widgets/misc/e-attachment-view.c
+++ b/widgets/misc/e-attachment-view.c
@@ -24,7 +24,6 @@
#include <config.h>
#include <glib/gi18n.h>
#include <gdk/gdkkeysyms.h>
-#include <camel/camel-stream-mem.h>
#include "e-util/e-binding.h"
#include "e-util/e-selection.h"
@@ -461,7 +460,7 @@ attachment_view_text_calendar (EAttachmentView *view,
e_attachment_load_handle_error, parent);
g_object_unref (attachment);
- camel_object_unref (mime_part);
+ g_object_unref (mime_part);
gtk_drag_finish (drag_context, TRUE, FALSE, time);
}
@@ -515,7 +514,7 @@ attachment_view_text_x_vcard (EAttachmentView *view,
e_attachment_load_handle_error, parent);
g_object_unref (attachment);
- camel_object_unref (mime_part);
+ g_object_unref (mime_part);
gtk_drag_finish (drag_context, TRUE, FALSE, time);
}
diff --git a/widgets/misc/e-attachment.c b/widgets/misc/e-attachment.c
index 4752251905..ba4e4004b3 100644
--- a/widgets/misc/e-attachment.c
+++ b/widgets/misc/e-attachment.c
@@ -25,14 +25,6 @@
#include <config.h>
#include <glib/gi18n.h>
#include <glib/gstdio.h>
-#include <camel/camel-iconv.h>
-#include <camel/camel-data-wrapper.h>
-#include <camel/camel-mime-message.h>
-#include <camel/camel-stream-filter.h>
-#include <camel/camel-stream-mem.h>
-#include <camel/camel-stream-null.h>
-#include <camel/camel-stream-vfs.h>
-#include <camel/camel-stream-fs.h>
#include <libedataserver/e-data-server-util.h>
@@ -678,7 +670,7 @@ attachment_dispose (GObject *object)
}
if (priv->mime_part != NULL) {
- camel_object_unref (priv->mime_part);
+ g_object_unref (priv->mime_part);
priv->mime_part = NULL;
}
@@ -792,11 +784,11 @@ attachment_class_init (EAttachmentClass *class)
g_object_class_install_property (
object_class,
PROP_MIME_PART,
- g_param_spec_boxed (
+ g_param_spec_object (
"mime-part",
"MIME Part",
NULL,
- E_TYPE_CAMEL_OBJECT,
+ CAMEL_TYPE_MIME_PART,
G_PARAM_READWRITE));
g_object_class_install_property (
@@ -1006,12 +998,12 @@ e_attachment_new_for_message (CamelMimeMessage *message)
g_string_free (description, TRUE);
wrapper = CAMEL_DATA_WRAPPER (message);
- camel_medium_set_content_object (CAMEL_MEDIUM (mime_part), wrapper);
+ camel_medium_set_content (CAMEL_MEDIUM (mime_part), wrapper);
camel_mime_part_set_content_type (mime_part, "message/rfc822");
attachment = e_attachment_new ();
e_attachment_set_mime_part (attachment, mime_part);
- camel_object_unref (mime_part);
+ g_object_unref (mime_part);
return attachment;
}
@@ -1036,7 +1028,7 @@ e_attachment_add_to_multipart (EAttachment *attachment,
return;
content_type = camel_mime_part_get_content_type (mime_part);
- wrapper = camel_medium_get_content_object (CAMEL_MEDIUM (mime_part));
+ wrapper = camel_medium_get_content (CAMEL_MEDIUM (mime_part));
if (CAMEL_IS_MULTIPART (wrapper))
goto exit;
@@ -1044,8 +1036,8 @@ e_attachment_add_to_multipart (EAttachment *attachment,
/* For text content, determine the best encoding and character set. */
if (camel_content_type_is (content_type, "text", "*")) {
CamelTransferEncoding encoding;
- CamelStreamFilter *filtered_stream;
- CamelMimeFilterBestenc *filter;
+ CamelStream *filtered_stream;
+ CamelMimeFilter *filter;
CamelStream *stream;
const gchar *charset;
@@ -1054,21 +1046,23 @@ e_attachment_add_to_multipart (EAttachment *attachment,
/* Determine the best encoding by writing the MIME
* part to a NULL stream with a "bestenc" filter. */
stream = camel_stream_null_new ();
- filtered_stream = camel_stream_filter_new_with_stream (stream);
+ filtered_stream = camel_stream_filter_new (stream);
filter = camel_mime_filter_bestenc_new (
CAMEL_BESTENC_GET_ENCODING);
camel_stream_filter_add (
- filtered_stream, CAMEL_MIME_FILTER (filter));
+ CAMEL_STREAM_FILTER (filtered_stream),
+ CAMEL_MIME_FILTER (filter));
camel_data_wrapper_decode_to_stream (
- wrapper, CAMEL_STREAM (filtered_stream));
- camel_object_unref (filtered_stream);
- camel_object_unref (stream);
+ wrapper, filtered_stream);
+ g_object_unref (filtered_stream);
+ g_object_unref (stream);
/* Retrieve the best encoding from the filter. */
encoding = camel_mime_filter_bestenc_get_best_encoding (
- filter, CAMEL_BESTENC_8BIT);
+ CAMEL_MIME_FILTER_BESTENC (filter),
+ CAMEL_BESTENC_8BIT);
camel_mime_part_set_encoding (mime_part, encoding);
- camel_object_unref (filter);
+ g_object_unref (filter);
if (encoding == CAMEL_TRANSFER_ENCODING_7BIT) {
/* The text fits within us-ascii, so this is safe.
@@ -1208,11 +1202,11 @@ e_attachment_set_mime_part (EAttachment *attachment,
if (mime_part != NULL) {
g_return_if_fail (CAMEL_IS_MIME_PART (mime_part));
- camel_object_ref (mime_part);
+ g_object_ref (mime_part);
}
if (attachment->priv->mime_part != NULL)
- camel_object_unref (attachment->priv->mime_part);
+ g_object_unref (attachment->priv->mime_part);
attachment->priv->mime_part = mime_part;
@@ -1537,12 +1531,12 @@ attachment_load_finish (LoadContext *load_context)
camel_data_wrapper_construct_from_stream (wrapper, stream);
camel_data_wrapper_set_mime_type (wrapper, mime_type);
camel_stream_close (stream);
- camel_object_unref (stream);
+ g_object_unref (stream);
mime_part = camel_mime_part_new ();
- camel_medium_set_content_object (CAMEL_MEDIUM (mime_part), wrapper);
+ camel_medium_set_content (CAMEL_MEDIUM (mime_part), wrapper);
- camel_object_unref (wrapper);
+ g_object_unref (wrapper);
g_free (mime_type);
display_name = g_file_info_get_display_name (file_info);
@@ -1565,7 +1559,7 @@ attachment_load_finish (LoadContext *load_context)
}
g_simple_async_result_set_op_res_gpointer (
- simple, mime_part, (GDestroyNotify) camel_object_unref);
+ simple, mime_part, (GDestroyNotify) g_object_unref);
g_simple_async_result_complete (simple);
@@ -1790,12 +1784,12 @@ attachment_load_from_mime_part (LoadContext *load_context)
e_attachment_set_file_info (attachment, file_info);
- camel_object_ref (mime_part);
+ g_object_ref (mime_part);
simple = load_context->simple;
g_simple_async_result_set_op_res_gpointer (
simple, mime_part,
- (GDestroyNotify) camel_object_unref);
+ (GDestroyNotify) g_object_unref);
g_simple_async_result_complete (simple);
attachment_load_context_free (load_context);
@@ -2468,9 +2462,9 @@ attachment_save_got_output_stream (SaveContext *save_context)
buffer = g_byte_array_new ();
stream = camel_stream_mem_new ();
camel_stream_mem_set_byte_array (CAMEL_STREAM_MEM (stream), buffer);
- wrapper = camel_medium_get_content_object (CAMEL_MEDIUM (mime_part));
+ wrapper = camel_medium_get_content (CAMEL_MEDIUM (mime_part));
camel_data_wrapper_decode_to_stream (wrapper, stream);
- camel_object_unref (stream);
+ g_object_unref (stream);
/* Load the buffer into a GMemoryInputStream.
* But watch out for zero length MIME parts. */
diff --git a/widgets/misc/e-attachment.h b/widgets/misc/e-attachment.h
index a6dff74661..7cd655c6ff 100644
--- a/widgets/misc/e-attachment.h
+++ b/widgets/misc/e-attachment.h
@@ -23,10 +23,7 @@
#define E_ATTACHMENT_H
#include <gtk/gtk.h>
-#include <camel/camel-cipher-context.h>
-#include <camel/camel-mime-part.h>
-#include <camel/camel-mime-message.h>
-#include <camel/camel-multipart.h>
+#include <camel/camel.h>
/* Standard GObject macros */
#define E_TYPE_ATTACHMENT \
diff --git a/widgets/misc/e-buffer-tagger.c b/widgets/misc/e-buffer-tagger.c
index 9501f29d6a..b3d5a4e61e 100644
--- a/widgets/misc/e-buffer-tagger.c
+++ b/widgets/misc/e-buffer-tagger.c
@@ -308,11 +308,7 @@ update_mouse_cursor (GtkTextView *text_view, gint x, gint y)
if (hovering != hovering_over_link) {
update_state (buffer, E_BUFFER_TAGGER_STATE_IS_HOVERING, hovering);
-#if GTK_CHECK_VERSION(2,19,7)
if (hovering && gtk_widget_has_focus (GTK_WIDGET (text_view)))
-#else
- if (hovering && GTK_WIDGET_HAS_FOCUS (text_view))
-#endif
gdk_window_set_cursor (gtk_text_view_get_window (text_view, GTK_TEXT_WINDOW_TEXT), hand_cursor);
else
gdk_window_set_cursor (gtk_text_view_get_window (text_view, GTK_TEXT_WINDOW_TEXT), regular_cursor);
diff --git a/widgets/misc/e-calendar-item.c b/widgets/misc/e-calendar-item.c
index 4d7506e05d..e67c2b7eeb 100644
--- a/widgets/misc/e-calendar-item.c
+++ b/widgets/misc/e-calendar-item.c
@@ -29,6 +29,7 @@
#include "ea-widgets.h"
#include <time.h>
+#include <stdlib.h>
#include <string.h>
#include <gtk/gtk.h>
#include <gdk/gdkkeysyms.h>
@@ -1557,11 +1558,7 @@ e_calendar_item_draw_day_numbers (ECalendarItem *calitem,
day_style = calitem->styles[(month_offset + 1) * 32 + day_num];
/* Get the colors & style to use for the day.*/
-#if GTK_CHECK_VERSION(2,19,7)
if ((gtk_widget_has_focus (GTK_WIDGET (item->canvas))) &&
-#else
- if ((GTK_WIDGET_HAS_FOCUS(item->canvas)) &&
-#endif
item->canvas->focused_item == item)
has_focus = TRUE;
else
diff --git a/widgets/misc/e-calendar.c b/widgets/misc/e-calendar.c
index 27ac031b8d..fd8f882b25 100644
--- a/widgets/misc/e-calendar.c
+++ b/widgets/misc/e-calendar.c
@@ -266,11 +266,7 @@ e_calendar_style_set (GtkWidget *widget,
/* Set the background of the canvas window to the normal color,
or the arrow buttons are not displayed properly. */
-#if GTK_CHECK_VERSION(2,19,7)
if (gtk_widget_get_realized (widget)) {
-#else
- if (GTK_WIDGET_REALIZED (widget)) {
-#endif
GtkStyle *style;
GdkWindow *window;
@@ -562,13 +558,8 @@ e_calendar_button_has_focus (ECalendar *cal)
prev_widget = GNOME_CANVAS_WIDGET(cal->prev_item)->widget;
next_widget = GNOME_CANVAS_WIDGET(cal->next_item)->widget;
-#if GTK_CHECK_VERSION(2,19,7)
ret_val = gtk_widget_has_focus (prev_widget) ||
gtk_widget_has_focus (next_widget);
-#else
- ret_val = GTK_WIDGET_HAS_FOCUS (prev_widget) ||
- GTK_WIDGET_HAS_FOCUS (next_widget);
-#endif
return ret_val;
}
@@ -595,11 +586,7 @@ e_calendar_focus (GtkWidget *widget, GtkDirectionType direction)
children[2] = cal->next_item;
/* get current focused item, if e-calendar has had focus */
-#if GTK_CHECK_VERSION(2,19,7)
if (gtk_widget_has_focus (widget) || e_calendar_button_has_focus (cal))
-#else
- if (GTK_WIDGET_HAS_FOCUS (widget) || e_calendar_button_has_focus (cal))
-#endif
for (index = 0; index < E_CALENDAR_FOCUS_CHILDREN_NUM; ++index) {
if (canvas->focused_item == NULL)
break;
@@ -636,30 +623,29 @@ e_calendar_focus (GtkWidget *widget, GtkDirectionType direction)
void
e_calendar_set_focusable (ECalendar *cal, gboolean focusable)
{
+ GtkWidget *widget;
GtkWidget *prev_widget, *next_widget;
+ GtkWidget *toplevel;
g_return_if_fail (E_IS_CALENDAR (cal));
+ widget = GTK_WIDGET (cal);
prev_widget = GNOME_CANVAS_WIDGET(cal->prev_item)->widget;
next_widget = GNOME_CANVAS_WIDGET(cal->next_item)->widget;
if (focusable) {
- GTK_WIDGET_SET_FLAGS (cal, GTK_CAN_FOCUS);
- GTK_WIDGET_SET_FLAGS (prev_widget, GTK_CAN_FOCUS);
- GTK_WIDGET_SET_FLAGS (next_widget, GTK_CAN_FOCUS);
+ gtk_widget_set_can_focus (widget, TRUE);
+ gtk_widget_set_can_focus (prev_widget, TRUE);
+ gtk_widget_set_can_focus (next_widget, TRUE);
}
else {
-#if GTK_CHECK_VERSION(2,19,7)
if (gtk_widget_has_focus (GTK_WIDGET (cal)) || e_calendar_button_has_focus (cal)) {
-#else
- if (GTK_WIDGET_HAS_FOCUS (cal) || e_calendar_button_has_focus (cal)) {
-#endif
- GtkWidget *toplevel = gtk_widget_get_toplevel (GTK_WIDGET (cal));
+ toplevel = gtk_widget_get_toplevel (widget);
if (toplevel)
gtk_widget_grab_focus (toplevel);
}
- GTK_WIDGET_UNSET_FLAGS (cal, GTK_CAN_FOCUS);
- GTK_WIDGET_UNSET_FLAGS (prev_widget, GTK_CAN_FOCUS);
- GTK_WIDGET_UNSET_FLAGS (next_widget, GTK_CAN_FOCUS);
+ gtk_widget_set_can_focus (widget, FALSE);
+ gtk_widget_set_can_focus (prev_widget, FALSE);
+ gtk_widget_set_can_focus (next_widget, FALSE);
}
}
diff --git a/widgets/misc/e-canvas-background.c b/widgets/misc/e-canvas-background.c
index 3b4cbadd20..28875725b3 100644
--- a/widgets/misc/e-canvas-background.c
+++ b/widgets/misc/e-canvas-background.c
@@ -437,11 +437,7 @@ ecb_style_set (ECanvasBackground *ecb,
style = gtk_widget_get_style (GTK_WIDGET (item->canvas));
-#if GTK_CHECK_VERSION(2,19,7)
if (gtk_widget_get_realized (GTK_WIDGET (item->canvas))) {
-#else
- if (GTK_WIDGET_REALIZED (item->canvas)) {
-#endif
gdk_gc_set_foreground (
ecb->priv->gc, &style->base[GTK_STATE_NORMAL]);
gnome_canvas_item_request_update (GNOME_CANVAS_ITEM (ecb));
@@ -468,57 +464,57 @@ ecb_class_init (ECanvasBackgroundClass *ecb_class)
g_object_class_install_property (object_class, PROP_FILL_COLOR,
g_param_spec_string ("fill_color",
- _( "Fill color" ),
- _( "Fill color" ),
+ "Fill color",
+ "Fill color",
NULL,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_FILL_COLOR_GDK,
g_param_spec_boxed ("fill_color_gdk",
- _( "GDK fill color" ),
- _( "GDK fill color" ),
+ "GDK fill color",
+ "GDK fill color",
GDK_TYPE_COLOR,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_FILL_COLOR_RGBA,
g_param_spec_uint ("fill_color_rgba",
- _( "GDK fill color" ),
- _( "GDK fill color" ),
+ "GDK fill color",
+ "GDK fill color",
0, G_MAXUINT, 0,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_FILL_STIPPLE,
g_param_spec_object ("fill_stipple",
- _( "Fill stipple" ),
- _( "Fill stipple" ),
+ "Fill stipple",
+ "Fill stipple",
GDK_TYPE_WINDOW,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_X1,
g_param_spec_double ("x1",
- _( "X1" ),
- _( "X1" ),
+ "X1",
+ "X1",
0.0, G_MAXDOUBLE, 0.0,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_X2,
g_param_spec_double ("x2",
- _( "X2" ),
- _( "X2" ),
+ "X2",
+ "X2",
0.0, G_MAXDOUBLE, 0.0,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_Y1,
g_param_spec_double ("y1",
- _( "Y1" ),
- _( "Y1" ),
+ "Y1",
+ "Y1",
0.0, G_MAXDOUBLE, 0.0,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_Y2,
g_param_spec_double ("y2",
- _( "Y2" ),
- _( "Y2" ),
+ "Y2",
+ "Y2",
0.0, G_MAXDOUBLE, 0.0,
G_PARAM_READWRITE));
ecb_signals [STYLE_SET] =
diff --git a/widgets/misc/e-canvas-vbox.c b/widgets/misc/e-canvas-vbox.c
index e9d78f220c..63b23efdf6 100644
--- a/widgets/misc/e-canvas-vbox.c
+++ b/widgets/misc/e-canvas-vbox.c
@@ -80,26 +80,26 @@ e_canvas_vbox_class_init (ECanvasVboxClass *klass)
g_object_class_install_property (object_class, PROP_WIDTH,
g_param_spec_double ("width",
- _( "Width" ),
- _( "Width" ),
+ "Width",
+ "Width",
0.0, G_MAXDOUBLE, 0.0,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_MINIMUM_WIDTH,
g_param_spec_double ("minimum_width",
- _( "Minimum width" ),
- _( "Minimum Width" ),
+ "Minimum width",
+ "Minimum Width",
0.0, G_MAXDOUBLE, 0.0,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_HEIGHT,
g_param_spec_double ("height",
- _( "Height" ),
- _( "Height" ),
+ "Height",
+ "Height",
0.0, G_MAXDOUBLE, 0.0,
G_PARAM_READABLE));
g_object_class_install_property (object_class, PROP_SPACING,
g_param_spec_double ("spacing",
- _( "Spacing" ),
- _( "Spacing" ),
+ "Spacing",
+ "Spacing",
0.0, G_MAXDOUBLE, 0.0,
G_PARAM_READWRITE));
}
diff --git a/widgets/misc/e-canvas.c b/widgets/misc/e-canvas.c
index db187b6e13..593c9c4530 100644
--- a/widgets/misc/e-canvas.c
+++ b/widgets/misc/e-canvas.c
@@ -568,11 +568,7 @@ e_canvas_item_grab_focus (GnomeCanvasItem *item, gboolean widget_too)
item->canvas->focused_item = item;
-#if GTK_CHECK_VERSION(2,19,7)
if (widget_too && !gtk_widget_has_focus (GTK_WIDGET(item->canvas))) {
-#else
- if (widget_too && !GTK_WIDGET_HAS_FOCUS (GTK_WIDGET(item->canvas))) {
-#endif
gtk_widget_grab_focus (GTK_WIDGET (item->canvas));
}
diff --git a/widgets/misc/e-dateedit.c b/widgets/misc/e-dateedit.c
index 03c8f2fd47..73b649defd 100644
--- a/widgets/misc/e-dateedit.c
+++ b/widgets/misc/e-dateedit.c
@@ -1699,11 +1699,7 @@ on_date_edit_time_selected (GtkComboBox *combo,
if (gtk_combo_box_get_active (combo) == -1)
return;
-#if GTK_CHECK_VERSION(2,19,7)
if (!gtk_widget_get_mapped (child))
-#else
- if (!GTK_WIDGET_MAPPED (child))
-#endif
return;
e_date_edit_check_time_changed (dedit);
diff --git a/widgets/misc/e-hinted-entry.c b/widgets/misc/e-hinted-entry.c
index 24bac0087c..51131cedcd 100644
--- a/widgets/misc/e-hinted-entry.c
+++ b/widgets/misc/e-hinted-entry.c
@@ -290,11 +290,7 @@ e_hinted_entry_set_text (EHintedEntry *entry,
if (text == NULL)
text = "";
-#if GTK_CHECK_VERSION(2,19,7)
if (*text == '\0' && !gtk_widget_has_focus (GTK_WIDGET (entry)))
-#else
- if (*text == '\0' && !GTK_WIDGET_HAS_FOCUS (entry))
-#endif
hinted_entry_show_hint (entry);
else {
hinted_entry_hide_hint (entry);
diff --git a/widgets/misc/e-import-assistant.c b/widgets/misc/e-import-assistant.c
index 30d41385f4..3ca06dcda8 100644
--- a/widgets/misc/e-import-assistant.c
+++ b/widgets/misc/e-import-assistant.c
@@ -71,8 +71,12 @@ struct _ImportProgressPage {
};
struct _ImportSimplePage {
+ GtkWidget *actionlabel;
+ GtkWidget *filetypetable;
GtkWidget *filetype;
- GtkWidget *control; /* importer's destination widget in an alignment */
+ GtkWidget *control; /* importer's destination or preview widget in an alignment */
+ gboolean has_preview; /* TRUE when 'control' holds a preview widget,
+ otherwise holds destination widget */
EImportTargetURI *target;
EImportImporter *importer;
@@ -427,7 +431,6 @@ import_assistant_simple_page_init (EImportAssistant *import_assistant)
GtkWidget *widget;
GtkCellRenderer *cell;
GtkListStore *store;
- const gchar *text;
gint row = 0;
page = gtk_vbox_new (FALSE, 6);
@@ -436,12 +439,11 @@ import_assistant_simple_page_init (EImportAssistant *import_assistant)
container = page;
- text = _("Select what type of file you want to import from the list.");
-
- widget = gtk_label_new (text);
+ widget = gtk_label_new ("");
gtk_label_set_line_wrap (GTK_LABEL (widget), TRUE);
gtk_box_pack_start (GTK_BOX (container), widget, FALSE, TRUE, 0);
gtk_widget_show (widget);
+ import_assistant->priv->simple_page.actionlabel = widget;
widget = gtk_table_new (2, 1, FALSE);
gtk_table_set_row_spacings (GTK_TABLE (widget), 2);
@@ -449,6 +451,7 @@ import_assistant_simple_page_init (EImportAssistant *import_assistant)
gtk_container_set_border_width (GTK_CONTAINER (widget), 8);
gtk_box_pack_start (GTK_BOX (container), widget, FALSE, TRUE, 0);
gtk_widget_show (widget);
+ import_assistant->priv->simple_page.filetypetable = widget;
container = widget;
@@ -743,7 +746,7 @@ prepare_progress_page (GtkAssistant *assistant,
g_object_get (G_OBJECT (assistant), "is-simple", &is_simple, NULL);
- intelligent_import = gtk_toggle_button_get_active (
+ intelligent_import = is_simple ? FALSE : gtk_toggle_button_get_active (
GTK_TOGGLE_BUTTON (priv->type_page.intelligent));
if (is_simple) {
@@ -797,9 +800,15 @@ simple_filetype_changed_cb (GtkComboBox *combo_box, GtkAssistant *assistant)
if (page->control)
gtk_widget_destroy (page->control);
+ page->has_preview = FALSE;
+
+ control = e_import_get_preview_widget (priv->import, (EImportTarget *) page->target, page->importer);
+ if (control) {
+ page->has_preview = TRUE;
+ gtk_widget_set_size_request (control, 320, 240);
+ } else
+ control = create_importer_control (priv->import, (EImportTarget *)page->target, page->importer);
- control = create_importer_control (
- priv->import, (EImportTarget *)page->target, page->importer);
page->control = gtk_alignment_new (0.0, 0.0, 1.0, 1.0);
gtk_widget_show (page->control);
gtk_container_add (GTK_CONTAINER (page->control), control);
@@ -847,8 +856,6 @@ prepare_simple_page (GtkAssistant *assistant, GtkWidget *vbox)
-1);
}
- g_slist_free (importers);
-
gtk_combo_box_set_active (GTK_COMBO_BOX (page->filetype), 0);
g_object_set_data (G_OBJECT (page->filetype), "page-vbox", vbox);
@@ -857,6 +864,56 @@ prepare_simple_page (GtkAssistant *assistant, GtkWidget *vbox)
g_signal_connect (
page->filetype, "changed",
G_CALLBACK (simple_filetype_changed_cb), assistant);
+
+ if (gtk_tree_model_iter_n_children (GTK_TREE_MODEL (store), NULL) == 1) {
+ gchar *title;
+
+ /* only one importer found, make it even simpler */
+ gtk_label_set_text (GTK_LABEL (page->actionlabel),
+ page->has_preview ?
+ _("Preview data to be imported") :
+ _("Choose the destination for this import"));
+
+ gtk_widget_hide (page->filetypetable);
+
+ title = g_strconcat (_("Import Data"), " - ", ((EImportImporter *)importers->data)->name, NULL);
+ gtk_assistant_set_page_title (assistant, vbox, title);
+ g_free (title);
+ } else {
+ /* multiple importers found, be able to choose from them */
+ gtk_label_set_text (GTK_LABEL (page->actionlabel), _("Select what type of file you want to import from the list."));
+
+ gtk_widget_show (page->filetypetable);
+
+ gtk_assistant_set_page_title (assistant, vbox, _("Import Data"));
+ }
+
+ g_slist_free (importers);
+}
+
+static gboolean
+prepare_simple_destination_page (GtkAssistant *assistant,
+ GtkWidget *vbox)
+{
+ EImportAssistantPrivate *priv;
+ ImportDestinationPage *page;
+ ImportSimplePage *simple_page;
+
+ priv = E_IMPORT_ASSISTANT_GET_PRIVATE (assistant);
+ page = &priv->destination_page;
+ simple_page = &priv->simple_page;
+
+ if (page->control)
+ gtk_container_remove (GTK_CONTAINER (vbox), page->control);
+
+ page->control = create_importer_control (
+ priv->import, (EImportTarget *)
+ simple_page->target, simple_page->importer);
+
+ gtk_box_pack_start (GTK_BOX (vbox), page->control, TRUE, TRUE, 0);
+ gtk_assistant_set_page_complete (assistant, vbox, TRUE);
+
+ return FALSE;
}
static gint
@@ -864,6 +921,16 @@ forward_cb (gint current_page,
EImportAssistant *import_assistant)
{
GtkToggleButton *toggle_button;
+ gboolean is_simple = FALSE;
+
+ g_object_get (G_OBJECT (import_assistant), "is-simple", &is_simple, NULL);
+
+ if (is_simple) {
+ if (!import_assistant->priv->simple_page.has_preview)
+ current_page++;
+
+ return current_page + 1;
+ }
toggle_button = GTK_TOGGLE_BUTTON (
import_assistant->priv->type_page.intelligent);
@@ -1076,6 +1143,8 @@ import_assistant_prepare (GtkAssistant *assistant,
if (page_no == 0) {
prepare_simple_page (assistant, page);
} else if (page_no == 1) {
+ prepare_simple_destination_page (assistant, page);
+ } else if (page_no == 2) {
prepare_progress_page (assistant, page);
}
@@ -1193,6 +1262,14 @@ import_assistant_construct (EImportAssistant *import_assistant)
gtk_assistant_append_page (assistant, page);
gtk_assistant_set_page_header_image (assistant, page, pixbuf);
+ gtk_assistant_set_page_title (assistant, page, _("Import Data"));
+ gtk_assistant_set_page_type (assistant, page, GTK_ASSISTANT_PAGE_CONTENT);
+
+ /* File destination page - when with preview*/
+ page = import_assistant_destination_page_init (import_assistant);
+
+ gtk_assistant_append_page (assistant, page);
+ gtk_assistant_set_page_header_image (assistant, page, pixbuf);
gtk_assistant_set_page_title (assistant, page, _("Import Location"));
gtk_assistant_set_page_type (assistant, page, GTK_ASSISTANT_PAGE_CONTENT);
} else {
@@ -1272,11 +1349,9 @@ import_assistant_construct (EImportAssistant *import_assistant)
gtk_assistant_set_page_type (assistant, page, GTK_ASSISTANT_PAGE_PROGRESS);
gtk_assistant_set_page_complete (assistant, page, TRUE);
- if (!import_assistant->priv->is_simple) {
- gtk_assistant_set_forward_page_func (
- assistant, (GtkAssistantPageFunc)
- forward_cb, import_assistant, NULL);
- }
+ gtk_assistant_set_forward_page_func (
+ assistant, (GtkAssistantPageFunc)
+ forward_cb, import_assistant, NULL);
g_object_unref (pixbuf);
diff --git a/widgets/misc/e-map.c b/widgets/misc/e-map.c
index ff13e41be8..22ea72fa6a 100644
--- a/widgets/misc/e-map.c
+++ b/widgets/misc/e-map.c
@@ -198,8 +198,11 @@ static void
e_map_init (EMap *view)
{
EMapPrivate *priv;
+ GtkWidget *widget;
gchar *map_file_name = g_build_filename (EVOLUTION_IMAGESDIR, "world_map-960.png", NULL);
+ widget = GTK_WIDGET (view);
+
priv = g_new0 (EMapPrivate, 1);
view->priv = priv;
@@ -210,8 +213,8 @@ e_map_init (EMap *view)
priv->zoom_state = E_MAP_ZOOMED_OUT;
priv->points = g_ptr_array_new ();
- GTK_WIDGET_SET_FLAGS (view, GTK_CAN_FOCUS);
- GTK_WIDGET_UNSET_FLAGS (view, GTK_NO_WINDOW);
+ gtk_widget_set_can_focus (widget, TRUE);
+ gtk_widget_set_has_window (widget, TRUE);
}
/* Destroy handler for the map view */
@@ -300,7 +303,7 @@ e_map_realize (GtkWidget *widget)
g_return_if_fail (widget != NULL);
g_return_if_fail (E_IS_MAP (widget));
- GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED);
+ gtk_widget_set_realized (widget, TRUE);
gtk_widget_get_allocation (widget, &allocation);
@@ -382,11 +385,7 @@ e_map_size_allocate (GtkWidget *widget, GtkAllocation *allocation)
gtk_widget_set_allocation (widget, allocation);
-#if GTK_CHECK_VERSION(2,19,7)
if (gtk_widget_get_realized (widget)) {
-#else
- if (GTK_WIDGET_REALIZED (widget)) {
-#endif
GdkWindow *window;
window = gtk_widget_get_window (widget);
@@ -410,11 +409,7 @@ e_map_size_allocate (GtkWidget *widget, GtkAllocation *allocation)
static gint
e_map_button_press (GtkWidget *widget, GdkEventButton *event)
{
-#if GTK_CHECK_VERSION(2,19,7)
if (!gtk_widget_has_focus (widget)) gtk_widget_grab_focus (widget);
-#else
- if (!GTK_WIDGET_HAS_FOCUS (widget)) gtk_widget_grab_focus (widget);
-#endif
return TRUE;
}
@@ -649,11 +644,7 @@ e_map_window_to_world (EMap *map, gdouble win_x, gdouble win_y, gdouble *world_l
g_return_if_fail (map);
priv = map->priv;
-#if GTK_CHECK_VERSION(2,19,7)
g_return_if_fail (gtk_widget_get_realized (GTK_WIDGET (map)));
-#else
- g_return_if_fail (GTK_WIDGET_REALIZED (GTK_WIDGET (map)));
-#endif
width = gdk_pixbuf_get_width (priv->map_render_pixbuf);
height = gdk_pixbuf_get_height (priv->map_render_pixbuf);
@@ -706,11 +697,7 @@ e_map_zoom_to_location (EMap *map, gdouble longitude, gdouble latitude)
EMapPrivate *priv;
g_return_if_fail (map);
-#if GTK_CHECK_VERSION(2,19,7)
g_return_if_fail (gtk_widget_get_realized (GTK_WIDGET (map)));
-#else
- g_return_if_fail (GTK_WIDGET_REALIZED (GTK_WIDGET (map)));
-#endif
priv = map->priv;
@@ -730,11 +717,7 @@ e_map_zoom_out (EMap *map)
EMapPrivate *priv;
g_return_if_fail (map);
-#if GTK_CHECK_VERSION(2,19,7)
g_return_if_fail (gtk_widget_get_realized (GTK_WIDGET (map)));
-#else
- g_return_if_fail (GTK_WIDGET_REALIZED (GTK_WIDGET (map)));
-#endif
priv = map->priv;
@@ -970,11 +953,7 @@ update_render_pixbuf (EMap *map,
gdouble zoom;
gint i;
-#if GTK_CHECK_VERSION(2,19,7)
if (!gtk_widget_get_realized (GTK_WIDGET (map)))
-#else
- if (!GTK_WIDGET_REALIZED (map))
-#endif
return;
gtk_widget_get_allocation (GTK_WIDGET (map), &allocation);
@@ -1039,13 +1018,8 @@ request_paint_area (EMap *view, GdkRectangle *area)
EMapPrivate *priv;
gint width, height;
-#if GTK_CHECK_VERSION(2,19,7)
if (!gtk_widget_is_drawable (GTK_WIDGET (view)) ||
!gtk_widget_get_realized (GTK_WIDGET (view))) return;
-#else
- if (!GTK_WIDGET_DRAWABLE (GTK_WIDGET (view)) ||
- !GTK_WIDGET_REALIZED (GTK_WIDGET (view))) return;
-#endif
priv = view->priv;
if (!priv->map_render_pixbuf) return;
@@ -1255,11 +1229,7 @@ scroll_to (EMap *view, gint x, gint y)
priv->xofs = x;
priv->yofs = y;
-#if GTK_CHECK_VERSION(2,19,7)
if (!gtk_widget_is_drawable (GTK_WIDGET (view)))
-#else
- if (!GTK_WIDGET_DRAWABLE (view))
-#endif
return;
gtk_widget_get_allocation (GTK_WIDGET (view), &allocation);
@@ -1573,11 +1543,7 @@ zoom_in_smooth (EMap *map)
gdouble x, y;
g_return_if_fail (map);
-#if GTK_CHECK_VERSION(2,19,7)
g_return_if_fail (gtk_widget_get_realized (GTK_WIDGET (map)));
-#else
- g_return_if_fail (GTK_WIDGET_REALIZED (GTK_WIDGET (map)));
-#endif
gtk_widget_get_allocation (GTK_WIDGET (map), &allocation);
@@ -1744,11 +1710,7 @@ set_scroll_area (EMap *view)
priv = view->priv;
-#if GTK_CHECK_VERSION(2,19,7)
if (!gtk_widget_get_realized (GTK_WIDGET (view))) return;
-#else
- if (!GTK_WIDGET_REALIZED (GTK_WIDGET (view))) return;
-#endif
if (!priv->hadj || !priv->vadj) return;
g_object_freeze_notify (G_OBJECT (priv->hadj));
diff --git a/widgets/misc/e-menu-tool-button.c b/widgets/misc/e-menu-tool-button.c
index 0d9599c2f4..5a87e7420a 100644
--- a/widgets/misc/e-menu-tool-button.c
+++ b/widgets/misc/e-menu-tool-button.c
@@ -50,8 +50,7 @@ menu_tool_button_get_first_menu_item (GtkMenuToolButton *menu_tool_button)
if (!GTK_IS_MENU (menu))
return NULL;
- /* XXX GTK+ 2.18 provides no accessor function. */
- children = GTK_MENU_SHELL (menu)->children;
+ children = gtk_container_get_children (GTK_CONTAINER (menu));
if (children == NULL)
return NULL;
diff --git a/widgets/misc/e-online-button.c b/widgets/misc/e-online-button.c
index 601aaa4117..1157ecdb86 100644
--- a/widgets/misc/e-online-button.c
+++ b/widgets/misc/e-online-button.c
@@ -51,11 +51,7 @@ online_button_update_tooltip (EOnlineButton *button)
if (e_online_button_get_online (button))
tooltip = ONLINE_TOOLTIP;
-#if GTK_CHECK_VERSION(2,19,7)
else if (gtk_widget_get_sensitive (GTK_WIDGET (button)))
-#else
- else if (GTK_WIDGET_SENSITIVE (button))
-#endif
tooltip = OFFLINE_TOOLTIP;
else
tooltip = NETWORK_UNAVAILABLE_TOOLTIP;
@@ -131,8 +127,8 @@ online_button_class_init (EOnlineButtonClass *class)
PROP_ONLINE,
g_param_spec_boolean (
"online",
- _("Online"),
- _("The button state is online"),
+ "Online",
+ "The button state is online",
TRUE,
G_PARAM_READWRITE |
G_PARAM_CONSTRUCT));
@@ -145,7 +141,7 @@ online_button_init (EOnlineButton *button)
button->priv = E_ONLINE_BUTTON_GET_PRIVATE (button);
- GTK_WIDGET_UNSET_FLAGS (button, GTK_CAN_FOCUS);
+ gtk_widget_set_can_focus (GTK_WIDGET (button), FALSE);
gtk_button_set_relief (GTK_BUTTON (button), GTK_RELIEF_NONE);
widget = gtk_image_new ();
diff --git a/widgets/misc/e-paned.c b/widgets/misc/e-paned.c
index 2b4701b9ff..3f8b57011a 100644
--- a/widgets/misc/e-paned.c
+++ b/widgets/misc/e-paned.c
@@ -303,8 +303,8 @@ paned_class_init (EPanedClass *class)
PROP_HPOSITION,
g_param_spec_int (
"hposition",
- _("Horizontal Position"),
- _("Pane position when oriented horizontally"),
+ "Horizontal Position",
+ "Pane position when oriented horizontally",
G_MININT,
G_MAXINT,
0,
@@ -315,8 +315,8 @@ paned_class_init (EPanedClass *class)
PROP_VPOSITION,
g_param_spec_int (
"vposition",
- _("Vertical Position"),
- _("Pane position when oriented vertically"),
+ "Vertical Position",
+ "Pane position when oriented vertically",
G_MININT,
G_MAXINT,
0,
@@ -327,8 +327,8 @@ paned_class_init (EPanedClass *class)
PROP_PROPORTION,
g_param_spec_double (
"proportion",
- _("Proportion"),
- _("Proportion of the 2nd pane size"),
+ "Proportion",
+ "Proportion of the 2nd pane size",
0.0,
1.0,
0.0,
@@ -339,8 +339,8 @@ paned_class_init (EPanedClass *class)
PROP_FIXED_RESIZE,
g_param_spec_boolean (
"fixed-resize",
- _("Fixed Resize"),
- _("Keep the 2nd pane fixed during resize"),
+ "Fixed Resize",
+ "Keep the 2nd pane fixed during resize",
TRUE,
G_PARAM_READWRITE));
}
diff --git a/widgets/misc/e-preferences-window.c b/widgets/misc/e-preferences-window.c
index 9390f047ca..6b38b682f2 100644
--- a/widgets/misc/e-preferences-window.c
+++ b/widgets/misc/e-preferences-window.c
@@ -336,7 +336,7 @@ preferences_window_init (EPreferencesWindow *window)
g_signal_connect_swapped (
widget, "clicked",
G_CALLBACK (gtk_widget_hide), window);
- GTK_WIDGET_SET_FLAGS (widget, GTK_CAN_DEFAULT);
+ gtk_widget_set_can_default (widget, TRUE);
gtk_box_pack_start (GTK_BOX (container), widget, FALSE, FALSE, 0);
accel_group = gtk_accel_group_new ();
gtk_widget_add_accelerator (
diff --git a/widgets/misc/e-search-bar.c b/widgets/misc/e-search-bar.c
index 06b9ef6e78..aaf18b3912 100644
--- a/widgets/misc/e-search-bar.c
+++ b/widgets/misc/e-search-bar.c
@@ -92,11 +92,7 @@ search_bar_update_tokenizer (ESearchBar *search_bar)
tokenizer = e_search_bar_get_tokenizer (search_bar);
case_sensitive = e_search_bar_get_case_sensitive (search_bar);
-#if GTK_CHECK_VERSION(2,19,7)
if (gtk_widget_get_visible (GTK_WIDGET (search_bar)))
-#else
- if (GTK_WIDGET_VISIBLE (search_bar))
-#endif
active_search = search_bar->priv->active_search;
else
active_search = NULL;
diff --git a/widgets/misc/e-selection-model-array.c b/widgets/misc/e-selection-model-array.c
index 9a2a6a8e68..3dc47e99c3 100644
--- a/widgets/misc/e-selection-model-array.c
+++ b/widgets/misc/e-selection-model-array.c
@@ -590,15 +590,15 @@ e_selection_model_array_class_init (ESelectionModelArrayClass *klass)
g_object_class_install_property (object_class, PROP_CURSOR_ROW,
g_param_spec_int ("cursor_row",
- _("Cursor Row"),
- /*_( */"XXX blurb" /*)*/,
+ "Cursor Row",
+ NULL,
0, G_MAXINT, 0,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_CURSOR_COL,
g_param_spec_int ("cursor_col",
- _("Cursor Column"),
- /*_( */"XXX blurb" /*)*/,
+ "Cursor Column",
+ NULL,
0, G_MAXINT, 0,
G_PARAM_READWRITE));
}
diff --git a/widgets/misc/e-selection-model.c b/widgets/misc/e-selection-model.c
index bc858a4c34..882306df9e 100644
--- a/widgets/misc/e-selection-model.c
+++ b/widgets/misc/e-selection-model.c
@@ -213,23 +213,23 @@ e_selection_model_class_init (ESelectionModelClass *klass)
g_object_class_install_property (object_class, PROP_SORTER,
g_param_spec_object ("sorter",
- _("Sorter"),
- /*_( */"XXX blurb" /*)*/,
+ "Sorter",
+ NULL,
E_SORTER_TYPE,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_SELECTION_MODE,
g_param_spec_int ("selection_mode",
- _("Selection Mode"),
- /*_( */"XXX blurb" /*)*/,
+ "Selection Mode",
+ NULL,
GTK_SELECTION_NONE, GTK_SELECTION_MULTIPLE,
GTK_SELECTION_SINGLE,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_CURSOR_MODE,
g_param_spec_int ("cursor_mode",
- _("Cursor Mode"),
- /*_( */"XXX blurb" /*)*/,
+ "Cursor Mode",
+ NULL,
E_CURSOR_LINE, E_CURSOR_SPREADSHEET,
E_CURSOR_LINE,
G_PARAM_READWRITE));
diff --git a/widgets/misc/e-send-options.c b/widgets/misc/e-send-options.c
index 4f2ad8a9a4..c93dceff88 100644
--- a/widgets/misc/e-send-options.c
+++ b/widgets/misc/e-send-options.c
@@ -495,11 +495,11 @@ setup_widgets (ESendOptionsDialog *sod, Item_type type)
gtk_label_set_mnemonic_widget (GTK_LABEL (priv->until_label), priv->delay_until);
if (priv->global) {
- GtkWidget *widget = gtk_label_new ("Calendar");
- gtk_label_set_text (GTK_LABEL (priv->sopts_label), "Mail");
+ GtkWidget *widget = gtk_label_new (_("Calendar"));
+ gtk_label_set_text (GTK_LABEL (priv->sopts_label), _("Mail"));
gtk_notebook_append_page (priv->notebook, priv->status, widget);
gtk_widget_show (widget);
- widget = gtk_label_new ("Task");
+ widget = gtk_label_new (_("Task"));
gtk_widget_show (widget);
gtk_notebook_append_page (priv->notebook, priv->status,widget);
gtk_notebook_set_show_tabs (priv->notebook, TRUE);
diff --git a/widgets/misc/e-send-options.ui b/widgets/misc/e-send-options.ui
index c5911d456a..5ca5e7045f 100644
--- a/widgets/misc/e-send-options.ui
+++ b/widgets/misc/e-send-options.ui
@@ -194,7 +194,7 @@
<property name="row_spacing">12</property>
<child>
<object class="GtkRadioButton" id="reply-within">
- <property name="label" translatable="yes">Wi_thin</property>
+ <property name="label" translatable="yes" comments="Translators: This is part of 'Within [ X ] days', where [ X ] is a spinner with a number" context="ESendOptionsWithin">Wi_thin</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -227,7 +227,7 @@
<object class="GtkLabel" id="label93">
<property name="visible">True</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes">days</property>
+ <property name="label" translatable="yes" comments="Translators: This is part of 'Within [ X ] days', where [ X ] is a spinner with a number" context="ESendOptionsWithin">days</property>
</object>
<packing>
<property name="left_attach">2</property>
@@ -334,7 +334,7 @@
<object class="GtkLabel" id="label96">
<property name="visible">True</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes">_After:</property>
+ <property name="label" translatable="yes" comments="Translators: This is part of 'After [ X ] days', where [ X ] is a spinner with a number" context="ESendOptionsAfter">_After</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">expire-after</property>
</object>
@@ -361,7 +361,7 @@
<object class="GtkLabel" id="label97">
<property name="visible">True</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes">days</property>
+ <property name="label" translatable="yes" comments="Translators: This is part of 'After [ X ] days', where [ X ] is a spinner with a number" context="ESendOptionsAfter">days</property>
</object>
<packing>
<property name="expand">False</property>
@@ -423,7 +423,7 @@
<object class="GtkLabel" id="until-label">
<property name="visible">True</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes">_Until:</property>
+ <property name="label" translatable="yes" comments="Translators: This is part of 'Until [ date ]', where [ date ] is a date picker" context="ESendOptions">_Until</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">until-date</property>
</object>
diff --git a/widgets/misc/e-spinner.c b/widgets/misc/e-spinner.c
deleted file mode 100644
index 5e7833b34f..0000000000
--- a/widgets/misc/e-spinner.c
+++ /dev/null
@@ -1,992 +0,0 @@
-/*
- * Copyright © 2000 Eazel, Inc.
- * Copyright © 2002-2004 Marco Pesenti Gritti
- * Copyright © 2004, 2006 Christian Persch
- *
- * Nautilus is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * Nautilus is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Author: Andy Hertzfeld <andy@eazel.com>
- *
- * Ephy port by Marco Pesenti Gritti <marco@it.gnome.org>
- *
- * $Id: e-spinner.c 12639 2006-12-12 17:06:55Z chpe $
- */
-
-/*
- * From Nautilus ephy-spinner.c
- */
-
-#include "config.h"
-
-#include "e-spinner.h"
-
-#define E_TYPE_SPINNER (e_spinner_get_type ())
-#define E_SPINNER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TYPE_SPINNER, ESpinner))
-#define E_SPINNER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), E_TYPE_SPINNER, ESpinnerClass))
-#define E_IS_SPINNER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_TYPE_SPINNER))
-#define E_IS_SPINNER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TYPE_SPINNER))
-#define E_SPINNER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), E_TYPE_SPINNER, ESpinnerClass))
-
-typedef struct _ESpinner ESpinner;
-typedef struct _ESpinnerClass ESpinnerClass;
-typedef struct _ESpinnerDetails ESpinnerDetails;
-
-struct _ESpinner
-{
- GtkWidget parent;
-
- /*< private >*/
- ESpinnerDetails *details;
-};
-
-struct _ESpinnerClass
-{
- GtkWidgetClass parent_class;
-};
-
-#define LOG(msg, args...)
-#define START_PROFILER(name)
-#define STOP_PROFILER(name)
-
-#include "e-util/e-icon-factory.h"
-
-/* Spinner cache implementation */
-
-#define E_TYPE_SPINNER_CACHE (e_spinner_cache_get_type())
-#define E_SPINNER_CACHE(object) (G_TYPE_CHECK_INSTANCE_CAST((object), E_TYPE_SPINNER_CACHE, ESpinnerCache))
-#define E_SPINNER_CACHE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), E_TYPE_SPINNER_CACHE, ESpinnerCacheClass))
-#define E_IS_SPINNER_CACHE(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), E_TYPE_SPINNER_CACHE))
-#define E_IS_SPINNER_CACHE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), E_TYPE_SPINNER_CACHE))
-#define E_SPINNER_CACHE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), E_TYPE_SPINNER_CACHE, ESpinnerCacheClass))
-
-typedef struct _ESpinnerCache ESpinnerCache;
-typedef struct _ESpinnerCacheClass ESpinnerCacheClass;
-typedef struct _ESpinnerCachePrivate ESpinnerCachePrivate;
-
-struct _ESpinnerCacheClass
-{
- GObjectClass parent_class;
-};
-
-struct _ESpinnerCache
-{
- GObject parent_object;
-
- /*< private >*/
- ESpinnerCachePrivate *priv;
-};
-
-#define E_SPINNER_CACHE_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), E_TYPE_SPINNER_CACHE, ESpinnerCachePrivate))
-
-struct _ESpinnerCachePrivate
-{
- /* Hash table of GdkScreen -> ESpinnerCacheData */
- GHashTable *hash;
-};
-
-typedef struct
-{
- guint ref_count;
- GtkIconSize size;
- gint width;
- gint height;
- GdkPixbuf **animation_pixbufs;
- guint n_animation_pixbufs;
-} ESpinnerImages;
-
-#define LAST_ICON_SIZE GTK_ICON_SIZE_DIALOG + 1
-#define SPINNER_ICON_NAME "process-working"
-#define SPINNER_FALLBACK_ICON_NAME "gnome-spinner"
-#define E_SPINNER_IMAGES_INVALID ((ESpinnerImages *) 0x1)
-
-typedef struct
-{
- GdkScreen *screen;
- GtkIconTheme *icon_theme;
- ESpinnerImages *images[LAST_ICON_SIZE];
-} ESpinnerCacheData;
-
-static void e_spinner_cache_class_init (ESpinnerCacheClass *klass);
-static void e_spinner_cache_init (ESpinnerCache *cache);
-
-static GObjectClass *e_spinner_cache_parent_class;
-static gpointer spinner_cache = NULL;
-
-static GType
-e_spinner_cache_get_type (void)
-{
- static GType type = 0;
-
- if (G_UNLIKELY (type == 0))
- {
- const GTypeInfo our_info =
- {
- sizeof (ESpinnerCacheClass),
- NULL,
- NULL,
- (GClassInitFunc) e_spinner_cache_class_init,
- NULL,
- NULL,
- sizeof (ESpinnerCache),
- 0,
- (GInstanceInitFunc) e_spinner_cache_init
- };
-
- type = g_type_register_static (G_TYPE_OBJECT,
- "ESpinnerCache",
- &our_info, 0);
- }
-
- return type;
-}
-
-static ESpinnerImages *
-e_spinner_images_ref (ESpinnerImages *images)
-{
- g_return_val_if_fail (images != NULL, NULL);
-
- images->ref_count++;
-
- return images;
-}
-
-static void
-e_spinner_images_unref (ESpinnerImages *images)
-{
- g_return_if_fail (images != NULL);
-
- images->ref_count--;
- if (images->ref_count == 0)
- {
- guint i;
-
- LOG ("Freeing spinner images %p for size %d", images, images->size);
-
- for (i = 0; i < images->n_animation_pixbufs; ++i)
- {
- g_object_unref (images->animation_pixbufs[i]);
- }
- g_free (images->animation_pixbufs);
-
- g_free (images);
- }
-}
-
-static void
-e_spinner_cache_data_unload (ESpinnerCacheData *data)
-{
- GtkIconSize size;
- ESpinnerImages *images;
-
- g_return_if_fail (data != NULL);
-
- LOG ("ESpinnerDataCache unload for screen %p", data->screen);
-
- for (size = GTK_ICON_SIZE_INVALID; size < LAST_ICON_SIZE; ++size)
- {
- images = data->images[size];
- data->images[size] = NULL;
-
- if (images != NULL && images != E_SPINNER_IMAGES_INVALID)
- {
- e_spinner_images_unref (images);
- }
- }
-}
-
-static GdkPixbuf *
-extract_frame (GdkPixbuf *grid_pixbuf,
- gint x,
- gint y,
- gint size)
-{
- GdkPixbuf *pixbuf;
-
- if (x + size > gdk_pixbuf_get_width (grid_pixbuf) ||
- y + size > gdk_pixbuf_get_height (grid_pixbuf))
- {
- return NULL;
- }
-
- pixbuf = gdk_pixbuf_new_subpixbuf (grid_pixbuf,
- x, y,
- size, size);
- g_return_val_if_fail (pixbuf != NULL, NULL);
-
- return pixbuf;
-}
-
-static GdkPixbuf *
-scale_to_size (GdkPixbuf *pixbuf,
- gint dw,
- gint dh)
-{
- GdkPixbuf *result;
- gint pw, ph;
-
- g_return_val_if_fail (pixbuf != NULL, NULL);
-
- pw = gdk_pixbuf_get_width (pixbuf);
- ph = gdk_pixbuf_get_height (pixbuf);
-
- if (pw != dw || ph != dh)
- {
- result = e_icon_factory_pixbuf_scale (pixbuf, dw, dh);
- g_object_unref (pixbuf);
- return result;
- }
-
- return pixbuf;
-}
-
-static ESpinnerImages *
-e_spinner_images_load (GdkScreen *screen,
- GtkIconTheme *icon_theme,
- GtkIconSize icon_size)
-{
- ESpinnerImages *images;
- GdkPixbuf *icon_pixbuf, *pixbuf;
- GtkIconInfo *icon_info = NULL;
- gint grid_width, grid_height, x, y, requested_size, size, isw, ish, n;
- const gchar *icon;
- GSList *list = NULL, *l;
-
- LOG ("ESpinnerCacheData loading for screen %p at size %d", screen, icon_size);
-
- START_PROFILER ("loading spinner animation")
-
- if (!gtk_icon_size_lookup_for_settings (gtk_settings_get_for_screen (screen),
- icon_size, &isw, &ish)) goto loser;
-
- requested_size = MAX (ish, isw);
-
- /* Load the animation. The 'rest icon' is the 0th frame */
- icon_info = gtk_icon_theme_lookup_icon (icon_theme,
- SPINNER_ICON_NAME,
- requested_size, 0);
- if (icon_info == NULL)
- {
- g_warning ("Throbber animation not found");
-
- /* If the icon naming spec compliant name wasn't found, try the old name */
- icon_info = gtk_icon_theme_lookup_icon (icon_theme,
- SPINNER_FALLBACK_ICON_NAME,
- requested_size, 0);
- if (icon_info == NULL)
- {
- g_warning ("Throbber fallback animation not found either");
- goto loser;
- }
- }
- if (icon_info == NULL) {
- g_warning ("icon_info is NULL");
- goto loser;
- }
-
- size = gtk_icon_info_get_base_size (icon_info);
- icon = gtk_icon_info_get_filename (icon_info);
- if (icon == NULL) goto loser;
-
- icon_pixbuf = gdk_pixbuf_new_from_file (icon, NULL);
- gtk_icon_info_free (icon_info);
- icon_info = NULL;
-
- if (icon_pixbuf == NULL)
- {
- g_warning ("Could not load the spinner file");
- goto loser;
- }
-
- grid_width = gdk_pixbuf_get_width (icon_pixbuf);
- grid_height = gdk_pixbuf_get_height (icon_pixbuf);
-
- n = 0;
- for (y = 0; y < grid_height; y += size)
- {
- for (x = 0; x < grid_width; x += size)
- {
- pixbuf = extract_frame (icon_pixbuf, x, y, size);
-
- if (pixbuf)
- {
- list = g_slist_prepend (list, pixbuf);
- ++n;
- }
- else
- {
- g_warning ("Cannot extract frame (%d, %d) from the grid\n", x, y);
- }
- }
- }
-
- g_object_unref (icon_pixbuf);
-
- if (list == NULL || n <= 0) goto loser;
-
- if (size > requested_size)
- {
- for (l = list; l != NULL; l = l->next)
- {
- l->data = scale_to_size (l->data, isw, ish);
- }
- }
-
- /* Now we've successfully got all the data */
- images = g_new (ESpinnerImages, 1);
- images->ref_count = 1;
-
- images->size = icon_size;
- images->width = images->height = requested_size;
-
- images->n_animation_pixbufs = n;
- images->animation_pixbufs = g_new (GdkPixbuf *, n);
-
- for (l = list; l != NULL; l = l->next)
- {
- if (l->data)
- images->animation_pixbufs[--n] = l->data;
- }
- if (n != 0) {
- g_warning ("n != 0 \n");
- }
-
- g_slist_free (list);
-
- STOP_PROFILER ("loading spinner animation")
-
- return images;
-
-loser:
- if (icon_info)
- {
- gtk_icon_info_free (icon_info);
- }
- g_slist_foreach (list, (GFunc) g_object_unref, NULL);
-
- STOP_PROFILER ("loading spinner animation")
-
- return NULL;
-}
-
-static ESpinnerCacheData *
-e_spinner_cache_data_new (GdkScreen *screen)
-{
- ESpinnerCacheData *data;
-
- data = g_new0 (ESpinnerCacheData, 1);
-
- data->screen = screen;
- data->icon_theme = gtk_icon_theme_get_for_screen (screen);
- g_signal_connect_swapped (data->icon_theme, "changed",
- G_CALLBACK (e_spinner_cache_data_unload),
- data);
-
- return data;
-}
-
-static void
-e_spinner_cache_data_free (ESpinnerCacheData *data)
-{
- g_return_if_fail (data != NULL);
- g_return_if_fail (data->icon_theme != NULL);
-
- g_signal_handlers_disconnect_by_func
- (data->icon_theme,
- G_CALLBACK (e_spinner_cache_data_unload), data);
-
- e_spinner_cache_data_unload (data);
-
- g_free (data);
-}
-
-static ESpinnerImages *
-e_spinner_cache_get_images (ESpinnerCache *cache,
- GdkScreen *screen,
- GtkIconSize icon_size)
-{
- ESpinnerCachePrivate *priv = cache->priv;
- ESpinnerCacheData *data;
- ESpinnerImages *images;
-
- LOG ("Getting animation images for screen %p at size %d", screen, icon_size);
-
- g_return_val_if_fail (icon_size < LAST_ICON_SIZE, NULL);
-
- /* Backward compat: "invalid" meant "native" size which doesn't exist anymore */
- if (icon_size == GTK_ICON_SIZE_INVALID)
- {
- icon_size = GTK_ICON_SIZE_DIALOG;
- }
-
- data = g_hash_table_lookup (priv->hash, screen);
- if (data == NULL)
- {
- data = e_spinner_cache_data_new (screen);
- /* FIXME: think about what happens when the screen's display is closed later on */
- g_hash_table_insert (priv->hash, screen, data);
- }
-
- images = data->images[icon_size];
- if (images == E_SPINNER_IMAGES_INVALID)
- {
- /* Load failed, but don't try endlessly again! */
- return NULL;
- }
-
- if (images != NULL)
- {
- /* Return cached data */
- return e_spinner_images_ref (images);
- }
-
- images = e_spinner_images_load (screen, data->icon_theme, icon_size);
-
- if (images == NULL)
- {
- /* Mark as failed-to-load */
- data->images[icon_size] = E_SPINNER_IMAGES_INVALID;
-
- return NULL;
- }
-
- data->images[icon_size] = images;
-
- return e_spinner_images_ref (images);
-}
-
-static void
-e_spinner_cache_init (ESpinnerCache *cache)
-{
- ESpinnerCachePrivate *priv;
-
- priv = cache->priv = E_SPINNER_CACHE_GET_PRIVATE (cache);
-
- LOG ("ESpinnerCache initialising");
-
- priv->hash = g_hash_table_new_full (g_direct_hash, g_direct_equal,
- NULL,
- (GDestroyNotify) e_spinner_cache_data_free);
-}
-
-static void
-e_spinner_cache_finalize (GObject *object)
-{
- ESpinnerCache *cache = E_SPINNER_CACHE (object);
- ESpinnerCachePrivate *priv = cache->priv;
-
- g_hash_table_destroy (priv->hash);
-
- LOG ("ESpinnerCache finalised");
-
- G_OBJECT_CLASS (e_spinner_cache_parent_class)->finalize (object);
-}
-
-static void
-e_spinner_cache_class_init (ESpinnerCacheClass *klass)
-{
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
-
- e_spinner_cache_parent_class = g_type_class_peek_parent (klass);
-
- object_class->finalize = e_spinner_cache_finalize;
-
- g_type_class_add_private (object_class, sizeof (ESpinnerCachePrivate));
-}
-
-static ESpinnerCache *
-e_spinner_cache_ref (void)
-{
- if (G_UNLIKELY (spinner_cache == NULL))
- {
- spinner_cache = g_object_new (E_TYPE_SPINNER_CACHE, NULL);
- g_object_add_weak_pointer (
- G_OBJECT (spinner_cache), &spinner_cache);
- }
-
- return g_object_ref_sink (spinner_cache);
-}
-
-/* Spinner implementation */
-
-#define SPINNER_TIMEOUT 125 /* ms */
-
-#define E_SPINNER_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), E_TYPE_SPINNER, ESpinnerDetails))
-
-struct _ESpinnerDetails
-{
- GtkIconTheme *icon_theme;
- ESpinnerCache *cache;
- GtkIconSize size;
- ESpinnerImages *images;
- guint current_image;
- guint timeout;
- guint timer_task;
- guint spinning : 1;
- guint need_load : 1;
-};
-
-static void e_spinner_class_init (ESpinnerClass *class);
-static void e_spinner_init (ESpinner *spinner);
-
-static GObjectClass *parent_class;
-
-static GType
-e_spinner_get_type (void)
-{
- static GType type = 0;
-
- if (G_UNLIKELY (type == 0))
- {
- const GTypeInfo our_info =
- {
- sizeof (ESpinnerClass),
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc) e_spinner_class_init,
- NULL,
- NULL, /* class_data */
- sizeof (ESpinner),
- 0, /* n_preallocs */
- (GInstanceInitFunc) e_spinner_init
- };
-
- type = g_type_register_static (GTK_TYPE_WIDGET,
- "ESpinner",
- &our_info, 0);
- }
-
- return type;
-}
-
-static gboolean
-e_spinner_load_images (ESpinner *spinner)
-{
- ESpinnerDetails *details = spinner->details;
-
- if (details->need_load)
- {
- START_PROFILER ("e_spinner_load_images")
-
- details->images =
- e_spinner_cache_get_images
- (details->cache,
- gtk_widget_get_screen (GTK_WIDGET (spinner)),
- details->size);
-
- STOP_PROFILER ("e_spinner_load_images")
-
- details->current_image = 0; /* 'rest' icon */
- details->need_load = FALSE;
- }
-
- return details->images != NULL;
-}
-
-static void
-e_spinner_unload_images (ESpinner *spinner)
-{
- ESpinnerDetails *details = spinner->details;
-
- if (details->images != NULL)
- {
- e_spinner_images_unref (details->images);
- details->images = NULL;
- }
-
- details->current_image = 0;
- details->need_load = TRUE;
-}
-
-static void
-icon_theme_changed_cb (GtkIconTheme *icon_theme,
- ESpinner *spinner)
-{
- e_spinner_unload_images (spinner);
- gtk_widget_queue_resize (GTK_WIDGET (spinner));
-}
-
-static void
-e_spinner_init (ESpinner *spinner)
-{
- ESpinnerDetails *details;
-
- details = spinner->details = E_SPINNER_GET_PRIVATE (spinner);
-
- GTK_WIDGET_SET_FLAGS (GTK_WIDGET (spinner), GTK_NO_WINDOW);
-
- details->cache = e_spinner_cache_ref ();
- details->size = GTK_ICON_SIZE_DIALOG;
- details->spinning = FALSE;
- details->timeout = SPINNER_TIMEOUT;
- details->need_load = TRUE;
-}
-
-static gint
-e_spinner_expose (GtkWidget *widget,
- GdkEventExpose *event)
-{
- ESpinner *spinner = E_SPINNER (widget);
- ESpinnerDetails *details = spinner->details;
- ESpinnerImages *images;
- GtkAllocation allocation;
- GdkPixbuf *pixbuf;
- GdkWindow *window;
- GdkGC *gc;
- gint x_offset, y_offset, width, height;
- GdkRectangle pix_area, dest;
-
-#if GTK_CHECK_VERSION(2,19,7)
- if (!gtk_widget_is_drawable (GTK_WIDGET (spinner)))
-#else
- if (!GTK_WIDGET_DRAWABLE (spinner))
-#endif
- {
- return FALSE;
- }
-
- if (details->need_load &&
- !e_spinner_load_images (spinner))
- {
- return FALSE;
- }
-
- images = details->images;
- if (images == NULL)
- {
- return FALSE;
- }
-
- /* Otherwise |images| will be NULL anyway */
- g_return_val_if_fail (images->n_animation_pixbufs > 0, FALSE);
-
- g_return_val_if_fail (
- details->current_image < images->n_animation_pixbufs, FALSE);
-
- pixbuf = images->animation_pixbufs[details->current_image];
-
- g_return_val_if_fail (pixbuf != NULL, FALSE);
-
- width = gdk_pixbuf_get_width (pixbuf);
- height = gdk_pixbuf_get_height (pixbuf);
-
- gtk_widget_get_allocation (widget, &allocation);
-
- /* Compute the offsets for the image centered on our allocation */
- x_offset = (allocation.width - width) / 2;
- y_offset = (allocation.height - height) / 2;
-
- pix_area.x = x_offset + allocation.x;
- pix_area.y = y_offset + allocation.y;
- pix_area.width = width;
- pix_area.height = height;
-
- if (!gdk_rectangle_intersect (&event->area, &pix_area, &dest))
- {
- return FALSE;
- }
-
- window = gtk_widget_get_window (widget);
-
- gc = gdk_gc_new (window);
- gdk_draw_pixbuf (window, gc, pixbuf,
- dest.x - x_offset - allocation.x,
- dest.y - y_offset - allocation.y,
- dest.x, dest.y,
- dest.width, dest.height,
- GDK_RGB_DITHER_MAX, 0, 0);
- g_object_unref (gc);
-
- return FALSE;
-}
-
-static gboolean
-bump_spinner_frame_cb (ESpinner *spinner)
-{
- ESpinnerDetails *details = spinner->details;
-
- /* This can happen when we've unloaded the images on a theme
- * change, but haven't been in the queued size request yet.
- * Just skip this update.
- */
- if (details->images == NULL) return TRUE;
-
- details->current_image++;
- if (details->current_image >= details->images->n_animation_pixbufs)
- {
- /* the 0th frame is the 'rest' icon */
- details->current_image = MIN (1, details->images->n_animation_pixbufs);
- }
-
- gtk_widget_queue_draw (GTK_WIDGET (spinner));
-
- /* run again */
- return TRUE;
-}
-
-static void
-e_spinner_start (ESpinner *spinner)
-{
- ESpinnerDetails *details = spinner->details;
-
- details->spinning = TRUE;
-
-#if GTK_CHECK_VERSION(2,19,7)
- if (gtk_widget_get_mapped (GTK_WIDGET (spinner)) &&
-#else
- if (GTK_WIDGET_MAPPED (GTK_WIDGET (spinner)) &&
-#endif
- details->timer_task == 0 &&
- e_spinner_load_images (spinner))
- {
- /* the 0th frame is the 'rest' icon */
- details->current_image = MIN (1, details->images->n_animation_pixbufs);
-
- details->timer_task =
- g_timeout_add_full (G_PRIORITY_LOW,
- details->timeout,
- (GSourceFunc) bump_spinner_frame_cb,
- spinner,
- NULL);
- }
-}
-
-static void
-e_spinner_remove_update_callback (ESpinner *spinner)
-{
- ESpinnerDetails *details = spinner->details;
-
- if (details->timer_task != 0)
- {
- g_source_remove (details->timer_task);
- details->timer_task = 0;
- }
-}
-
-static void
-e_spinner_set_size (ESpinner *spinner,
- GtkIconSize size)
-{
- if (size == GTK_ICON_SIZE_INVALID)
- {
- size = GTK_ICON_SIZE_DIALOG;
- }
-
- if (size != spinner->details->size)
- {
- e_spinner_unload_images (spinner);
-
- spinner->details->size = size;
-
- gtk_widget_queue_resize (GTK_WIDGET (spinner));
- }
-}
-
-#if 0
-
-static void
-e_spinner_stop (ESpinner *spinner)
-{
- ESpinnerDetails *details = spinner->details;
-
- details->spinning = FALSE;
- details->current_image = 0;
-
- if (details->timer_task != 0)
- {
- e_spinner_remove_update_callback (spinner);
-
- if (GTK_WIDGET_MAPPED (GTK_WIDGET (spinner)))
- {
- gtk_widget_queue_draw (GTK_WIDGET (spinner));
- }
- }
-}
-
-/*
- * e_spinner_set_timeout:
- * @spinner: a #ESpinner
- * @timeout: time delay between updates to the spinner.
- *
- * Sets the timeout delay for spinner updates.
- **/
-void
-e_spinner_set_timeout (ESpinner *spinner,
- guint timeout)
-{
- ESpinnerDetails *details = spinner->details;
-
- if (timeout != details->timeout)
- {
- e_spinner_stop (spinner);
-
- details->timeout = timeout;
-
- if (details->spinning)
- {
- e_spinner_start (spinner);
- }
- }
-}
-#endif
-
-static void
-e_spinner_size_request (GtkWidget *widget,
- GtkRequisition *requisition)
-{
- ESpinner *spinner = E_SPINNER (widget);
- ESpinnerDetails *details = spinner->details;
-
- if ((details->need_load &&
- !e_spinner_load_images (spinner)) ||
- details->images == NULL)
- {
- requisition->width = requisition->height = 0;
- gtk_icon_size_lookup_for_settings (gtk_widget_get_settings (widget),
- details->size,
- &requisition->width,
- &requisition->height);
- return;
- }
-
- requisition->width = details->images->width;
- requisition->height = details->images->height;
-
- /* FIXME fix this hack */
- /* allocate some extra margin so we don't butt up against toolbar edges */
- if (details->size != GTK_ICON_SIZE_MENU)
- {
- requisition->width += 2;
- requisition->height += 2;
- }
-}
-
-static void
-e_spinner_map (GtkWidget *widget)
-{
- ESpinner *spinner = E_SPINNER (widget);
- ESpinnerDetails *details = spinner->details;
-
- GTK_WIDGET_CLASS (parent_class)->map (widget);
-
- if (details->spinning)
- {
- e_spinner_start (spinner);
- }
-}
-
-static void
-e_spinner_unmap (GtkWidget *widget)
-{
- ESpinner *spinner = E_SPINNER (widget);
-
- e_spinner_remove_update_callback (spinner);
-
- GTK_WIDGET_CLASS (parent_class)->unmap (widget);
-}
-
-static void
-e_spinner_dispose (GObject *object)
-{
- ESpinner *spinner = E_SPINNER (object);
-
- if (spinner->details->icon_theme)
- g_signal_handlers_disconnect_by_func
- (spinner->details->icon_theme,
- G_CALLBACK (icon_theme_changed_cb), spinner);
-
- G_OBJECT_CLASS (parent_class)->dispose (object);
-}
-
-static void
-e_spinner_finalize (GObject *object)
-{
- ESpinner *spinner = E_SPINNER (object);
-
- e_spinner_remove_update_callback (spinner);
- e_spinner_unload_images (spinner);
-
- g_object_unref (spinner->details->cache);
-
- G_OBJECT_CLASS (parent_class)->finalize (object);
-}
-
-static void
-e_spinner_screen_changed (GtkWidget *widget,
- GdkScreen *old_screen)
-{
- ESpinner *spinner = E_SPINNER (widget);
- ESpinnerDetails *details = spinner->details;
- GdkScreen *screen;
-
- if (GTK_WIDGET_CLASS (parent_class)->screen_changed)
- {
- GTK_WIDGET_CLASS (parent_class)->screen_changed (widget, old_screen);
- }
-
- screen = gtk_widget_get_screen (widget);
-
- /* FIXME: this seems to be happening when then spinner is destroyed!? */
- if (old_screen == screen) return;
-
- /* We'll get mapped again on the new screen, but not unmapped from
- * the old screen, so remove timeout here.
- */
- e_spinner_remove_update_callback (spinner);
-
- e_spinner_unload_images (spinner);
-
- if (old_screen != NULL)
- {
- g_signal_handlers_disconnect_by_func
- (gtk_icon_theme_get_for_screen (old_screen),
- G_CALLBACK (icon_theme_changed_cb), spinner);
- }
-
- details->icon_theme = gtk_icon_theme_get_for_screen (screen);
- g_signal_connect (details->icon_theme, "changed",
- G_CALLBACK (icon_theme_changed_cb), spinner);
-}
-
-static void
-e_spinner_class_init (ESpinnerClass *class)
-{
- GObjectClass *object_class = G_OBJECT_CLASS (class);
- GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (class);
-
- parent_class = g_type_class_peek_parent (class);
-
- object_class->dispose = e_spinner_dispose;
- object_class->finalize = e_spinner_finalize;
-
- widget_class->expose_event = e_spinner_expose;
- widget_class->size_request = e_spinner_size_request;
- widget_class->map = e_spinner_map;
- widget_class->unmap = e_spinner_unmap;
- widget_class->screen_changed = e_spinner_screen_changed;
-
- g_type_class_add_private (object_class, sizeof (ESpinnerDetails));
-}
-
-GtkWidget *e_spinner_new_spinning_small_shown (void)
-{
- ESpinner *image;
- image = E_SPINNER (g_object_new (E_TYPE_SPINNER, NULL));
-
- e_spinner_set_size (image, GTK_ICON_SIZE_SMALL_TOOLBAR);
- e_spinner_start (image);
- gtk_widget_show (GTK_WIDGET(image));
-
- return GTK_WIDGET (image);
-}
diff --git a/widgets/misc/e-spinner.h b/widgets/misc/e-spinner.h
deleted file mode 100644
index 0fb97d945e..0000000000
--- a/widgets/misc/e-spinner.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/*
- * Copyright © 2000 Eazel, Inc.
- * Copyright © 2004, 2006 Christian Persch
- *
- * Nautilus is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * Nautilus is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Author: Andy Hertzfeld <andy@eazel.com>
- *
- * $Id: ephy-spinner.h 12639 2006-12-12 17:06:55Z chpe $
- */
-
-/*
- * From Nautilus ephy-spinner.h
- */
-#ifndef E_SPINNER_H
-#define E_SPINNER_H
-
-#include <gtk/gtk.h>
-
-G_BEGIN_DECLS
-
-GtkWidget *e_spinner_new_spinning_small_shown (void);
-
-G_END_DECLS
-
-#endif /* E_SPINNER_H */
diff --git a/widgets/misc/e-web-view-preview.c b/widgets/misc/e-web-view-preview.c
new file mode 100644
index 0000000000..e268779827
--- /dev/null
+++ b/widgets/misc/e-web-view-preview.c
@@ -0,0 +1,481 @@
+/*
+ * e-web-view-preview.c
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with the program; if not, see <http://www.gnu.org/licenses/>
+ *
+ *
+ * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
+ *
+ */
+
+#include "e-web-view-preview.h"
+
+#include <config.h>
+#include <string.h>
+#include <glib/gi18n-lib.h>
+
+#define E_WEB_VIEW_PREVIEW_GET_PRIVATE(obj) \
+ (G_TYPE_INSTANCE_GET_PRIVATE \
+ ((obj), E_TYPE_WEB_VIEW_PREVIEW, EWebViewPreviewPrivate))
+
+struct _EWebViewPreviewPrivate {
+ gboolean escape_values;
+ GString *updating_content; /* is NULL when not between begin_update/end_update */
+};
+
+enum {
+ PROP_0,
+ PROP_TREE_VIEW,
+ PROP_PREVIEW_WIDGET,
+ PROP_ESCAPE_VALUES
+};
+
+G_DEFINE_TYPE (EWebViewPreview, e_web_view_preview, GTK_TYPE_VPANED);
+
+static void
+web_view_preview_set_property (GObject *object,
+ guint property_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ switch (property_id) {
+ case PROP_ESCAPE_VALUES:
+ e_web_view_preview_set_escape_values (
+ E_WEB_VIEW_PREVIEW (object),
+ g_value_get_boolean (value));
+ return;
+ }
+
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+}
+
+static void
+web_view_preview_get_property (GObject *object,
+ guint property_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ switch (property_id) {
+ case PROP_TREE_VIEW:
+ g_value_set_object (
+ value, e_web_view_preview_get_tree_view (
+ E_WEB_VIEW_PREVIEW (object)));
+ return;
+
+ case PROP_PREVIEW_WIDGET:
+ g_value_set_object (
+ value, e_web_view_preview_get_preview (
+ E_WEB_VIEW_PREVIEW (object)));
+ return;
+
+ case PROP_ESCAPE_VALUES:
+ g_value_set_boolean (
+ value, e_web_view_preview_get_escape_values (
+ E_WEB_VIEW_PREVIEW (object)));
+ return;
+ }
+
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+}
+
+static void
+web_view_preview_dispose (GObject *object)
+{
+ EWebViewPreviewPrivate *priv;
+
+ priv = E_WEB_VIEW_PREVIEW_GET_PRIVATE (object);
+
+ if (priv->updating_content != NULL) {
+ g_string_free (priv->updating_content, TRUE);
+ priv->updating_content = NULL;
+ }
+
+ /* Chain up to parent's dispose() method. */
+ G_OBJECT_CLASS (e_web_view_preview_parent_class)->dispose (object);
+}
+
+static void
+e_web_view_preview_class_init (EWebViewPreviewClass *klass)
+{
+ GObjectClass *object_class;
+
+ g_type_class_add_private (klass, sizeof (EWebViewPreviewPrivate));
+
+ object_class = G_OBJECT_CLASS (klass);
+ object_class->set_property = web_view_preview_set_property;
+ object_class->get_property = web_view_preview_get_property;
+ object_class->dispose = web_view_preview_dispose;
+
+ g_object_class_install_property (
+ object_class,
+ PROP_TREE_VIEW,
+ g_param_spec_object (
+ "tree-view",
+ "Tree View",
+ NULL,
+ GTK_TYPE_TREE_VIEW,
+ G_PARAM_READABLE));
+
+ g_object_class_install_property (
+ object_class,
+ PROP_PREVIEW_WIDGET,
+ g_param_spec_object (
+ "preview-widget",
+ "Preview Widget",
+ NULL,
+ GTK_TYPE_WIDGET,
+ G_PARAM_READABLE));
+
+ g_object_class_install_property (
+ object_class,
+ PROP_ESCAPE_VALUES,
+ g_param_spec_boolean (
+ "escape-values",
+ "Whether escaping values automatically, when inserting",
+ NULL,
+ TRUE,
+ G_PARAM_READWRITE));
+}
+
+static GtkWidget *
+in_scrolled_window (GtkWidget *widget)
+{
+ GtkWidget *sw;
+
+ g_return_val_if_fail (widget != NULL, NULL);
+
+ sw = gtk_scrolled_window_new (NULL, NULL);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+ gtk_container_add (GTK_CONTAINER (sw), widget);
+
+ gtk_widget_show (widget);
+ gtk_widget_show (sw);
+
+ return sw;
+}
+
+static void
+e_web_view_preview_init (EWebViewPreview *preview)
+{
+ GtkWidget *tree_view_sw, *web_view_sw;
+ EWebViewPreviewPrivate *priv;
+
+ priv = E_WEB_VIEW_PREVIEW_GET_PRIVATE (preview);
+ preview->priv = priv;
+ priv->escape_values = TRUE;
+
+ tree_view_sw = in_scrolled_window (gtk_tree_view_new ());
+ web_view_sw = in_scrolled_window (e_web_view_new ());
+
+ gtk_widget_hide (tree_view_sw);
+ gtk_widget_show (web_view_sw);
+
+ gtk_paned_pack1 (GTK_PANED (preview), tree_view_sw, FALSE, TRUE);
+ gtk_paned_pack2 (GTK_PANED (preview), web_view_sw, TRUE, TRUE);
+
+ /* rawly 3 lines of a text plus a little bit more */
+ if (gtk_paned_get_position (GTK_PANED (preview)) < 85)
+ gtk_paned_set_position (GTK_PANED (preview), 85);
+}
+
+GtkWidget *
+e_web_view_preview_new (void)
+{
+ return g_object_new (E_TYPE_WEB_VIEW_PREVIEW, NULL);
+}
+
+GtkTreeView *
+e_web_view_preview_get_tree_view (EWebViewPreview *preview)
+{
+ g_return_val_if_fail (preview != NULL, NULL);
+ g_return_val_if_fail (E_IS_WEB_VIEW_PREVIEW (preview), NULL);
+
+ return GTK_TREE_VIEW (gtk_bin_get_child (GTK_BIN (gtk_paned_get_child1 (GTK_PANED (preview)))));
+}
+
+GtkWidget *
+e_web_view_preview_get_preview (EWebViewPreview *preview)
+{
+ g_return_val_if_fail (preview != NULL, NULL);
+ g_return_val_if_fail (E_IS_WEB_VIEW_PREVIEW (preview), NULL);
+
+ return gtk_bin_get_child (GTK_BIN (gtk_paned_get_child2 (GTK_PANED (preview))));
+}
+
+void
+e_web_view_preview_set_preview (EWebViewPreview *preview, GtkWidget *preview_widget)
+{
+ GtkWidget *old_child;
+
+ g_return_if_fail (preview != NULL);
+ g_return_if_fail (E_IS_WEB_VIEW_PREVIEW (preview));
+ g_return_if_fail (preview_widget != NULL);
+ g_return_if_fail (GTK_IS_WIDGET (preview_widget));
+
+ old_child = gtk_bin_get_child (GTK_BIN (gtk_paned_get_child2 (GTK_PANED (preview))));
+ if (old_child) {
+ g_return_if_fail (old_child != preview_widget);
+ gtk_widget_destroy (old_child);
+ }
+
+ gtk_container_add (GTK_CONTAINER (gtk_paned_get_child2 (GTK_PANED (preview))), preview_widget);
+}
+
+void
+e_web_view_preview_show_tree_view (EWebViewPreview *preview)
+{
+ g_return_if_fail (preview != NULL);
+ g_return_if_fail (E_IS_WEB_VIEW_PREVIEW (preview));
+
+ gtk_widget_show (gtk_paned_get_child1 (GTK_PANED (preview)));
+}
+
+void
+e_web_view_preview_hide_tree_view(EWebViewPreview *preview)
+{
+ g_return_if_fail (preview != NULL);
+ g_return_if_fail (E_IS_WEB_VIEW_PREVIEW (preview));
+
+ gtk_widget_hide (gtk_paned_get_child1 (GTK_PANED (preview)));
+}
+
+void
+e_web_view_preview_set_escape_values (EWebViewPreview *preview, gboolean escape)
+{
+ g_return_if_fail (preview != NULL);
+ g_return_if_fail (E_IS_WEB_VIEW_PREVIEW (preview));
+ g_return_if_fail (preview->priv != NULL);
+
+ preview->priv->escape_values = escape;
+}
+
+gboolean
+e_web_view_preview_get_escape_values (EWebViewPreview *preview)
+{
+ g_return_val_if_fail (preview != NULL, FALSE);
+ g_return_val_if_fail (E_IS_WEB_VIEW_PREVIEW (preview), FALSE);
+ g_return_val_if_fail (preview->priv != NULL, FALSE);
+
+ return preview->priv->escape_values;
+}
+
+void
+e_web_view_preview_begin_update (EWebViewPreview *preview)
+{
+ g_return_if_fail (preview != NULL);
+ g_return_if_fail (E_IS_WEB_VIEW_PREVIEW (preview));
+ g_return_if_fail (preview->priv != NULL);
+
+ if (preview->priv->updating_content) {
+ g_warning ("%s: Previous content update isn't finished with e_web_view_preview_end_update()", G_STRFUNC);
+ g_string_free (preview->priv->updating_content, TRUE);
+ }
+
+ preview->priv->updating_content = g_string_new ("<TABLE width=\"100%\" border=\"0\" cols=\"2\">");
+}
+
+void
+e_web_view_preview_end_update (EWebViewPreview *preview)
+{
+ GtkWidget *web_view;
+
+ g_return_if_fail (preview != NULL);
+ g_return_if_fail (E_IS_WEB_VIEW_PREVIEW (preview));
+ g_return_if_fail (preview->priv != NULL);
+ g_return_if_fail (preview->priv->updating_content != NULL);
+
+ g_string_append (preview->priv->updating_content, "</TABLE>");
+
+ web_view = e_web_view_preview_get_preview (preview);
+ if (E_IS_WEB_VIEW (web_view))
+ e_web_view_load_string (E_WEB_VIEW (web_view), preview->priv->updating_content->str);
+
+ g_string_free (preview->priv->updating_content, TRUE);
+ preview->priv->updating_content = NULL;
+}
+
+static gchar *
+replace_string (const gchar *text, const gchar *find, const gchar *replace)
+{
+ const gchar *p, *next;
+ GString *str;
+ gint find_len;
+
+ g_return_val_if_fail (text != NULL, NULL);
+ g_return_val_if_fail (find != NULL, NULL);
+ g_return_val_if_fail (*find, NULL);
+
+ find_len = strlen (find);
+ str = g_string_new ("");
+
+ p = text;
+ while (next = strstr (p, find), next) {
+ if (p + 1 < next)
+ g_string_append_len (str, p, next - p);
+
+ if (replace && *replace)
+ g_string_append (str, replace);
+
+ p = next + find_len;
+ }
+
+ g_string_append (str, p);
+
+ return g_string_free (str, FALSE);
+}
+
+static gchar *
+web_view_preview_escape_text (EWebViewPreview *preview, const gchar *text)
+{
+ gchar *utf8_valid, *res, *end;
+
+ if (!e_web_view_preview_get_escape_values (preview))
+ return NULL;
+
+ g_return_val_if_fail (text != NULL, NULL);
+
+ if (g_utf8_validate (text, -1, NULL)) {
+ res = g_markup_escape_text (text, -1);
+ } else {
+ utf8_valid = g_strdup (text);
+ while (end = NULL, !g_utf8_validate (utf8_valid, -1, (const gchar **) &end) && end && *end)
+ *end = '?';
+
+ res = g_markup_escape_text (utf8_valid, -1);
+
+ g_free (utf8_valid);
+ }
+
+ if (res && strchr (res, '\n')) {
+ /* replace line breaks with <BR> */
+ if (strchr (res, '\r')) {
+ end = replace_string (res, "\r", "");
+ g_free (res);
+ res = end;
+ }
+
+ end = replace_string (res, "\n", "<BR>");
+ g_free (res);
+ res = end;
+ }
+
+ return res;
+}
+
+void
+e_web_view_preview_add_header (EWebViewPreview *preview, gint index, const gchar *header)
+{
+ gchar *escaped;
+
+ g_return_if_fail (preview != NULL);
+ g_return_if_fail (E_IS_WEB_VIEW_PREVIEW (preview));
+ g_return_if_fail (preview->priv != NULL);
+ g_return_if_fail (preview->priv->updating_content != NULL);
+ g_return_if_fail (header != NULL);
+
+ if (index < 1)
+ index = 1;
+ else if (index > 6)
+ index = 6;
+
+ escaped = web_view_preview_escape_text (preview, header);
+ if (escaped)
+ header = escaped;
+
+ g_string_append_printf (preview->priv->updating_content, "<TR><TD colspan=2><H%d>%s</H%d></TD></TR>", index, header, index);
+
+ g_free (escaped);
+}
+
+void
+e_web_view_preview_add_text (EWebViewPreview *preview, const gchar *text)
+{
+ gchar *escaped;
+
+ g_return_if_fail (preview != NULL);
+ g_return_if_fail (E_IS_WEB_VIEW_PREVIEW (preview));
+ g_return_if_fail (preview->priv != NULL);
+ g_return_if_fail (preview->priv->updating_content != NULL);
+ g_return_if_fail (text != NULL);
+
+ escaped = web_view_preview_escape_text (preview, text);
+ if (escaped)
+ text = escaped;
+
+ g_string_append_printf (preview->priv->updating_content, "<TR><TD colspan=2><FONT size=\"3\">%s</FONT></TD></TR>", text);
+
+ g_free (escaped);
+}
+
+void
+e_web_view_preview_add_raw_html (EWebViewPreview *preview, const gchar *raw_html)
+{
+ g_return_if_fail (preview != NULL);
+ g_return_if_fail (E_IS_WEB_VIEW_PREVIEW (preview));
+ g_return_if_fail (preview->priv != NULL);
+ g_return_if_fail (preview->priv->updating_content != NULL);
+ g_return_if_fail (raw_html != NULL);
+
+ g_string_append_printf (preview->priv->updating_content, "<TR><TD colspan=2>%s</TD></TR>", raw_html);
+}
+
+void
+e_web_view_preview_add_separator (EWebViewPreview *preview)
+{
+ g_return_if_fail (preview != NULL);
+ g_return_if_fail (E_IS_WEB_VIEW_PREVIEW (preview));
+ g_return_if_fail (preview->priv != NULL);
+ g_return_if_fail (preview->priv->updating_content != NULL);
+
+ g_string_append (preview->priv->updating_content, "<TR><TD colspan=2><HR></TD></TR>");
+}
+
+void
+e_web_view_preview_add_empty_line (EWebViewPreview *preview)
+{
+ g_return_if_fail (preview != NULL);
+ g_return_if_fail (E_IS_WEB_VIEW_PREVIEW (preview));
+ g_return_if_fail (preview->priv != NULL);
+ g_return_if_fail (preview->priv->updating_content != NULL);
+
+ g_string_append (preview->priv->updating_content, "<TR><TD colspan=2>&nbsp;</TD></TR>");
+}
+
+/* section can be NULL, but value cannot */
+void
+e_web_view_preview_add_section (EWebViewPreview *preview, const gchar *section, const gchar *value)
+{
+ gchar *escaped_section = NULL, *escaped_value;
+
+ g_return_if_fail (preview != NULL);
+ g_return_if_fail (E_IS_WEB_VIEW_PREVIEW (preview));
+ g_return_if_fail (preview->priv != NULL);
+ g_return_if_fail (preview->priv->updating_content != NULL);
+ g_return_if_fail (value != NULL);
+
+ if (section) {
+ escaped_section = web_view_preview_escape_text (preview, section);
+ if (escaped_section)
+ section = escaped_section;
+ }
+
+ escaped_value = web_view_preview_escape_text (preview, value);
+ if (escaped_value)
+ value = escaped_value;
+
+ g_string_append_printf (preview->priv->updating_content, "<TR><TD width=\"10%%\" valign=\"top\" nowrap><FONT size=\"3\"><B>%s</B></FONT></TD><TD width=\"90%%\"><FONT size=\"3\">%s</FONT></TD></TR>", section ? section : "", value);
+
+ g_free (escaped_section);
+ g_free (escaped_value);
+}
diff --git a/widgets/misc/e-web-view-preview.h b/widgets/misc/e-web-view-preview.h
new file mode 100644
index 0000000000..319f67ec82
--- /dev/null
+++ b/widgets/misc/e-web-view-preview.h
@@ -0,0 +1,101 @@
+/*
+ * e-web-view-preview.h
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with the program; if not, see <http://www.gnu.org/licenses/>
+ *
+ *
+ * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
+ *
+ */
+
+/* This is intended to serve as a common widget for previews before import.
+ * It contains a GtkTreeView at the top and an EWebView at the bottom.
+ * The tree view is not shown initially, it should be forced with
+ * e_web_view_preview_show_tree_view().
+ *
+ * The internal default EWebView can be accessed by e_web_view_preview_get_preview()
+ * and it should be updated for each change of the selected item in the tree
+ * view, when it's shown.
+ *
+ * Updating an EWebView content through helper functions of an EWebViewPreview
+ * begins with call of e_web_view_preview_begin_update(), which starts an empty
+ * page construction, which is finished by e_web_view_preview_end_update(),
+ * and the content of the EWebView is updated.
+ */
+
+#ifndef E_WEB_VIEW_PREVIEW_H
+#define E_WEB_VIEW_PREVIEW_H
+
+#include <misc/e-web-view.h>
+
+/* Standard GObject macros */
+#define E_TYPE_WEB_VIEW_PREVIEW \
+ (e_web_view_preview_get_type ())
+#define E_WEB_VIEW_PREVIEW(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST \
+ ((obj), E_TYPE_WEB_VIEW_PREVIEW, EWebViewPreview))
+#define E_WEB_VIEW_PREVIEW_CLASS(cls) \
+ (G_TYPE_CHECK_CLASS_CAST \
+ ((cls), E_TYPE_WEB_VIEW_PREVIEW, EWebViewPreviewClass))
+#define E_IS_WEB_VIEW_PREVIEW(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE \
+ ((obj), E_TYPE_WEB_VIEW_PREVIEW))
+#define E_IS_WEB_VIEW_PREVIEW_CLASS(cls) \
+ (G_TYPE_CHECK_CLASS_TYPE \
+ ((cls), E_TYPE_WEB_VIEW_PREVIEW))
+#define E_WEB_VIEW_PREVIEW_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS \
+ ((obj), E_TYPE_WEB_VIEW_PREVIEW, EWebViewPreviewClass))
+
+G_BEGIN_DECLS
+
+typedef struct _EWebViewPreview EWebViewPreview;
+typedef struct _EWebViewPreviewClass EWebViewPreviewClass;
+typedef struct _EWebViewPreviewPrivate EWebViewPreviewPrivate;
+
+struct _EWebViewPreview {
+ GtkVPaned parent;
+ EWebViewPreviewPrivate *priv;
+};
+
+struct _EWebViewPreviewClass {
+ GtkVPanedClass parent_class;
+};
+
+GType e_web_view_preview_get_type (void);
+GtkWidget * e_web_view_preview_new (void);
+
+GtkTreeView * e_web_view_preview_get_tree_view(EWebViewPreview *preview);
+GtkWidget * e_web_view_preview_get_preview (EWebViewPreview *preview);
+void e_web_view_preview_set_preview (EWebViewPreview *preview, GtkWidget *preview_widget);
+
+void e_web_view_preview_show_tree_view(EWebViewPreview *preview);
+void e_web_view_preview_hide_tree_view(EWebViewPreview *preview);
+
+void e_web_view_preview_set_escape_values(EWebViewPreview *preview, gboolean escape);
+gboolean e_web_view_preview_get_escape_values(EWebViewPreview *preview);
+
+void e_web_view_preview_begin_update (EWebViewPreview *preview);
+void e_web_view_preview_end_update (EWebViewPreview *preview);
+
+void e_web_view_preview_add_header (EWebViewPreview *preview, gint index, const gchar *header);
+void e_web_view_preview_add_text (EWebViewPreview *preview, const gchar *text);
+void e_web_view_preview_add_raw_html (EWebViewPreview *preview, const gchar *raw_html);
+void e_web_view_preview_add_separator(EWebViewPreview *preview);
+void e_web_view_preview_add_empty_line(EWebViewPreview *preview);
+void e_web_view_preview_add_section (EWebViewPreview *preview, const gchar *section, const gchar *value);
+
+G_END_DECLS
+
+#endif /* E_WEB_VIEW_PREVIEW_H */
diff --git a/widgets/misc/e-web-view.c b/widgets/misc/e-web-view.c
index beb865b98b..8e1878869e 100644
--- a/widgets/misc/e-web-view.c
+++ b/widgets/misc/e-web-view.c
@@ -25,8 +25,7 @@
#include <string.h>
#include <glib/gi18n-lib.h>
-#include <camel/camel-internet-address.h>
-#include <camel/camel-url.h>
+#include <camel/camel.h>
#include <e-util/e-util.h>
#include <e-util/e-binding.h>
@@ -305,7 +304,7 @@ action_mailto_copy_cb (GtkAction *action,
if (text == NULL || *text == '\0')
text = g_strdup (uri + strlen ("mailto:"));
- camel_object_unref (inet_addr);
+ g_object_unref (inet_addr);
camel_url_free (curl);
clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD);
@@ -767,30 +766,71 @@ web_view_url_requested (GtkHTML *html,
}
static void
-web_view_link_clicked (GtkHTML *html,
- const gchar *uri)
+web_view_gtkhtml_link_clicked (GtkHTML *html,
+ const gchar *uri)
{
- gpointer parent;
+ EWebViewClass *class;
+ EWebView *web_view;
- parent = gtk_widget_get_toplevel (GTK_WIDGET (html));
- parent = gtk_widget_is_toplevel (parent) ? parent : NULL;
+ web_view = E_WEB_VIEW (html);
- e_show_uri (parent, uri);
+ class = E_WEB_VIEW_GET_CLASS (web_view);
+ g_return_if_fail (class->link_clicked != NULL);
+
+ class->link_clicked (web_view, uri);
}
static void
web_view_on_url (GtkHTML *html,
const gchar *uri)
{
+ EWebViewClass *class;
EWebView *web_view;
+
+ web_view = E_WEB_VIEW (html);
+
+ class = E_WEB_VIEW_GET_CLASS (web_view);
+ g_return_if_fail (class->hovering_over_link != NULL);
+
+ /* XXX WebKit would supply a title here. */
+ class->hovering_over_link (web_view, NULL, uri);
+}
+
+static void
+web_view_iframe_created (GtkHTML *html,
+ GtkHTML *iframe)
+{
+ g_signal_connect_swapped (
+ iframe, "button-press-event",
+ G_CALLBACK (web_view_button_press_event_cb), html);
+}
+
+static gchar *
+web_view_extract_uri (EWebView *web_view,
+ GdkEventButton *event,
+ GtkHTML *html)
+{
+ gchar *uri;
+
+ if (event != NULL)
+ uri = gtk_html_get_url_at (html, event->x, event->y);
+ else
+ uri = gtk_html_get_cursor_url (html);
+
+ return uri;
+}
+
+static void
+web_view_hovering_over_link (EWebView *web_view,
+ const gchar *title,
+ const gchar *uri)
+{
CamelInternetAddress *address;
CamelURL *curl;
const gchar *format = NULL;
gchar *message = NULL;
gchar *who;
- web_view = E_WEB_VIEW (html);
-
if (uri == NULL || *uri == '\0')
goto exit;
@@ -816,7 +856,7 @@ web_view_on_url (GtkHTML *html,
address = camel_internet_address_new ();
camel_address_decode (CAMEL_ADDRESS (address), curl->path);
who = camel_address_format (CAMEL_ADDRESS (address));
- camel_object_unref (address);
+ g_object_unref (address);
camel_url_free (curl);
if (who == NULL)
@@ -833,27 +873,25 @@ exit:
}
static void
-web_view_iframe_created (GtkHTML *html,
- GtkHTML *iframe)
+web_view_link_clicked (EWebView *web_view,
+ const gchar *uri)
{
- g_signal_connect_swapped (
- iframe, "button-press-event",
- G_CALLBACK (web_view_button_press_event_cb), html);
+ gpointer parent;
+
+ parent = gtk_widget_get_toplevel (GTK_WIDGET (web_view));
+ parent = gtk_widget_is_toplevel (parent) ? parent : NULL;
+
+ e_show_uri (parent, uri);
}
-static gchar *
-web_view_extract_uri (EWebView *web_view,
- GdkEventButton *event,
- GtkHTML *html)
+static void
+web_view_load_string (EWebView *web_view,
+ const gchar *string)
{
- gchar *uri;
-
- if (event != NULL)
- uri = gtk_html_get_url_at (html, event->x, event->y);
+ if (string != NULL && *string != '\0')
+ gtk_html_load_from_string (GTK_HTML (web_view), string, -1);
else
- uri = gtk_html_get_cursor_url (html);
-
- return uri;
+ e_web_view_clear (web_view);
}
static void
@@ -1083,11 +1121,13 @@ e_web_view_class_init (EWebViewClass *class)
html_class = GTK_HTML_CLASS (class);
html_class->url_requested = web_view_url_requested;
- html_class->link_clicked = web_view_link_clicked;
+ html_class->link_clicked = web_view_gtkhtml_link_clicked;
html_class->on_url = web_view_on_url;
html_class->iframe_created = web_view_iframe_created;
class->extract_uri = web_view_extract_uri;
+ class->hovering_over_link = web_view_hovering_over_link;
+ class->link_clicked = web_view_link_clicked;
class->load_string = web_view_load_string;
class->copy_clipboard = web_view_copy_clipboard;
class->cut_clipboard = web_view_cut_clipboard;
@@ -1122,7 +1162,6 @@ e_web_view_class_init (EWebViewClass *class)
PROP_COPY_TARGET_LIST,
"copy-target-list");
-#ifndef G_OS_WIN32
g_object_class_install_property (
object_class,
PROP_DISABLE_PRINTING,
@@ -1144,7 +1183,6 @@ e_web_view_class_init (EWebViewClass *class)
FALSE,
G_PARAM_READWRITE |
G_PARAM_CONSTRUCT));
-#endif
g_object_class_install_property (
object_class,
diff --git a/widgets/misc/e-web-view.h b/widgets/misc/e-web-view.h
index 7d8eb4c8d0..56477ef257 100644
--- a/widgets/misc/e-web-view.h
+++ b/widgets/misc/e-web-view.h
@@ -69,6 +69,11 @@ struct _EWebViewClass {
gchar * (*extract_uri) (EWebView *web_view,
GdkEventButton *event,
GtkHTML *frame);
+ void (*hovering_over_link) (EWebView *web_view,
+ const gchar *title,
+ const gchar *uri);
+ void (*link_clicked) (EWebView *web_view,
+ const gchar *uri);
void (*load_string) (EWebView *web_view,
const gchar *load_string);
diff --git a/widgets/table/ChangeLog b/widgets/table/ChangeLog
deleted file mode 100644
index 7d556367a8..0000000000
--- a/widgets/table/ChangeLog
+++ /dev/null
@@ -1,10156 +0,0 @@
-2009-04-24 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #572348
-
- * e-table-header-item.c:
- * e-cell-combo.h:
- * e-cell-combo.c:
- Remove deprecated Gtk+ symbols.
-
-2009-03-26 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #576694
-
- * e-cell-text.c (build_layout):
- Handle absolute font sizes correctly.
-
-2009-02-26 Chenthill Palanisamy <pchenthill@novell.com>
-
- ** Part of fix for bug #573198
-
- * e-cell-date.c (ecd_get_text): Initialize the timezone settings
- before making any timezone conversion calls.
-
-2009-02-19 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #572348
-
- * e-table-example-1.c (main):
- gtk_widget_push_visual() is a no-op. Remove it.
-
-2009-02-19 Andre Klapper <a9016009@gmx.de>
-
- * e-table-field-chooser-dialog.c:
- Migrate from deprecated gtk_window_set_policy to gtk_window_set_resizable
-
-2009-02-16 Milan Crha <mcrha@redhat.com>
-
- ** Part of fix for bug #550114
-
- * e-table-group.h:
- * e-table-group.c:
- * e-table-group-container.c:
- * e-table-group-leaf.c:
- Replaced 'compute_mouse_over' with 'get_mouse_over', now works
- with cached values 'motion_row', 'motion_col'.
- * e-table.c: (e_table_get_mouse_over_cell):
- Mouse position not required anymore, remove it too then.
-
-2008-12-15 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #557176
-
- * e-table-state.c: (e_table_state_load_from_node):
- Ensure the 'sort_info' member is never NULL.
-
-2008-11-28 Felix Riemann <friemann@svn.gnome.org>
-
- ** Part of fix for bug #554464
-
- * e-cell-text.c: (build_layout): Let Pango handle the ellipsizing,
- which should be faster.
-
-2008-10-17 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes bug #560882
-
- * e-table-defines.h:
- * e-table-header-utils.c (e_table_header_draw_button):
- Left-align header labels instead of centering them, and adjust
- the header padding so they look purdy.
-
-2008-10-17 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-cell-tree.c:
- * e-cell-tree.h:
-
-2008-10-08 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-table-header-item.c:
-
-2008-10-06 Sankar P <psankar@novell.com>
-
- * e-cell-float.c:
- * e-cell-float.h:
- Remove obsolete files
-
-2008-10-03 Sankar P <psankar@novell.com>
-
-License Changes And:
-
- * e-table-item.c (eti_event): remove obsolete check for
- buttons 4/5 in 2BUTTON_PRESS; cf. gdk_event_translate /
- _gdk_event_button_generate that turn this into a scroll
- event these days.
-
-2008-10-03 Sankar P <psankar@novell.com>
-
- * widgets/table/e-cell-progress.c:
- * widgets/table/e-cell-progress.h:
- Removed obsolete files
-
-2008-10-03 Sankar P <psankar@novell.com>
-
-License Changes
-
- * table-test.c:
- * test-table.c:
-
-2008-09-30 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-table.c:
-
-2008-09-29 Sankar P <psankar@novell.com>
-
- ** Remove unused files
-
- * widgets/table/Makefile.am:
- * widgets/table/e-cell-spin-button.c:
- * widgets/table/e-cell-spin-button.h:
-
-2008-09-29 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-cell-float.c:
- * e-cell-float.h:
- * e-cell-spin-button.c:
- * e-cell-spin-button.h:
- * e-table-col.c:
-
-2008-09-24 Sankar P <psankar@novell.com>
-
-License Changes
- * e-cell-text.c:
-
-2008-09-16 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-table-field-chooser-item.c:
- * e-table-field-chooser.c:
- * e-tree-selection-model.c:
-
-2008-09-12 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-table-scrolled.c:
- * e-table-sorting-utils.c:
- * e-tree-model.c:
- * e-tree.c:
-
-2008-09-04 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-cell-pixbuf.c:
- * e-cell-size.c:
- * e-table-group-container.c:
- * e-table-header-utils.c:
- * e-table-sorted.c:
-
-2008-09-02 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-cell-combo.c:
- * e-cell-date.c:
- * e-cell-hbox.c:
- * e-cell-number.c:
- * e-cell-pixbuf.h:
- * e-cell-popup.c:
- * e-cell-size.h:
- * e-cell-text.h:
- * e-cell-toggle.c:
- * e-cell-vbox.c:
- * e-cell.h:
- * e-table-click-to-add.c:
- * e-table-click-to-add.h:
- * e-table-column-specification.c:
- * e-table-column-specification.h:
- * e-table-column.c:
- * e-table-config-field.c:
- * e-table-config-field.h:
- * e-table-config.c:
- * e-table-config.h:
- * e-table-example-1.c:
- * e-table-example-2.c:
- * e-table-extras.c:
- * e-table-field-chooser-dialog.h:
- * e-table-group.c:
- * e-table-header-item.h:
- * e-table-header.c:
- * e-table-memory-callbacks.h:
- * e-table-memory-store.c:
- * e-table-memory.c:
- * e-table-memory.h:
- * e-table-one.h:
- * e-table-search.c:
- * e-table-selection-model.c:
- * e-table-size-test.c:
- * e-table-sort-info.c:
- * e-table-sort-info.h:
- * e-table-sorted-variable.c:
- * e-table-sorter.c:
- * e-table-sorter.h:
- * e-table-sorting-utils.h:
- * e-table-specification.c:
- * e-table-state.c:
- * e-table-state.h:
- * e-table-subset-variable.c:
- * e-table-subset-variable.h:
- * e-table-tooltip.h:
- * e-table.h:
- * e-tree-memory-callbacks.h:
- * e-tree-memory.c:
- * e-tree-selection-model.h:
- * e-tree-sorted-variable.c:
- * e-tree-sorted.c:
- * e-tree-table-adapter.c:
- * e-tree-table-adapter.h:
- * e-tree.h:
-
-2008-08-27 Sankar P <psankar@novell.com>
-
-License Changes
-
- * e-cell-checkbox.c:
- * e-cell-checkbox.h:
- * e-cell-combo.h:
- * e-cell-date.h:
- * e-cell-hbox.h:
- * e-cell-number.h:
- * e-cell-popup.h:
- * e-cell-toggle.h:
- * e-cell-vbox.h:
- * e-cell.c:
- * e-table-col-dnd.h:
- * e-table-col.h:
- * e-table-defines.h:
- * e-table-extras.h:
- * e-table-field-chooser-dialog.c:
- * e-table-field-chooser-item.h:
- * e-table-field-chooser.h:
- * e-table-group-container.h:
- * e-table-group-leaf.c:
- * e-table-group-leaf.h:
- * e-table-group.h:
- * e-table-header-utils.h:
- * e-table-header.h:
- * e-table-item.h:
- * e-table-memory-callbacks.c:
- * e-table-memory-store.h:
- * e-table-model.c:
- * e-table-model.h:
- * e-table-one.c:
- * e-table-scrolled.h:
- * e-table-search.h:
- * e-table-selection-model.h:
- * e-table-simple.c:
- * e-table-simple.h:
- * e-table-sorted-variable.h:
- * e-table-sorted.h:
- * e-table-specification.h:
- * e-table-subset.c:
- * e-table-subset.h:
- * e-table-tree.h:
- * e-table-utils.c:
- * e-table-utils.h:
- * e-table-without.c:
- * e-table-without.h:
- * e-tree-memory-callbacks.c:
- * e-tree-memory.h:
- * e-tree-model.h:
- * e-tree-scrolled.c:
- * e-tree-scrolled.h:
- * e-tree-simple.c:
- * e-tree-simple.h:
- * e-tree-sorted-variable.h:
- * e-tree-sorted.h:
- * table-test.h:
- * test-check.c:
- * test-cols.c:
-
-2008-08-11 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #352695
-
- * e-tree-table-adapter.c: (e_tree_table_adapter_load_expanded_state),
- (e_tree_table_adapter_load_expanded_state_xml):
- Call the e_table_model_changed in the proper function, to prevent
- lock of the model caused by previous commit to this bug.
-
-2008-08-11 Milan Crha <mcrha@redhat.com>
-
- ** Part of fix for bug #519292
-
- * e-tree.h: (e_tree_load_all_expanded_state):
- * e-tree.c: (e_tree_load_all_expanded_state):
- * e-tree-table-adapter.h:
- (e_tree_table_adapter_load_all_expanded_state):
- * e-tree-table-adapter.c:
- (e_tree_table_adapter_load_all_expanded_state),
- (set_expanded_state_func), (set_collapsed_state_func):
- Drop functions in favor of new functions.
- * e-tree.h: (e_tree_force_expanded_state):
- * e-tree.c: (e_tree_force_expanded_state):
- * e-tree-table-adapter.h: (e_tree_table_adapter_force_expanded_state):
- * e-tree-table-adapter.c: (e_tree_table_adapter_force_expanded_state),
- (struct ETreeTableAdapterPriv), (create_gnode), (etta_init):
- Use either default value of the model to expanded state of new node or
- use the one which has been set (forced) by new functions.
-
-2008-08-11 Milan Crha <mcrha@redhat.com>
-
- ** Part of fix for bug #352695
-
- * e-tree-table-adapter.h:
- (e_tree_table_adapter_save_expanded_state_xml),
- (e_tree_table_adapter_load_expanded_state_xml):
- * e-tree-table-adapter.c:
- (e_tree_table_adapter_save_expanded_state_xml),
- (e_tree_table_adapter_save_expanded_state),
- (e_tree_table_adapter_load_expanded_state_xml),
- (e_tree_table_adapter_load_expanded_state):
- * e-tree.h: (e_tree_save_expanded_state_xml),
- (e_tree_load_expanded_state_xml):
- * e-tree.c: (e_tree_save_expanded_state_xml),
- (e_tree_load_expanded_state_xml):
- Be able to store expanded state also in memory, not only on the disk.
-
-2008-07-15 Milan Crha <mcrha@redhat.com>
-
- ** Part of fix for bug #329821
-
- * e-table-item.c: (find_cell): Do not consider last row's height
- till the bottom.
- * e-table-item.h: (e_table_item_compute_mouse_over):
- * e-table-item.c: (e_table_item_compute_mouse_over):
- * e-table-group-container.c: (etgc_compute_mouse_over),
- (etgc_class_init):
- * e-table-group-leaf.c: (etgl_compute_mouse_over), (etgl_class_init):
- * e-table.h: (e_table_get_mouse_over_cell):
- * e-table.c: (e_table_get_mouse_over_cell):
- * e-table-group.h: (struct ETableGroupClass),
- (e_table_group_compute_mouse_over):
- * e-table-group.c: (e_table_group_compute_mouse_over),
- (etg_class_init): Be able to calculate mouse-over position correctly,
- relatively to the ETableItem.
-
-2008-06-03 Kjartan Maraas <kmaraas@gnome.org>
-
- * e-table-example-1.c: (main):
- * e-table-example-2.c: (main):
- * e-table-size-test.c: (main):
- * test-check.c: (check_test):
- * test-cols.c: (multi_cols_test):
- gdk_rgb_get_cmap -> gdk_rgb_get_colormap
-
-2008-06-03 Kjartan Maraas <kmaraas@gnome.org>
-
- * test-check.c: (check_test):
- * test-cols.c: (multi_cols_test):
- gdk_pixbuf_unref() -> g_object_unref()
-
-2008-06-03 Kjartan Maraas <kmaraas@gnome.org>
-
- * e-cell-combo.c: (e_cell_combo_init):
- gtk_window_set_policy -> gtk_window_set_resizable
-
-2008-05-22 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #534360
-
- * e-table-memory-callbacks.c:
- * e-table-memory-store.c:
- * e-table-model.c:
- * e-table-simple.c:
- * e-tree-memory-callbacks.c:
- * e-tree-model.c:
- * e-tree-simple.c:
- Migrate from deprecated GtkObject symbols to GObject equivalents.
-
-2008-04-30 Milan Crha <mcrha@redhat.com>
-
- ** Part of fix for bug #528288
-
- * e-tree.h: (e_tree_set_info_message):
- * e-tree.c: (struct ETreePriv), (et_dispose), (e_tree_init),
- (tree_size_allocate), (e_tree_set_info_message):
- Allow setting info message into the tree. It doesn't check
- whether the tree is empty or not, so take care of that.
-
-2008-04-25 Danny Baumann <dannybaumann@web.de>
-
- ** Fix for bug #529893
-
- * e-table-header-item.c: (make_shaped_window_from_xpm):
- * e-cell-combo.c: (e_cell_combo_init):
- * e-cell-text.c: (ect_show_tooltip):
- Properly set type hints for popup windows.
-
-2008-03-27 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #519292
-
- * e-tree-table-adapter.c: (set_expanded_state_func),
- (set_collapsed_state_func): Use rather recurse function.
-
-2008-02-19 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #209353
-
- * e-table-item.c: (eti_event):
- Pass Home/End keys to cell when editing.
-
-2008-02-01 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #512623
-
- * e-tree.c: (item_key_press):
- Check only if Ctrl/Alt/Shift is pressed when required Shift only.
- * e-table.c: (group_key_press): Ignore/consider GDK_MODEx_MASK states.
-
-2008-01-28 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-table-item.c: (eti_draw): Fix some gradient issues.
-
-2008-01-24 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-cell-pixbuf.c: (pixbuf_draw), (pixbuf_height), (pixbuf_print),
- (pixbuf_print_height), (pixbuf_max_width): Cairfy pixbuf renderer for
- settings window.
-
-2008-01-22 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #511105
-
- * e-tree-table-adapter.c: (e_tree_table_adapter_load_expanded_state):
- * e-table-item.c: (eti_draw):
- * e-table-column-specification.c: (free_strings):
- Free allocated memory properly.
-
-2008-01-22 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #511094
-
- * e-cell-text.c: (ect_draw): Set proper foreground color based
- on focused/non-focused canvas.
-
-2008-01-20 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-table-item.c: (eti_draw): Draw the cursor only for multiselection.
-
-2008-01-20 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-cell-toggle.c: (etog_new_view), (etog_kill_view), (etog_draw),
- (etog_print), (e_cell_toggle_class_init),
- (e_cell_toggle_construct): Removed the pixmap cache. It wasn't giving
- alpha for the cairo rendered message list row.
- * e-table-item.c: (eti_draw): Render the rows with Cairo. It looks
- same as GtkTreeView and seems nice.
-
-2007-12-05 David Turner <cillian64@googlemail.com>
-
- ** Fix for bug #408170
-
- * e-table-header-item.c: (ethi_header_context_menu): Added
- mnemonics to the "Custom" and "Sort By" menu options
-
-2007-12-04 David Turner <cillian64@googlemail.com>
-
- ** Fix for bug #458824
-
- * e-table-config.glade: Added mnemonics to the "Group" dialog
-
-2007-11-05 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #255051
-
- * e-cell-combo.c: (e_cell_combo_key_press):
- * e-cell-text.c: (ect_event):
- Pass Escape event to parent, if there is no action to do with it.
- * e-table-click-to-add.c: (etcta_event): Drop changes when pressed
- Escape and go back to default line with text "Click to add...".
-
-2007-11-02 Damien Carbery <damien.carbery@sun.com>
-
- ** Fixes bug #492058
-
- * e-table-header-item.h:
- * e-table-header-item.c: Name the anonymous unions to build
- with the Sun Studio compiler.
-
-2007-11-02 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #463946
-
- * e-table-header-item.c: (ethi_popup_field_chooser):
- Fix of critical warning and misused variable.
-
-2007-11-01 Matthew Barnes <mbarnes@redhat.com>
-
- * e-table-click-to-add.c (etcta_add_message):
- Fix a const warning.
-
-2007-10-26 Kjartan Maraas <kmaraas@gnome.org>
-
- * e-cell-text.c: (ect_event), (_blink_scroll_timeout):
- * e-table-config.c: (do_sort_and_group_config_dialog),
- (do_fields_config_dialog):
- * e-table-group-container.c: (etgc_add_array),
- (etgc_get_focus_column), (etgc_get_cell_geometry),
- (etgc_set_property), (etgc_get_property), (etgc_class_init),
- (etgc_reflow), (etgc_init), (e_table_group_container_print_page),
- (e_table_group_container_height):
- * e-table-group.c: (e_table_group_get_focus_column):
- * e-table-header.c: (e_table_header_get_columns), (eth_set_size):
- * e-table-item.c: (eti_tree_unfreeze), (eti_draw), (find_cell),
- (_do_tooltip), (eti_event), (e_table_item_height):
- * e-table-memory-store.c: (etms_initialize_value),
- (etms_value_is_empty):
- * e-tree-model.c: (e_tree_model_new), (e_tree_model_node_find):
- Warning fixes:
- - NULL vs. 0 vs. FALSE
- - Mark som code static
-
-2007-10-09 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #437579
-
- * e-table-field-chooser-item.c:
- * e-table-header-item.c:
- * e-table-header-item.h:
- * e-table-header-utils.c:
- * e-table.c:
- Fix various compiler warnings. Patch from Milan Crha.
-
-2007-10-02 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #469657
-
- * e-table-extras.c:
- * e-table-selection-model.c:
- Use destroy functions in GHashTables to simplify memory management.
-
-2007-10-01 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #470837
-
- * e-table-header-item.c: (sort_by_id), (popup_custom),
- (ethi_header_context_menu), (ethi_change_sort_state):
- Improved "Sort by" submenu behavior.
-
-2007-10-01 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #474557
-
- * e-table-group-container.c: (etgc_reflow):
- Choose right widget and use PANGO_PIXELS to calculate height.
-
-2007-09-27 Hiroyuki Ikezoe <poincare@ikezoe.net>
-
- ** Fix for bug #461195
-
- * e-table-header-item.c:
- * e-table-item.c:
- * e-tree.c:
- * e-table-click-to-add.c:
- * e-table.c:
- * e-table-group.c: Use GObject's marshalers.
-
-2007-09-27 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #478871
-
- * e-table-config.c: (config_fields_info_update):
- Shows proper 'Fields shown' description for all tables.
-
-2007-09-27 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #479716
-
- * e-table-config.c: (setup_gui):
- * Makefile.am: Get rid of e-table-config-no-group.glade and
- keep consistent with behavior and appearence.
-
-2007-09-26 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #340748
-
- * e-table.c: (e_table_set_state_object):
- Notifies others about change.
-
-2007-09-07 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #473903
-
- * e-tree.c: (et_real_construct):
- Fixes serious compiler warning.
-
-2007-08-31 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Move away from g_assert to g_return* critical warnings to debug
- them better.
-
- * e-cell-text.c: (ect_edit_select_all), (_get_position):
- * e-table-config.c: (configure_combo_box_add),
- (configure_combo_box_set_active),
- (update_sort_and_group_config_dialog):
- * e-table-group.c: (e_table_group_add), (e_table_group_add_array),
- (e_table_group_add_all), (e_table_group_remove),
- (e_table_group_increment), (e_table_group_decrement),
- (e_table_group_row_count), (e_table_group_set_focus),
- (e_table_group_get_focus), (e_table_group_get_focus_column),
- (e_table_group_get_printable), (e_table_group_compute_location),
- (e_table_group_get_cell_geometry):
- * e-table-header-utils.c: (e_table_header_compute_height),
- (make_composite_pixmap), (e_table_header_draw_button):
- * e-table-item.c: (eti_attach_cell_views), (eti_row_height_real),
- (eti_add_table_model), (eti_add_selection_model),
- (eti_header_structure_changed), (eti_add_header_model):
- * e-tree-table-adapter.c: (generate_tree):
-
-2007-08-24 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #239441
-
- * e-tree-table-adapter.c: (struct ETreeTableAdapterPriv),
- (etta_finalize), (etta_init), (resort_model),
- (etta_proxy_node_changed):
- Remember resort_idle_id and remove it from g_source when
- finalizing structure, so it will not be called when the
- structure itself is already freed.
-
-2007-08-23 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes bug #303877.
-
- * e-cell-text.c: (update_im_cursor_locations): New function.
- Set the cursor location to IMContext for candidate window.
- (e_cell_text_get_cursor_locations): New function.
- Get the current cursor locations in root canvas.
- (e_cell_text_preedit_changed_cb): set the preedit cursor position to
- preedit_pos.
- (layout_with_preedit): call update_im_cursor_locations in the tail.
- Patch by Hiroyuki Ikezone.
-
-2007-08-07 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bug #419690
-
- * e-tree-table-adapter.c:
- (e_tree_table_adapter_root_node_set_visible): Add protection around
- etta.
-
-2007-08-07 Milan Crha <mcrha@redhat.com>
-
- ** Fix for bug #463946
-
- * e-table-header-item.c: (ethi_dispose), (ethi_popup_field_chooser):
- Fixes compiler warnings and weak pointer references.
-
-2007-07-27 Hiroyuki Ikezoe <poincare@ikezoe.net>
-
- * e-cell-tree.c:
- * e-cell-hbox.c:
- * e-cell-popup.c:
- * e-tree-simple.c:
- * e-cell-date.c:
- * e-tree-table-adapter.c:
- * e-tree-scrolled.c:
- * e-table-field-chooser.c:
- * e-table-header-item.c:
- * e-cell-pixbuf.c:
- * e-table-subset-variable.c:
- * e-tree-selection-model.c:
- * e-tree-sorted-variable.c:
- * e-tree-memory-callbacks.c:
- * e-table-sorted.c:
- * e-table-subset.c:
- * e-table-search.c:
- * e-table-extras.c:
- * e-table-one.c:
- * e-table-config-field.c:
- * e-cell-combo.c:
- * e-table-item.c:
- * e-cell-toggle.c:
- * e-tree.c:
- * e-table-col.c:
- * e-table-field-chooser-item.c:
- * e-table-sort-info.c:
- * e-table-simple.c:
- * e-table-column.c:
- * e-table-scrolled.c:
- * e-tree-model.c:
- * e-table-column-specification.c:
- * e-table-group-container.c:
- * e-cell-text.c:
- * e-table-specification.c:
- * e-cell-number.c:
- * e-table-sorted-variable.c:
- * e-table-selection-model.c:
- * e-table-memory-callbacks.c:
- * e-cell.c:
- * e-table-click-to-add.c:
- * e-cell-float.c:
- * e-table-field-chooser-dialog.c:
- * e-tree-memory.c:
- * e-cell-progress.c:
- * e-table-group-leaf.c:
- * e-table.c:
- * e-table-sorter.c:
- * e-table-header.c:
- * e-table-group.c:
- * e-table-model.c:
- * e-cell-size.c:
- * e-table-without.c:
- * e-table-config.c:
- * e-cell-vbox.c:
- * e-tree-sorted.c:
- * e-table-state.c:
- * e-table-memory-store.c:
- * e-table-memory.c:
- * e-cell-spin-button.c:
- * e-cell-checkbox.c: Use G_DEFINE_TYPE instead of E_MAKE_TYPE.
-
-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-27 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bug #323522
-
- * e-table-item.c: (eti_unfreeze):
-
-2007-06-15 Matthew Barnes <mbarnes@redhat.com>
-
- * e-cell-vbox.c (ecv_finalize):
- Free the model_cols array when the instance is destroyed (#447742).
-
-2007-06-02 Gilles Dartiguelongue <dartigug@esiee.fr>
-
- ** Fixes part of bug #441014
-
- * e-cell-text.c: (build_layout), (ect_print):
- * e-cell-tree.c: (ect_realize):
- * e-table-column-specification.c:
- (e_table_column_specification_load_from_node),
- (e_table_column_specification_save_to_node):
- * e-table-field-chooser-item.c: (etfci_drag_data_get):
- * e-table-group-container.c:
- * e-table-header-item.c: (ethi_drag_data_received),
- (ethi_drag_data_get), (ethi_popup_field_chooser),
- (ethi_header_context_menu):
- * e-table-sort-info.c: (e_table_sort_info_load_from_node),
- (e_table_sort_info_save_to_node):
- * e-table-specification.c: (e_table_specification_load_from_node),
- (e_table_specification_save_to_file),
- (e_table_specification_save_to_string),
- (e_table_specification_save_to_node):
- * e-table-state.c: (e_table_state_load_from_node),
- (e_table_state_save_to_file), (e_table_state_save_to_string),
- (e_table_state_save_to_node):
- * e-table-subset-variable.c: (e_table_subset_variable_clear):
- * e-table-subset.c: (e_table_subset_construct):
- * e-tree-table-adapter.c: (save_expanded_state_func),
- (e_tree_table_adapter_save_expanded_state), (open_file),
- (e_tree_table_adapter_load_expanded_state): various
- compilation warning cleanups
-
-2007-05-31 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bug #333707 from David Moore
-
- * e-tree.c: (et_disconnect_from_etta), (e_tree_init),
- (et_table_rows_deleted), (et_connect_to_etta): Thread message
- selection improvements, while deleting messages in thread.
-
-2007-05-25 Matthew Barnes <mbarnes@redhat.com>
-
- * e-table-config.c:
- * e-table-config.h:
- Replace GalComboText with a GtkComboBox/GtkListStore (#441010).
-
-2007-05-17 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Add more support for GMail like sorting.
-
- * e-table-sorting-utils.c: (e_table_sorting_utils_tree_sort):
- * e-tree-memory-callbacks.c: (etmc_sort_value_at),
- (e_tree_memory_callbacks_class_init),
- (e_tree_memory_callbacks_new):
- * e-tree-memory-callbacks.h:
- * e-tree-model.c: (e_tree_model_class_init),
- (e_tree_model_sort_value_at):
- * e-tree-model.h:
-
-2007-05-16 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-tree-table-adapter.c:
- (e_tree_table_adapter_load_expanded_state): Add support for retaining
- default tree expand state
-
-2007-05-14 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bug #378441 from Ebby Wiselyn
-
- * e-table-header-item.c: Added mnemonics
-
-2007-05-12 simon.zheng <simon.zheng@sun.com>
-
- * Fix for bug #355919
-
- * e-table-header-utils.c: (make_composite_pixmap):
- gdk_rgb_get_visual()->depth always returns preferred visual
- depth, which isn't always equal to the that of current
- window. Whereas, using -1 will match the depth of the pixmap window
- to what we have in drawable window, which is the first
- argument of gdk_pixmap_new(). So use -1 instead.
-
-2007-04-20 Matthew Barnes <mbarnes@redhat.com>
-
- * e-cell.h:
- * e-cell-pixbuf.c:
- * e-cell-text.c:
- * e-printable.h:
- * e-table-group-container.c:
- Refactor the printing infrastructure. (#426816)
-
-2007-04-19 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes part of bug #429422
-
- * e-table-size-test.c (create_table):
- * test-table.c (main):
- * e-cell-combo.c (e_cell_combo_show_popup):
- * e-table-example-1.c (create_table):
- * e-tree.c (header_canvas_size_allocate), (e_tree_setup_header):
- * e-cell-text.c (ect_show_tooltip):
- * e-table-example-2.c (create_table):
- * e-table.c (header_canvas_size_allocate):
- Use gtk_widget_set_size_request() or g_object_set() instead of
- gtk_widget_set_usize().
-
- * e-cell-tree.c (e_cell_tree_construct):
- * e-table-header-item.c (ethi_header_context_menu), (ethi_event):
- * e-table-extras.c (e_table_extras_add_cell):
- Use g_object_ref_sink() instead of gtk_object_sink().
-
- * e-cell-date.c (ecd_get_text):
- e_strdup_strip() is dead; just do it manually.
-
- * e-table-header-item.c (ethi_header_context_menu):
- Use gtk_radio_menu_item_get_group() instead of
- gtk_radio_menu_item_group().
-
- * e-table-search.c (e_table_search_class_init):
- * e-table-sort-info.c (e_table_sort_info_class_init):
- * e-tree-model.c (e_tree_model_class_init):
- * e-tree-memory.c (e_tree_memory_class_init):
- * e-table-header.c (e_table_header_class_init):
- * e-table-model.c (e_table_model_class_init):
- * e-table-config.c (config_class_init):
- * e-tree-sorted.c (e_tree_sorted_class_init):
- Use G_TYPE_FROM_CLASS() instead of E_OBJECT_CLASS_TYPE().
-
- * e-table-item.c (eti_dispose), (eti_unrealize), (eti_event):
- Use g_source_remove() instead of gtk_timeout_remove().
-
- * e-table-item.c (eti_event):
- Use g_timeout_add() instead of gtk_timeout_add().
-
- * e-tree.c (et_dispose):
- e_free_string_list() is dead; just do it manually.
-
- * e-tree-memory.c (e_tree_memory_sort_node):
- * e-table-sorting-utils.c (e_table_sorting_utils_sort):
- Use g_qsort_with_data() instead of e_sort().
-
-2007-03-29 Matthew Barnes <mbarnes@redhat.com>
-
- * e-table-header-utils.c:
- * e-table-item.c:
- * e-tree-header-item.c:
- * e-tree-table-adapter.c:
- Fix "incompatible pointer type" warnings (#360619).
-
-2007-03-20 Matthew Barnes <mbarnes@redhat.com>
-
- * e-cell-checkbox.c:
- * e-table-header-item.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-cell-text.c (ect_free_color):
- Remove unused variable.
-
-2007-03-01 Kjartan Maraas <kmaraas@gnome.org>
-
- * e-cell-hbox.c: (ecv_new_view), (ecv_kill_view):
- * e-cell-pixbuf.c: (pixbuf_new_view), (pixbuf_kill_view):
- * e-cell-popup.c: (ecp_new_view), (ecp_kill_view):
- * e-cell-progress.c: (eprog_new_view), (eprog_kill_view):
- * e-cell-spin-button.c: (ecsb_new_view):
- * e-cell-text.c: (ect_new_view), (ect_kill_view):
- * e-cell-toggle.c: (etog_new_view), (etog_kill_view):
- * e-cell-tree.c: (ect_new_view), (ect_kill_view):
- * e-cell-vbox.c: (ecv_new_view), (ecv_kill_view):
- * e-cell.h: Rest of the workaround patch for the crash
- in bug #330728. Patch from Caolan McNamara.
-
-2007-02-12 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Print migration updates from Ebby Wiselyn
-
- * e-cell-toggle.c:
- * e-cell-text.c:
-
-2007-02-08 Matthew Barnes <mbarnes@redhat.com>
-
- ** Fixes bug #357216
-
- * e-table-field-chooser-item.c:
- * e-table-field-chooser-item.h:
- * e-table-group-container.c:
- * e-table-group-container.h:
- Replace deprecated GdkFont with PangoFontDescription.
-
- * e-table-header-item.c:
- * e-table-header-item.h:
- Replace deprecated GdkFont with PangoFontDescription.
- Rename "fontset" property to "font-desc", and change the property
- type to a boxed PangoFontDescription.
-
-2007-01-22 Srinivasa Ragavan <sragavan@novell.com>
-
- ** GtkPrint api migration from Ebby Wiselyn.
-
- * e-cell-checkbox.c: (ecc_print), (e_cell_checkbox_class_init):
- * e-cell-pixbuf.c: (gnome_print_pixbuf), (pixbuf_print),
- (pixbuf_print_height):
- * e-cell-popup.c: (ecp_print), (ecp_print_height):
- * e-cell-text.c: (ect_print), (ect_print_height):
- * e-cell-toggle.c: (etog_print), (etog_print_height):
- * e-cell.c: (e_cell_print), (e_cell_print_height):
- * e-cell.h:
- * e-table-group-container.c: (gp_draw_rect),
- (e_table_group_container_print_page),
- (e_table_group_container_height),
- (e_table_group_container_will_fit):
- * e-table-item.c: (eti_realize_cell_views), (eti_draw),
- (eti_event), (eti_printed_row_height), (gp_draw_rect),
- (e_table_item_print_page), (e_table_item_height),
- (e_table_item_will_fit):
-
-2006-12-04 Matthew Barnes <mbarnes@redhat.com>
-
- Fixes bug #357970
-
- * e-cell-pixbuf.c:
- * e-cell-progress.c:
- * e-cell-text.c:
- * e-cell-toggle.c:
- * e-cell-tree.c:
- * e-table-col.c:
- * e-table-extras.c:
- * e-table-header-item.c:
- * e-table-header-utils.c:
- * e-table-item.c:
- * e-table-memory-store.c:
- Don't call deprecated GLib / GDK functions.
-
-2006-12-04 Harish Krishnaswamy <kharish@novell.com>
-
- * e-table.c: (canvas_vbox_event), (click_to_add_event):
- Fixes bug #381642.
-
-2006-08-24 Hiroyuki Ikezoe <poincare@ikezoe.net>
-
- ** Fixes bug #337582
- * e-cell-text.c: Use GtkClipboard instead of GtkInvisible.
-
-2006-08-21 Andre Klapper <a9016009@gmx.de>
-
- * e-table-config.glade:
- changed window focus. Fixes bug #266802.
-
-2006-08-21 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-cell-text.c: (ect_event): Add a null check and remove code for a
- possible crash which is really useless.
-
-2006-08-20 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Patch from Pavel Roskin.
-
- * e-cell-text.c: Added missing headers.
- * e-table-utils.c: Added missing headers.
-
-2006-08-19 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fix for bug #350884
-
- * e-tree-table-adapter.c: (resort_model),
- (etta_proxy_node_changed): Sort the model after for gmail like
- display.
-
-2006-07-05 Rajeev ramanathan <rajeevramanathan_2004@yaoo.co.in>
-
- * e-cell-text.c: (ect_unrealize), (build_layout), (ect_draw): Added
- code to render ECell text items with antialiasing, hinting
- and sub-pixel ordering with cairo.
-
-2006-07-18 Benoît Dejean <benoit@placenet.org>
-
- ** Fixes bug #333041
- * e-table-group-container.c: add gettext support to some strings.
-
-2006-06-12 simon.zheng <simon.zheng@sun.com>
-
- **Fixes bug #338295
- * e-cell-text.c: (get_font_description_for_size), (get_font_size),
- (ect_print), (ect_print_height): Use pango to handle text when
- printing tasks
-
-2006-06-12 Ed Catmur <ed@catmur.co.uk>
-
- ** Fixes bug #343764 now entirely
- * e-table-header-utils.c: (e_table_header_draw_button):
- Adding a weak reference to avoid crashing.
-
-2006-06-12 Srinivasa Ragavan <sragavan@novell.com>
-
- Committing a fix for sorting in the vertical view.
-
- * e-table-column-specification.c:
- (e_table_column_specification_load_from_node):
- * e-table-column-specification.h:
- * e-table-header-item.c: (ethi_popup_sort_ascending),
- (ethi_popup_sort_descending), (ethi_header_context_menu),
- (ethi_change_sort_state):
- * e-table-utils.c: (et_col_spec_to_col):
-
-2006-06-08 Carlos Garcia Campos <carlosgc@gnome.org>
-
- ** Fixes bug #343764
- * e-table-header-utils.c: (e_table_header_draw_button):
- Ensure g_label points to the right widget before accessing to its
- style.
-
-2006-06-05 Hiroyuki Ikezoe <poincare@ikezoe.net>
-
- * Makefile.am: Remove extra tabs. Fixes #343734.
-
-2006-05-12 Hiroyuki Ikezoe <poincare@ikezoe.net>
-
- ** Fixes bug #341530.
- * e-table.h:
- Removed duplicate delcaration of e_table_commi_click_to_add.
-
-2006-04-10 Jeff Cai <jeff.cai@sun.com>
-
- ** Fixes bug #327035
- * e-table-header-item.c: (ethi_event):
- Grab focus only from widgets which can have focus on.
-
-2006-03-02 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fixes bug #328283
-
- * e-table-item.c: (eti_tree_unfreeze): Use the right widget to
- unfreeze the tree.
-
-2006-03-01 Simon Zheng <simon.zheng@sun.com>
-
- ** Fixes bug #331400
-
- * e-cell-text.c: (ect_print_height): Table item height is decided
- by the max cell height in item. And cell-text is just one of cells.
- As done by ect_print(), to leave some margin for text, 2 for footer,
- 2 for header, actual print height should be 16 + 4.
-
-2006-02-24 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fixes bug #332408
-
- * e-table-config.c: (e_table_proxy_etable_shown_new),
- (e_table_proxy_etable_available_new): Reverting the patch that fixes
- some compiler warning. The function is referred from the glade file,
- which was removed.
-
-2006-02-14 Srinivasa Ragavan <sragavan@novell.com>
-
- ** Fixes bug #328283
-
- * e-table-item.c: (eti_tree_unfreeze): Added the return value for
- scroll-event handler which causes a crash
-
-2006-01-27 Andre Klapper <a9016009@gmx.de>
- * e-table-config-no-group.glade:
- * e-table-config.glade:
- removed string "dialog1" from translation. Fixes bug 306118.
-
-2006-01-13 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-table-item.c: (adjustment_changed), (eti_tree_unfreeze),
- (eti_realize): Fixes the scroll issue with e-tree.
-
-2005-12-21 Chenthill Palanisamy <pchenthill@novell.com>
-
- committing for Akira TAGOH <tagoh@gnome-db.org>
-
- Fixes #303876
- * table/e-cell-text.c: (ect_event): Check if its a keep press
- event when the Return key is pressed.
-
-2005-12-18 Tor Lillqvist <tml@novell.com>
-
- * e-table-config.c (find_model_column_by_name): Use
- g_ascii_strcasecmp() instead of g_strcasecmp(). This function
- handles the English column names.
-
- * e-table-specification.c (e_table_specification_load_from_file)
- * e-table-state.c (e_table_state_load_from_file):
- Use e_xml_parse_file().
-
-2005-12-17 Tor Lillqvist <tml@novell.com>
-
- * Makefile.am: Link with bootstrap libs on Win32. Use
- E_WIDGETS_CFLAGS instead of GNOME_BONOBO_CFLAGS, GNOME_INCLUDEDIR,
- ICONV_CFLAGS and GNOME_FULL_CFLAGS. Link with all required
- libraries. Use -no-undefined on Win32.
-
-2005-12-09 Harish Krishnaswamy <kharish@novell.com>
-
- * e-table-example-2.c (create_table):
- * e-table-extras.c (ete_init):
- * e-table-size-test.c (create_table):
- * test-check.c (check_test):
- * test-cols.c (multi_cols_test):
- * test-table.c (table_browser_test):
- s/g_*_compare/e_*_compare.
-
-2005-12-07 Boby Wang <boby.wang@sun.com>
-
- Fixes #322740.
- * e-tree.c: (item_key_press): change the condition
- expression for GDK_RIGHT and GDK_LEFT.
-
-2005-12-06 Li Yuan <li.yuan@sun.com>
-
- * e-tree.c: (table_canvas_focus_event_cb):
- Fixes bug #322776.
- When focus come into e-tree, it is possible that the focused_item
- is not NULL and there is no focused item in e-tree. So test
- e_selection_model_cursor_row also.
-
-2005-10-14 Kaushal Kumar <kakumar@novell.com>
-
- * table/e-table-group-container.c
- (e_table_group_container_print_page): Use gnome_font_find_closest
- instead of gnome_font_find since Helvetica is not always present.
-
- Fixes bug #246803.
- Patch by: Mubeen Jukaku.
-
-2005-10-04 Devashish Sharma <sdevashish@novell.com>
-
- * e-table-extras.c (ete_init): Added compare type "stringcase" to
- ETableExtras to comapre hash table for case insensitive strings. The
- corresponding function g_str_case_compare has been added to e-util.c.
- See #207110.
-
-2005-09-29 Tor Lillqvist <tml@novell.com>
-
- * e-table.c (e_table_load_specification)
- * e-table-specification.c (e_table_specification_load_from_file)
- * e-tree-table-adapter.c (open_file): Use
- g_win32_locale_filename_from_utf8() from GLib 2.8 instead of
- gnome_win32_locale_filename_from_utf8() which was temporarily in
- libgnome.
-
-2005-09-28 Tor Lillqvist <tml@novell.com>
-
- * e-table-specification.c (e_table_specification_load_from_node):
- Use g_ascii_strcasecmp() instead of strcasecmp(). We are comparing
- to literal ASCII strings, just casefolding ASCII is enough. Also
- better for portability.
-
-2005-08-24 Li Yuan <li.yuan@sun.com>
-
- Fixes #314352.
- * e-table-item.c: (eti_event):
- if accessibility is enabled, we enable horizontal cusor
- movement for line selection.
-
-2005-08-23 Not Zed <NotZed@Ximian.com>
-
- * e-table-config.c (setup_fields): fix some missing casts.
-
-2005-08-10 Not Zed <NotZed@Ximian.com>
-
- ** See bug #313063.
-
- * e-tree.c (e_tree_class_init): fix the set_scroll_adjustments
- signal to take object, not pointer arguments. Since glib's
- anality doesn't accept an object pointer as a pointer. go figure.
-
-2005-07-25 Srinivasa Ragavan <sragavan@novell.com>
-
- * e-table-config.glade: Added code to use stock icons instead of
- -> and <-
-
-2005-06-23 Kaushal Kumar <kakumar@novell.com>
-
- * Makefile.am: Set libetableincludedir to table to match
- source directory name and fix evolution-exchange build
- without GAL.
-
-2005-06-01 Kaushal Kumar <kakumar@novell.com>
-
- * e-table-item.c (eti_dispose): Don't hide the tooltip if we don't
- have a canvas anymore.
- Patch by: Not Zed
-
-2005-05-20 Li Yuan <li.yuan@sun.com>
-
- * e-table-header-item.c:
- * e-table-header-item.h:
- export ethi_change_sort_state, so we can call it in a11y part.
- * e-tree.c: (e_tree_get_header_item):
- * e-tree.h:
- return the header item of e-tree.
-
- Fix for #302154.
-
-2005-03-14 Theppitak Karoonboonyanan <theppitak@gmail.com>
-
- * e-cell-text.c (e_cell_text_retrieve_surrounding_cb)
- (e_cell_text_delete_surrounding_cb): selecion fixes for im's.
-
-2005-02-25 Li Yuan <li.yuan@sun.com>
-
- Fix for #73009.
- * e-table-config-no-group.glade:
- * e-table-config.glade:
-
-2005-01-27 Harry Lu <harry.lu@sun.com>
-
- Some code clean work.
-
- * e-table-click-to-add.c: (etcta_class_init): move a11y registry
- call to a11y code.
- * e-table.c: (e_table_class_init): ditto.
- * e-tree.c: (e_tree_class_init): ditto.
-
-2005-01-27 Li Yuan <li.yuan@sun.com>
-
- * e-cell-combo.c: (e_cell_combo_init), (e_cell_combo_do_popup),
- (e_cell_combo_list_button_press), (e_cell_combo_button_press),
- (e_cell_combo_button_release), (e_cell_combo_key_press):
- add an a11y name for the popup list.
- make shortcut key ALT+Arrow work.
- Fixes #70261
- * e-cell-text.c: (e_cell_text_class_init), (_delete_selection),
- (_insert):
- add "text_inserted" and "text_deleted" signals to notify the
- text has been changed.
- (e_cell_text_get_text_by_view):
- new helper function to get the text being editted.
- * e-cell-text.h:
- add signal declaration.
- * e-cell-toggle.c: (etog_draw):
- add range check for negative values.
- * e-cell-vbox.c: (e_cell_vbox_class_init):
- * e-cell-vbox.h:
- make ECellVboxView public since it will be used in a11y part.
- * e-table-click-to-add.c: (etcta_style_set),
- (create_rect_and_text), (etcta_realize), (etcta_class_init),
- (e_table_click_to_add_commit):
- add "style_set" signal to click_to_add and implement
- the style_set function.
- (etcta_init):
- add a11y name to click to add.
- * e-table-click-to-add.h:
- add "style_set" signal to click_to_add and implement
- the style_set function.
- * e-table-config.c: (config_button_up), (config_button_down):
- check whether the columns are empty.
- * e-table-group-container.c:
- * e-table-group-container.h:
- make ETableGroupContainerChildNode public since it
- will be used in a11y part.
- * e-table-item.c: (eti_init):
- init eti->cols.
- (eti_event):
- at GDK_KEY_PRESS event and GDK_Down key pressed, we check
- view_col value before we pass it to eti_e_cell_event.
- (eti_class_init):
- call the new initialize function
- * e-table.c: (table_canvas_focus_event_cb):
- if canvas has a focused item but the etable does not
- have a cursor row, just focus the first item after check
- whether the click_to_add should get the focus.
-
-2005-01-26 JP Rosevear <jpr@novell.com>
-
- Fixes #38195
-
- * e-cell-combo.c (e_cell_combo_set_popdown_strings): don't convert
- to the locale for gtk widgets now
-
-2004-12-21 JP Rosevear <jpr@novell.com>
-
- Fixes #29309
-
- * e-table-header-item.h: add field chooser dialog data member
-
- * e-table-header-item.c: remove weak pointer ref
- (ethi_popup_field_chooser): if we already have a dialog, just
- present it, otherwise create a new one and listen for its
- destruction
-
-2004-11-24 Li Yuan <li.yuan@sun.com>
-
- * e-table.c: (e_table_get_cell_geometry):
- check whether header_canvas and table_canvas is NULL.
-
-2004-11-04 Li Yuan <li.yuan@sun.com>
-
- * gal/e-table/e-table.c: (table_canvas_focus_event_cb):
- if canvas has a focused item but the etable does not have a cursor row,
- just focus the first item.
-
-2004-10-19 JP Rosevear <jpr@novell.com>
-
- * e-table.c (table_canvas_focus_event_cb): return FALSE so we
- don't kill the focus event chain
-
-2004-08-09 Not Zed <NotZed@Ximian.com>
-
- * e-cell-combo.c (e_cell_combo_get_popup_pos): include scrollbar
- offset in vertical calculation. don't ask me i just work here.
- see #61932.
-
-2004-08-02 Radek Doulik <rodo@ximian.com>
-
- * e-table-config.c (e_table_config_construct): do not set
- position, it's already done in .glade, call set_transient_for
- always (passing NULL is valid as well)
-
- * e-table-config.glade: * e-table-config-no-group.glade: center
- window on parent, don't let it resize and most importan make it
- dialog window so that set_transient_for works against define views
- dialog
-
- Fixes #61936
-
-2004-07-07 Radek Doulik <rodo@ximian.com>
-
- * e-table-sorted-variable.c (etsv_add): added
- e_table_model_pre_change because we call
- e_table_model_row_inserted later. It fixes freeze/unfreeze for
- ETableItem assert warning which I run into when fixing #56271
-
-2004-06-22 Rodney Dawes <dobey@novell.com>
-
- * e-table-config.c (do_fields_config_dialog, e_table_config_new):
- Fix some spacing and border width properties on the dialog's widgets
- to make the dialog compliant with the HIG
-
-2004-06-22 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-model.[ch]: Added e_table_model_freeze and e_table_model_thaw
-
- * e-table-config.c (setup_fields): Use e_table_model_freeze and
- e_table_model_thaw
-
- Fixes #54785
-
-2004-06-11 Radek Doulik <rodo@ximian.com>
-
- * e-table-config.c (e_table_config_construct): set dialog window
- position, glade doesn't do that for us anymore as the window is
- first hidden, extended and later shown
-
- * e-table-config-no-group.glade: as below
-
- * e-table-config.glade: set visibility to false, it will keep the
- dialog hidden until we call gtk_widget_show and thus no resizing
- is visible while we are extending the dialog content
-
- Fixes #57825
-
-2004-06-10 Radek Doulik <rodo@ximian.com>
-
- * e-cell-text.c (layout_with_preedit): removed unused variable
-
- * e-tree.c (e_tree_get_item): added cast
- added #include <atk/atkregistry.h>
-
- * e-table-one.c (one_finalize): removed unused variable
-
- * e-table-item.c: added #include
- "gal/a11y/e-table/gal-a11y-e-table-item.h" for
- gal_a11y_e_table_item_factory_get_type prototype
-
- * e-table-header-utils.c (e_table_header_draw_button): removed
- unused variable
-
- * e-table-config.c (get_source_model_col_index): removed unused
- variable
-
- * e-table-click-to-add.c (finish_editing): added cast
- (etcta_event): ditto
-
- * e-cell-toggle.c: added #include
- "gal/a11y/e-table/gal-a11y-e-cell-registry.h" to have
- gal_a11y_e_cell_registry_add_cell_type prototype
-
- * e-cell-text.c (layout_with_preedit): removed unused variable
- (build_layout): ditto
- (ect_event): ditto
- (e_cell_text_commit_cb): ditto
-
- * e-cell-popup.c: added #include
- "gal/a11y/e-table/gal-a11y-e-cell-registry.h" to have
- gal_a11y_e_cell_registry_add_cell_type prototype
-
-2004-06-10 Not Zed <NotZed@Ximian.com>
-
- * e-tree-selection-model.c (e_tree_selection_model_select_paths):
- add new api for setting the whole selection in one go. See
- #59546.
-
-2004-06-09 Radek Doulik <rodo@ximian.com>
-
- * e-table-field-chooser.c (ensure_nonzero_step_increments): new
- helper function to set step_increments
- (allocate_callback): call ensure_nonzero_step_increments
- (resize): ditto
- (ensure_nonzero_step_increments): set step increments always to 16
-
- Fixes #48275
-
-2004-05-10 Bruce Tao <bruce.tao@sun.com>
-
- Fixes #51626
-
- * e-table-click-to-add.c: (etcta_event):
- Add an entry for focus_in event, do the same thing as button_press event.
-
- * e-table-item.c: (eti_event):
- Mask the Ctrl+Tab processing routine.
-
- * e-table.c: (table_canvas_focus_event_cb), (canvas_vbox_event),
- (click_to_add_event), (e_table_setup_table):
- Enable you to navigate between click_to_add and the existing tasks by
- pressing Ctrl+Tab. However, if there is no existing task, you can still jump
- out of click_to_add by this way.
-
-2004-05-04 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-tree.c (e_tree_find_next): Don't necessarily set row to 0 if
- the root node has the cursor (otherwise message_list_select()
- first unread will actually select the second unread if the first
- unread is the first in the list). Fixes a bug that's been pissing
- me off for years.
-
-2004-05-04 Not Zed <NotZed@Ximian.com>
-
- * e-table-item.c (eti_event): revert last patch.
- (eti_attach_cell_views): add some code to reset drags and other
- things as if the model changed, so we don't keep trying to run
- things we shouldn't be on the view which might be changing. This
- may break other things but should fix 57222 and related.
-
-2004-05-04 Not Zed <NotZed@Ximian.com>
-
- * e-table-item.c (eti_event): if motion column is beyond our known
- columns, just ignore it and don't generate a LEAVE_NOTIFY. uh,
- seems to work, and fixes #57222.
-
-2004-04-30 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-cell-text.c (e_cell_text_class_init): Changed the int param
- specs to take a min value of -1 and also defautl to -1 (-1 means
- off and they should all default to the same value that they
- default to in the init() function). Needed to fix bug #57304.
-
-2004-03-10 Hao Sheng <hao.sheng@sun.com>
-
- Fixes #55198
-
- * e-table-config.glade : Make the access key Alt+O work
-
-2004-02-26 Not Zed <NotZed@Ximian.com>
-
- * e-table-item.c (eti_table_model_pre_change): reset
- motion_row/motion_col if the model changes. See bug #54757.
-
-2004-02-12 Rodney Dawes <dobey@ximian.com>
-
- * e-cell-popup.c (ecp_draw):
- * e-cell-spin-button.c (ecsb_draw):
- * e-table-header-utils.c (e_table_header_draw_button): Change the
- shadow type for the arrows here, so that themes that do handle the
- use of shadow types with arrows, draw things correctly, instead of
- following what the old default gtk+ did in 1.x
-
-2004-01-27 Radek Doulik <rodo@ximian.com>
-
- * e-cell-text.c (ect_print): print strikeout/underline
-
- Fixes #32240
-
-2003-11-19 Bolian Yin <bolian.yin@sun.com>
-
- Fixes #51139
-
- * e-table-item.c : change the place of emitting
- "selection_model_removed" signal.
-
-2003-11-17 Mike Kestner <mkestner@ximian.com>
-
- * e-table-config.c : use new gal_combo_* namespace.
-
-2003-11-11 Bolian Yin <bolian.yin@sun.com>
-
- Fixes # 50480
-
- * e-table-item: add two signals: "selection_model_removed" and
- "selection_model_added"
-
-2003-10-13 Charles Zhang <charles.zhang@sun.com>
-
- * e-table-config.c (e_table_config_new): disable apply button
- when initial dialog.
- * e-table-header-item.c (apply_changes): disable apply button
- after applying changes.
-
-2003-10-23 Hans Petter Jansson <hpj@ximian.com>
-
- * e-table-item.c (eti_get_cell_background_color): Allocate
- colors using gdk_colormap_alloc_color().
-
-2003-09-28 Charles Zhang <charles.zhang@sun.com>
-
- * e-table-config.c (do_sort_and_group_config_dialog): process
- GTK_RESPONSE_DELETE_EVENT signal correctly.
- * e-table-config.c (do_fields_config_dialog): the same as above
- [#48815]
-
-2003-09-11 Mike Kestner <mkestner@ximian.com>
-
- * e-table-config.c (get_source_model_col_index): new method to
- get the source model column for a specified available_model idx.
- (create_global_store): save the source model index in a new col.
- (config_button_add): use the new index lookup function [48153].
-
-2003-09-11 Mike Kestner <mkestner@ximian.com>
-
- * e-table-sort-info.c (e_table_sort_info_load_from_node):
- move scnt and gcnt initialization outside the for loop [43156].
-
-2003-08-25 Harry Lu <harry.lu@sun.com>
-
- ** For bug #47874.
-
- * e-table-specification.c (e_table_specification_load_from_file):
- check whether file exists before call xmlParseFile().
- * e-table-state.c (e_table_state_load_from_file): ditto.
- * e-tree-table-adapter.c (open_file): ditto.
-
-2003-08-19 Mike Kestner <mkestner@ximian.com>
-
- * e-cell-tree.c (draw_expander): add an expander_style param
- (ect_draw): pass expander_style to draw_expander
- (animate_expander): new timeout handler for expander animation
- (ect_event): on !retro clicks, draw a "semi" expander and start
- an animation handler to finish the animation.
-
-2003-08-15 Mike Kestner <mkestner@ximian.com>
-
- * e-cell-tree.c (draw_retro_expander): extracted from ect_draw
- (draw_expander): new gtktreeview-like expander drawing
- (ect_draw): draw lines and expanders based on retro_look style prop
- (adjust_event_position): extracted method from ect_event
- (event_in_expander): new checks for motion/clicks in expander
- (ect_event): handle prelight for new expanders
- * e-table-item.c (eti_init): init new motion col/row
- (eti_event): synthesize leave_notify events for cells and propogate
- existing motion events to the cells.
- * e-tree.c (e_tree_class_init): add retro_look and expander_size
- style props.
-
-2003-08-12 Larry Ewing <lewing@ximian.com>
-
- * e-cell-toggle.c (check_cache): actually chose the right color to
- composite over when caching the pixmap.
-
-2003-08-08 Stanislav Brabec <sbrabec@suse.cz>
-
- * Makefile.am: Removed trailing backslash on last line.
-
-2003-07-28 Mike Kestner <mkestner@ximian.com>
-
- * e-table-config (setup_fields): map model_column to available
- model row by ignoring disabled columns.
-
-2003-06-30 Dan Winship <danw@ximian.com>
-
- * e-tree.c (e_tree_init): Initialize some missing fields. Fixes
- "no handler with id" warnings at evo shutdown
- (ETreePriv): remove unused table_rows_{inserted,deleted}_id
- (et_disconnect_from_etta): remove refs to them
-
- * e-table.c (e_table_drag_source_unset): free site->target_list if
- it's set.
-
-2003-06-22 Hans Petter Jansson <hpj@ximian.com>
-
- * e-cell-text.c (get_font_for_size): Implement.
- (ect_print): Use same font heuristics as evo calendar, pick a font
- that fits. Correct baseline calculation.
-
-2003-06-19 Larry Ewing <lewing@ximian.com>
-
- * e-table-specification.c (e_table_specification_load_from_node):
- remove extra ref, the count starts at one.
-
- * e-table-utils.c (e_table_spec_to_full_header): add_column adds a
- reference, so drop the intial reference.
-
- * e-table.c (et_real_construct):remove extra ref, count starts at
- one.
-
-2003-06-13 Mike Kestner <mkestner@ximian.com>
-
- * e-tree.c (et_search_search): don't do the CURSOR_FIRST
- checks if cursor is NULL [43523]
-
-2003-06-13 Mike Kestner <mkestner@ximian.com>
-
- * e-table-item.c (eti_get_cell_background_color): update to
- an alt row color more consistent with gtktreeview. [44610]
-
-2003-06-12 Mike Kestner <mkestner@ximian.com>
-
- * e-cell-text.c (generate_layout): guard against NULL strings
- * e-table-config.c (create_global_store): don't add disabled
- column titles to the store. [44258]
- * e-tree-table-adapter.c (e_t_t_a_node_set_expanded): don't
- warn if we're trying to collapse a node that's not visible.
- * e-tree.c (et_connect_to_etta): don't connect to row_inserted
- and row_deleted. [43893]
-
-2003-05-28 Mike Kestner <mkestner@ximian.com>
-
- * e-cell-date.c (ecd_get_text): use e_utf8_strftime_fix_am_pm
- and remove locale to utf8 conversion at end. [43485]
-
-2003-05-20 Ettore Perazzoli <ettore@ximian.com>
-
- * e-tree.c (tree_canvas_size_allocate): to really fix 42952
- use e_table_item_get_cell_geometry. Also a couple valgrind
- and g_warning fixes related to this change from Mike.
-
-2003-05-19 Mike Kestner <mkestner@ximian.com>
-
- * e-cell-text.c (build_layout): don't call any line breaking
- or justification code if the width <= 0 since it's pointless
- and apparently pango likes to crash when you do. [43199]
-
-2003-05-16 Mike Kestner <mkestner@ximian.com>
-
- * e-cell-text.c (invisible_finalize): kill
- (ect_stop_editing): destroy the invisible, not weak_unref
- (e_cell_text_view_get_invisible): don't weak_ref the invisible
- since we own its ref.
-
-2003-05-16 Mike Kestner <mkestner@ximian.com>
-
- * e-table-item.c (eti_event): fix a couple timer checks
- * e-tree-table-adapter.c (update_node): Traverse POST order
- so that the parent nodes are at the head of the prepended list.
- Don't restore expanded state to nodes that aren't in the tree
- any longer. Hopefully fixes #42856.
-
-2003-05-15 Ettore Perazzoli <ettore@ximian.com>
-
- * e-tree.c (tree_canvas_size_allocate): Call
- tree_canvas_reflow_idle() before deciding whether to move the
- adjustment, not afterwards. [#42952]
-
-2003-05-14 Mike Kestner <mkestner@ximian.com>
-
- * e-tree-c (context_connect): use weak refs not datasets.
- (e_tree_dispose): weak_unref the context.
- Hopefully fixes 42617.
-
-2003-05-13 Mike Kestner <mkestner@ximian.com>
-
- * e-table-item.c (eti_event): gross hack to work around a
- post dispose event emission by gtk2.0/canvas2.0 [#42622]
-
-2003-05-09 Mike Kestner <mkestner@ximian.com>
-
- * e-tree.c (find_next_in_range): add null check for paths
- (find_prev_in_range): add null check for paths
-
-2003-05-09 Mike Kestner <mkestner@ximian.com>
-
- * e-table-item.c (eti_cursor_change): don't return on col == -1.
- * e-tree.c (tree_canvas_size_allocate): update the adjustment
- to center the cursor.
- (hover_timeout): remove unused variable to fix warning
-
-2003-05-06 Mike Kestner <mkestner@ximian.com>
-
- * e-tree-table-adapter.c (insert_node): add missing model_changed
- (etta_proxy_node_inserted): add missing model_changed
- (etta_proxy_node_removed): add missing model_changed
-
-2003-05-05 Jeremy Katz <katzj@redhat.com>
-
- * e-table-config.c (setup_fields): Use correct macro for int->pointer
-
-2003-05-01 Mike Kestner <mkestner@ximian.com>
-
- * e-cell-combo.c (e_cell_combo_selection_changed): new
- (e_cell_combo_init): connect to selection_changed on popup_list
- (e_cell_combo_do_popup): block selection_changed while popping up
- [bug #40996]
-
-2003-05-01 JP Rosevear <jpr@ximian.com>
-
- * e-table.c (et_real_construct): remove gratuitous ref
-
-2003-04-29 Mike Kestner <mkestner@ximian.com>
-
- * e-cell-text.c (build_layout): don't use unicode ellipsis so
- that we don't break on broken font setups.
-
-2003-04-29 Mike Kestner <mkestner@ximian.com>
-
- * e-cell-text.c (generate_layout): don't set width on the layout
- during edit
-
-2003-04-28 Mike Kestner <mkestner@ximian.com>
-
- * e-cell-text.c (build_layout): don't do wrapping during edit
-
-2003-04-21 Mike Kestner <mkestner@ximian.com>
-
- * e-cell-text.c (build_layout): use unicode ellipsis char for
- breaking lines. Use g_utf8_find_prev_char and check for failure
- so that we don't tight loop for small cells that can't display
- any chars.
-
-2003-04-21 Mike Kestner <mkestner@ximian.com>
-
- * e-cell-tree.c (ect_draw): use e_tree_table_adapter_node_get_next
- to determine how to draw sibling lines.
- (ect_print): ditto
- * e-tree-table-adapter.c (e_t_t_a_node_get_next): new
-
-2003-04-19 Chris Toshok <toshok@ximian.com>
-
- [ fixes evolution bug #40464 ]
- * e-table.c (e_table_class_init): use G_SIGNAL_TYPE_STATIC_SCOPE
- for the GtkSelectionData args of table_drag_data_get and
- table_drag_data_received.
-
-2003-04-18 Mike Kestner <mkestner@ximian.com>
-
- * e-cell-text.c (build_layout): if the layout splits into more
- than one line, shorten it to a single line with elipses.
- (generate_layout): don't ref NULL layouts
- (ect_enter_edit): use g_new0 for the CellEdit
- (get_position_from_xy): use generate_layout since edit->layout
- isn't necessarily set here.
-
-2003-04-17 JP Rosevear <jpr@ximian.com>
-
- * e-table-subset.c : add guarding for row indexing (Bug# 41497)
-
-2003-04-16 Mike Kestner <mkestner@ximian.com>
-
- * e-cell-text.c (build_layout): set width and alignment of layout.
- (generate_layout): set width on existing layout and pass new width
- param to build_layout.
- (ect_draw): pass width to generate_layout
- (ect_height): pass width to generate_layout
- (ect_enter_edit): pass width to generate_layout
- (ect_max_width): pass width to generate_layout
- (ect_max_width_by_row): pass width to generate_layout
- (ect_show_tooltip): pass width to generate_layout
- (e_cell_text_view_command): pass width to generate_layout (Bug #37894)
-
-2003-04-15 Hans Petter Jansson <hpj@ximian.com>
-
- * e-table-header-utils.c (e_table_draw_elided_string): Don't unref
- the layout that was passed in.
- (e_table_header_draw_button): Always unref the layout when we're
- done with it.
-
- * e-tree-table-adapter.c (e_tree_table_adapter_load_expanded_state):
- Free the id when we're done with it.
-
-2003-04-11 JP Rosevear <jpr@ximian.com>
-
- * e-table-one.c (one_dispose): free data here since we don't have
- source in finalize
-
-2003-04-08 Mike Kestner <mkestner@ximian.com>
-
- * e-table-config-no-group.glade : add response ids to buttons
-
-2003-04-08 Mike Kestner <mkestner@ximian.com>
-
- * e-cell-text.c : break e-font dependency
-
-2003-04-08 Mike Kestner <mkestner@ximian.com>
-
- * e-table-config.glade : swap button order
- * e-table-config-no-group.glade : swap button order
-
-2003-04-08 Mike Kestner <mkestner@ximian.com>
-
- * e-cell-popup.c : remove debugging g_print calls
- * e-table-group-container.c : fix length_threshold prop range
- * e-table-group-leaf.c : fix length_threshold prop range
- * e-table-item.c : fix length_threshold prop range
-
-2003-04-04 Mike Kestner <mkestner@ximian.com>
-
- * e-tree-table-adapter.c (etta_sort_info_changed): guard against
- root == NULL. Bug #39491.
-
-2003-04-02 Ettore Perazzoli <ettore@ximian.com>
-
- * e-tree.c (e_tree_class_init): Add a G_SIGNAL_TYPE_STATIC_SCOPE
- for the GTK_TYPE_SELECTION_DATA arg.
-
-2003-04-02 Mike Kestner <mkestner@ximian.com>
-
- * e-tree-table-adapter.c (update_node): restore expanded
- state of node and all children. Fixes Ximian bug #40393.
- (check_expanded): new traverser function
-
-2003-03-31 Mike Kestner <mkestner@ximian.com>
-
- * e-tree-table-adapter.c (kill_gnode): if killing the root
- node, set it to NULL in the priv data. Bug #39441.
-
-2003-03-24 Mike Kestner <mkestner@ximian.com>
-
- * e-table-sort-info.c (e_table_sort_info_load_from_node):
- properly parse nodes that include whitespace. bug #39896
-
-2003-03-24 Mike Kestner <mkestner@ximian.com>
-
- * e-tree-table-adapter.c (update_node): don't call delete_node
- on the root node since generate_tree already does that. Thanks
- to Antonio Xu <antonio.xu@sun.com> for identifying the cause of
- the bug and providing a candidate patch. Bug #38320.
-
-2003-03-23 Chris Toshok <toshok@ximian.com>
-
- * e-table.c (do_drag_motion): fix UMR.
-
-2003-03-18 Chris Toshok <toshok@ximian.com>
-
- * e-cell-text.h: add underline_column field.
-
- * e-cell-date.c: add underline_column to the comment.
-
- * e-cell-size.c: add underline_column to the comment.
-
- * e-cell-text.c (build_layout): handle underline column.
- (ect_show_tooltip): same.
- (ect_set_property): same.
- (ect_get_property): same.
- (e_cell_text_class_init): same.
- (e_cell_text_init): same.
- (e_cell_text_new): add underline_column to the comment.
-
-2003-03-18 Chris Toshok <toshok@ximian.com>
-
- * e-table-item.h (ETableItem): add cursor_idle_id.
-
- * e-table-item.c (eti_idle_maybe_show_cursor): save off the
- cursor_idle_id.
- (eti_idle_show_cursor_cb): reset the cursor_idle_id to 0.
- (eti_dispose): remove the cursor_idle_id. Fixes a crash in the
- evolution select-names dialog.
-
-2003-03-18 Mike Kestner <mkestner@ximian.com>
-
- * e-table-header-item.c (ethi_draw): mimic Gtk's sort arrows
- (ethi_start_drag): mimic Gtk's sort arrows
-
-2003-03-18 Mike Kestner <mkestner@ximian.com>
-
- * e-tree-selection-model.c (select_single_path): null start_path
- (etsm_invert_selection): null start_path
- (etsm_toggle_single_row): null start_path
- (etsm_real_move_selection_end): start at start_path, not cursor
- (etsm_set_selection_end): set start_path
- (e_tree_selection_model_init): null start_path
-
-2003-03-14 Mike Kestner <mkestner@ximian.com>
-
- * e-tree-table-adapter.c (update_node): save and restore expanded
- state so parents don't collapse when children are added to them.
- (e_tree_table_adapter_node_is_expanded): guard against null nodes.
-
-2003-03-05 Mike Kestner <mkestner@ximian.com>
-
- * e-tree-model.c : fix a couple ==TRUE uses pointed out by
- Morten Welinder <terra@diku.dk>.
-
-2003-03-04 Dmitry Mastrukov <dmitry@taurussoft.org>
-
- * e-cell-date.c (ecd_get_text): i18n fix
- * e-table.c (et_real_construct): i18n fix
- * e-table-config.c (create_global_store): i18n fix
- * e-table-utils.c (et_col_spec_to_col): i18n fix
-
-2003-03-04 Mike Kestner <mkestner@ximian.com>
-
- * e-tree-selection-model.c : some cursor fixes
-
-2003-03-04 Mike Kestner <mkestner@ximian.com>
-
- * e-tree-selection-model.c : rewrite to store selected paths in a
- hashtable instead of a tree.
- * e-tree-table-adapter.c : lose the hacky orig_position api since
- etsm doesn't need it anymore.
-
-2003-02-26 Rodney Dawes <dobey@ximian.com>
-
- * e-tree.c (et_canvas_style_set): Add style_set to update list properly
- (et_canvas_realize): Remove this as it's no longer needed with support
- for the style_set implementation
-
-2003-02-28 Mike Kestner <mkestner@ximian.com>
-
- * e-table.c (et_drag_motion): remove alloc-based transform
- (et_drag_data_received): ditto
- (et_drag_drop): ditto
- (do_drag_motion): ditto
-
-2003-02-28 Mike Kestner <mkestner@ximian.com>
-
- * e-tree.c (et_drag_motion): remove alloc-based transform
- (et_drag_data_received): ditto
- (et_drag_drop): ditto
- (et_hover_timeout): ditto
- (do_drag_motion): ditto
-
-2003-02-20 Mike Kestner <mkestner@ximian.com>
-
- * e-table-item.c (eti_table_model_rows_deleted): fix overzealous
- g_asserts to avoid crashes when eti->rows is already updated.
-
-2003-02-20 Mike Kestner <mkestner@ximian.com>
-
- * e-tree-selection-model.c (etsm_orig_position): kill
- (etsm_find_node_unless_equals): use new etta_orig_position
- (update_parents): use new etta_orig_position
- (etsm_recurse_is_path_selected): use new etta_orig_position
- * e-tree-table-adapter.c (e_tree_table_adapter_orig_position): new
- (resort_node): populate orig_pos, fix sorting_map bound bug
- (create_gnode): initialize orig_pos
- (delete_node): call resort_node so orig_pos gets updated
- (insert_node): always call resort_node let it decide whether to sort
-
-2003-02-18 Mike Kestner <mkestner@ximian.com>
-
- * e-tree-table-adapter.c (move_map_elements): set remap_needed
-
-2003-02-17 Chris Toshok <toshok@ximian.com>
-
- * e-cell-text.c (build_layout): make sure the row >= 0 before
- calling value_at to calc "strikeout".
-
-2003-02-17 Chris Toshok <toshok@ximian.com>
-
- * e-tree-table-adapter.c (etta_proxy_node_data_changed): return
- after the e_table_model_no_change call.
- (etta_proxy_node_col_changed): same.
-
-2003-02-13 Mike Kestner <mkestner@ximian.com>
-
- * e-tree-table-adapter.c (*_load_expanded_state): guard for
- null paths if save_id lookup fails.
-
-2003-02-13 Mike Kestner <mkestner@ximian.com>
-
- * e-table-header-item.c (ethi_drag_motion): don't transform
- based on allocation position. Position isn't absolute now.
-
-2003-02-13 Mike Kestner <mkestner@ximian.com>
-
- * e-table-header-utils.c (e_table_header_draw_button): kill
- a double unref on the pango_layout.
-
-2003-02-12 Hans Petter Jansson <hpj@ximian.com>
-
- * e-table-click-to-add.c (etcta_realize): Request a reflow on
- realization, so size and placement will be correct initially.
-
-2003-02-12 Mike Kestner <mkestner@ximian.com>
-
- * e-tree.c (e_tree_find_next): handle reverse searches
- (find_prev_in_range): reverse search impl
- (et_real_construct): kill warnings
-
-2003-02-12 Mike Kestner <mkestner@ximian.com>
-
- * e-tree-table-adapter.c (insert_node): work around broken models
- that insert children before parents. bad models.
- (e_tree_table_adapter_load_expanded_state): don't update_node
- (e_tree_table_adapter_node_set_expanded): recursively expand
- parent if the node is not visible yet.
- (e_tree_table_adapter_set_sort_info): don't resort empty trees
-
-2003-02-10 Mike Kestner <mkestner@ximian.com>
-
- * e-tree.c (e_tree_find_next): rewrite to use etta
- (find_next_in_range): helper func to search a range of rows
- (find_next_callback): kill
-
-2003-02-06 Mike Kestner <mkestner@ximian.com>
-
- * e-tree-table-adapter.c (resort_node): index bound bug
- (insert_children): prepend/reverse for now
- (generate_tree): resize old map to zero before filling it again
- (insert_node): fix assumption that root parent node has an index
-
-2003-02-06 Not Zed <NotZed@Ximian.com>
-
- * e-tree-table-adapter.c (delete_node): use the parent path to
- find the parent node rather than the row, which is not valid for
- the root node, which still needs its visible child count updated.
-
-2003-02-05 Dan Winship <danw@ximian.com>
-
- * e-table-config.c (config_class_init): Replace deprecated
- glade_gnome_init() call with glade_init().
-
- * e-table-field-chooser.c (e_table_field_chooser_class_init):
- Likewise.
-
-2003-02-03 Mike Kestner <mkestner@ximian.com>
-
- * e-tree-selection-model.c : remove e-tree-sorted usage
- * e-tree-table-adapter.* : rewrite to perform sorting
- * e-tree.c : remove e-tree-sorted usage
-
-2003-01-27 Jody Goldberg <jody@gnome.org>
-
- * Release 1.99.1
-
-2003-01-23 Larry Ewing <lewing@ximian.com>
-
- * e-table-click-to-add.c (e_table_click_to_add_commit): destroy
- canvas items to removing them, simply unrefing them is not
- sufficient.
-
-2003-01-22 Ettore Perazzoli <ettore@ximian.com>
-
- * e-tree-table-adapter.c
- (e_tree_table_adapter_load_expanded_state): Call
- e_table_model_pre_changed() only once so we dont' get the table in
- a frozen state after returning from here.
-
-2003-01-15 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-tree-table-adapter.c
- (e_tree_table_adapter_save_expanded_state): Same here.
-
- * e-table-state.c (e_table_state_save_to_file): Same as below.
-
- * e-table-specification.c (e_table_specification_save_to_file):
- Back to using e_xml_save_file(). Not sure we can really trust
- xmlSaveFile (sure as hell couldn't in the libxml-1.x days),
- besides, e_xml_save_file protects against corruption due to not
- enough disk space.
-
-2003-01-15 Not Zed <NotZed@Ximian.com>
-
- * e-cell-tree.c (ect_draw): If we set a clip rectangle, clear it
- after we've finished.
-
-2002-01-10 Mike Kestner <mkestner@ximian.com>
-
- * e-table-item.c (eti_table_model_rows_deleted): revert broken fix
-
-2002-12-18 Chris Toshok <toshok@ximian.com>
-
- * e-table-group-container.c (etgc_dispose): free the children
- before we free and dispose of our ecol, since
- e_table_group_container_child_node_free depends on it. Fixes a
- crash.
-
-2002-12-18 Chris Toshok <toshok@ximian.com>
-
- * e-table-header-item.c (ethi_popup_customize_view): pass NULL for
- parent_window for e_table_config_new.
-
- * e-table-config.glade, e-table-config-no-group.glade: switch from
- GnomePropertyBox to GtkDialog, remove the extra notebook widget
- from the heirarchy, and set all the subdialogs modal.
-
- * e-table-config.h: add parent_window arg to
- e_table_config_{new,construct}.
-
- * e-table-config.c (config_dialog_changed): new function, not
- really needed yet since the apply/ok buttons are never
- insensitive.
- (config_get_property): handle the "state" read-only property.
- (config_class_init): put back in the "state" property that was
- deleted during the merge from the gal-2 branch (it looks like).
- (do_sort_and_group_config_dialog): set the sort/group dialog
- transient for the e-table-config dialog, and
- gnome_property_box_changed -> config_dialog_changed.
- (do_fields_config_dialog): same, but with the fields dialog.
- (dialog_response): response handler for the e-table-config dialog.
- (setup_gui): remote the hide button/notebook code, since neither
- of those widgets exist anymore in this dialog, and remove the
- "apply" signal and connect to "response", since we're a GtkDialog
- dialog instead of a GnomePropertyBox.
- (e_table_config_construct): take a parent_window arg, and
- set_transient_for if it's non-NULL.
- (e_table_config_new): take parent_window arg and pass to
- construct.
-
-2002-12-16 Chris Toshok <toshok@ximian.com>
-
- * e-cell-text.c (_get_tep): edit->tep isn't a GtkObject anymore.
-
-2002-12-16 Chris Toshok <toshok@ximian.com>
-
- * e-table-header-utils.c (e_table_draw_elided_string): pass in the
- pango layout so we don't have to create another one here. Also,
- elide the string properly (same method that e-clipped-label uses)
- and simplify the extent operations.
- (e_table_header_compute_height): just use
- pango_layout_get_pixel_size here.
- (e_table_header_draw_button): make sure the clip rectangle is
- NULL'ed on our gc, since random gtk calls seem to install one,
- which sucks. Also, simplify the pango layout stuff a little.
-
-2002-12-16 Chris Toshok <toshok@ximian.com>
-
- * e-table.c (et_real_construct): remove obvious double g_strdup.
-
- * e-table-header-item.c (ethi_header_context_menu): ref/sink the
- popup.
-
- * e-table-field-chooser.c (e_table_field_chooser_init): use
- gtk_widget_show_all so our custom widget gets displayed.
-
-2002-12-13 Mike Kestner <mkestner@ximian.com>
-
- * e-table-item.c (eti_table_model_rows_deleted): valgrindage
-
-2002-12-05 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-table-extras.c (ete_init): Add a "collate" sort callback that
- uses the new g_collate_compare().
-
-2002-12-03 Hans Petter Jansson <hpj@ximian.com>
-
- * e-table.c (e_table_get_state_object): Don't leak old sort info.
-
-2002-12-03 Not Zed <NotZed@Ximian.com>
-
- * e-tree-memory.c (etmm_dispose): make this a dispose rather than
- finalise. Crashes on finalise otherwise.
-
-2002-11-26 Ettore Perazzoli <ettore@ximian.com>
-
- * e-table-memory-store.c (etms_finalize): Call
- e_table_memory_store_clear().
- (e_table_memory_store_clear): Free the values.
- (e_table_memory_store_remove): Likewise.
-
-2002-11-18 Chris Toshok <toshok@ximian.com>
-
- * e-table-config.c (connect_button): take GCallback, not
- GtkSignalFunc.
- (configure_sort_dialog): show the custom widget.
- (configure_group_dialog): same.
- (configure_fields_dialog): same, also pass G_CALLBACK (func),
- instead of GTK_SIGNAL_FUNC (func), to connect_button.
- (setup_gui): pass G_CALLBACK (func), instead of GTK_SIGNAL_FUNC
- (func), to connect_button.
-
- * Makefile.am (glade_DATA): remove e-table-group.glade, since we
- don't use it anyplace.
-
-2002-11-16 Chris Toshok <toshok@ximian.com>
-
- * e-table.c (set_scroll_adjustments): check for
- table->table_canvas == NULL.
-
- * e-table-item.c (eti_dispose): guard eti->tooltip.
-
-2002-11-16 Chris Toshok <toshok@ximian.com>
-
- * e-cell-checkbox.[ch]: GObject port work.
-
- * e-cell-combo.[ch]: same.
-
- * e-cell-date.[ch]: same.
-
- * e-cell-float.[ch]: same.
-
- * e-cell-number.[ch]: same.
-
- * e-cell-pixbuf.[ch]: same.
-
- * e-cell-popup.[ch]: same.
-
- * e-cell-progress.[ch]: same.
-
- * e-cell-size.[ch]: same.
-
- * e-cell-spin-button.[ch]: same.
-
- * e-cell-text.[ch]: same.
-
- * e-cell-toggle.[ch]: same.
-
- * e-cell-tree.[ch]: same.
-
- * e-cell-vbox.[ch]: same.
-
- * e-cell.[ch]: same.
-
- * e-table-col.c: same.
-
- * e-table-column.c: same.
-
- * e-table-config-field.[ch]: same.
-
- * e-table-config.c: same.
-
- * e-table-config.glade: same.
-
- * e-table-field-chooser-dialog.[ch]: same.
-
- * e-table-field-chooser-item.[ch]: same.
-
- * e-table-field-chooser.[ch]: same.
-
- * e-table-group-container.[ch]: same.
-
- * e-table-group-leaf.[ch]: same.
-
- * e-table-group.[ch]: same.
-
- * e-table-header-item.[ch]: same.
-
- * e-table-header-utils.[ch]: same.
-
- * e-table-header.c: same.
-
- * e-table-item.[ch]: same.
-
- * e-table-scrolled.[ch]: same.
-
- * e-table-utils.c: same.
-
- * e-table.[ch]: same.
-
- * e-tree-memory-callbacks.h: same.
-
- * e-tree-scrolled.[ch]: same.
-
- * e-tree-sorted-variable.c: same.
-
- * e-tree.[ch]: same.
-
- * test-check.c: same.
-
- * test-cols.c: same.
-
- * test-table.c: same.
-
-2002-11-14 Chris Toshok <toshok@ximian.com>
-
- * e-table-header-item.c (ethi_popup_customize_view): fix typo.
-
-2002-11-14 Chris Toshok <toshok@ximian.com>
-
- * e-table-header-item.c (ethi_popup_customize_view): ETableConfig
- derives from GObject (fix warnings).
-
- * e-table.c: deal with ESorter deriving from GObject.
-
- * e-table-sorter.[ch]: this derives from GObject now.
-
-2002-11-14 Chris Toshok <toshok@ximian.com>
-
- * e-table-item.c: deal with ESelectionModel no longer deriving
- from GtkObject.
-
- * e-table.c: same.
-
- * e-tree.c: same.
-
- * e-table-config.c (do_fields_config_dialog): use GtkDialog's
- reponse instead of GnomeDialog's button.
-
- * e-table-click-to-add.[ch]: GObjectify this.
-
- * e-table-selection-model.[ch]: this derives from GObject now.
-
- * e-tree-selection-model.[ch]: same.
-
-2002-11-14 Chris Toshok <toshok@ximian.com>
-
- * e-table-without.[ch]: this subclasses from GObject now, not
- GtkObject. don't use GtkObject (especially casts to it) inside
- the code.
-
- * e-table-config-no-group.glade: libglade-convert.
-
- * e-table-config.glade: same.
-
- * e-table-field-chooser.glade: same.
-
- * e-table-group.glade: same.
-
-2002-11-13 Chris Toshok <toshok@ximian.com>
-
- * e-table.c (e_table_class_init): register the signals with
- g_signal_new.
-
-2002-11-08 Chris Toshok <toshok@ximian.com>
-
- * e-table-memory-store.h: correct the GET_CLASS macro.
-
- * e-table-one.h: same.
-
- * e-table-sorted.h: same.
-
- * e-table-subset.h: same.
-
- * e-tree-sorted-variable.h: same.
-
- * e-tree-table-adapter.h: same.
-
-2002-11-05 Mike Kestner <mkestner@ximian.com>
-
- * e-table-sorted-variable.[ch] : GObjectify
- * e-tree-sorted-variable.[ch] : GObjectify
-
-2002-11-05 Mike Kestner <mkestner@ximian.com>
-
- * e-cell-text.c : remove ref/unref G_OBJECT masks
- * e-table-extras.c : ditto
- * e-table-header-item.c : ditto
- * e-table-item.c : ditto
- * e-table-memory-store.c : ditto
- * e-table-one.c : ditto
- * e-tree-sorted.c : ditto
- * e-tree-table-adapter.c : ditto
- * e-tree.c : ditto
-
-2002-11-05 Mike Kestner <mkestner@ximian.com>
-
- * e-table-col.[ch] : GObjectify
- * e-table-column-specification.[ch] : GObjectify
- * e-table-config.[ch] : GObjectify
- * e-table-group-leaf.c : use GObject api for models
- * e-table-group.c : use GObject api for models
- * e-table-header-item.c : use GObject api for models
- * e-table-header.c : use GObject api for models
- * e-table-selection-model.c : use GObject api for models
- * e-table-sort-info.[ch] : GObjectify
- * e-table-sorted.[ch] : GObjectify
- * e-table-sorter.c : use GObject api for models
- * e-table-specification.c : use GObject api for models
- * e-table-state.[ch] : GObjectify
- * e-table-subset-variable.[ch] : GObjectify
- * e-table-subset.[ch] : GObjectify
- * e-table.c : use GObject api for models
-
-2002-11-05 Mike Kestner <mkestner@ximian.com>
-
- * e-table-item.c : use GObject api for models
- * e-table-memory-callbacks.[ch] : GObjectify
- * e-table-memory-store.[ch] : GObjectify
- * e-table-memory.[ch] : GObjectify
- * e-table-model.[ch] : GObjectify
- * e-table-one.[ch] : GObjectify
- * e-table-simple.[ch] : GObjectify
- * e-tree-memory.[ch] : GObjectify
- * e-tree-model.[ch] : GObjectify
- * e-tree-selection-model.c : use GObject api for models
- * e-tree-simple.[ch] : GObjectify
- * e-tree-sorted.[ch] : GObjectify
- * e-tree-table-adapter.[ch] : GObjectify
- * e-tree.c : use GObject api for models
-
-2002-11-04 Mike Kestner <mkestner@ximian.com>
-
- * e-table-group.c : use GObject api for ETableHeader
- * e-table-header-item.c : use GObject api on ETableHeader
- * e-table-header.[ch] : GObjectify
- * e-table-item.c : use GObject api on ETableHeader
- * e-table-search.[ch] : GObjectify
- * e-table-sorted.c : use GObject api for ETableHeader
- * e-table-sorter.c : use GObject api for ETableHeader
- * e-table-specification.[ch] : GObjectify
- * e-table-utils.c : use GObject api for ETableHeader
- * e-tree-sorted.c : use GObject api for ETableHeader
- * e-tree.c : use GObject api on Header, Spec, and Search
-
-2002-11-01 Mike Kestner <mkestner@ximian.com>
-
- * e-table-extras : gobjectify
- * e-tree.c (et_real_construct): ETableExtra is now a GObject
- (e_tree_class_init): remove duplicated signals
-
-2002-10-26 Jody Goldberg <jody@gnome.org>
-
- * Release 2.0.0.7
-
-2002-10-24 Mike Kestner <mkestner@ximian.com>
-
- * e-tree.c (e_tree_set_state_object): call e_tree_state_change
-
-2002-10-24 Chris Toshok <toshok@ximian.com>
-
- * e-table-memory-store.h: add prototypes for the _change*
- functions.
-
- * e-table-memory-store.c (e_table_memory_store_change_array): new
- function, mostly c&p from _insert_array.
- (e_table_memory_store_change): new function, mostly c&p from
- _insert.
- (e_table_memory_store_change_adopt_array): new function, mostly
- c&p from _insert_adopt_array.
- (e_table_memory_store_change_adopt): new function, mostly c&p from
- _insert_adopt.
-
-2002-10-18 JP Rosevear <jpr@ximian.com>
-
- * e-table-item.c (eti_cursor_activated): don't emit a signal if we
- couldn't find the view row
-
-2002-10-02 Mike Kestner <mkestner@ximian.com>
-
- * e-table-search.c (e_table_search_destroy): call drop_timeout
-
-2002-09-27 Mike Kestner <mkestner@ximian.com>
-
- * e-table-item.c (eti_get_cell_foreground_color): use the fg color
- array in style, not text color. Change requested by Chris Lahey.
-
-2002-09-24 Mike Kestner <mkestner@ximian.com>
-
- * e-tree.c (e_tree_set_search_column): New api to set the search
- column on a tree without having to set a sort column.
-
-2002-09-18 Mike Kestner <mkestner@ximian.com>
-
- * e-tree-model.c (e_tree_model_is_expandable): guard against NULL
- nodes.
-
-2002-09-18 Dan Winship <danw@ximian.com>
-
- * e-table.c (et_real_construct): Set the selection model's
- selection_mode after setting the table model, or things will break
- in the GTK_SELECTION_SINGLE case if the table doesn't start out
- empty.
-
-2002-09-17 Mike Kestner <mkestner@ximian.com>
-
- * gal/e-table/e-table-item.c (eti_event): exit editing on dblclick.
- ungrab based on grabbed_count. unset grabbed_col and grabbed_row
- on ungrab.
-
-2002-09-13 Jody Goldberg <jody@gnome.org>
-
- * Release 2.0.0.6
-
-2002-09-10 Mike Kestner <mkestner@ximian.com>
-
- * gal/e-table/e-table-item.c (eti_event): allow keypress handling
- for cursor_col==-1 as long as cursor_row isn't -1 also so that e-tree
- searching works without click focusing an item.
-
-2002-08-29 Morten Welinder <terra@diku.dk>
-
- * e-table.c (et_destroy): Protect against double destroy.
-
- * e-cell-text.c (generate_layout): Handle row==-1 brutally.
- (build_layout): Handle row==-1 and constify.
-
- * e-table-search.c (e_table_search_class_init): Use INT, not ENUM
- signal argument.
-
-2002-08-06 Jody Goldberg <jody@gnome.org>
-
- * Release 2.0.0.5
-
-2002-08-06 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-tree-table-adapter.c
- (e_tree_table_adapter_save_expanded_state): And finally here.
-
- * e-table-state.c (e_table_state_save_to_file): Same here.
-
- * e-table-specification.c (e_table_specification_save_to_file): No
- need to save to a temp file first here either since
- e_xml_save_file now does that for us.
-
- * e-table.c (e_table_save_specification): No need to handle
- writing to a temp file first anymore, since I've updated
- e_xml_save_file() to handle that for us.
-
-2002-08-06 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-cell-progress.c: #include <string.h> for memset
-
- * e-table.c (e_table_save_specification): Updated to use
- e_xml_save_file() instead of xmlSaveFile(). Also fixed to save to
- a tmp file first.
-
- * e-table-specification.c (e_table_specification_save_to_file):
- Same as above.
-
- * e-table-state.c (e_table_state_save_to_file): Same here.
-
- * e-tree-table-adapter.c
- (e_tree_table_adapter_save_expanded_state): And here too.
-
-2002-07-23 Ettore Perazzoli <ettore@ximian.com>
-
- * e-tree.c (item_key_press): In the case of '-' and '=', check
- that no non-Shift modifier is pressed.
-
-2002-07-19 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-table-adapter.c (find_next_node, find_first_child_node):
- Made these able to find the potential row for a new node which
- will be the last row.
- (find_row_num): Made this handle find_next_node and
- find_first_child_node returning n_map.
-
-2002-06-18 JP Rosevear <jpr@ximian.com>
-
- Patch by clahey.
-
- * e-table.c (et_get_arg): get the use_click_to_add value
- (et_set_arg): set the use_click_to_add_value, and either display
- the item or destroy it
- (e_table_class_init): add the use_click_to_add arg
-
-2002-06-18 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-text.c: Major change. Ported this to pango.
-
-2002-06-14 Christopher James Lahey <clahey@ximian.com>
-
- * e-table.c, e-table.h: Removed the drag_get_data_row and
- drag_get_data_col fields since they're not used any longer.
- (e_table_construct): If specification loading fails, return a NULL
- ETable instead of just ignoring it.
- (e_table_drag_highlight): Only destroy table->drop_highlight if it
- exists.
-
- * e-cell-popup.c (ecp_draw, ecp_event): Don't draw or interact
- with the popup button if a cell isn't editable (based on a patch
- by JPR.)
-
- * e-table-col.c, e-table-col.h: Added the compare_col field to
- this structure. Added a GtkArg to set it.
-
- * e-table-column-specification.c, e-table-column-specification.h:
- Added the compare_col field here. Made it load properly from xml.
-
- * e-table-sorting-utils.c: Sort based on the compare_col in the
- ETableCol instead of the col_idx.
-
- * e-table-utils.c (et_col_spec_to_col): Set the compare_col field
- in the ETableCol properly.
-
-2002-06-05 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-field-chooser-item.c: Added debugging printfs.
-
- * e-table-header-item.c: Added debugging printfs.
- (ethi_drag_motion): Don't subtract widget->allocation.* here. It
- seems that this value is affected by whether the table is using a
- click to add field. Not sure why.
-
- * e-table-item.c (eti_realize): Check for NULL selection here.
-
-2002-06-05 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-model.c (d): Added debugging printfs.
-
- * e-tree-sorted.c (ets_proxy_node_changed,
- ets_proxy_node_data_changed, ets_proxy_node_col_changed,
- ets_proxy_node_inserted): Added a bunch of e_tree_model_no_change
- signals where appropriate.
-
- * e-tree-table-adapter.c (etta_proxy_node_changed): Added an
- e_table_model_no_change signal where appropriate.
-
-2002-06-05 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (eti_realize): Made it so that on realize we grab
- focus if we have the cursor, since otherwise, we'll change our
- selection on focus in.
-
-2002-06-04 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-header.c, e-table-header.h
- (e_table_header_prioritized_column_selected): Added this function.
-
- * e-table-utils.c, e-table-utils.h
- (e_table_util_calculate_current_search_col): Added this function.
-
- * e-table.c, e-table.h, e-tree.c: Added a "always_search"
- argument. If this is off, then searches only occur if there's
- sort. If it's on, sort takes precendence in doing searches,
- followed by the highest priority column shown.
-
-2002-06-04 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-text.c: Use g_getenv instead of getenv.
-
- * e-table-item.c (eti_event): Reenable tooltips if the
- GAL_DO_TOOLTIPS environment variable is set.
-
-2002-06-03 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-text.c (ect_style_set): Get the font from the style again
- when the style changes.
- (init): Checks for the environment variable GAL_ELLIPSIS and uses
- that instead of ... if it is set.
-
- * e-table-click-to-add.c (finish_editing): e_table_item_leave_edit
- before committing.
- (etcta_event): Added a missing break; here.
-
- * e-table-item.c (eti_style_set): On style set, free the height
- cache, request a reflow and a redraw, and call
- eti_idle_maybe_show_cursor.
- (e_table_item_compute_location): Don't call eti_get_height here,
- just use the cached value.
-
- * e-tree.c, e-tree.h (e_tree_get_table_adapter): Added this simple
- accessor function.
-
-2002-05-29 Jody Goldberg <jody@gnome.org>
-
- * Release 2.0.0.4
-
-2002-05-24 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-table-adapter.c
- (e_tree_table_adapter_node_would_be_expanded,
- e_tree_table_adapter_node_is_expanded): Added would_be_expanded
- refactoring code out of is_expanded.
- (find_first_child_node_maybe_deleted): Use the new function.
-
-2002-05-21 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-sorted.c (ets_proxy_node_request_collapse): Check for
- path being NULL.
-
- * e-tree-table-adapter.c
- (e_tree_table_adapter_load_expanded_state): Rebuild the tree after
- loading the state.
-
-2002-05-13 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-table-adapter.c: Changed a lot of direct uses in this
- file of node->is_expanded to call the function
- e_tree_table_adapter_node_is_expanded instead.
- (e_tree_table_adapter_node_is_expanded): Improved this function to
- know if the root node is visible and always return it as being
- expanded if it's not. It also doesn't bother creating nodes if
- they don't exist yet, and instead figures out whether they would
- be expanded if they were to be created and returns that value
- instead.
-
-2002-05-10 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-search.c: Include string.h here.
-
-2002-05-09 Dan Winship <danw@ximian.com>
-
- * e-tree-table-adapter.c
- (e_tree_table_adapter_save_expanded_state): Bump file version to 2.
- (This will make older versions of gal ignore the file, fixing the
- problem where going from evo HEAD to evo 1.0.x makes the folder
- tree disappear.) Store the default expanded state in the file now
- to prevent this from happening again in the future.
- (e_tree_table_adapter_load_expanded_state): Deal with version 2.
- If the model's default expansion state doesn't match the saved
- state, ignore the save file.
-
-2002-05-09 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c, e-table-item.h: Switched from
- gnome_canvas_item_grab to e_canvas_item_grab.
-
-2002-05-02 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-selection-model.c
- (etsm_selected_count_recurse): Moved the check for
- any_children_selected_down so that a selected node with no
- selected children will still get counted.
- (etsm_select_all): When setting all_children_selected and
- any_children_selected to TRUE, don't bother creating arrays for
- them since that's unnecessary.
-
-2002-05-02 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-click-to-add.c (finish_editing): Add horizontal dividers
- here too.
-
- * e-table-config.c (create_global_store): Translate column headers
- here.
-
- * e-table-header-item.c (ethi_header_context_menu): Use
- e_popup_menu_create_with_domain here.
-
- * e-table-header-utils.c (e_table_header_draw_button): Translate
- from utf8 here before drawing.
-
- * e-table-memory-store.c, e-table-memory-store.h
- (e_table_memory_store_insert_adopt_array): Changed the name of
- this function from e_table_memory_store_insert_adopt.
- (e_table_memory_store_insert_adopt): Added this function which
- takes a ... list.
-
- * e-table-utils.c (et_col_spec_to_col): Translate column titles to
- utf8 here.
-
-2002-05-02 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-click-to-add.c: Added horizontal dividers to this item
- when in table mode.
-
- * e-table.c, e-tree.c: Made the background be an
- e-canvas-background instead of a
-
- * e-tree.c, e-tree.h: Added a white_space_event for feature parity
- with ETable.
-
-2002-05-01 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-config.c, e-table-config.h, e-table-specification.c,
- e-table-specification.h, e-table-utils.c, e-table-utils.h,
- e-table.c, e-table.h: Made these pay attention to the
- gettext-domain in the etspec.
-
- * e-table-config.c: Set the gettext-domain in the etspec here.
-
-2002-04-29 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (eti_cursor_change): Redraw a row that is no
- longer the cursor even if this item isn't getting the new cursor.
-
-2002-04-29 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree.c, e-tree.h (e_tree_path_foreach): Added this function
- which recurses over all nodes, regardless of selection.
-
-2002-04-26 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-field-chooser-item.c (etfci_maybe_start_drag): Take an
- int instead of a double. From a patch by jody@ximian.com.
-
-2002-04-26 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-state.c (etst_destroy): Only unref etst->sort_info once.
-
-2002-04-26 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-model.c (e_table_model_value_at), e-tree-model.c
- (e_tree_model_value_at): Documented the life cycle requirements of
- the return value of these functions.
-
-2002-04-26 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-memory-store.c (e_table_memory_store_adopt_value_at,
- etms_set_value_at): Added calls to e_table_model_pre_change here
- so that the ETableItem doesn't unfreeze more times than it
- freezes.
-
-2002-04-25 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-selection-model.c (etsm_selected_count_recurse,
- etsm_foreach_recurse): Made these handle the case where
- all_children_selected_array has a bit set, but the children of
- that node aren't filled in.
-
-2002-04-25 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-checkbox.c, e-cell-combo.c, e-cell-date.c,
- e-cell-float.c, e-cell-number.c, e-cell-pixbuf.c, e-cell-popup.c,
- e-cell-size.c, e-cell-spin-button.c, e-cell-text.c,
- e-cell-toggle.c, e-cell-tree.c, e-cell.c, e-cell.h,
- e-table-click-to-add.c, e-table-col.c,
- e-table-column-specification.c, e-table-config-field.c,
- e-table-config.c, e-table-extras.c,
- e-table-field-chooser-dialog.c, e-table-field-chooser-item.c,
- e-table-field-chooser.c, e-table-group-container.c,
- e-table-group-leaf.c, e-table-group.c, e-table-header-item.c,
- e-table-header.c, e-table-item.c, e-table-memory-callbacks.c,
- e-table-model.c, e-table-scrolled.c, e-table-selection-model.c,
- e-table-sort-info.c, e-table-sorted-variable.c, e-table-sorted.c,
- e-table-sorter.c, e-table-specification.c, e-table-state.c,
- e-table-subset-variable.c, e-table-subset.c, e-table-without.c,
- e-table.c, e-table.h, e-tree-scrolled.c, e-tree-selection-model.c,
- e-tree-sorted-variable.c, e-tree-sorted.c, e-tree-table-adapter.c,
- e-tree.c: Ansification patch from danw.
-
-2002-04-24 JP Rosevear <jpr@ximian.com>
-
- * e-cell-pixbuf.c (pixbuf_print): implement printing
- (pixbuf_print_height): implement print height
- (e_cell_pixbuf_class_init): set printing virtual methods
-
- * e-cell-toggle.c (etog_print): remove clipping, default clipping
- is done by the table, scale based on toggle height
-
- * e-table-item.c (e_table_item_calculate_print_widths): make the
- scale 1:1
-
-2002-04-24 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-config.c (create_global_store): Changed this to match
- the new e_table_memory_store_insert function prototype.
-
-2002-04-22 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-memory-store.c, e-table-memory-store.h: Renamed the
- insert functions in this class to make a bit more sense.
-
-2002-04-19 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-table-state.c (etst_destroy): Unref the sort_info.
-
- * e-cell-toggle.c (etog_kill_view): After unreffing all the
- pixmaps, free the toggle_view->pixmap_cache.
-
- * e-table-search.c (e_table_search_destroy): Free the
- priv->search_string and priv itself. More memory leak fixage.
-
- * e-tree.c (e_tree_drag_source_unset): Unref site->taget_list so
- we don't leak memory.
-
-2002-04-19 JP Rosevear <jpr@ximian.com>
-
- * e-cell-toggle.c (etog_print): print the cell in the allotted
- area
- (etog_print_height): return the print height
-
-2002-04-17 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-header-item.c: Updated this to match the new EPopupMenu.
-
-2002-04-11 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-header-item.c (ethi_header_context_menu): Fixed a memory
- leak here by using the "selection-done" signal.
-
- * e-table.c, e-table.h (white_item_event): Added the
- "white_space_event" signal.
-
-2002-03-26 Chris Toshok <toshok@ximian.com>
-
- * Makefile.am: remove comment about adding .lo's to the parent
- directory's Makefile.am.
-
-2002-03-25 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-memory-store.c (e_table_memory_store_insert,
- e_table_memory_store_insert_adopt, e_table_memory_store_remove):
- Call the parent function after doing all the internal work so that
- when the changed signal goes out, our work is already done.
-
-2002-03-20 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-header-item.c: Adjust this to handle the new EPopupMenu
- API.
-
-2002-03-15 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-toggle.c: Clear the pixmap cache in e_cell_style_set.
-
- * e-cell.c, e-cell.h (e_cell_style_set): Added this virtual
- method.
-
- * e-table-item.c, e-table-item.h: Call e_cell_style_set in out
- style_set signal.
-
-2002-03-15 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-toggle.c: Add a GdkPixmap * cache of rendered toggle
- images. This should considerably speed up over the wire
- performance of ECellToggle.
-
-2002-03-15 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-header.c, e-table-header.h (e_table_header_min_width):
- New function that returns the total minimum width of all the
- columns.
-
- * e-table.c, e-table.h (set_header_width): Call
- e_table_header_min_width here instead of total_width.
- (et_size_request): Override the size_request method instead of
- doing set_usize.
-
-2002-03-14 Ettore Perazzoli <ettore@ximian.com>
-
- * e-tree.c (item_key_press): Don't search if any modifier but
- SHIFT or LOCK is pressed.
-
- * e-table.c (group_key_press): Don't search if any modifier but
- SHIFT or LOCK is pressed.
-
-2002-03-14 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-text.c: Implemented capitalization keybindings.
-
- * e-tree.c (item_key_press): Added parentheses to the default case
- here.
-
-2002-03-14 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-search.c, e-table-search.h (e_table_search_backspace):
- Made this return a boolean that returns whether the ETableSearch
- used the backspace at all.
-
- * e-table.c (group_key_press), e-tree.c (item_key_press): Used the
- new return value from e_table_search_backspace.
-
-2002-03-13 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-pixbuf.c, e-cell-pixbuf.h (pixbuf_draw): Added
- selected_column, focused_column, and unselected_column.
-
-2002-03-13 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-search.c, e-table-search.h (e_table_search_backspace):
- Added this function.
-
- * e-table.c, e-tree.c: Call the new function on backspace.
-
-2002-03-13 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-extras.c (e_string_search): Check for a NULL haystack
- here.
-
- * e-table-search.c, e-table-search.h: Added a parameter to the
- search signal here to pass in flags. Specifically, added the
- E_TABLE_SEARCH_FLAGS_CHECK_CURSOR_FIRST flag. Improved the search
- behavior here.
-
- * e-table.c, e-tree.c: Handle the new signature for the search
- signal here.
-
-2002-03-13 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree.c: Added ETableSearch support.
-
-2002-03-12 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-memory-store.c, e-table-memory-store.h: Added support
- for E_TABLE_MEMORY_STORE_OBJECT which represents a column storing
- a GtkObject.
-
-2002-03-12 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-vbox.c (ecv_draw): Give the correct height to the
- subcells instead of overlapping them.
-
- * e-table-header.c, e-table-header.h (e_table_header_move,
- eth_calc_widths): Emit the dimension_changed signal with the width
- of the header.
-
- * e-table-memory-store.c (duplicate_value, etms_free_value):
- Handle NULL pixbufs here.
-
- * e-table.c, e-table.h: Connect to the dimension_changed signal
- and call set_header_width. Did a bit of refactoring here.
-
-2002-03-12 Christopher James Lahey <clahey@ximian.com>
-
- * Makefile.am (libetable_la_SOURCES): Added e-table-search.c.
- (libetableinclude_HEADERS): Added e-table-search.h.
-
- * e-cell.h: Added ETableSearchFun here.
-
- * e-table-column-specification.c, e-table-column-specification.h:
- Added search here.
-
- * e-table-col.h: Added search here.
-
- * e-table-extras.c, e-table-extras.h (e_table_extras_add_search):
- Added ETableSearchFuncs here.
-
- * e-table-memory-store.c (e_table_memory_store_insert,
- e_table_memory_store_insert_adopt): Handle row == -1 here.
-
- * e-table-search.c, e-table-search.h: New class to reusably handle
- the semantics of searching for a string.
-
- * e-table-simple.c, e-table-simple.h: Added a bunch of simple
- functions here for if your table is all strings. Should be
- reusable.
-
- * e-table-utils.c (et_col_spec_to_col): Added support for searches
- here.
-
- * e-table.c, e-table.h: Added an ETableSearch here.
-
-2002-03-11 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-sorted.c (ets_proxy_node_request_collapse): Proxy
- request_collapse signals.
-
-2002-03-11 Christopher James Lahey <clahey@ximian.com>
-
- * Makefile.am (libetable_la_SOURCES): Added e-cell-vbox.c.
- (libetableinclude_HEADERS): Added e-cell-vbox.h.
-
- * e-cell-vbox.c, e-cell-vbox.h: New ECell to take multiple other
- ECells and use them all in a vertical series.
-
-2002-03-11 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-memory-store.c (e_table_memory_store_insert_list): Added
- this function to take a ... list of column data. The expected
- number of parameters in the ... is the number of columns in the
- table.
-
-2002-03-11 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-memory-store.c, e-table-memory-store.h
- (E_TABLE_MEMORY_STORE_PIXBUF): Added a pixbuf column type.
-
- * e-table-specification.c, e-table-specification.h: Added
- horizontal-resize attribute.
-
- * e-table.c, e-table.h: Handle horizontal_resize.
-
-2002-03-08 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-memory.c (etmm_node_request_collapse): Handle a collapse
- request by marking all descendents of that node as needing their
- children recomputed.
-
- * e-tree-model.c, e-tree-model.h
- (e_tree_model_node_request_collapse): Added this signal to request
- that the view of your tree collapse this node.
-
- * e-tree-selection-model.c (etsm_selected_count): Pass the root of
- the sorted model here instead of the root of the base model.
-
- * e-tree-table-adapter.c (etta_proxy_node_request_collapse):
- Handle a collapse request by collapsing the node in the tree.
-
-2002-03-08 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-memory.c, e-tree-memory.h (check_children): Added a
- fill_in_children signal.
-
-2002-03-05 Dan Winship <danw@ximian.com>
-
- * e-table-item.c: Re-disable tooltips since they're (still)
- fantastically obnoxious with focus-follows-mouse. (OKed by Ettore).
-
-2002-03-04 Damon Chaplin <damon@ximian.com>
-
- * e-cell.c (e_cell_print): only call the cell's print method if it has
- one. Avoids crashing for unimplemented print methods.
-
-2002-02-21 Christopher James Lahey <clahey@ximian.com>
-
- * Makefile.am (libetable_la_SOURCES): Added
- e-table-memory-store.c.
- (libetableinclude_HEADERS): Added e-table-memory-store.h.
-
- * e-table-config-no-group.glade, e-table-config.glade: Updated
- these.
-
- * e-table-config.c, e-table-config.h: Updated this to have a
- working field list editor.
-
- * e-table-memory-store.c, e-table-memory-store.h: New ETableModel
- that is a complete store of all the data in your table. No
- callbacks at all.
-
- * e-table-subset-variable.c, e-table-subset-variable.h
- (e_table_subset_variable_clear): Added this simple function
-
- * e-table-subset.c (etss_get_save_id): Made this return the row
- number g_strdup_printfed if the source model doesn't support save
- ids.
-
-2002-02-20 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-sorter.c, e-table-sorter.h: Connect to the
- model_rows_inserted, model_rows_deleted, and group_info_changed
- here.
-
-2002-02-19 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-selection-model.c (e_tree_selection_model_init):
- Initialize frozen_count to 0.
-
-2002-02-13 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (eti_event): Make the defalut for tooltips be on.
-
-2002-02-12 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (eti_unrealize): Cancel tooltip timeouts here.
-
-2002-02-08 Christopher James Lahey <clahey@ximian.com>
-
- * e-table.c (et_unrealize), e-tree.c (et_unrealize): Call
- scroll_off and in e-tree.c hover_off.
-
-2002-02-07 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-text.c: Added empty case for E_TEP_CAPS. Needs to be
- filled in for M-l, M-c, and M-u to work in ETable.
-
- * e-table-header.c, e-table-header.h (expansion_change): New
- signal that gets emitted whenever the expansions change. Used in
- state_changed for ETable and ETree.
-
- * e-table.c, e-table.h, e-tree.c, e-tree.h (state_change): New
- signal that gets emitted whenever the ETableState that would be
- generated here changes.
-
-2002-01-31 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-model.c (e_tree_model_node_find): Made this function much
- more readable. Got rid of all the gotos. Fixed a case where
- going backwards during a root search checked the root node first.
- (e_tree_model_node_real_traverse): Made backwards traversals be
- postorder, as they should be, instead of preorder.
-
- * e-tree.c (find_next_callback): Use an extra callback function
- here to go from sorted path to model path.
-
-2002-01-31 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree.c, e-tree.h (e_tree_find_next): Make this function take a
- bitfield of parameters instead of two bools.
-
-2002-01-31 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-selection-model.c, e-tree-selection-model.h
- (e_tree_selection_model_get_cursor): Added this simple accessor
- function.
-
- * e-tree.c, e-tree.h (e_tree_find_next): Searches from the cursor
- given the search parameters and moves the cursor if it ever
- matches.
-
-2002-01-31 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-model.c, e-tree-model.h (e_tree_model_node_find): New
- function to do a search through a tree in one direction or the
- other.
-
-2002-01-21 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-text.c: Implement max_width_by_row.
-
- * e-cell-tree.c: Use max_width_by_row in max_width function.
-
- * e-cell.c, e-cell.h (e_cell_max_width_by_row): Added this new
- method to ECell.
-
-2002-01-16 Krisztian Pifko <monsta@users.sourceforge.net>
-
- * e-cell-progress.c, e-cell-progress.h: new file, implements the
- ECellProgress object.
-
- * Makefile.am (libetable_la_SOURCES, libetableinclude_HEADERS):
- added e-cell-progress.c and e-cell-progress.h.
-
-2002-01-16 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-checkbox.h, e-cell-date.h, e-cell-float.h,
- e-cell-number.h, e-cell-size.h, e-cell-text.h, e-cell-toggle.h,
- e-cell-tree.h, e-cell.h, e-table-click-to-add.h,
- e-table-col-dnd.h, e-table-config-field.h, e-table-extras.h,
- e-table-field-chooser-item.h, e-table-group-container.h,
- e-table-group-leaf.h, e-table-group.h, e-table-header-item.h,
- e-table-item.h, e-table-scrolled.h, e-table-sorter.h,
- e-table-tooltip.h, e-table-tree.h, e-table-utils.h, e-table.h,
- e-tree-scrolled.h, e-tree-sorted-variable.h, e-tree.h: Added
- #include <libgnome/gnome-defs.h>.
-
-2002-01-15 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell.c, e-cell.h (e_cell_save_state, e_cell_load_state,
- e_cell_free_state): New functions for saving selection state and
- such.
-
- * e-cell-text.c (ect_save_state): Implemented the new state
- functions.
-
- * e-table-item.c, e-table-item.h: Use the new cell state functions
- when focusing in or out. Fixes Ximian bug #14968.
-
-2002-01-09 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-header-item.c, e-table-header-item.h (scroll_timeout):
- Made the header item here handle horizontal scrolling when adding
- a column. Fixes Ximian bug #7078.
-
-2002-01-09 Christopher James Lahey <clahey@ximian.com>
-
- * e-table.c, e-table.h (scroll_timeout), e-tree.c
- (scroll_timeout): Made these handle horizontal scrolling during
- drags.
-
-2002-01-09 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree.c (collapse_drag): Collapse nodes that were opened during
- a drag, unless the drop site is a child node. Fixes Ximian bug
- #4965.
-
-2001-12-17 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-toggle.c (etog_set_value): Don't queue a redraw here.
- the value changed signal will do that automatically.
-
-2001-12-12 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-text.c (ect_stop_editing): Change to not editing before
- committing values. Then commit the values.
-
-2001-12-11 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c: Turn off idle handling in the unrealize function
- instead of the destroy function.
-
-2001-12-06 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-config.c, e-table-config.h (setup_gui): Set the title of
- the window here.
-
- * e-table-header-item.c (ethi_popup_customize_view): Use a useful
- string for the header here.
-
-2001-12-06 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-subset.c (etss_get_view_row): Removed incorrect calls to
- e_table_model_row_changed here.
-
-2001-12-05 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-header-item.c (ethi_find_col_by_x,
- ethi_find_col_by_x_nearest): Made these return 0 to the left of
- all columns and ethi_find_col_by_x return cols - 1 if to the right
- of all columns. Fixes Ximian bug #14414.
-
-2001-12-04 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-selection-model.c (e_tree_selection_model_change_cursor):
- Unset selection->old_selection here.
-
-2001-11-28 Christopher James Lahey <clahey@ximian.com>
-
- * e-table.c (context_destroyed), e-tree.c (context_destroyed):
- Check for et being destroyed here before doing anything. Fixes
- Ximian bug #15728.
-
-2001-11-21 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c, e-table-item.h: Handle selection_row_changed
- signal. Keep track of the old cursor row so that we only redraw
- two rows when the cursor changes.
-
- * e-table.c, e-tree.c: Handle selection_row_changed signal.
-
- * e-tree-selection-model.c: Properly send selection_row_changed
- signals if changing from a single row selected to a single other
- row selected or if moving the selection_end by a single row.
-
-2001-12-04 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-group.c, e-table.c, e-tree.c: Changed some comments.
- Added a bunch of documentation here.
-
-2001-11-14 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (eti_event): Ungrab and set maybe_in_grab to
- FALSE before sending the double click signal.
-
-2001-11-10 Christopher James Lahey <clahey@ximian.com>
-
- * e-table.c (group_key_press), e-tree.c (item_key_press): Handle
- the case where page up or page down goes off the end of the table
- or tree.
-
-2001-11-08 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-sorter.c (ets_sort_info_changed): Make a printout here
- be conditionally compiled (and compiled out by default.)
-
-
-2001-11-07 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-selection-model.c (etsm_select_all): Don't select all if
- the source model doesn't have a root node (it used to crash.)
- Fixes Ximian bug #14542.
-
-2001-11-03 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-popup.c, e-cell-popup.h (e_cell_popup_set_shown,
- e_cell_popup_queue_cell_redraw): New functions here.
-
- * e-cell-combo.c: Use e_cell_popup_set_shown to set the
- popup_shown variable so that ECellPopup can properly request a
- redraw.
-
-2001-11-03 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-memory.c (e_tree_memory_freeze): We should only
- pre_change here if frozen = 0, otherwise we'll leak pre_changes.
- Helps fix Ximian bug #14422.
-
- * e-tree-sorted.c (ets_proxy_node_data_changed,
- ets_proxy_node_col_changed): Send a no_change signal here if given
- a NULL path. Helps fix Ximian bug #14422.
-
-2001-11-02 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-popup.c, e-cell-popup.h (e_cell_popup_do_popup): Make
- ECellPopup not display multiple arrows while the popup is up and
- the table is in grouped mode. Fixes Ximian bug #14207.
-
-2001-10-31 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-selection-model.c (etsm_node_deleted): Fixed the
- signature of this function.
-
-2001-10-31 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (eti_unfreeze): Check for unfreezing past 0 here
- and give a warning.
- (eti_add_table_model): Call eti_freeze here since
- eti_table_model_changed will call unfreeze.
-
- * e-tree-memory.c (e_tree_memory_node_remove): Send deleted signal
- after freeing the child.
-
- * e-tree-model.c, e-tree-model.h: Added node_deleted signal.
- removed/deleted signals will always come in pairs in that order
- with a single pre_change for both of them.
-
- * e-tree-selection-model.c (etsm_node_deleted): Clear the tree on
- deleted here instead of on removed.
-
- * e-tree-sorted.c (ets_proxy_node_deleted): Chain deleted here.
- Chains to NULL node which is fine for now.
-
-2001-10-31 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c, e-table-item.h: Added frozen_count variable to
- know not to show the cursor while a change is going on.
-
- * e-table-model.c, e-table-model.h, e-tree-model.c,
- e-tree-model.h: Added a model_no_change signal to pair with a
- pre_change if there's no change.
-
- * e-table-selection-model.h: Removed an unused frozen field here.
-
- * e-table-sorted.c, e-table-subset.c, e-table-subset.h,
- e-table-without.c, e-tree-memory.c, e-tree-sorted.c,
- e-tree-table-adapter.c: Made sure pre_changes were all matched by
- some change. Proxy no_change signal where appropriate.
-
- * e-tree-selection-model.c: Keep track of the frozen_count
- variable to know whether a change is going on.
-
-2001-10-30 Christopher James Lahey <clahey@ximian.com>
-
- * e-table.c (e_table_commit_click_to_add): Leave edit if commit is
- called.
-
-2001-10-30 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (eti_show_cursor, eti_check_cursor_bounds):
- Request the right regions here. The range given is inclusive, not
- inclusive/exclusive.
-
-2001-10-30 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-click-to-add.c (etcta_class_init): Remove point handler
- and just let GnomeCanvasGroup handle it.
-
- * e-table.c (e_table_commit_click_to_add): Don't commit the
- click_to_add if there's no click_to_add to commit.
-
-2001-10-30 Christopher James Lahey <clahey@ximian.com>
-
- * e-table.c (e_table_commit_click_to_add): Added this new function
- to allow the user to specify a commit.
-
-2001-10-30 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-sorted.c (check_last_access): Fix this to check from
- initial instead of initial + 1.
-
-2001-10-30 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-combo.c: Adapt to the changed popup signature.
-
- * e-cell-popup.c, e-cell-popup.h: Changed the behavior here to
- draw the button whenever we have the cursor. Changed the popup
- virtual method to pass in the row and column popping up.
-
- * e-cell.h: Added an E_CELL_CURSOR flag.
-
- * e-table-item.c: Pass in the E_CELL_CURSOR flag to event and draw
- calls as appropriate.
-
-2001-10-29 Christopher James Lahey <clahey@ximian.com>
-
- * e-table.c (et_canvas_root_event), e-tree.c
- (et_canvas_root_event): Ignore buttons 4 and 5 here. Fixes Ximian
- bug #13853.
-
-2001-10-29 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-config.c (setup_gui): Hide the Help button here since
- there's nothing connected to it.
-
- * e-tree-sorted.c (ets_sort_idle): Don't nest ets_sort_idle calls.
- Fixes Ximian bug #13929.
-
-2001-10-29 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-subset.c (etss_get_view_row), e-tree-sorted.c
- (check_last_access), e-tree-table-adapter.c (find_row_num): Don't
- go outside the table looking for matches when doing the
- last_access search.
-
-2001-10-28 Christopher James Lahey <clahey@ximian.com>
-
- * e-table.c (table_canvas_focus_event_cb): Fix crash here.
-
-2001-10-28 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-text.c: Removed erroneous comment about needing to handle
- selection better.
-
-2001-10-26 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (eti_cursor_activated): Chain the
- cursor_activated signal even if the row is -1.
-
- * e-tree.c (item_cursor_activated): Don't error out here if path
- is NULL.
-
-2001-10-26 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-float.c, e-cell-float.h: Changed the license announcement
- at the top of these files.
-
-2001-10-26 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-checkbox.c, e-cell-checkbox.h, e-cell-combo.c,
- e-cell-combo.h, e-cell-date.c, e-cell-date.h, e-cell-number.c,
- e-cell-number.h, e-cell-pixbuf.c, e-cell-pixbuf.h, e-cell-popup.c,
- e-cell-popup.h, e-cell-size.c, e-cell-size.h,
- e-cell-spin-button.c, e-cell-spin-button.h, e-cell-string.c,
- e-cell-text.c, e-cell-text.h, e-cell-toggle.c, e-cell-toggle.h,
- e-cell-tree.c, e-cell-tree.h, e-cell.c, e-cell.h,
- e-table-click-to-add.c, e-table-click-to-add.h, e-table-col-dnd.h,
- e-table-col.c, e-table-col.h, e-table-column-specification.c,
- e-table-column-specification.h, e-table-column.c,
- e-table-config-field.c, e-table-config-field.h, e-table-config.c,
- e-table-config.h, e-table-defines.h, e-table-example-1.c,
- e-table-example-2.c, e-table-extras.c, e-table-extras.h,
- e-table-field-chooser-dialog.c, e-table-field-chooser-dialog.h,
- e-table-field-chooser-item.c, e-table-field-chooser-item.h,
- e-table-field-chooser.c, e-table-field-chooser.h,
- e-table-group-container.c, e-table-group-container.h,
- e-table-group-leaf.c, e-table-group-leaf.h, e-table-group.c,
- e-table-group.h, e-table-header-item.c, e-table-header-item.h,
- e-table-header-utils.c, e-table-header-utils.h, e-table-header.c,
- e-table-header.h, e-table-item.c, e-table-item.h,
- e-table-memory-callbacks.c, e-table-memory-callbacks.h,
- e-table-memory.c, e-table-memory.h, e-table-model.c,
- e-table-model.h, e-table-one.c, e-table-one.h, e-table-scrolled.c,
- e-table-scrolled.h, e-table-selection-model.c,
- e-table-selection-model.h, e-table-simple.c, e-table-simple.h,
- e-table-size-test.c, e-table-sort-info.c, e-table-sort-info.h,
- e-table-sorted-variable.c, e-table-sorted-variable.h,
- e-table-sorted.c, e-table-sorted.h, e-table-sorter.c,
- e-table-sorter.h, e-table-sorting-utils.c,
- e-table-sorting-utils.h, e-table-specification.c,
- e-table-specification.h, e-table-state.c, e-table-state.h,
- e-table-subset-variable.c, e-table-subset-variable.h,
- e-table-subset.c, e-table-subset.h, e-table-tooltip.h,
- e-table-tree.h, e-table-utils.c, e-table-utils.h,
- e-table-without.c, e-table-without.h, e-table.c, e-table.h,
- e-tree-memory-callbacks.c, e-tree-memory-callbacks.h,
- e-tree-memory.c, e-tree-memory.h, e-tree-model.c, e-tree-model.h,
- e-tree-scrolled.c, e-tree-scrolled.h, e-tree-selection-model.c,
- e-tree-selection-model.h, e-tree-simple.c, e-tree-simple.h,
- e-tree-sorted-variable.c, e-tree-sorted-variable.h,
- e-tree-sorted.c, e-tree-sorted.h, e-tree-table-adapter.c,
- e-tree-table-adapter.h, e-tree.c, e-tree.h, table-test.c,
- table-test.h, test-check.c, test-cols.c, test-table.c: Changed the
- license announcement at the top of these files.
-
- * e-cell-string.c: Removed unused file.
-
-2001-10-26 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-config.c (config_group_info_update,
- config_fields_info_update): Added some checks for NULL labels
- here.
-
- * e-table-specification.c, e-table-specification.h: Added
- allow_grouping field. Fixes Ximian bug #13412.
-
- * e-table.c, e-table.h: Added allow_grouping field. Set this
- field for the sort infos from state objects.
-
-2001-10-26 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-selection-model.c (etsm_selected_count): If the root node
- is hidden and selected, don't count it in the selected path count.
- Fixes Ximian bug #13419.
-
- * e-tree.c (et_canvas_root_event): Attach to the event handler on
- the root canvas item instead of the canvas itself when making the
- ETree leave editing state.
-
-2001-10-25 Federico Mena Quintero <federico@ximian.com>
-
- Fixes Ximian bug #6832.
-
- * e-table.c (e_table_setup_table): Use a callback instead of
- gtk_widget_queue_draw() for focus events, as the latter does not
- have the correct prototype for an event handler.
- (group_start_drag): Emit START_DRAG, not KEY_PRESS!
- (focus_first_etable_item): Focus the first row in the first
- ETableItem if there is no focused item.
-
- * e-tree.c (e_tree_setup_table): Same change as in
- e_table_setup_table().
- (table_canvas_focus_event_cb): Focus the first row in the tree
- item if there is no focused item.
-
-2001-10-24 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-combo.c: Added #include "gal/widgets/e-unicode.h".
-
- * e-cell-text.c: Added lots of deactivated debugging printfs here.
- (ect_event): Fixed the flags check here. Set edit->actions to 0
- before calling e_text_event_processor_handle_event.
-
- * e-table-item.c, e-table-item.h: Use eti_grab and eti_ungrab all
- over the place. Added lots and lots of deactivated debugging
- printfs here.
- (eti_grab, eti_ungrab): New functions to encapsulate grabbing and
- ungrabbing the cursor and to allow for recursive grabs
- (refcounting style.)
-
- * e-table.c: Added deactivated debugging printfs here.
- (et_canvas_root_event): Attach to the event handler on the root
- canvas item instead of the canvas itself when making the ETable
- leave editing state. Fixes Ximian bug #9737.
-
-2001-10-24 Christopher James Lahey <clahey@ximian.com>
-
- * Makefile.am (INCLUDES): Added $(ICONV_CFLAGS).
-
-2001-10-23 Damon Chaplin <damon@ximian.com>
-
- * e-cell-combo.c (e_cell_combo_set_popdown_strings): save the UTF-8
- strings inside the listitem widgets, but convert to the locale to use
- in the label.
- (e_cell_combo_select_matching_item):
- (e_cell_combo_update_cell): use the UTF-8 strings instead of the
- listitem labels. Hopefully fixes bug #7037.
-
-2001-10-23 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-field-chooser-item.c: Got rid of the gc argument to
- e_table_header_draw_button.
- (etfci_font_load): Just use the style font here.
-
- * e-table-group-container.c (e_table_group_container_construct):
- Changed this to just use the font from the style. Fixes Ximian
- bug #11882.
-
- * e-table-header-item.c: Got rid of the gc argument to
- e_table_header_draw_button.
- (ethi_font_load): Changed this to just fallback on the font from
- the style if the fontname is NULL or doesn't load to a font.
- Fixes Ximian bug #11882.
-
- * e-table-header-utils.c, e-table-header-utils.h
- (e_table_header_draw_button): Got rid of the gc parameter here and
- changed to use the gc from the style of a button created for this
- purpose, but not shown. Fixes Ximian bug #13251.
-
-2001-10-23 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-header-item.c, e-table-header-item.h: Got rid of the gc
- field here and just use the fg_gc from the style for drawing the
- buttons.
-
-2001-10-22 Damon Chaplin <damon@ximian.com>
-
- * e-cell-text.[hc]: added set_value() class method, which sets the
- model value based on the text. In ECellText itself it assumes the model
- value is a char* and passes the text directly. Subclasses may parse
- the text into some other datatype.
- Also made the calls the e_cell_text_get_text(), e_cell_text_free_text()
- and e_cell_text_set_value() public, since we need them in ECellCombo.
-
- * e-cell-combo.c (e_cell_combo_select_matching_item):
- (e_cell_combo_update_cell): use e_cell_text_get_text()/free_text()/
- set_value() so it can handle subclasses of ECellText as the child.
-
-2001-10-22 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-col.c, e-table-col.h, e-table-column-specification.c,
- e-table-column-specification.h: Added a disabled field here.
-
- * e-table-config.c, e-table-field-chooser-item.c: Pay attention to
- the disabled field here. Fixes Ximian bug #12416.
-
- * e-table-utils.c: Copy the disabled field from the column
- specification to the col.
-
-2001-10-22 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (eti_idle_maybe_show_cursor): Make this check
- immediately for whether to show the cursor, instead of in the idle
- handler. Fixes Ximian bug #11807.
-
- * e-tree-table-adapter.c (e_tree_table_adapter_node_set_expanded):
- Added a pre_change here since we send two changes.
-
-2001-10-22 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-memory.c (e_tree_memory_sort_node): Call
- e_tree_model_pre_change here where appropriate.
-
-2001-10-22 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (eti_cancel_drag_due_to_model_change): Cancel the
- drag or maybe drag if you have the mouse button down when the
- pre_change signal comes in. Fixes Ximian bug #11309.
-
- * e-table-without.c (add_row, remove_row,
- e_table_without_show_all): Call e_table_model_pre_change where
- appropriate here.
-
-2001-10-20 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-group-container.c (compute_text): Don't convert to
- locale here since EText takes UTF8 strings. Fixes Ximian bug
- #8906.
-
-2001-10-20 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-sorted.c (e_tree_sorted_node_num_children): Check for
- num_children == -1 here and generate the children if they haven't
- been. Fixes Ximian bug #12464.
-
-2001-10-16 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-table-adapter.c (find_next_node_maybe_deleted,
- find_first_child_node_maybe_deleted, find_next_node,
- find_first_child_node, find_row_num): Added bounds checking in a
- number of places. Fixes Ximian bug #7245.
- (etta_init): Initialize all the fields here.
-
-2001-10-12 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-click-to-add.c (set_initial_selection): Use new
- e_table_header_prioritized_column field.
-
- * e-table-header.c, e-table-header.h
- (e_table_header_prioritized_column): New function. Refactors the
- code from ETableClickToAdd to find the column with the highest
- priority.
-
- * e-table-selection-model.c, e-table-selection-model.h
- (model_changed_idle): Changed this function to use the
- e_table_header_prioritized_column function. Added an argument to
- set the "header" on this selection model. Fixes Ximian bug #1301.
-
- * e-table-utils.h: Indentation cleanup.
-
- * e-table.c (et_real_construct): Set the "header" argument on the
- selection model here.
-
- * e-table.h: #include <gal/e-table/e-table-sorter.h>
-
-2001-10-12 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-state.c (e_table_state_duplicate): Copy the can group
- state on the sort info here. Fixes Ximian bug #8655.
-
-2001-10-10 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-popup.c (ecp_get_bg_color), e-cell-tree.c
- (ect_get_bg_color): Implement these functions as pass through to
- the child cell.
-
- * e-cell-text.c, e-cell-text.h (ect_get_bg_color): Implemented
- this using a bg_color_column which can be set through the argument
- of the same string.
-
- * e-cell.c, e-cell.h (e_cell_get_bg_color): Added this function to
- allow background color to change by cell.
-
- * e-table-item.c (eti_get_cell_background_color): Call
- e_cell_get_bg_color to allow background color to change by cell.
-
-2001-10-10 Christopher James Lahey <clahey@ximian.com>
-
- * e-table.c, e-table.h (e_table_get_selection_model): Added this
- function.
-
-2001-10-06 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (eti_show_cursor, eti_check_cursor_bounds): Check
- that cell views are realized before doing anything here. Fixes
- Ximian bug #11919.
- (eti_check_cursor_on_screen): If the cursor values are all set to
- -1, don't do anything.
-
-2001-10-06 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (eti_table_model_row_changed,
- eti_table_model_cell_changed): Handle row and cell changes
- properly in the uniform_row_height case. Fixes Ximian bug #11879.
-
-2001-10-06 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree.c (context_destroyed), e-table.c (context_destroyed): Use
- g_dataset_set_data_full to find out when the context is destroyed.
- Fixes Ximian bug #8502 and Ximian bug #11691.
-
-2001-10-05 Jon Trowbridge <trow@ximian.com>
-
- * e-table-without.c (e_table_without_show_all): We need to take
- the row count from the source model, not from the ETableWithout.
- This typo is why contacts kept disappearing in the SelectNames
- dialog. (Bugs 9326, 10916)
-
-2001-10-05 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (eti_set_arg): Fixed the uniform_row_height +
- confirm_row_hieght_cache crash.
-
-2001-10-05 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-text, e-cell-pixbuf: Adapted height method to deal with a
- row of -1.
-
- * e-table-group-container.c, e-table-group-container.h,
- e-table-group-leaf.c, e-table-group-leaf.h, e-table-item.c,
- e-table-item.h, e-table.c, e-table.h, e-tree.c: Added
- "uniform_row_height" argument.
-
-2001-10-05 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (eti_event): Got rid of the misused button
- variable here.
-
-2001-10-04 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (eti_idle_maybe_show_cursor): Sometimes put off
- maybe showing the cursor until an idle callback.
-
- * e-tree-selection-model.c (add_model): Use connect_after to
- connect to all the signals. This means we can assume the sorted
- tree and table adapters are both done. This also means that those
- objects cannot assume that the selection is already changed.
- Fixes Ximian bug #10667.
-
-2001-10-03 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-selection-model.c (e_table_selection_model_init):
- Initialize the hash field.
- (model_changed_idle): Send cursor changed and selection changed signals.
- (model_pre_change): If there's no cursor here, make sure to set
- the cursor_id to NULL.
-
-2001-10-03 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-click-to-add.c (set_initial_selection): Pick which field
- of the row to select based on priority. Fixes Ximian bug #9345.
-
- * e-table-col.c, e-table-col.h: Added the priority field to this
- class. Adapted the _new functions appropriately.
-
- * e-table-column-specification.c, e-table-column-specification.h:
- Added the priority field to this class.
-
- * e-table-utils.c (et_col_spec_to_col): Handle the priority field here.
-
-2001-10-02 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c, e-table-item.h: Only show the cursor during
- changes if it was already shown. Fixes Ximian bug #9810 and
- Ximian bug #4048.
-
-2001-09-28 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-sorted.c (ets_proxy_node_changed): Stop the sort idle if
- the root node gets changed.
-
-2001-09-26 Christopher James Lahey <clahey@ximian.com>
-
- * e-table.c, e-tree.c: Set the step_increment on the horizontal
- scrollbars here to 20.
-
-2001-09-26 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-selection-model.c (etsm_node_changed, etsm_destroy): Set
- cursor_path = NULL here.
-
-2001-09-25 Ettore Perazzoli <ettore@ximian.com>
-
- * e-table-item.c (eti_unrealize): Remove the grab if ->grabbed.
-
-2001-09-25 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (eti_event): Instead of
- e_selection_model_maybe_do_something and
- e_selection_model_do_something, call e_selection_right_click_down
- and e_selection_right_click_up here for right clicks.
-
- * e-table.c, e-table.h (e_table_right_click_up), e-tree.c,
- e-tree.h (e_tree_right_click_up): Added these functions for
- someone who handles the right click signal by popping up a menu
- call right_click_up when they're down handling the menu.
-
-2001-09-24 Federico Mena Quintero <federico@ximian.com>
-
- * e-table.c (et_canvas_button_press): Use the correct prototype
- for the signal handler.
-
- * e-tree.c (et_canvas_button_press): Likewise.
-
-2001-09-24 Federico Mena Quintero <federico@ximian.com>
-
- * e-table-group.c (e_table_group_add): Assert that the virtual
- method is implemented instead of being forgiving.
- (e_table_group_add_array): Likewise.
- (e_table_group_add_all): Likewise.
- (e_table_group_remove): Likewise.
- (e_table_group_increment): Likewise.
- (e_table_group_decrement): Likewise.
- (e_table_group_row_count): Likewise.
- (e_table_group_set_focus): Likewise.
- (e_table_group_get_focus): Likewise.
- (e_table_group_get_focus_column): Likewise.
- (e_table_group_get_printable): Likewise.
- (e_table_group_compute_location): Likewise.
- (e_table_group_get_cell_geometry): Likewise.
- (etg_destroy): Clear the fields after we unref them.
-
- * e-table-group-leaf.c (etgl_destroy): Clear the fields after we
- unref them.
- (e_table_group_leaf_construct): Subsets should not be sunk. Do
- not ref/sink the subset.
-
- * e-table-header.c (e_table_header_add_column): Document the fact
- that the header assumes ownership of the column.
-
-2001-09-24 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-selection-model.c (etsm_sorted_node_resorted): Attach to
- the resorted signal instead of the changed signal on the sorted
- model. Fixes Ximian bug #6532.
-
- * e-tree-sorted.c, e-tree-sorted.h (e_tree_sorted_node_resorted):
- Added this signal.
-
-2001-09-22 Christopher James Lahey <clahey@ximian.com>
-
- From a patch by Damian Ivereigh <damian@cisco.com>:
-
- * e-cell-date.c: Made this use e_strftime_fix_am_pm instead of
- strftime.
-
-2001-09-19 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-selection-model.c (add_model): Confirm row count here.
- (etsm_get_row_count): Make sure etsm->model isn't NULL here.
- If it is, it's not an error. Return 0 in this case.
-
-2001-09-16 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-model.c, e-table-model.h (e_table_model_class_init):
- Rearranged order of has_save_id and get_save_id to be more
- consistent with ETree.
-
- * e-table-selection-model.c, e-table-selection-model.h: Turned on
- the code to maintain selection and cursor across changes if the
- model supports get_save_id.
-
- * e-table-simple.c, e-table-simple.h: Changed this interface to
- take all of the ETableModel functions in the _new function.
-
- * e-table-subset.c (etss_has_save_id, etss_get_save_id): Added
- these to properly proxy the save_id functionality.
-
- * e-tree-memory-callbacks.c, e-tree-memory-callbacks.h,
- e-tree-model.c, e-tree-model.h, e-tree-sorted.c: Made the save_id
- parameter to get_node_by_id be const char * instead of char *.
-
- * e-tree-table-adapter.c (etta_class_init): Rearranged some
- assignments here to be more consistent.
-
-2001-09-13 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-toggle.c (etog_event): Changed this to change state on
- button down, even if we aren't editing.
-
-2001-09-10 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree.c (e_tree_setup_table): Changed which widget to connect
- signals to to watch for drag & drop. Fixes Ximian bugs #7450 &
- #8732.
-
-2001-09-07 Jon Trowbridge <trow@ximian.com>
-
- * e-table-without.c (e_table_without_show_all): Fixed a silly
- little obvious bug.
-
-2001-09-07 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (eti_event): Added GDK_BUTTON_PRESS_MASK to our
- button mask. Fixes Ximian bug #8241.
-
-2001-09-07 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c, e-table-item.h (eti_event): Don't do_something
- on button_release if we did something on button_press. Fixes
- Ximian bug #8260.
-
-2001-09-07 Christopher James Lahey <clahey@ximian.com>
-
- * Makefile.am: Added e-table-config-no-group.glade.
-
- * e-table-config-no-group.glade, e-table-config.c,
- e-table-config.glade: Removed the fields bit of ETableConfig.
-
-2001-09-07 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-without.c, e-table-without.h (e_table_without_show_all):
- Added this function.
-
-2001-09-04 Ettore Perazzoli <ettore@ximian.com>
-
- * e-tree.c (e_tree_drag_unhighlight): Remove debugging message.
-
-2001-09-02 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-date.c (ecd_get_text): Strip spaces at the beginning or
- end as well as changing " " to " ". Fixes Ximian bug #7683.
-
-2001-09-01 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-float.c (ecf_get_text, ecf_free_text): Rename these
- functions from ecn_get_text and ecn_free_text.
-
- * e-cell-tree.c (ect_height): Make sure the height is a multiple
- of two here.
-
- * e-table-header-item.c, e-table-header-item.h: Added a "tree"
- argument so that the sorting can be set by right clicking on the
- header item.
-
- * e-table-item.c (eti_table_model_rows_deleted): Added some
- assertions here.
-
- * e-tree-selection-model.c (etsm_find_node_unless_equals): Fixed
- indentation.
-
- * e-tree-table-adapter.c (etta_proxy_node_changed): Rewrote this
- to be more readable.
- (e_tree_table_adapter_node_set_expanded): Added an assertion.
-
- * e-tree.c, e-tree.h (e_tree_get_spec): Added this function.
- (e_tree_setup_header): Set the tree argument on the
- ETableHeaderItem here.
-
-2001-08-31 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (eti_table_model_rows_deleted): Fix this memmove.
- We've already subtracted the count from eti->rows.
-
-2001-08-27 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (eti_table_model_rows_deleted): Fixed this
- memmove to subtract the count as well as the row for the number of
- rows to move.
-
-2001-08-25 Zbigniew Chyla <cyba@gnome.pl>
-
- * e-table-group-container.c (compute_text):
- Convert UTF-8 strings to locale's encoding before putting them in
- canvas item.
-
-2001-08-25 Zbigniew Chyla <cyba@gnome.pl>
-
- * e-table.c (e_table_init): Fixed typo.
-
-2001-08-24 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-group-container.c, e-table-group-leaf.c,
- e-table-group-leaf.h, e-table-group.c, e-table-group.h: Added
- start_drag signals.
-
- * e-table-item.c, e-table-item.h (eti_event): Send the start_drag
- signal. Fixes Ximian bug #807.
-
- * e-table.c, e-table.h, e-tree.c, e-tree.h: Added start_drag
- signal. Made default handler start drag & drop if we're set to
- automatically handle dnd. Ripped out the code to handle watching
- events for dnd since start_drag does this now.
-
-2001-08-20 Jon Trowbridge <trow@ximian.com>
-
- * e-table-without.c (check_with_key): We need to
- free_gotten_key_func key2, not key!
- (e_table_without_show): Renamed, used to be
- e_table_without_remove. Double-negative function names
- are confusing!
- (e_table_without_hide_adopt): Renamed, used to be
- e_table_without_add_adopt.
- (e_table_without_hide): Renamed, used to be e_table_without_add.
-
-2001-08-20 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-subset.c, e-table-subset.h
- (e_table_subset_model_to_view_row,
- e_table_subset_view_to_model_row): Added these functions.
-
-2001-08-20 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-without.c: Made this object handle NULLs for all the
- handler functions.
-
-2001-08-20 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-without.c (etw_proxy_model_rows_inserted,
- etw_proxy_model_changed): Changed the used parity of the return
- value of check here.
-
-2001-08-18 Federico Mena Quintero <federico@ximian.com>
-
- * e-table-without.c (etw_destroy): Chain to the destroy handler in
- the parent class. Hey, I'm getting used to this :)
-
-2001-08-17 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-without.c (etw_destroy): Destroy the hash table and all
- objects in it, as well as the priv structure.
-
-2001-08-16 Christopher James Lahey <clahey@ximian.com>
-
- * Makefile.am: Added e-table-without.c and e-table-without.h.
-
- * e-table-without.c, e-table-without.h: Got this to compile.
- Finished the first version of it.
-
-2001-08-16 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-without.c, e-table-without.h: Adding the first versions
- of these files. Doesn't work yet.
-
-2001-08-14 Peter Williams <peterw@ximian.com>
-
- * e-tree-selection-model.c (etsm_selected_count_recurse):
- Workaround for Ximian bug #6795. Will prevent a crash and
- doesn't seem to cause any problems, but the underlying problem
- still exists.
-
-2001-08-14 Federico Mena Quintero <federico@ximian.com>
-
- * e-cell-combo.c (e_cell_combo_destroy): Destroy, do not unref,
- the popup_window.
-
-2001-08-14 Christopher James Lahey <clahey@ximian.com>
-
- * e-table.c (group_key_press), e-tree.c (item_key_press): Handle
- GDK_KP_Page_Up, GDK_KP_Page_Down, GDK_KP_Right, and GDK_KP_Left
- here. Fixes Ximian bug #4491.
-
-2001-08-14 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-click-to-add.c (etcta_event): Got rid of event
- forwarding for double clicks and releases and such and for single
- clicks except when first creating the row object. Fixes Ximian
- bug #2661.
-
-2001-08-10 JP Rosevear <jpr@ximian.com>
-
- * e-table.c (et_build_groups): add the items to the start or end
- based on where the click to add should be
- (e_table_setup_table): ditto
- (et_real_construct): read additional spec flag
-
- * e-table.h: new flag
-
- * e-table-specification.c (etsp_init): init new flag
- (e_table_specification_load_from_node): set click to add end flag
- (e_table_specification_save_to_node): write out flag
-
- * e-table-specification.h: new flag
-
-2001-08-10 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-config.c (setup_gui): If the sort_info can't group, hide
- the grouping button and label.
-
- * e-table-header-item.c (ethi_header_context_menu): Removed the
- Group By This Field menu item if the sort_info doesn't support
- grouping.
-
- * e-table-sort-info.c, e-table-sort-info.h
- (e_table_sort_info_get_can_group,
- e_table_sort_info_set_can_group): Added these functions.
-
- * e-tree.c (e_tree_set_state_object, et_real_construct): Set
- can_group to FALSE for all our sort infos.
- (e_tree_get_state_object): Fixed a potential gtk_object_ref (NULL)
- here.
-
-2001-08-09 Jeffrey Stedfast <fejj@ximian.com>
-
- * e-tree.c (et_drag_drop): Initialize ret_val.
- (do_drag_motion): Same.
-
-2001-08-09 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-field-chooser-dialog.c, e-table-field-chooser-dialog.h,
- e-table-field-chooser.c, e-table-field-chooser.h: Added a "header"
- argument to these structures which just gets passed downwards.
-
- * e-table-field-chooser-item.c, e-table-field-chooser-item.h:
- Added a "header" argument here. Made it so that only rows that
- aren't already in the header are shown.
-
- * e-table-header-item.c: Set the "header" argument on our
- e-table-field-chooser-dialog. Fixes Ximian bug #2654.
-
-2001-08-08 Not Zed <NotZed@Ximian.com>
-
- * e-table-sort-info.c (etsi_destroy): Call the super-class destroy
- function when done.
-
-2001-08-08 Federico Mena Quintero <federico@ximian.com>
-
- * e-cell-pixbuf.c (pixbuf_destroy): Chain to the destroy handler
- in the parent class!
-
- * e-table-field-chooser.c (e_table_field_chooser_destroy):
- Likewise. Sigh.
-
- * e-table-one.c (one_destroy): Likewise. Double sigh.
-
- * e-tree-selection-model.c (etsm_destroy): Likewise. Triple sigh.
-
-2001-08-08 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-group-leaf.c, e-table-group-leaf.h (etgl_key_press):
- Check for row >= 0 here. Fixes Ximian bug #6376.
- (etgl_destroy): Disconnect from all the signals we connect to on
- our ETableItem here.
-
-2001-08-07 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-selection-model.c (etsm_selected_count): Implemented this
- function. Fixes Ximian bug #5353.
-
-2001-08-07 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree.c: Make tree nodes open if you hover over them while drag
- & dropping.
-
-2001-08-07 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree.c (scroll_timeout): Added scrolling to access nodes that
- are scrolled off screen for drops. Fixes Ximian bug #5645.
-
- * e-table.c, e-table.h (scroll_timeout): Added scrolling to access
- rows that are scrolled off screen for drops. This doesn't work
- for some reason, but I'm checking the code in.
-
-2001-08-06 Christopher James Lahey <clahey@ximian.com>
-
- * e-table.c, e-table.h (e_table_drag_highlight,
- e_table_drag_unhighlight): Implemented these functions.
-
- * e-tree.c (e_tree_drag_highlight, e_tree_drag_unhighlight):
- Implemented these functions.
-
-2001-08-04 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-scrolled.c (e_tree_scrolled_new): Set the hadjustment and
- vadjustment here. From a patch by Kevin Vandersloot
- <kfv101@psu.edu>. Fixes Ximian bug #6400.
-
-2001-08-03 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree.c (et_drag_motion, et_drag_drop, et_drag_data_received):
- Change these to actually subtract the allocation as they should.
-
-2001-08-03 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-table-adapter.c (e_tree_table_adapter_node_at_row):
- e_tree_table_adapter_node_at_row would have pulled data from one
- past the end of its array if you asked it to and the root was
- hidden. Fixed it. Fixes Ximian bug #4761.
-
-2001-08-03 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree.c (et_drag_motion, et_drag_drop, et_drag_data_received):
- Subtracted 27.
-
-2001-08-02 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (eti_event): Make the right and left key presses
- be marked as handled here (i.e., return 1 always.) Fixes Ximian
- bug #2090.
-
-2001-08-02 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c: Changed all e_table_model_is_cell_editable calls
- in this file to be on the model column instead of the view column.
-
-2001-08-02 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree.c (et_destroy): Set et->priv to NULL here just to be
- sure.
-
-2001-08-02 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-header-item.c (ethi_drag_data_received): Don't do most
- of the work in this function if data->data is NULL. Fixes Ximian
- bug #6041.
-
-2001-08-01 Federico Mena Quintero <federico@ximian.com>
-
- * e-table.c (group_cursor_change): Set the et->cursor_loc *before*
- committing the click-to-add to avoid reentrancy issues if the
- table model changes while the click-to-add is being committed.
-
-2001-08-01 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-header-item.c (ethi_change_sort_state): Make this
- function not crash if x somehow doesn't land on some column.
- Fixes Ximian bug #5957.
-
- * e-table-header-item.c: Removed a bunch of menu items whose
- functionality won't be ready for 1.0. Fixes Ximian bug #154.
-
-2001-08-01 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-toggle.c (etog_max_width): Made this not query the 0th
- row if there are 0 rows in the table. Fixes Ximian bug #5640.
-
-2001-07-25 Jon Trowbridge <trow@ximian.com>
-
- * e-cell-text.c (ect_unrealize): Set text_view->font to NULL
- after we unref it.
-
-2001-07-25 Jason Leach <jleach@ximian.com>
-
- * e-table-item.c (eti_event): If the CLICK signal gets a return
- value, so we're going to be return from eti_event immediately
- after, set the eti->click_count to zero. Fixes bug #811.
-
-2001-07-23 Ettore Perazzoli <ettore@ximian.com>
-
- * e-table-item.c (eti_event): Handle GDK_KP_* cursor keys as well.
-
-2001-07-12 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree.c (e_tree_get_cell_at): Made these functions return -1 if
- the x and y aren't over any cell at all.
-
-2001-07-12 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-table-adapter.c (e_tree_table_adapter_node_set_expanded):
- Ignore set_expanded if the node is the root and root_visible is
- FALSE.
-
- * e-tree.c (item_key_press): Don't call set_expanded on NULL
- paths.
-
-2001-07-11 Christopher James Lahey <clahey@ximian.com>
-
- * e-table.c (group_key_press), e-tree.c (item_key_press): Changed
- these to use e_selection_model_select_as_key_press instead of
- e_selection_model_do_something.
-
-2001-07-11 Christopher James Lahey <clahey@ximian.com>
-
- * e-table.c (group_key_press), e-tree.c (item_key_press): Made the
- amount to scroll by smaller here.
-
-2001-07-11 Christopher James Lahey <clahey@ximian.com>
-
- * e-table.c (group_key_press), e-tree.c (item_key_press): Use
- e_selection_model_do_something directly for page up and page down
- instead of emulating a key press.
-
-2001-07-08 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-field-chooser-dialog.c
- (e_table_field_chooser_dialog_init): Changed the title of this
- dialog. Fixes bug #2656.
-
-2001-07-06 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-table-adapter.c (e_tree_table_adapter_node_at_row): Added
- checks for if row is outside of the appropriate range.
-
-2001-07-06 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-spin-button.c (e_cell_spin_button_step_float): Set
- new_value = value here to fix a warning.
-
-2001-07-06 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-config.c (config_get_arg): Added a "state" argument to
- allow you to get the state out of the config object.
-
-2001-07-05 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree.c (e_tree_get_cell_geometry): Added checks that row and
- col are >= 0.
-
-2001-07-05 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-text.c (ect_cancel_edit): Call e_table_item_leave_edit
- here.
-
-2001-07-05 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-header-item.c (ethi_drag_motion): Made it so that the
- drop marker can show up when dragging a new column to the leftmost
- position of the table header item.
-
-2001-07-05 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-one.c (one_is_cell_editable): Ask for the editability of
- row -1 instead of column 0 as we were before.
-
-2001-07-05 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c, e-table-item.h (find_cell): Changed the variable
- names here to make it clear that these are view model and row.
- (eti_event): Added click_count to make it so that if we get two
- clicks in different rows we don't send a double click event.
- (eti_event, view_to_model_row): Set row_guess in a few extra
- places.
-
-2001-07-05 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (eti_event): Make a whole bunch of control keys
- not start the ETableItem editing.
-
-2001-07-05 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (e_table_item_row_diff): Make sure start_row and
- end_row are within the number of rows in the table.
-
-2001-07-05 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree.c (e_tree_new, e_tree_new_from_spec_file): Handle an
- error in construction a little bit better here.
- (e_tree_get_cursor): Check for row == -1 here.
-
-2001-07-02 Richard Hult <rhult@codefactory.se>
-
- * e-cell-combo.c (e_cell_combo_get_popup_pos): Calculate the popup
- position using window coordinates instead of world coordinates.
- This fixes bug #2613 in ximian's bugzilla, combo box pops up offset
- if the table is scrolled.
-
-2001-07-02 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-sorted.c (ets_destroy): Only free the root here if it's
- non-NULL.
-
-2001-07-02 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-header-item.c (ethi_header_context_menu): Made the
- remove this column menu item greyed out if it's the last column.
-
-2001-07-02 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (eti_event): Don't send the double click signal
- if there's no row selected.
-
-2001-06-28 Chris Toshok <toshok@ximian.com>
-
- * e-table.c (et_drag_motion): send signals even if the row/col is
- -1.
- (et_drag_drop): same.
-
- * e-tree.c (et_drag_motion): same.
- (et_drag_drop): same.
-
-2001-06-27 Peter Williams <peterw@ximian.com>
-
- * e-tree-selection-model.c (e_tree_selection_model_add_to_selection): New function,
- heavily based on select_single_row.
-
- * e-tree-selection-model.h: Added prototype;
-
- * e-tree.c (e_tree_get_model): New accessor function.
- (e_tree_get_selection_model): Same.
- (e_tree_selected_count, e_tree_select_all, e_tree_invert_select): Removed. With
- the accessors these become pointless.
-
- * e-tree.h: Prototype the functions above. Remove a few functions that
- don't make sense anymore.
-
-2001-06-20 Mikael Hallendal <micke@codefactory.se>
-
- * e-cell-spin-button.c
- (e_cell_spin_button_step): send the value to
- e_table_model_set_value_at as a string as in e_cell_number.
- (e_cell_spin_button_step_float): send the value to
- e_table_model_set_value_at as a string as in e_cell_number_float.
-
-2001-05-25 Kjartan Maraas <kmaraas@gnome.org>
-
- * e-table-specification.c: #include <string.h>
- * e-table-state.c: Same here. Kills warnings on newer gcc.
-
-
-2001-05-25 Christopher James Lahey <clahey@ximian.com>
-
- * e-table.c (et_table_rows_deleted): Remove row row + i instead of
- row i.
- (et_table_rows_inserted): Insert row row + i instead of row row.
-
-2001-05-25 Christopher James Lahey <clahey@ximian.com>
-
- * e-table.c (et_table_rows_deleted): Remove row i instead of row
- row. Destroy et->group when you get the changed or
- sort_info_changed signal instead of in the idle handler.
-
-2001-05-24 jacob berkman <jacob@ximian.com>
-
- * e-cell-size.c (ecd_get_text): format similar to nautilus
-
-2001-05-23 jacob berkman <jacob@ximian.com>
-
- * e-table-group-container.c: internationalize the grouping text
- string
-
-2001-05-22 jacob berkman <jacob@ximian.com>
-
- * e-cell-pixbuf.c: allow NULL pixbufs, and draw with crappy alpha
-
-2001-05-22 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-sorted.c (ets_proxy_model_rows_deleted): Made this
- faster in some cases.
-
-2001-05-22 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-group-leaf.c (etgl_double_click): The double_click
- signal on the table item now emits the model row instead of the
- view row so don't do the view to model conversion here.
-
-2001-05-22 jacob berkman <jacob@ximian.com>
-
- * e-table-sorted.c (ets_proxy_model_rows_deleted): a similar
- change to below, which makes it actually work for the case where
- count != 1
-
-2001-05-21 Chris Toshok <toshok@ximian.com>
-
- * e-table-sorted.c (ets_proxy_model_rows_inserted): increment row
- each time through the loop so we don't get @count copies of @row.
-
-2001-05-14 Jon Trowbridge <trow@ximian.com>
-
- * e-cell-text.c (_get_position_from_xy): Try to deal with bad
- utf8.
- (_get_position): Try to deal with bad utf8.
- (number_of_lines): Try to deal with bad utf8.
- (split_into_lines): Try to deal with bad utf8.
-
-2001-05-11 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (eti_event): Make a key press stop the tooltip
- timeout.
-
- * e-table-state.c (e_table_state_load_from_node): Make the default
- expansion be one so that if the user doesn't specify any
- expansions they get a uniform expansion.
-
-2001-05-09 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-date.c (ecd_get_text): Show the date for dates in the
- future.
-
- * e-tree-memory.c, e-tree-memory.h
- (e_tree_memory_set_node_destroy_func): New function which gets
- called on the data for every node removed from the tree.
-
-2001-04-29 Jason Leach <jasonleach@usa.net>
-
- (Fix bug #53111: Portability fixes for HP's ANSI compiler.)
-
- * e-table-header-item.c (ethi_popup_sort_ascending): Changes for
- initializing a struct for picky compiler.
- (ethi_popup_sort_descending): Ditto.
- (ethi_change_sort_state): Ditto.
-
- * e-cell.c (e_cell_realize): Fix trying to return a value for a
- void function.
- (e_cell_show_tooltip): Here too.
-
- * e-table-subset.c (etss_set_value_at): Another fix for trying to
- return something instead of void.
-
-
-2001-04-29 Christopher James Lahey <clahey@ximian.com>
-
- * e-table.c: Added a read only argument "model" to ETable.
-
-2001-04-28 Jason Leach <jasonleach@usa.net>
-
- (Make the alternating row colors a option in ETableSpecification
- instead of a compiled in #define)
-
- * e-table-specification.c (e_table_specification_load_from_node):
- Read in the "alternating-row-colors=bool" option for
- ETableSpecifications. Default value is true so unless it is
- specified to be false, row colors will alternate.
- (e_table_specification_save_to_node): Save the alternating row
- color options here.
-
- * e-table.c (et_build_groups): Pass down the alternating row
- colors through to the ETableGroup.
-
- * e-table-group-container.[ch]: Handle the new alternating row colors
- option here, passing it to ETableItem.
-
- * e-table-group-leaf.[ch]: Here too.
-
- * e-table-item.c (eti_get_cell_background_color): Got rid of the
- #define ALTERNATE_COLORS, replaced with truth check for
- ETableItem::alternating_row_colors.
-
- * e-tree.c: Make ETree recognize alternating row color options as
- well.
-
-
-2001-04-25 Jason Leach <jasonleach@usa.net>
-
- * e-table-group-leaf.c (etgl_set_arg): One-line fix (missing a
- 'break' at the end of the ARG_SELECTION_MODEL case).
-
-2001-04-25 Christopher James Lahey <clahey@ximian.com>
-
- * e-table.c (e_table_get_cell_geometry): Add the header height to
- the returned y location here so that things will be lined up
- correctly.
-
-2001-04-25 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-table-adapter.c (e_tree_table_adapter_row_of_node): Made
- this return -1 instead of -2 for not found if the root is not
- visible.
-
- * e-tree-selection-model.c (etsm_row_foreach_cb): Made this accept
- any negative number as not found instead of just -1.
-
-2001-04-23 Dan Winship <danw@ximian.com>
-
- * Makefile.am (INCLUDES): remove UNICODE_CFLAGS
-
- * e-cell-text.c: Remove <unicode.h> include, use gunicode functions
-
-2001-04-23 Christopher James Lahey <clahey@ximian.com>
-
- * e-table.c (e_table_get_cell_geometry): Documented this function
- properly.
-
- * e-tree.c, e-tree.h (e_tree_get_cell_geometry): Added this
- function.
-
-2001-04-23 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-group-container.c, e-table-group-leaf.c,
- e-table-group.c, e-table-group-.h: Added get_cell_geometry method.
-
- * e-table-item.c, e-table-item.h: Added
- e_table_item_get_cell_geometry.
-
- * e-table.c, e-table.h: Added e_table_get_cell_geometry.
-
-2001-04-23 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-date.c (ecd_get_text): Made it so that if a message is
- from the last 8 hours, it only prints the time, not the date.
-
-2001-04-23 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-header-utils.c (e_table_header_draw_button): Make pixbuf
- columns show their title if there is space.
-
-2001-04-19 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-header.c (eth_calc_widths): Submit a signal even if
- there are no extras.
-
- * e-table-item.c (eti_request_column_width): Don't compute widths
- if our cells aren't realized yet.
-
- * e-tree.c: Call e_table_header_update_horizontal whenever our
- data changes.
-
-2001-04-19 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c: Turned off information expanders (tooltips) in
- ETable by default. Turn them back on with the environment
- variable GAL_DO_TOOLTIPS.
-
-2001-04-18 Dan Winship <danw@ximian.com>
-
- * e-table.c (et_destroy): Free some things that weren't getting
- freed.
-
- * e-tree.c (et_destroy): Free some things that weren't getting
- freed.
- (e_tree_set_state_object): Don't ref the return value of
- e_table_state_to_header.
-
-2001-04-16 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c: Turned on tooltips and alternating colors.
-
-2001-04-16 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-text.c (tooltip_event): Propagate the event after sending
- it to the table item.
-
-2001-04-16 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-sorted.c (ets_sort_idle): Fix a crash here.
-
-2001-04-15 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-text.c (ect_show_tooltip): Set the background color to
- the specified tooltip->background. Set the foreground color to
- the specified tooltip->foreground.
-
- * e-table-item.c (eti_get_cell_background_color,
- eti_get_cell_foreground_color): Added these functions.
- (eti_draw, _do_tooltip): Use these new functions.
-
- * e-table-tooltip.h: Added foreground and background colors to
- this structure.
-
- * e-tree.c, e-tree.h (e_tree_get_tooltip): Added this function.
-
-2001-04-15 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c: Added /* #defines */ at the top. Fixed
- ALTERNATE_COLORS to be an #ifdef instead of an #if.
-
- * e-cell-text.c (ect_show_tooltip): Set "strikeout" argument on
- created tooltip.
-
-2001-04-15 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-text.c (tooltip_event): Use e_canvas_hide_tooltip and
- e_canvas_popup_tooltip.
-
- * e-table-item.c: Cleaned this up. Removed some #if 0 and
- replaced others with #ifdefs.
-
- * e-table-tooltip.h: Removed some unnecessary fields.
-
-2001-04-15 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-text.c (ect_show_tooltip): Set "bold" argument on created
- tooltip. Adjusted position of displayed tooltip.
-
- * e-cell-tree.c (offset_of_node): Changed it so that this function
- handles knowing whether on not to indent non expandable first
- level nodes. This makes things more consistent.
-
- * e-table-item.c (eti_realize): Cleaned up the ETableItem code to
- properly hide tooltips when going off the screen.
-
- * e-table-tooltip.h: Added a visibility_count field to ETableTooltip.
-
-2001-04-14 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-hsv-utils.c, e-table-hsv-utils.h: Moved these to
- gal/widgets/e-hsv-utils.c and gal/widgets/e-hsv-utils.h.
-
- * e-table-item.c: #if 0ed out alternating colors until we come to
- a consensus.
-
-2001-04-13 Mikael Hallendal <micke@codefactory.se>
-
- * e-cell-float.[ch]: New cell for floats.
-
- * e-cell-spin-button.[ch]: New cell for spin-button.
-
- * Makefile.am:
- - Added e-cell-spin-button.[ch]
- - Added e-cell-float.[ch]
-
-2001-04-13 Dan Winship <danw@ximian.com>
-
- * e-table-header.c (eth_destroy): Fix memory leak
-
-2001-04-12 Seth Nickell <snickell@stanford.edu>
-
- * e-table-hsv-utils.c, e-table-hsv-utils.h: (tweak_hsv),
- (hsv_to_rgb), (rgb_to_hsv): Some utility functions for dealing
- with and modifying HSV values.
-
- * Makefile.am: Add e-table-hsv-utils.[c|h] to the build.
-
- * e-table-item.c: (eti_draw): Enable alternating colours in
- e-table cells.
-
-2001-04-12 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (eti_cursor_change): Only move the screen to show
- the cursor if there are no changes pending. Updated the commented
- out code for alternating colors a bit.
-
- * e-table-model.c, e-table-model.h: Added
- e_table_model_has_change_pending.
-
- * e-tree-memory-callbacks.c, e-tree-memory-callbacks.h: Added
- has_get_node_by_id and get_node_by_id.
-
- * e-tree-model.c, e-tree-model.h: Added
- e_tree_model_has_get_node_by_id and e_tree_model_get_node_by_id.
- Added e_tree_model_has_change_pending.
-
- * e-tree-selection-model.c: Handle the selection and cursor
- properly across the tree changing.
-
- * e-tree-sorted.c: Implemented has_get_node_by_id and
- get_node_by_id, and has_changes_pending.
-
- * e-tree-table-adapter.c: Implemented has_changes_pending. Fixed
- an array underflow.
-
-2001-04-11 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree.c (item_key_press): Return TRUE for left and right
- arrows.
-
-2001-04-10 Gediminas Paulauskas <menesis@delfi.lt>
-
- * e-table.c (et_real_construct): convert click_to_add_message locale->utf8.
-
-2001-04-10 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c: Put debugging stuff in d().
-
-2001-04-10 Christopher James Lahey <clahey@ximian.com>
-
- * e-table.c: #include "gal/widgets/e-unicode.h".
-
-2001-04-09 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-col.c, e-table-col.h, e-table-header-item.c,
- e-table-header.c, e-table-item.c: Changed resizeable to resizable
- in ETableCol for consistency.
-
- * e-tree-selection-model.c (etsm_row_of_node): Return -1 here if
- the path isn't found.
- (etsm_sorted_node_changed): If cursor_row is -1, make cursor_col
- -1 as well.
-
-2001-04-07 Dan Winship <danw@ximian.com>
-
- * e-cell-tree.c (ect_event): add "break;" to otherwise-empty
- "default:" cases to make them ANSI.
-
-2001-04-04 Kjartan Maraas <kmaraas@gnome.org>
-
- * e-cell-date.c: Fix headers.
- * e-cell-number.c: Ditto.
- * e-cell-pixbuf.[ch]: Ditto.
- * e-cell-size.c: Ditto.
- * e-cell-text.c: Ditto.
- * e-cell-tree.c: Ditto.
- * e-table-click-to-add.[ch]: Ditto.
- * e-table-column-specification.h: Ditto.
- * e-table-config-field.c: Ditto.
- * e-table-config.[ch]: Ditto.
- * e-table-example-2.c: Ditto.
- * e-table-field-chooser-dialog.[ch]: Ditto.
- * e-table-field-chooser-item.c: Ditto.
- * e-table-field-chooser.h: Ditto.
- * e-table-group-container.c: Ditto.
- * e-table-item.c: Ditto
- * e-table-memory.c: Ditto.
- * e-table-selection-model.c: Ditto.
- * e-table-sorter.c: Ditto.
- * e-table-subset-variable.c: Ditto.
- * e-table.c: Ditto.
- * e-tree-memory.c: Ditto.
- * e-tree-model.c: Ditto.
- * e-tree-selection-model.[ch]: Ditto.
- * e-tree-sorted-variable.c: Ditto.
- * e-tree-sorted.c: Ditto.
- * e-tree-table-adapter.c: Ditto.
- * e-tree.[ch]: Same here.
-
-2001-04-04 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-selection-model.c (e_tree_selection_model_change_cursor):
- Call cursor_activated as well.
-
-2001-04-04 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-config.c, e-table-item.c, e-table-memory.c,
- e-table-sort-info.c, e-table-specification.c, e-tree-sorted.c:
- Fixed headers.
-
- * e-table-config.c, e-table-specification.c: Replaced strcasecmp
- with g_strcasecmp.
-
-2001-04-04 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-selection-model.c: Made this work properly for models
- with 0 rows in the tree table adapter.
-
-2001-04-04 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-selection-model.c, e-tree-selection-model.h
- (e_tree_selection_model_change_cursor): Added this function.
-
- * e-tree.c (e_tree_set_cursor): Screwed up moving the cursor a
- small bit when I changed this to be faster before. Fixed it.
-
-2001-04-04 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-sorted.c: Make it so you can switch checking around the
- last access on and off for tuning purposes.
-
- * e-tree-table-adapter.c: Apparently, ETreeTableAdapter is much
- faster if the value_at function doesn't change the last_access
- variable.
-
-2001-04-04 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-selection-model.c, e-tree-selection-model.h: Added
- e_tree_selection_model_select_single_path and made selection_start
- be the path as it should be instead of the row.
-
- * e-tree-sorted.c: Added a last_access variable to speed up
- access.
-
- * e-tree-table-adapter.c: Made checking last_access look at the 10
- values before and after the listed value to look for the value
- requested.
-
- * e-tree.c: Call e_tree_selection_model_select_single_path if
- E_TREE_USE_TREE_SELECTION.
-
-2001-04-04 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-selection-model.c (etsm_row_foreach_cb): Fixed this to
- not call the callback with a row of -1.
-
-2001-04-04 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree.h (E_TREE_USE_TREE_SELECTION): Turn on
- E_TREE_USE_TREE_SELECTION.
-
-2001-04-03 Richard Hult <rhult@codefactory.se>
-
- * e-tree-table-adapter.c (etta_proxy_node_inserted): Fixed an off
- by one error.
-
-2001-04-03 Richard Hult <rhult@codefactory.se>
-
- * e-tree.c (et_get_arg): Add argument to get the table adapter.
- (et_set_arg): Add arguments for setting drawing of the grid and
- focus.
-
- * e-tree-model.c, e-tree-model.h (e_tree_model_node_traverse):
- Fill in missing implementation.
- (e_tree_model_node_traverse_preorder): Likewise, but preorder
- traversal.
-
-2001-04-03 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-header-item.c (ethi_draw): Don't draw the button if it's
- less than 1 pixel wide.
-
- * e-tree-table-adapter.c (etta_proxy_node_inserted): Fixed a small
- array overrun (wasn't causing problems, but it's best to be
- correct.)
-
-2001-04-02 Federico Mena Quintero <federico@ximian.com>
-
- * e-table-click-to-add.c (finish_editing): Ahem, the ETableItem
- argument is now "selection_model", not "table_selection_model".
-
-2001-04-02 Gediminas Paulauskas <menesis@delfi.lt>
-
- * e-table-config.glade, e-table-field-chooser.glade,
- e-table-group.glade: Do not generate glade.h.
- * e-table-field-chooser.glade.h, e-table-group.glade.h: removed.
- * Makefile.am: updated.
-
-2001-04-02 Federico Mena Quintero <federico@ximian.com>
-
- * e-cell-popup.c (ecp_unrealize): Typo fix; call
- e_cell_unrealize(), not e_cell_realize().
-
- * e-cell-text.c (ect_event): Removed fallback "else", from "if
- (edit_display)"since our planned return value is already zero and
- we do need to unbuild_current_cell() instead of returning
- immediately.
-
- * e-table-state.c (etst_destroy): Free the expansions field.
-
- * e-table.c (e_table_set_state_object): Do not ref the header
- since we just created it!
-
-2001-04-01 Gediminas Paulauskas <menesis@delfi.lt>
-
- * e-table-config.c, e-table-field-chooser.c: replaced
- glade_xml_new with glade_xml_new_with_domain.
-
-2001-04-01 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-selection-model.c: Monitor the sorted model and send
- selection and cursor changed signals.
-
-2001-04-01 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-selection-model.c (etsm_foreach_all_recurse,
- etsm_foreach_recurse, e_tree_selection_model_foreach): Made this
- traverse the source model instead of the sorted model since the
- selection model is in the order of the source model.
-
-2001-04-01 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-selection-model.c: Fixed some bugs with the privitization
- of ETreeSelectionModel.
-
- * e-tree.c: One more required change to make it work with
- E_TREE_USE_TREE_SELECTION on.
-
-2001-04-01 Christopher James Lahey <clahey@ximian.com>
-
- * Makefile.am (libetable_la_SOURCES): Added
- e-tree-selection-model.c.
- (libetableinclude_HEADERS): Added e-tree-selection-model.h.
-
- * e-tree.c, e-tree.h: Added code to use ETreeSelectionModel if the
- string E_TREE_USE_TREE_SELECTION is defined.
-
-2001-03-31 Tambet Ingo <tambet@ximian.com>
-
- * e-table-scrolled.c (e_table_scrolled_new_from_spec_file): Fixed
- little bug, add adjustments.
-
-2001-03-31 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree.c (e_tree_init): Initialize all necessary fields here.
-
-2001-03-31 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree.c (et_real_construct): Roll back another part of the
- change.
-
-2001-03-31 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree.c, e-tree.h: Accidently committed this with using the
- tree selection model turned on. Rolled back this change.
-
-2001-03-31 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-scrolled.c: Include <gal/util/e-util.h> here.
-
- * e-tree-selection-model.c, e-tree-selection-model.h: Privatized
- this class. Cleaned this up a bit. Added handlers for signals
- from the model.
-
- * e-tree.c, e-tree.h: Privatized this class.
-
-2001-03-31 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-sorted.c (ets_proxy_node_inserted): Set orig_position
- properly on inserted nodes.
-
-2001-03-31 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-selection-model.c (etsm_foreach_all_recurse): Made
- e_tree_selection_model_foreach work.
- (etsm_select_all): Made etsm_select_all work.
- (update_parents): Fixed a crash.
-
-2001-03-31 Christopher James Lahey <clahey@ximian.com>
-
- * Makefile.am: Removed a bunch of unused comments.
-
-2001-03-31 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-example-1.c: Removed this since it's out of date.
- Replaced by tests/test-table-1.c.
-
-2001-03-31 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-selection-model.c, e-tree-selection-model.h: New
- implementation based on a tree instead of a hash table.
-
- * e-tree-sorted.c, e-tree-sorted.h: Added
- e_tree_sorted_num_children.
-
-2001-03-30 Radek Doulik <rodo@ximian.com>
-
- * e-tree.h: removed #include
- <gal/e-table/e-tree-selection-model.h>
-
-2001-03-30 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-group.c, e-table-header-item.c, e-table-item.c,
- e-table.c, e-tree.c: Made these use GTK_TYPE_GDK_EVENT whenever
- sending an event through the signal system instead of
- GTK_TYPE_POINTER.
-
- * e-table.c, e-tree.c (set_header_canvas_width): Check that none
- of the variables we're going to need are NULL before executing
- this function.
-
-2001-03-30 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-group-container.c, e-table-group-container.h,
- e-table-group-leaf.c, e-table-group-leaf.h, e-table-item.c,
- e-table-item.h, e-table.c, e-tree.c: Changed the signal
- "table_selection_model" to just be "selection_model" everywhere
- and made it be ESelectionModels instead of ETableSelectionModels
- for generality.
-
- * e-table-item.c (eti_event): Make right arrow and left arrow
- accessible as events that can be caught.
-
- * e-tree-sorted.c, e-tree-sorted.h (e_tree_sorted_orig_position):
- Added this function.
-
-2001-03-30 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-table-adapter.c (etta_proxy_node_removed): Fixed removing
- the last child of a node.
-
-2001-03-29 Christopher James Lahey <clahey@ximian.com>
-
- * e-table.c, e-tree.c, e-tree.h: Updated to set the width of the
- header canvas to be equal to the width of the table canvas to
- avoid infinite loops. Added left arrow and right arrow as tree
- collapse and expand bindings.
-
-2001-03-27 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-selection-model.c, e-tree-selection-model.h: New class
- implementing a tree model. Not finished yet or in use, but I
- wanted to get it checked in.
-
-2001-03-26 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-memory.c, e-tree-table-adapter.c: Updated these to match
- the new e_tree_model_node_removed signal.
-
- * e-tree-model.c, e-tree-model.h: Added an old_position parameter
- to the node_removed signal so that it would be completely
- deterministic.
-
- * e-tree-sorted.c: Changed this so that paths keep track of their
- original position. This makes sorting much faster.
-
-Sun Mar 25 22:31:19 2001 George Lebl <jirka@5z.com>
-
- * e-tree.c (e_tree_class_init): Fix gtk_signal_new arguments, INT
- and POINTER were switched causing my alpha to go nuts.
-
-2001-03-25 Dan Winship <danw@ximian.com>
-
- * e-table.c (et_real_construct): ref the sort_info taken from the
- state object.
- * e-tree.c (et_real_construct): Ditto. Fixes the last ETree
- crash-on-exit bug for me.
-
-2001-03-25 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-selection-model.c, e-table-selection-model.h: Made the
- parent object of this be ESelectionModelArray instead of
- ESelectionModel due to their refactoring. Changed the commented
- out code for saving the selection a bit.
-
-2001-03-25 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree.c (item_key_press): Added '=' and '-' as tree node expand
- and collapse.
-
-2001-03-23 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-extras.c: Properly remove old items from the
- ETableExtras if they are replaced by new objects.
-
-2001-03-23 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-sorted.c (reposition_path): Made this only up the
- insert_count if it actually had to do any non constant work to
- reposition the path.
-
-2001-03-23 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (eti_cursor_change, eti_cursor_activated): Ignore
- these signals if we aren't realized yet.
-
-2001-03-23 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-text.c: Made this not create the new font until realize
- instead of at new_view time.
-
- * e-table-item.c: Don't request heights or do other things that
- you aren't allowed to do before realization unless you're
- realized.
-
-2001-03-22 Ettore Perazzoli <ettore@ximian.com>
-
- * e-table-sort-info.c (e_table_sort_info_init): Make the object
- not FLOATING.
-
- * e-table-state.c (etst_destroy): Use _unref, not _destroy, to
- release the `sort_info'.
-
-2001-03-22 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-memory.c: Fixed the parity on all the g_return_ifs and
- g_return_val_ifs.
-
-2001-03-22 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-memory.c, e-table-memory.h (e_table_memory_insert): Made
- this able to take -1 to denote appending to the table. Also,
- removed the node_ from the name of this function.
- (e_table_memory_remove): Removed the node_ from the name of this
- function.
- (e_table_memory_clear): New function which sets the table to
- empty.
-
-2001-03-22 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-memory.c (sort_callback): Changed this to derefence the
- pointers passed in from qsort as we should instead of just casting
- them.
- (e_tree_memory_sort_node): Set the first_child and last_child of
- the node changed.
-
-2001-03-22 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-memory.c, e-tree-memory.h (e_tree_memory_sort_node): New
- function to allow you to do non live sorts with weird rules.
-
-2001-03-22 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-memory.c (e_table_memory_insert): Fixed the
- g_return_if_fail here to allow for appending.
-
-2001-03-21 Ettore Perazzoli <ettore@ximian.com>
-
- * e-table-state.c (etst_init): Make the object a non-GTK_FLOATING
- object.
-
-2001-03-20 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-memory-callbacks.c, e-table-memory-callbacks.h,
- e-table-memory.c, e-table-memory.h: Added these classes.
-
- * Makefile.am: Added e-table-memory-callbacks.c,
- e-table-memory-callbacks.h, e-table-memory.c, and
- e-table-memory.h.
-
-2001-03-20 Christopher James Lahey <clahey@ximian.com>
-
- * e-table.c: Fixed a typo in the word horiztonal.
-
-2001-03-20 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-click-to-add.c: Turn on the vertical grid.
-
- * e-table-group-container.c, e-table-group-container.h,
- e-table-group-leaf.c, e-table-group-leaf.h, e-table-item.c,
- e-table-item.h: Replaced the "drawgrid" argument with
- "horizontal_draw_grid" and "vertical_draw_grid" arguments.
-
- * e-table-specification.c, e-table-specifcation: Replaced the
- draw_grid setting with the horizontal_draw_grid and
- vertical_draw_grid settings. If the draw-grid property is set in
- a ETableSpecification it is still obeyed and overrides the
- vertical-draw-grid and horizontal-draw-grid properties.
-
- * e-table.c, e-table.h, e-tree.c, e-tree.h: Deal with the
- horizontal_draw_grid and vertical_draw_grid changes.
-
- * e-tree-model.h: Added a missing include.
-
-2001-03-19 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-sorted.c (ets_proxy_node_changed): Deal with
- proxy_node_changed being called on a different root node than the
- one we have in our tree.
-
- * e-tree-table-adapter.c: Did some general clean up here.
-
- * Merged branch:
-
-2001-03-19 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-sorted.c (find_child_path): Added this function to allow
- us to find paths that have been removed from the source.
- (ets_proxy_node_removed): Fixed the memmove here a bit. Call
- find_child_path.
-
- * e-tree-table-adapter.c (find_node): Check that the passed in
- path isn't NULL.
-
-2001-03-19 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (eti_reflow): Get width from header object
- instead of calculating it ourselves.
-
- * e-table-selection-model.c: Turn off selection saving since it's
- so slow.
-
- * e-table.c (e_table_set_state_object): Set the width of the newly
- created header object.
-
- * e-tree.c (e_tree_set_state_object): Set the width of the newly
- created header object.
- (tree_canvas_size_allocate): Don't bother setting the dimensions
- of the white background twice.
-
-2001-03-18 Miguel de Icaza <miguel@ximian.com>
-
- * e-table-config.c (sort_entry_changed): Use
- update_sort_and_group_config dialog instead of the non-implemented
- update_group_config_dialog.
- (update_sort_and_group_config_dialog): Update the text correctly.
- (sort_entry_changed): Handle empty string as not-in-set.
- (group_entry_changed): Handle empty string as not-in-set.
- (config_class_init): Fix the signal declaration for "changed",
- this was sending the wrong information.
- (update_sort_and_group_config_dialog): Use group_info here, not sort_info
-
- * e-table-header-item.c (ethi_popup_customize_view): Changed to
- use the "changed" signal in the ETableConfig instead of
- promiscously using the "apply" from the PropertyBox
-
- * e-table-config.glade: Set Hide On Close to yes for the Group-By
- dialog.
-
- The groups for Radio Buttons in the Glade file are global, which
- caused all sorts of strange behaviour and really hard to debug
- problems. This should be now fixed
-
-2001-03-18 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-selection-model.c, e-table-selection-model.h: Made
- ETableSelectionModel save the cursor properly across changed
- signals if has_save_id is true.
-
-2001-03-18 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-selection-model.c, e-table-selection-model.h: Made
- ETableSelectionModel save selection properly across changed
- signals if has_save_id is true.
-
- * e-tree-memory.c: A couple of typos.
-
-2001-03-18 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-memory.c, e-tree-sorted.c: Send pre_changes properly.
-
-2001-03-18 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-table-adapter.c: Send pre_changes when performing
- set_expanded or root_node_set_visible.
-
-2001-03-18 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-sorted.c (ets_is_expandable): When the API requests
- whether the object is expandable and it isn't, make sure to send a
- signal when it becomes expandable.
-
- * e-tree-table-adapter.c: Made it so that in a number of cases
- where it doesn't need to create an empty hash table node if the
- current tree node has no children, it doesn't.
-
-2001-03-18 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-memory-callbacks.c, e-tree-memory-callbacks.h
- (etmc_has_save_id, etmc_get_save_id): Added has_save_id and
- get_save_id to the list of methods supported by
- e_tree_memory_callbacks.
-
- * e-tree-table-adapter.c, e-tree-table-adapter.h: Added saving of
- expanded nodes.
-
-2001-03-18 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-model.c, e-table-model.h (e_table_model_get_save_id):
- Changed row_save_id to get_save_id to be consistent with ETree.
-
- * e-tree-model.c, e-tree-model.h: Added "pre_change" signal.
- Added has_save_id and get_save_id methods.
-
- * e-tree-sorted.c: Proxy pre_change signal. Implemented
- has_save_id and get_save_id. If the base model doesn't provide
- has_save_id then we g_strdup_printf the pointer of the base model
- ETreePath as the save_id.
-
- * e-tree-table-adapter.c: Proxy pre_change signal. If base model
- has_save_id, then use the results of get_save_id as the key for
- the hash table of node attributes. Otherwise use the pointer as
- before.
-
-
-2001-03-17 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-sorted.c (ets_sort_idle): Fixed it so that all nodes get
- sorted properly instead of just the top node.
-
-2001-03-17 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-sorting-utils.c (e_table_sorting_utils_tree_sort): Made
- tree sorting faster by using a cache.
-
- * e-tree-sorted.c: Added commented out debugging g_prints.
-
-2001-03-17 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-sorted.c: Switched to using GMemChunks.
-
-2001-03-17 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-sorted.c (resort_node): Made it so that children of a
- node that's being sorted don't send changed signals.
-
-2001-03-17 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-sorting-utils.c, e-table-sorting-utils.h: Switched to
- using e_sort and e_search instead of qsort and a linear search.
- Added the tree functions e_table_sorting_utils_tree_sort,
- e_table_sorting_utils_tree_check_position, and
- e_table_sorting_utils_tree_insert.
-
- * e-tree-sorted.c: Made this actually do sorting.
-
- * e-tree-table-adapter.c (etta_proxy_node_changed): The old_size
- needs to be the number of visible children + 1 to include the top
- node.
-
- * e-tree.c (e_tree_set_state_object): Set the sort_info on the
- ETreeSorted when you get a new sort_info.
-
-2001-03-16 Kjartan Maraas <kmaraas@gnome.org>
-
- * e-cell-combo.c: Added #include <string.h> for strcmp().
- * e-table-header-utils.c: Same for strlen().
-
-
-2001-03-16 Christopher James Lahey <clahey@ximian.com>
-
- * Makefile.am: Added e-tree-sorted.c and e-tree-sorted.h.
-
- * e-table-item.c (eti_realize_cell_views): Only realize the cells
- if they're not realized already and if the canvas is realized.
-
- * e-table-sorted.c (ets_proxy_model_cell_changed): Matched the
- change to the signature of e_table_sorting_utils_affects_sort.
-
- * e-table-sorting-utils.c, e-table-sorting-utils.h
- (e_table_sorting_utils_affects_sort): Changed the signature of
- this function to not take the ETableModel source since it doesn't
- use it and we need to use this function for ETreeSorted which
- doesn't have an ETableModel.
-
- * e-tree-memory.c (etmm_get_expanded_default): Actually implement
- the get_expanded_default for this tree.
-
- * e-tree-model.h: Cleaned up the indentation here.
-
- * e-tree-sorted.c, e-tree-sorted.h: New class meant to be used for
- sorting trees. It doesn't actually sort yet. It simply acts as
- an ETreeProxy which is the hardest part of making ETreeSorted.
-
- * e-tree.c, e-tree.h: Made this use an ETreeSorted.
-
-2001-03-15 Miguel de Icaza <miguel@ximian.com>
-
- * e-table-state.c (etst_destroy): Release ->sort_info.
-
-2001-03-15 Dan Winship <danw@ximian.com>
-
- * e-table-item.c (eti_event): Update arguments to
- e_canvas_item_grab_focus.
- (eti_cursor_change): Ditto, but pass FALSE! Fixes the problem of
- the Evolution message list stealing your focus when new mail
- arrives. Ha!
-
-2001-03-14 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c, e-table-item.h, e-table-selection-model.c,
- e-table-selection-model.h, e-table-sorted.c, e-table-sorted.h,
- e-table-subset.c, e-table-subset.h, e-table.c, e-table.h: Switch
- to handling e_table_model_rows_inserted instead of
- e_table_model_row_inserted and e_table_model_rows_deleted instead
- of e_table_model_row_deleted.
-
- * e-table-model.c, e-table-model.h: Replaced the signals
- "model_row_inserted" and "model_row_deleted" with
- "model_rows_inserted" and "model_rows_deleted" so that when
- multiple rows are inserted or deleted at the same time they can be
- handled properly.
-
- * e-tree-table-adapter.c: Call "model_rows_inserted" and
- "model_rows_deleted" instead of "model_changed" when inserting or
- deleting multiple rows.
-
-2001-03-14 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (e_table_item_row_diff): Made this not count the
- pixel between rows if it isn't there.
-
-2001-03-14 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (eti_header_structure_changed): Properly attach &
- realize cell views here.
-
-2001-03-13 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-table-adapter.c (etta_proxy_node_removed): Check that
- parent_node and parent aren't NULL before making function calls on
- them.
-
-2001-03-13 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (confirm_height_cache): Fixed a height cache
- miscalculation.
-
- * e-tree-table-adapter.c (find_first_child_node): Made the
- semantics of this mean that find_first_child_node(adapter, -1)
- means return the first node in the tree.
-
-2001-03-13 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-extras.c: Added a "string-integer" comparison function
- to the default %ETableExtras so you can do comparisons based on
- integer value even if you using strings for the data (this lets
- you do editable numbers, for instance.)
-
- * e-table-item.c: Rearranged it a bit so that if you have
- draw_grid off it doesn't add space for the horizontal lines, nor
- leave them the background color.
-
- * e-table-model.c, e-table-model.h: Added the row_save_id and
- has_save_id methods to %ETableModel.
-
- * e-tree.c, e-tree.h: Replaced e_tree_compute_location with
- e_tree_get_cell_at.
-
-2001-03-08 Christopher James Lahey <clahey@ximian.com>
-
- * Makefile.am: Added e-table/e-table-utils.c,
- e-table/e-tree-memory-callbacks.c, e-table/e-tree-memory.c,
- e-table/e-tree-scrolled.c, e-table/e-tree-table-adapter.c, and
- e-table/e-tree.c. Removed e-table/e-tree-simple.c. Added
- e-table/e-table-utils.h, e-table/e-tree-memory-callbacks.h,
- e-table/e-tree-memory.h, e-table/e-tree-scrolled.h,
- e-table/e-tree-table-adapter.h, and e-table/e-tree.h. Removed
- e-table/e-tree-simple.h.
-
- * e-cell-tree.c: Updated this for the new tree.
-
- * e-table-item.c: Added some redraw requests where appropriate.
-
- * e-table-item.h: Fixed an incorrect class method declaration.
-
- * e-table-model.c, e-table-model.h: Removed
- e_table_model_has_sort_group and e_table_model_row_sort_group.
-
- * e-table-scrolled.h: Removed unused headers.
-
- * e-table-simple.c, e-table-simple.h: Rearranged this a bit.
-
- * e-table-sorter.c, e-table-sorting-utils.c,
- e-table-sorting-utils.h: Removed sort group stuff. Added the
- function e_table_sorting_utils_check_position.
-
- * e-table-utils.c, e-table-utils.h: Utility functions for ETable
- and ETree.
-
- * e-table.c: Moved some of the functionality from here to
- e-table-utils.c so that it can be reused by ETree.
-
- * e-tree-memory-callbacks.c, e-tree-memory-callbacks.h: Class to
- implement an ETreeMemory as callbacks instead of overriding the
- class.
-
- * e-tree-memory.c, e-tree-memory.h: ETreeModel that stores a tree
- of physical nodes.
-
- * e-tree-model.c, e-tree-model.h: Removed most of the
- functionality from here to the classes ETreeMemory and
- ETreeTableAdapter. This is now just a simple virtualized tree
- class.
-
- * e-tree-scrolled.c, e-tree-scrolled.h: New class. An ETree in an
- EScrollFrame.
-
- * e-tree-simple.c: Small change. This is no longer used.
-
- * e-tree-table-adapter.c, e-tree-table-adapter.h: ETableModel that
- represents an ETreeModel as a table.
-
- * e-tree.c, e-tree.h: New super class kind of like ETable but for
- trees.
-
-End of branch
-
-2001-03-07 Ettore Perazzoli <ettore@ximian.com>
-
- * e-table.c (e_table_compute_location): Removed.
- (e_table_get_cell_at): New, public function exporting the same
- functionality.
- (et_drag_motion): Use `e_table_get_cell_at()' instead of
- `e_table_compute_location()'.
- (et_drag_drop): Likewise.
- (et_drag_data_received): Likewise.
- (e_table_drag_source_event_cb): Likewise.
-
-2001-03-04 Damon Chaplin <damon@ximian.com>
-
- * e-cell-text.c: added "editable" Arg, to stop the user from editing
- the text. The user can still select the text, though. The "editable"
- Arg is useful for ECellCombo where we want the user to select an item
- in the popup but not edit the field itself.
-
- * e-cell-combo.c: updated to select the matcing item before it pops up
- the list.
-
-2001-03-01 Vladimir Vukicevic <vladimir@ximian.com>
-
- * e-cell-pixbuf.c, e-cell-pixbuf.h, Makefile.am,
- Makefile.am, e-table-extras.c: Added new ECellPixbuf --
- takes a GdkPixbuf from the model and renders it centered
- in the table cell.
-
-
-2001-02-27 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-click-to-add.c, e-table-group-container.c,
- e-table-group-container.h, e-table-group-leaf.c,
- e-table-group-leaf.h, e-table-item.c, e-table-item.h,
- e-table-specification.c, e-table-specification.h, e-table.c,
- e-table.h: Changed a lot of the ETableSelectionModels to
- ESelectionModels, a lot of the ETableSorters to ESorters, all the
- ETableCursorModes to ECursorModes, and all of the
- ETableForeachFuncs into EForeachFuncs.
-
- * e-table-defines.h: Moved ETableForeachFunc and ETableCursorMode
- to e-selection-model.h.
-
- * e-table-selection-model.c, e-table-selection-model.h: Made this
- a subclass of ESelectionModel which simple connects to an
- ETableModel.
-
- * e-table-sorter.c, e-table-sorter.h: Made this a subclass of
- ESorter so that implements the same semantics it used to.
-
-2001-03-01 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-pixbuf.c: Fixed some warnings.
-
- * e-table-subset.c, e-table-subset.h: Added
- e_table_subset_print_debugging.
-
-2001-02-27 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-sorted-variable.c: Moved etsv_compare to etsu_compare in
- e-table-sorting-utils.c. Moved most of the contents of etsv_add
- to e_table_sorting_utils_insert in e-table-sorting-utils.c and
- call the function.
-
- * e-table-sorted.c: Rewrote ets_proxy_row_changed,
- ets_proxy_row_inserted, and ets_proxy_row_deleted.
-
- * e-table-sorting-utils.c, e-table-sorting-utils.h (etsu_compare,
- e_table_sorting_utils_insert): Added e_table_sorting_utils_insert.
-
- * e-table-subset-variable.c: Changed this implementation to be
- slightly more consistent with other code.
-
-2001-02-26 Ettore Perazzoli <ettore@ximian.com>
-
- * e-table.c (et_disconnect_model): Only disconnect if the model is
- non-zero, and only if the IDs are actually non-zero.
-
-2001-02-25 Damon Chaplin <damon@ximian.com>
-
- * e-cell-popup.c: new abstract ECell subclass to be used as base class
- for popup ECells.
-
- * e-cell-combo.c: subclass of ECellPopup which pops up a simple list
- of strings.
-
- * e-table-item.c: Renamed eti_row_diff() to e_table_item_row_diff() and
- made public, since the ECellPopup subclasses need it.
-
- * Makefile.am: added e-cell-popup.[hc] and e-cell-combo.[hc]
-
-2001-02-23 Christopher James Lahey <clahey@ximian.com>
-
- * Makefile.am (libetable_la_SOURCES): Added
- e-table-sorting-utils.c.
- (libetableinclude_HEADERS): Added e-table-sorting-utils.h.
-
- * e-table-group-container.c: Implemented add_array method. Use
- add_array to implement add_all instead of using add. Did some
- general clean up.
-
- * e-table-group-leaf.c, e-table-group-leaf.h: Implemented
- add_array method. Changed everything to use an ETableSubset
- variable instead of an ETableSortedVariable. Implemented it as
- ETableSortedVariable if there's grouping involved and ETableSorted
- if there isn't.
-
- * e-table-group.c, e-table-group.h: Added add_array method. Added
- unused get_position code.
-
- * e-table-sorted-variable.c, e-table-sorted-variable.h: Moved a
- lot of the actual implementation of sorting to
- e-table-sorting-utils.c. Got rid of the signal handlers here
- since we weren't using them and ETableSubset has the proxy virtual
- methods.
-
- * e-table-sorted.c, e-table-sorted.h: Completely replaced these
- files with a variation on ETableSortedVariable that doesn't have
- the add methods and such but instead just mimics the source
- model's set of rows completely.
-
- * e-table-sorter.c, e-table-sorter.h: Added functions to get at
- the arrays here.
-
- * e-table-sorting-utils.c, e-table-sorting-utils.h: Utility
- functions for doing sorting.
-
- * e-table-subset-variable.c, e-table-subset-variable.h: Added
- add_array method.
-
- * e-table-subset.c, e-table-subset.h: Made it so that the signal
- hookups to the source model's signals are virtual methods.
-
- * e-table.c, e-table.h: Don't call add_all and add and remove type
- functions if not grouped. Don't rebuild for sort changes unless
- it was either grouped before or will be grouped now.
-
-2001-02-22 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-model.c: Added a bunch of g_return_if_fails.
-
-2001-02-20 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell.c (e_cell_draw): Added some g_return_if_fails here.
-
-2001-02-20 Chris Toshok <toshok@ximian.com>
-
- * e-tree-model.c: add some more (mostly empty) api docs.
- (e_tree_model_node_changed): pass the node in the "node_changed"
- signal.
- (etree_destroy): e_tree_model_node_remove our root node here to
- free up the tree's storage.
-
-2001-02-19 Christopher James Lahey <clahey@ximian.com>
-
- * Makefile.am: Removed e-table-text-model.c and
- e-table-text-model.h.
-
- * e-table-text-model.c, e-table-text-model.h: Moved these to
- gal/e-text/.
-
- * e-cell-text.c: Changed the include line for
- e-text-event-processor.h and e-text-event-processor-emacs-like.h.
-
-2001-02-17 Rusty Conover <rconover@zootweb.com>
-
- * e-cell-tree.c (ect_max_width): Change the calculation of the
- maximum with of tree cell, from O(n^2) to O(n), we don't need to
- continually recalculate the maximum width of the subcells when
- calculating the width of every row.
-
-2001-02-17 Christopher James Lahey <clahey@ximian.com>
-
- * e-table.c (et_real_construct): Removed setting of invalid
- "horizontal_scrolling" argument.
-
- * e-table-column-model.h: Removed this as it is not used.
-
-2001-02-17 Christopher James Lahey <clahey@ximian.com>
-
- From a patch submitted by Murray Cumming <Murray.Cumming@mybau.com>
-
- * e-cell-checkbox.h, e-cell-date.h, e-cell-number.h,
- e-cell-size.h, e-cell-text.h, e-cell-toggle.h, e-cell-tree.h,
- e-cell.h, e-table-click-to-add.h, e-table-col-dnd.h,
- e-table-col.h, e-table-column-specification.h,
- e-table-config-field.h, e-table-config.h, e-table-defines.h,
- e-table-extras.h, e-table-field-chooser-item.h,
- e-table-group-container.h, e-table-group-leaf.h, e-table-group.h,
- e-table-header-item.h, e-table-header-utils.h, e-table-header.h,
- e-table-item.h, e-table-model.h, e-table-one.h,
- e-table-selection-model.h, e-table-simple.h, e-table-sort-info.h,
- e-table-sorted-variable.h, e-table-sorted.h, e-table-sorter.h,
- e-table-specification.h, e-table-state.h,
- e-table-subset-variable.h, e-table-subset.h, e-table-tooltip.h,
- e-table-tree.h, e-tree-model.h, e-tree-simple.h,
- e-tree-sorted-variable.h: Added GNOME_DECLS.
-
-2001-02-15 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-selection-model.c
- (e_table_selection_model_do_something): Made it so that if you set
- the row or col to something not equal to -1, it makes sure that
- the other one is also not equal to -1.
-
-2001-02-13 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-header.c, e-table-header.h
- (e_table_header_update_horizontal): This new function updates the
- minimum width of all of the columns based on the data contained in
- that column.
-
- * e-table.c, e-table.h (changed_idle): Added a
- horizontal_scrolling field. Call e_table_header_update_horizontal
- if the model changes at all and horizontal_scrolling is set to TRUE.
-
-2001-02-13 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-scrolled.c (e_table_scrolled_real_construct): Set policy
- of scrolled window to be automatic/automatic.
-
- * e-table-specification.c, e-table-specification.h (etsp_init):
- Added a horizontal-scrolling attribute.
-
-2001-02-13 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (eti_destroy): Fix the crash when ETableItems are
- destroyed.
-
-2001-02-11 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-selection-model.c (change_one_row): Fix selection so
- that changing a model row equal to 31 mod 32 works.
-
-2001-02-11 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (eti_cursor_change): Let
- e_canvas_item_show_area_delayed deal with a delayed area show
- instead of dealing with it ourselves.
-
-2001-02-08 Dan Winship <danw@ximian.com>
-
- * e-table-sorter.c (ets_set_arg): Add a missing gtk_object_ref.
-
-2001-02-08 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-number.c (ecn_get_text): Use e_format_number.
-
-2001-02-08 Christopher James Lahey <clahey@ximian.com>
-
- * e-table.c (e_table_setup_header): Set the dnd_code on the header
- properly.
-
-2001-02-08 Christopher James Lahey <clahey@ximian.com>
-
- * e-tree-model.c, e-tree-model.h (e_tree_model_show_node): Added
- this function. Made frozen an int so that recursive freezes and
- thaws behaves properly.
-
-2001-02-06 Christopher James Lahey <clahey@ximian.com>
-
- * e-cell-date.c (ecd_get_text): Change encoding from locale
- encoding to utf8.
-
-2001-02-05 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-header-item.c: Changed the text to pop up the Field
- Chooser.
-
-2001-02-05 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-config.c, e-table-config.h (dialog_apply): Added a
- "changed" signal.
-
- * e-table-sort-info.c, e-table-sort-info.h
- (e_table_sort_info_duplicate): Added this function.
-
- * e-table.c (e_table_set_state_object): Duplicate the state's
- sort_info object here.
-
-2001-02-04 Christopher James Lahey <clahey@ximian.com>
-
- * e-table-item.c (view_to_model_col): Make this not error out if
- ecol is not found, but simply return -1.
- (eti_event): Don't call view_to_model_col here as we already have
- a model column.
-
-2001-02-02 Not Zed <NotZed@Ximian.com>
-
- * e-table-selection-model.c (model_row_deleted): Dont overwrite
- the end of our bitmap array.
-
-
-2001-02-03 Ettore Perazzoli <ettore@ximian.com>
-
- * e-table-sorter.c: Make `vals_closure', `cols_closure',
- `ascending_closure' and `compare_closure' static!
-
-2001-02-02 Not Zed <NotZed@Ximian.com>
-
- * e-cell-tree.c (ect_draw): If we are drawing a top-level tree
- node, without any children then dont offset it for the expansion
- image it doesn't need.
-
-2001-01-31 Larry Ewing <lewing@ximian.com>
-
- * e-table-item.c (view_to_model_col): make the segfault caused by
- double clicking into a critical warning until it can be fixed.
-
-2001-01-30 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-click-to-add.c (etcta_event): Made the contained
- %ETableItem have cursor_mode as %E_TABLE_CURSOR_SPREADSHEET.
-
- * e-table-defines.h, e-table-item.c, e-table-specification.c:
- Added a new cursor mode E_TABLE_CURSOR_SPREADSHEET. This is
- accessed using cursor_mode="spreadsheet" in your specification
- xml, as well as by the click_to_add item. It is identical to
- E_TABLE_CURSOR_SIMPLE, except that tab goes to the next item in
- the table instead of to the next widget.
-
-2001-01-30 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-click-to-add.c (etcta_event): Made carriage return
- finish editing.
-
- * e-table-item.c (eti_event): Made carriage return key press
- signal go out before sending it to the selection model.
-
-2001-01-29 Christopher James Lahey <clahey@ximian.com>
-
- * Makefile.am: Added e-cell-number.c and e-cell-number.h.
-
- * e-cell-number.c, e-cell-number.h: A new cell for rendering
- numbers.
-
- * e-table-extras.c (ete_init): Added a default number cell. Made
- the default size cell right aligned.
-
-2001-01-28 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c, e-table-item.h: Made the scrolling to show the
- current roll happen in a time out.
-
-2001-01-27 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c (eti_event): Make home and end keys move to the
- beginning and end of the row if cursor mode is set to
- E_TABLE_CURSOR_SIMPLE. Otherwise have %ETableSelectionModel
- handle them.
-
- * e-table-selection-model.c, e-table-selection-model.h: Added a
- "cursor_mode" argument.
- (e_table_selection_model_key_press): Made home and end keys move
- the beginning and end of the table if cursor_mode is
- E_TABLE_CURSOR_MODE_LINE.
-
- * e-table.c: Set the cursor-mode argument of our
- %ETableSelectionModel.
-
-2001-01-27 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c (eti_event): Make ETable stop editing when it
- looses focus.
-
- * e-table.c (et_canvas_button_press): Make ETable stop editing if
- you click on an unhandled area of the table canvas (The white area
- at the bottom for instance.)
-
-2001-01-25 Federico Mena Quintero <federico@ximian.com>
-
- * e-table.c (e_table_init): Set the GTK_CAN_FOCUS flag on the
- widget, since an ETable ought to be focusable.
- (e_table_class_init): Override ::grab_focus() and ::focus().
- (et_grab_focus): Since people may do gtk_widget_grab_focus() on
- the ETable, we have to proxy the request to the actual focusable
- canvas.
- (e_table_setup_header): Unset GTK_CAN_FOCUS for the header canvas.
- (et_focus): Reject focus if our child canvas already had it.
-
- * e-table-scrolled.c (e_table_scrolled_init): Set the
- GTK_FOCUS_FLAG on the widget. This is just so that people can
- easily do gtk_widget_grab_focus (my_e_table_scrolled) on their own
- applications.
- (e_table_scrolled_class_init): Override ::grab_focus() and
- ::focus().
- (ets_grab_focus): Proxy the grab_focus to our child ETable.
- (ets_focus): Proxy the request to the child ETable.
-
-2001-01-25 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-selection-model.c (move_selection): Made this correctly
- check for going off the end of the table.
-
-2001-01-25 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-group-container.c, e-table-group-leaf.c,
- e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h:
- Documented. Added a "cursor_activated" signal. Removed some
- unused functions (e_table_group_get_count and
- e_table_group_get_ecol).
-
- * e-table-selection-model.c, e-table-selection-model.h: Added a
- "cursor_activated" signal. Call it when the user changes the
- selection to match the cursor.
-
- * e-table.c, e-table.h: Added a "cursor_activated" signal. Fixed
- the e_table_compute_location function to take into account the
- scrolled position.
-
-2001-01-21 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-selection-model.c: Made the cursor move when rows are
- inserted or deleted. If in single mode and the selected row gets
- removed, move it up.
-
-2001-01-21 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-header-item.c (ethi_header_context_menu): Made this
- conform to the new prototype for e_popup_menu_run.
-
- * e-table-item.c, e-table-item.h: Documented.
- (e_table_item_is_row_selected): Removed this function.
- (eti_draw): Changed this so that if the ETableItem is in
- cursor-mode="row", the cursor is draw all the way across the row.
- (eti_cursor_move_up, eti_cursor_move_down): Commented these out
- since they're no longer used.
- (_do_tooltip, eti_event): Commented out tooltips.
- (eti_event): Made it so that we call the key_press function in the
- %ETableSelectionModel on each key press.
-
- * e-table-selection-model.c, e-table-selection-model.h:
- Documented. Added a function e_table_selection_model_key_press
- that does whatever behavior is correct for the user having pressed
- the given key. Changed the behavior of this to better match
- windows (use selection-mode="browse").
-
- * e-table-specification.c, e-table-specification.h: Added a
- draw_focus variable.
-
- * e-table.c: Decide whether to draw the focus based on the
- ETableSpecification. Removed the argument for setting whether to
- draw the focus.
-
-2001-01-20 Iain Holmes <iain@ximian.com>
-
- * e-cell-text.c (ect_show_tooltip): Unref some stuff if we're not
- showing the tip. Fix a bigish memory leak.
-
-2001-01-19 Miguel de Icaza <miguel@gnu.org>
-
- * e-table-config.c (group_entry_changed, group_ascending_toggled):
- New methods.
- (configure_group_dialog): New function, sets up the group GUI.
- (e_table_config_construct): Populate column names here and use in
- configure_group_dialog and configure_sort_dialog
-
- (sort_entry_changed, sort_ascending_toggled): renamed from
- entry_changed, ascending_toggled.
-
-2001-01-18 Miguel de Icaza <miguel@gnu.org>
-
- * e-table-config.c (configure_sort_dialog): Keep track of the
- valid column names (not used right now).
- (config_destroy): release column names
- (entry_changed): Handle invalid input to mean "Next entry is
- grayed out".
-
- * e-table-header-item.c (ethi_popup_customize_view): Hook up to
- the "apply" signal on the dialog box to apply the changes.
- (apply_changes): New function to apply the changes from the
- ETableConfig object.
-
- * e-table-sort-info.c (e_table_sort_info_load_from_node): Notify
- of sort info changes.
-
- * e-table-header-item.c: Swapped the way arrows were done, so that
- they actually match the sorting that its expected.
-
- * e-table.c: Added inline documentation for a few methods.
-
- * e-table-config.h: Dropped ::spec, and temp_spec, we always use
- ::source_spec, as we never modify this variable.
-
-2001-01-18 Federico Mena Quintero <federico@ximian.com>
-
- * e-table-subset.c (etss_destroy): Disconnect from the
- etss->source's signals *before* we unref it.
-
- * e-table-group-container.c (e_table_group_apply_to_leafs): Ref()
- and unref() around the callback to protect ourselves from being
- unrefed in the middle of iterating through the nodes.
-
-2001-01-18 Miguel de Icaza <miguel@gnu.org>
-
- * e-table-config.c (find_model_column_by_name): New function.
- (update_sort_config_dialog): Massive update to this function, it
- is almost complete now, it just needs a few cosmetic touchups.
- (config_sort_config_show): Get the main interaction working as
- well.
- (config_group_info_update): Beautify.
- (entry_changed): Do all the magic for the GUI for entries.
- (ascending_toggled): Implement callback.
- (configure_sort_dialog): Do also descending.
- (configure_sort_dialog): Hook up changed/toggled.
-
- * e-table-config.h: Put all the configuration stuff for sorting
- into its own structure to pass around funny functions.
-
-2001-01-17 Miguel de Icaza <miguel@gnu.org>
-
- * e-table-specification.c (e_table_specification_duplicate):
- Remove annoying printf. A clean output is a good output.
-
-2001-01-17 Dave Camp <dave@ximian.com>
-
- * e-table-config.c: Removed #inclusion of e-table-config-field.h.
-
-2001-01-17 Miguel de Icaza <miguel@gnu.org>
-
- * e-table-header-item.c: Use e-i18n.h here.
-
- * e-table.c (et_col_spec_to_col): Use gettext here.
- (et_real_construct): Use gettext too.
- (et_col_spec_to_col): Use gettext here.
-
- * e-cell-date.c: Use e-i18n.h here.
-
- * e-table-config.c (config_sort_info_update): Simplify column
- grabbing code and drop item layout code.
- (config_group_info_update): ditto.
-
- * e-table-config.c: Get correct translation setup working.
-
-2001-01-16 Miguel de Icaza <miguel@gnu.org>
-
- * e-table-config.c (configure_sort_dialog): Load frames.
-
- * Kill e-table-config-field.c
-
- * e-table-specification.c (e_table_specification_save_to_file):
- Specify version to xmlNewDoc.
-
- * e-table-state.c (e_table_state_save_to_string): Specify version
- to xmlNewDoc.
-
- * e-table-config.c (config_destroy): Destroy the copies. Unref
- the originals.
- (e_table_config_construct): Duplicate values of configuration
- here.
- (configure_sort_dialog): New function that populates the sort gtk
- combo boxes.
-
- * e-table.c (et_col_spec_to_col): Fixup use of title here. Do the
- actual translation here.
-
- * e-table-column-specification.c: Remove title_, it is now called
- title. Translation needs to take place elsewhere, not here
-
- * e-table-specification.c (e_table_specification_duplicate): Add
- preconditions here.
- (e_table_specification_save_to_node): ditto.
- (e_table_specification_save_to_string): ditto.
- (e_table_specification_save_to_file): ditto.
-
- * e-table-state.c (e_table_state_duplicate): Implement.
-
- * e-table-config.glade (dialog_sort): Change drop down menus to
- use GtkComboText widgets.
-
- * e-table-config.c (configure_dialog): New function, used to set
- up dialogs.
-
-2001-01-16 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-config.c: Added a bit of documentation.
- (config_sort_config_show, config_group_config_show):
- gnome_dialog_set_parent on the config->dialog_toplevel instead of
- the config.
-
- * e-table-specification: Pass "1.0" instead of NULL to xmlNewDoc
- here.
-
- * e-table-state.c, e-table-state.h: Pass "1.0" instead of NULL to
- xmlNewDoc here. Make sure that sort_info is never NULL if this
- object exists. Added ETableStateDuplicate.
-
-2001-01-15 Miguel de Icaza <miguel@ximian.com>
-
- * e-table-config.c (config_fields_info_update): Make output
- pretier by using newlines when there is a lot of information to
- display.
- (config_group_info_update): ditto.
- (config_sort_info_update): ditto.
-
- (config_group_info_update): Simplify
- signature.
- (config_sort_info_update): Simplify signature.
- (config_fields_info_update): Implement.
- (e_table_config_construct): Hook up field change spec.
-
- * e-table-header-item.c (config_destroyed): Add new utility
- function.
-
- * e-table-config.c (config_group_info_update): Simpify routine by
- using g_string. Show a message if there is no grouping.
-
- * e-table-config.c: Made e-table-config dialog be a
- GnomePropertyBox.
-
- * e-table-header-item.c (ethi_popup_customize_view): Use the new
- api.
-
- * e-table-config.c (config_sort_info_update): Simplify this
- routine. Fix bug that was not showing "unsorted" state.
- (setup_gui): Load XML user interface here.
- (config_init): Use Glade instead of manually coded user interface.
- (e_table_config_raise): New api call.
-
-2001-01-15 Miguel de Icaza <miguel@gnu.org>
-
- * e-table-specification.c: Document all entry points.
- (e_table_specification_save_to_file): Change prototype to return
- the number of bytes written.
- (e_table_specification_duplicate):
- Implement a function to duplicate nodes.
- (e_table_specification_save_to_node): Implement missing function.
- (e_table_specification_save_to_file): Enable.
- (e_table_specification_save_to_string): Enable.
- (e_table_specification_load_from_node): Just load the normal
- version of the click-to-add-message version, let other code
- translate it.
- (e_table_specification_load_from_string): Alter prototype to
- return success code.
-
- * e-table-specification.h: Do not store the translated version,
- store the plain version, so we can restore this later during the
- saving routines.
-
- * e-table.c (et_real_construct): Translate click to add message here.
-
-
- * e-table-header-item.c: Destroy config object if we are
- destroyed.
-
-2001-01-15 Christopher James Lahey <clahey@ximian.com>
-
- * Makefile.am: Added e-cell-date.c, e-cell-date.h, e-cell-size.c,
- and e-cell-size.h.
-
- * e-cell-date.c, e-cell-date.h: New cell to implement displaying a
- date.
-
- * e-cell-size.c, e-cell-size.h: New cell to implement displaying a
- file size.
-
- * e-cell-text.c, e-cell-text.h: Got rid of the filter arguments.
- Replaced them with the ability to subclass ECellText and override
- the get_text method. Added free_text to override if your get_text
- implementation returns allocated memory.
-
- * e-table-extras.c (ete_init): Added "size" and "date" cells to
- the default ETableExtras.
-
-2001-01-14 Miguel de Icaza <miguel@ximian.com>
-
- * e-table-config.h: Change parent to be a GtkObject from
- GnomeDialog.
-
-2001-01-12 Miguel de Icaza <miguel@ximian.com>
-
- * e-cell-text.c (key_begins_editing): New function. Tells whether
- a key should begin editing.
- (ect_event, GDK_KEY_PRESS/RELEASE): check whether we should start
- editing.
-
- (e_cell_text_set_filter): Implement new function
- API. Remove Gtk arguments for this.
- (ect_height): Pass all the extra information Dan requested.
- (ect_print): Pass all the extra information Dan requested.
- (build_current_cell): ditto.
-
- * e-table-header-item.c (ethi_change_sort_state): Moved the
- sort-on-click logic to its own function.
-
- * e-table-sort-info.c (e_table_sort_info_freeze): Increment frozen
- rather than setting to 1.
- (e_table_sort_info_thaw): Decrement frozen instead of setting to 0
- to allow recursive freezing.
- (e_table_sort_info_freeze): Add inline docs.
- (e_table_sort_info_thaw): Add inline docs.
-
-2001-01-12 Christopher James Lahey <clahey@helixcode.com>
-
- * e-cell-text.h, e-cell-text.h: Changed the filter function back
- to being args to be more consistent with the rest of the object.
-
-2001-01-11 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-selection-model.c, e-table-selection-model.h: Added
- selection_mode argument.
-
- * e-table-specification.c, e-table-specification.h: Added a
- selection_mode field that is set based on the selection-mode
- attribute in the ETableSpecification element.
-
- * e-table.c (et_real_construct): Set the selection model's
- selection mode based on the ETableSpecification.
-
-2001-01-10 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-click-to-add.c: Made this the same size as an ETableItem
- with all text items. Made the background color white. These need
- to be made themeable.
-
-2001-01-10 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-state.c, e-table-state.h: Added expansions field and
- loading and saving of that field.
-
- * e-table.c: Load and save expansion data.
-
-2001-01-10 Christopher James Lahey <clahey@helixcode.com>
-
- * e-tree-sorted-variable.c, e-tree-sorted-variable.h: Unfinished
- sorted variable model for ETree.
-
-2001-01-06 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-sorter.c, e-table-sorter.h (ets_sort): Fixed sorting.
- needs_sorting was getting set to 0 when sorted happens, but
- needs_sorting tells you whether or not the sorter is sorted or
- not, not whether the sorting has happened. Documented the
- needs_sorting variable.
-
-2000-12-27 Christopher James Lahey <clahey@helixcode.com>
-
- * e-cell-text.c (ect_draw, ect_event): Removed a bunch of unused
- code.
-
-2000-12-25 Miguel de Icaza <miguel@helixcode.com>
-
- * e-cell-text.c (ect_show_tooltip): Set draw_background to FALSE.
-
- * e-table-group-container.c (etgc_add): ditto.
-
- * e-table-click-to-add.c (etcta_realize): ditto.
- (e_table_click_to_add_commit): ditto.
-
-2000-12-24 Chris Toshok <toshok@helixcode.com>
-
- * e-cell-tree.c: add api docs.
-
- * e-tree-simple.c: add api docs.
-
-2000-12-23 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-col.c, e-table-col.h (etc_destroy): Destroy text and
- pixbuf if they exist whether or not is_pixbuf is set.
- (e_table_col_new_with_pixbuf): Make new_with_pixbuf take a title
- argument which is for when you can't display pixmaps.
-
- * e-table-column-specification.c
- (e_table_column_specification_load_from_node): Don't translate the
- pixbuf string attribute.
-
- * e-table-sort-info.c, e-table-sort-info.h
- (e_table_sort_info_load_from_node): Added a state_version
- parameter to the load_from_node function. This lets the loader
- specify which version of ETableState is being processed. If it's
- less than .05, use the old nested version. If it's greater, use
- the new flat version.
- (e_table_sort_info_save_to_node): Changed this to store a list of
- group and leaf nodes instead of nesting the group nodes and leaf
- nodes one inside the other. This is much easier to understand and
- requires less typing when creating a new ETableSpecification's
- initial ETableState.
-
- * e-table-state.c: Changed the state-version parameter to 0.1.
- (e_table_state_load_from_node): Use
- e_xml_get_double_prop_by_name_with_default so that we can specify
- a state-version default of 0.1 for people writing ETableStates by
- hand. Pass the state-version to e_table_sort_info_load_from_node.
-
- * e-table.c (et_col_spec_to_col): Pass the title from the
- ETableColumnSpecification to the ETableCol even if it's a pixbuf
- column.
-
-2000-12-19 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-group-container.c (etgc_add): Set the minimum width of
- newly created children.
- (e_table_group_container_construct): Use function
- e_table_header_get_column_by_col_idx instead of
- e_table_header_get_column since we're passing in a col_idx.
-
- * e-table-header.c, e-table-header.h: New function
- e_table_header_get_column_by_col_idx which searches for a column
- in the ETableHeader with a certain model column (col_idx).
-
- * e-table-sorted-variable.c (etsv_compare),
- (etsv_sort), e-table-sorter.c (ets_sort): Use function
- e_table_header_get_column_by_col_idx instead of
- e_table_header_get_column since we're passing in a col_idx.
-
-2000-12-14 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-group-container.c, e-table-group-leaf.c,
- e-table-group.c, e-table-group.h: Removed the set cursor and get
- cursor methods from ETableGroup.
-
- * e-table.c (e_table_get_cursor_row, e_table_set_cursor_row):
- Changed this to use the ETableSelection directly instead of going
- through the grouping structure. This seems to fix a bug in
- evolution's folder list for some people.
-
-2000-12-14 Chris Toshok <toshok@helixcode.com>
-
- * e-cell-text.c (ect_show_tooltip): call set_style and use the
- appropriate style for the text to determine if the tooltip should
- be shown.
-
-2000-12-14 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c (eti_realize): Commented out an unused variable
- to fix a warning.
-
-2000-12-13 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c (eti_realize): Added eti_visibility_notify.
- Didn't get it to work properly, so it's #if 0ed out.
-
-2000-12-13 Christopher James Lahey <clahey@helixcode.com>
-
- * e-cell-text.c (ect_show_tooltip): Changed the background color
- of the tooltips to light gray.
-
- * e-table-item.c (eti_event): Changed the tooltip timeout to 100
- milliseconds.
-
-2000-12-13 Chris Toshok <toshok@helixcode.com>
-
- * e-cell-tree.c (ect_show_tooltip): remove the silly logic - we
- pop up a tooltip regardless of where the mouse cursor hovers.
- just make sure it appears in the right place.
- (ect_event): reverse the change we make to the event after passing
- it to our subcell. this fixes the problem of the tree reacting
- twice to events (once with flags == 0, and once with flags ==
- E_CELL_EDITING).
-
- * e-table-item.c (eti_event): destroy the tooltip window on a
- motion event. this can (and does) happen when we get a tooltip on
- a tree cell and the cursor isn't over the area where the tooltip
- pops up.
-
-2000-12-13 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-header-utils.c, e-table-header-utils.h
- (e_table_header_width_extras): New function to calculate the extra
- pixels per column header.
-
- * e-table-header.c, e-table-header.h: Added a "width_extras"
- argument which is used to calculate the correct minimum widths for
- each column header after adding padding.
-
- * e-table-item.c (_do_tooltip): Destroy the old tooltip window
- when creating the new one.
- (eti_event): Destroy the old tooltip window if the person presses
- a key. Don't handle the tab key.
-
- * e-table.c (et_state_to_header): Set the ETableHeader's
- width_extras argument.
-
-2000-12-13 Chris Toshok <toshok@helixcode.com>
-
- * e-cell-tree.c (ect_event): only return TRUE in the BUTTON_PRESS
- case if the node was expandable.
-
-2000-12-13 Chris Toshok <toshok@helixcode.com>
-
- * e-table-sorter.c (qsort_callback_complex),
- (ets_sort_build_subset), (ets_sort_subset),
- (ets_sort_free_subset), (sort_groups_compare),
- (ets_sort_by_group): cut&paste from e-table-sorted-variable.c and
- massage names a bit to make sort group sorting work.
- (ets_sort): if the ETableModel has sort groups, sort using the
- sort group.
-
-2000-12-11 Dan Winship <danw@helixcode.com>
-
- * e-table-item.c (eti_event): Emit double_click signal with the
- model column, not the view column.
-
-2000-12-11 Christopher James Lahey <clahey@helixcode.com>
-
- * e-cell-text.c (ect_draw): Made selected rows ignore their color
- specification.
-
-2000-12-09 Federico Mena Quintero <federico@helixcode.com>
-
- * e-table-sorted.c (e_table_sorted_new): Unref the object instead
- of destroying it.
-
- * e-table-sorted-variable.c (e_table_sorted_variable_new): Likewise.
-
- * e-table-subset.c (e_table_subset_new): Likewise.
-
- * e-table-subset-variable.c (e_table_subset_variable_new): Likewise.
-
-2000-12-09 Christopher James Lahey <clahey@helixcode.com>
-
- * e-cell-text.c (_blink_scroll_timeout): Split the lines in this
- cell before testing whether we're to the right of the right edge
- of the text data (since that test uses the split lines.)
-
-2000-12-09 Christopher James Lahey <clahey@helixcode.com>
-
- * e-cell-text.c (_blink_scroll_timeout): cell should be edit cast
- to a CurrentCell, not data cast to a CurrentCell. Fixed this.
-
-2000-12-09 Christopher James Lahey <clahey@helixcode.com>
-
- * e-cell-text.c: Added the actions parameter to ect_event. Added
- an actions field to CellEdit. Handle CellEdit properly in the
- ect_event function to do grabbing and ungrabbing when
- appropriate. Set the actions field in CellEdit when appropriate
- in e_cell_text_view_command.
-
- * e-cell-toggle.c, e-cell-tree.c, e-cell.c, e-cell.h: Added a
- ECellActions enum, a ECellActions actions parameter to
- e_cell_event and added the actions parameter to all the handlers
- of the event method including having ECellTree pass it on to its
- child cell.
-
- * e-table-header-item.c: Use the NULL cursor instead of the
- E_CURSORS_ARROW cursor.
-
- * e-table-item.c, e-table-item.h: Added grabbed_row and
- grabbed_col fields to ETableItem (-1 on either means ungrabbed.)
- Pay attention to them in the find_cell function. Handle the
- actions parameter of e_cell_event and grab or ungrab the pointer
- to a given cell if requested. This is done using the new function
- eti_e_cell_event (which is internal to e-table-item.c,) instead of
- the old e_cell_event function call. Fake an ungrabbed table when
- calling find_cell from within the compute_location method.
-
-2000-12-08 Miguel de Icaza <miguel@helixcode.com>
-
- * e-table-col.h: Arranged to get it to work with gtk-doc.
-
- * e-cell.h: Arranged to get it to work with gtk-doc.
-
- * doc: Added gtk-doc framework
-
-2000-12-08 JP Rosevear <jpr@helixcode.com>
-
- * e-table-state.c (etst_destroy): If there are columns allocated,
- free them upon a destroy.
-
-2000-12-07 Federico Mena Quintero <federico@helixcode.com>
-
- * e-table-state.c (e_table_state_save_to_string): Free the xmlDoc
- when we are done with it.
- (e_table_state_save_to_file): Ditto.
-
- * e-table.c (e_table_get_state): Unref the state object; why was
- it being sunk instead?
- (e_table_save_state): Ditto.
- (e_table_load_state): Ditto.
- (e_table_set_state): Ditto.
-
- * e-table-header-item.c (ethi_destroy): Free the ethi->dnd_code.
-
-2000-12-07 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-group-container.c, e-table-group-leaf.c,
- e-table-group.c, e-table-group.h, e-table-item.c, e-table.c,
- e-table.h: Add column and GdkEvent * parameters to the double
- click signal.
-
- * e-table-header-item: Unref the ETableFullHeader when we're done
- with it.
-
- * e-table-scrolled.c, e-table-scrolled.h: Remove all of the
- proxies and add a function e_table_scrolled_get_table and a gtk
- argument "table".
-
-2000-12-07 Chris Toshok <toshok@helixcode.com>
-
- * e-table.c (e_table_set_state_object): set "sort_info" on our
- sorter when we get a new sort_info to keep things in sync.
-
- * e-table-sorter.c (ets_set_arg): new function, allowing the
- setting of "sort_info".
- (ets_get_arg): new function, allowing the getting of "sort_info".
- (ets_class_init): fill in GtkObject::set_arg and get_arg.
- (ets_sort): set ets->needs_sorting to 0 so we don't sort
- unnecessarily.
- (e_table_sorter_model_to_sorted): we may have ets->backsorted (and
- should use it if we do) even if we didn't need to sort.
- (e_table_sorter_sorted_to_model): same, except ets->sorted.
-
-2000-12-06 Dan Winship <danw@helixcode.com>
-
- * e-table.c (e_table_set_state_object): disconnect the
- "group_info_changed" signal on the old sort_info and connect it to
- the new one. (Noticed because of a gtk warning in et_destroy, but
- probably fixes some actual bug(s) too.)
-
-2000-12-06 Christopher James Lahey <clahey@helixcode.com>
-
- * e-cell-text.c, e-cell-toggle.c, e-cell-tree.c: Adapted these to
- accept the new flags parameter to e_cell_event.
-
- * e-cell.c, e-cell.h: Added a flags parameter to e_cell_event.
-
- * e-table-item.c: Send all e_cell_event calls a E_CELL_EDITABLE
- flag. Add a new e_cell_event to the button press event that
- happens before selecting the appropriate row and which does not
- have the E_CELL_EDITABLE flag set.
-
-2000-12-06 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-header-utils.c: Fixed warning in compute_elision_length.
-
- * e-table-header.c, e-table-header.h: Removed
- e_table_header_selection_ok method here.
-
-2000-12-06 Chris Toshok <toshok@helixcode.com>
-
- * e-table-item.c (_do_tooltip): pass along the column's width to
- e_cell_show_tooltip.
-
- * e-cell-text.c (ect_show_tooltip): add col_width argument, and
- set cell.width = col_width - 8 (to mimic what happens in
- build_current_cell, but with a possibly altered width).
-
- * e-cell.c (e_cell_show_tooltip): add col_width argument, and pass
- along to virtual function.
- (ec_show_tooltip): add col_width argument.
-
- * e-cell.h: change prototype of e_cell_show_tooltip to include a
- width parameter.
-
- * e-cell-tree.c (ect_show_tooltip): send the width - the subcell's
- offset to e_cell_show_tooltip.
-
-2000-12-05 JP Rosevear <jpr@helixcode.com>
-
- * e-tree-model.c (e_tree_model_node_remove): Move the correct
- offset when memmoving. Patch provided by Richard Hult
- <rhult@hem.passagen.se>.
-
-2000-12-04 Chris Toshok <toshok@helixcode.com>
-
- * e-table-selection-model.c (e_table_selection_model_select_all):
- need to zero out the bits corresponding to the rows not selected
- in the last full 32 bit mask. This fixes a crash in the subscribe
- UI (or potentially anywhere that uses
- selection_model_select_all/selection_model_foreach.)
-
-2000-12-01 Federico Mena Quintero <federico@helixcode.com>
-
- Federico gets into pixel-perfect neurosis. Xmag is my best friend.
-
- * e-table-item.c (eti_draw): Set the focus_gc stipple origin to
- match the upper-left corner of the focus rectangle. This way
- focusing will look consistent even among rows/columns with odd
- pixel sizes. Also, make the focus rectangle span the whole cell;
- there was one blank pixel column to the left of the rectangle.
-
- * e-table-header-utils.c: New file with utilities for drawing
- header buttons. This is so that ETableHeaderItem and
- ETableFieldChooserItem can share the same code.
- (e_table_header_compute_height): New function to compute the
- height of a column button.
- (make_composite_pixmap): New function to composite a pixbuf
- against a solid background and make a pixmap out of the result.
- This does some ultra-fancy fading-out of the original pixbuf if
- the destination area is smaller than the source.
- (compute_elision_length): New function to compute the elision
- length in O(n log n) instead of O(n^2), for n = strlen (str).
- (e_table_header_draw_button): New function to draw a header
- button.
- (e_table_draw_elided_string): New function to draw a string elided
- to a maximum width.
-
- * e-table-defines.h (HEADER_PADDING): Made the default padding be
- 1; now a header button's height is
- content_height + 2 * (HEADER_PADDING + style->ythickness). This
- is the correct way to measure button heights.
-
- * e-table-field-chooser-item.c (etfci_find_button): Use
- e_table_header_compute_height().
- (etfci_reflow): Likewise.
- (etfci_draw): Use e_table_header_draw_button().
- (etfci_start_drag): Likewise.
- (etfci_draw): Likewise.
- (etfci_start_drag): Likewise.
- (etfci_button_height): Removed function.
- (draw_button): Removed function.
-
- * e-table-header-item.c (draw_button): Removed function.
- (e_table_header_item_get_height): Use e_table_header_compute_height().
- (ethi_draw): e_table_header_draw_button().
- (ethi_start_drag): Likewise.
- (make_shaped_window_from_xpm): Fixed misspelling in function name.
- (draw_button): Removed function.
-
- * Makefile.am: Added e-table-header-utils.[ch].
-
-2000-11-25 Miguel de Icaza <miguel@helixcode.com>
-
- * e-cell.c: Documented.
-
-2000-11-25 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-col.c: Removed e_table_col_get_arrow and
- e_table_col_set_arrow.
-
-2000-11-24 Miguel de Icaza <miguel@helixcode.com>
-
- * e-cell-toggle.c (etog_queue_redraw): Documented.
-
- * e-cell-text.c: Removed list of unused arguments. Add docs.
-
- * e-cell-checkbox.c (e_cell_checkbox_new): Add docs.
-
- * e-table-simple.c (e_table_simple_new): Add docs.
-
- * e-table-header.c: inline documentation added.
-
- * e-table-col.c Added inline documentation.
-
- * e-table-model.c: Added some inline documentation.
-
-2000-11-21 Federico Mena Quintero <federico@helixcode.com>
-
- * e-cell.c (e_cell_event): Do not ignore the return value from
- ECell::event(); return it instead.
-
- * e-cell-tree.c (ect_event): Use the return value from e_cell_event().
- * e-table-item.c (eti_event): Likewise.
-
-2000-11-06 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-header-item.c: Changed this to match the new EPopupMenu
- structre.
-
-2000-11-03 Not Zed <NotZed@HelixCode.com>
-
- * e-tree-model.c (e_tree_model_node_insert): Since we insert at
- the parent->child position, we need to account for expanded nodes
- above this node to properly calculate the absolute row position of
- the node.
- (e_tree_model_node_insert): If we're inserting at the end of this
- node, then we just use the position directly.
- (e_tree_model_node_remove): Completely rewritten. Now we delete
- all nodes at once, which should be >> faster, unfortunately still
- have to signal each removal, which is >> SLOW :( Its still about
- 2-3x faster than it was (for 25K nodes).
- (child_free): Free all data/subnodes of a given path, no
- unlinking.
- (e_tree_model_node_remove): If we are removing a lot of nodes
- [>1000 or >1/4 total nodes], then use model_changed, rather then
- removing each node. Yay. Now its about 500x faster than it was,
- for 25K nodes.
- (etree_pre_change): Signal handler, so we can find out when we are
- in a pre-change state.
- (etree_changed): Likewise to find when we have finished.
- (e_tree_model_construct): Link to the model*changed signals so we
- know when we are in pre/changed state.
- (e_tree_model_node_insert): Only perform a row_inserted if not in
- pre_change state. Another significant speed improvement (200-500%)
- on big trees.
- (e_tree_model_node_remove): Do not emit row_deleted (or
- model_changed), if we are in the pre_change state.
- (add_visible_descendents_to_array): Likewise for row_inserted.
- (e_tree_model_node_sort): And here too, for consistency.
-
-2000-11-03 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-selection-model.c: Turned on proper handling of insert
- and delete.
-
-2000-11-02 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-config.glade, e-table-config.glade.h: Updated these
- unused glade files to better match the versions in the code.
-
- * e-table.c, e-table.h: Added e_table_selected_count and
- "selection_change" signal.
-
- * e-tree-model.c: Fixed an out of order
-
-2000-10-27 Not Zed <NotZed@HelixCode.com>
-
- * e-tree-model.c (e_tree_model_node_insert): If we are inserting
- into the root level, we dont have to search the whole array for a
- parent node we'll never find.
-
-2000-10-25 Dan Winship <danw@helixcode.com>
-
- * e-table-scrolled.c: Add "click" to the list of etable signals we
- proxy.
-
-2000-10-25 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c: Made the column on the right click and click
- signals be the model column instead of the view column.
-
-2000-10-25 Chris Toshok <toshok@helixcode.com>
-
- * e-tree-model.c (e_tree_model_node_remove): remove the save_id
- here, so we don't save state for nodes that no longer exist.
- (etree_destroy): remove the foreach, since all the save_id's
- should have been removed by now (don't destroy a tree without
- destroying the root node.) also, make sure to call
- g_hash_table_destroy.
-
-2000-10-24 Chris Toshok <toshok@helixcode.com>
-
- * e-tree-model.c: make ETreeModel opaque, and switch from using
- g_new0 and g_free for ETreePath's to using g_mem_chunk routines.
- (e_tree_model_node_remove): free the path's save_id. *
- (e_tree_model_set_expanded_default): add method to add default
- expanded status for parent nodes.
- (etree_set_expanded_recurse): make this more efficient.
- e-tree-model.h: make ETreeModel opaque. add prototype for
- e_tree_model_set_expanded_default.
-
-2000-10-23 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c: Destroy the tooltip timeout on object
- destruction.
-
-2000-10-22 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c: Made it so that it doesn't recalculate all the
- rows if a row is changed, inserted or deleted.
-
- * e-table-subset.c: Added debugging code (turned off).
-
-2000-10-21 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-sorted-variable.c: Made it so that rows inserted with
- their children nodes already in the tree get placed before their
- children nodes instead of after.
-
-2000-10-20 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.c, e-table.h: Added e_table_set_state_object which loads
- the state from the given ETableState object.
-
-2000-10-19 Dan Winship <danw@helixcode.com>
-
- * e-table-sorted-variable.c (etsv_destroy): Remove insert_idle
- timeout.
-
-2000-10-18 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-state.c: Switched to saving the version as a double
- instead of a string.
-
-2000-10-18 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-field-chooser-item.c, e-table-field-chooser-item.h:
- Fixed ETableFieldChooser row heights a bit.
-
- * e-table-header-item.c: Formatting clean up.
-
- * e-table-state.c: Added saving of the version of the ETableState.
- This way, if we change the format of an ETableState, we can detect
- old version numbers.
-
-2000-10-18 Christopher James Lahey <clahey@helixcode.com>
-
- * e-cell-text.c: Make text a different color if !(flags &
- E_CELL_FOCUSED).
-
- * e-cell.h: Added E_CELL_FOCUSED to flags.
-
- * e-table-item.c: Changed the background color of selected cells
- if the widget is focused. Send E_CELL_FOCUSED to flags if the
- widget is focused.
-
- * e-table.c: Repaint the window if focus changes.
-
-2000-10-18 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-subset.c, e-table-subset.h: Sped up signal propogation.
-
-2000-10-18 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.c: Fixed the color of the background rectangle. Made
- the rectangle start at the bottom of the table so that the row
- lines are still there.
-
-2000-10-18 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.c: Make background color of ETable match the background
- color of item rows.
-
-2000-10-18 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-field-chooser-dialog.h: Removed an unnecessary glade
- include file.
-
- * e-table-field-chooser.c: Make sure that glade is initialized.
-
- * e-table.c, e-table.h: Added a white background to the ETable.
-
-2000-10-18 Christopher James Lahey <clahey@helixcode.com>
-
- * Makefile.am: Moved the glade file directories.
-
- * e-table-header-item.c: Removed an unused variable.
-
-2000-10-16 Iain Holmes <iain@helixcode.com>
-
- * e-table-header-item.c (e_table_header_item_get_height): New function
- that works out the height of the header from the max height of the
- buttons.
- (ethi_add_table_header): Recalc the height of the header.
- (ethi_font_set): Ditto.
- (draw_button): Only draw the arrow if there's enough room.
-
-2000-10-16 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-header-item.c: Reworked some of the height stuff?
-
-2000-10-15 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.c: Made it so that ETable won't use a state with 0
- columns.
-
-2000-10-15 Chris Toshok <toshok@helixcode.com>
-
- * e-tree-model.c (e_tree_model_node_traverse): get the next child
- before traversing/calling func.
-
-2000-10-15 Chris Toshok <toshok@helixcode.com>
-
- * e-tree-model.c: get rid of ENode type, as everything in it is
- now in ETreePath, and add parent/sibling/child pointers to
- ETreePath. everywhere where GNode/ENode were used, we just use
- ETreePath now.
- (e_tree_path_depth): new function.
- (e_tree_path_insert): new function.
- (e_tree_path_unlink): new function.
- (e_tree_model_node_traverse): new function.
- (etree_get_first_child): new virtual function impl.
- (etree_get_last_child): same.
- (e_tree_model_class_init): fill in function pointers for
- get_first_child/get_last_child.
- (e_tree_model_node_get_first_child): new function.
- (e_tree_model_node_get_last_child): new function.
- (e_tree_model_node_depth): g_node_depth -> e_tree_path_depth.
- (e_tree_model_node_insert): modify to use ETreePath and new
- e_tree_path functions. Prepends and appends are now both constant
- time.
- (child_remove): modify for e_tree_model_node_traverse.
- (e_tree_model_node_remove): same, and use e_tree_path functions.
- (e_tree_model_node_insert_before): add a loop here to figure out
- the position, since it's the only place we care about the child
- position.
- (e_tree_model_node_sort): rework to accomodate new e_tree_path
- functions, and put the e_tree_model_node_set_expanded calls in a
- separate loop after all the children have been added.
-
- * e-tree-model.h: add prototypes and virtual functions for more
- tree traversal operations (get_first_child, get_last_child), as
- well as a new function to traverse depth first the descendents of
- a node (e_tree_model_node_traverse), much like g_node_traverse
- (G_IN_ORDER). Also, ETreePath is an opaque type now, and is not a
- GNode.
-
-
-2000-10-13 Ettore Perazzoli <ettore@helixcode.com>
-
- * e-table-state.c (e_table_state_save_to_file): NULL is not a
- valid argument to `xmlNewDoc'. Was this code ever tested?
-
-2000-10-13 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-example-1.c, e-table-example-2.c, e-table-size-test.c,
- test-table.c: Fixed these to use the new ascending attribute as a
- boolean instead of an int.
-
- * e-table-sort-info.c: Changed the ascending attribute to a
- boolean ("true"/"false") instead of an int (1/0).
-
-2000-10-13 Christopher James Lahey <clahey@helixcode.com>
-
- * Makefile.am: Added e-table-config-field.c and
- e-table-config-field.h.
-
- * e-table-column-specification.c: Cleaned this up a bit. Made it
- leak less memory.
-
- * e-table-config-field.c, e-table-config-field.h: New files.
- This is the configuration widgets for sorting or grouping.
-
- * e-table-config.c, e-table-config.h: Nuked these and replaced
- them with a widget that handles all the ETable configuration.
-
- * e-table-config.glade, e-table-config.glade.h: Updated this a bit
- to match what's actually being used better. This isn't used in
- actual code.
-
- * e-table-header-item.c, e-table-header-item.h: Added a pointer to
- the table in the header item structure so that we can launch the
- configuration from the header item right click menu. Made the
- header item launch the ETable configuration dialog.
-
- * e-table.c, e-table.h: Keep the spec given to us around. Added a
- get_state_object function which returns an ETableState *. Set the
- "table" argument on the header item.
-
-2000-10-12 Jeffrey Stedfast <fejj@helixcode.com>
-
- * e-table-item.c: when there are 0 columns, don't assert.
-
-2000-10-12 Iain Holmes <iain@helixcode.com>
-
- * e-cell-text.c (ect_new_view): Ref the style font.
-
-2000-10-11 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.c: Make saving state work properly.
-
-2000-10-11 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-specification.c: Fixed the parity on the cursor-mode
- check.
-
-2000-10-11 Christopher James Lahey <clahey@helixcode.com>
-
- * e-cell-text.c, e-cell-text.h, e-cell-tree.c, e-cell-tree.h: Got
- rid of the model parameter to e_cell_text_new and e_cell_tree_new
- as they aren't used.
-
- * e-table-extras.c: Added default "integer" compare and default
- "tree-string", "string", and "checkbox" cells.
-
- * e-table.c: Made this use the draw-grid, cursor-mode, and
- _click-to-add-message fields from the xml.
-
-2000-10-11 Christopher James Lahey <clahey@helixcode.com>
-
- * spec.xml: Example spec file. Not used. Just an example of what
- you can do.
-
- * Makefile.am: Added e-table-column-specification.c,
- e-table-column-specification.h, e-table-extras.c,
- e-table-extras.h, e-table-specification.c,
- e-table-specification.h, e-table-state.c, and e-table-state.h.
- Removed some duplicated .h files.
-
- * e-cell-tree.c: Ref, sink, and unref the subcell instead of destroying
- it when done.
-
- * e-table-column-specification.c, e-table-column-specification.h:
- New class which describes a column without having a table get
- instantiated.
-
- * e-table-config.c: Changed get_specification to get_state to get
- this to compile.
-
- * e-table-defines.h, e-table-item.h: Moved the definition of
- ETableCursorMode from e-table-item.h to e-table-defines.h.
-
- * e-table-extras.c, e-table-extras.h: New class which acts as a
- set of 3 hash tables. All from char * and to alternately, ECells,
- GCompareFuncs, and GdkPxibufs.
-
- * e-table-scrolled.c, e-table-scrolled.h: Changed this to match
- the new ETable function declarations.
-
- * e-table-sort-info.c, e-table-sort-info.h: Added functions for
- saving to and loading from xml.
-
- * e-table-specification.c, e-table-specification.h: New class
- which describes a table without having to instantiate it.
-
- * e-table-state.c, e-table-state.h: New class which describes the
- state of a table without having to instantiate the table.
-
- * e-table.c, e-table.h: Changed this to accept both a state and a
- specification instead of just a specification. You then save only
- the state. The specification stays exactly the same. Also, you
- no longer need to pass in an ETableHeader. Most of the
- information contained in the ETableHeader are in the
- specification. However you may need to translate some of the
- strings in the specification to objects. If you need anything
- other than the builtin choices, you need to create an ETableExtras
- and pass it in.
-
- * e-tree-model.c: Removed an unused variable.
-
-2000-10-10 Iain Holmes <iain@helixcode.com>
-
- * e-table-header-item.c (draw_button): Only draw the arrow if
- there is room for it and the pixbuf.
-
-2000-10-06 Not Zed <NotZed@HelixCode.com>
-
- * e-table-item.c (eti_header_structure_changed): Removed the
- assertion that there must be at least 1 column. No way to remove
- all columns otherwise (which the header allows).
-
- * e-table.c (et_xml_config_header): Reconfigure header based on
- xml nodes for header.
- (et_real_set_specification): Just configure the header only, dont
- try to recreate everything.
-
-2000-10-05 Zach Frey <zfrey@lanich.com>
-
- * Makefile.am: Fix make distcheck.
-
-2000-10-05 Not Zed <NotZed@HelixCode.com>
-
- * e-table-scrolled.c (e_table_scrolled_set_specification): Set the
- spec on a scrolled etable.
- (e_table_scrolled_load_specification): Likewise for load.
-
- * e-table.c (et_real_set_specification): Allow you to set the
- specification after the widget was created.
- (et_real_construct): Changed to use et_real_set_specification to
- set the spec.
- (e_table_load_specification): New frunction, load the
- speficication from a specific file.
- (e_table_set_specification): NEw function to set the specification
- from a string.
-
-2000-10-04 Not Zed <NotZed@HelixCode.com>
-
- * e-table-sorted-variable.c (etsv_add): Changed to take into
- account the sort group, if the table has one.x
- (etsv_insert_idle): Clear the insert count if we hit an idle loop.
- (etsv_sort_idle): Reset the insert count if we perform a sort.
- (etsv_add): If we are adding a lot (>ETSV_INSERT_MAX) items,
- without hitting an idle loop, assume we're better off performing a
- sort instead. Use another idle handler to reset the count.
-
-2000-10-04 Jeffrey Stedfast <fejj@helixcode.com>
-
- * e-table-selection-model.c
- (e_table_selection_model_invert_selection): Emit the
- selection/cursor "changed" signals.
- (e_table_selection_model_select_all): Same.
-
-2000-10-04 Jeffrey Stedfast <fejj@helixcode.com>
-
- * e-table-selection-model.c (e_table_selection_model_select_all):
- Select all elements of the etable.
- (e_table_selection_model_invert_selection): Invert the current
- selection.
-
- * e-table.c (e_table_select_all): New convenience function to
- select all elements in an e-table.
- (e_table_invert_selection): New convenience function to invert the
- current selection in an e-table.
-
-2000-10-03 Not Zed <NotZed@HelixCode.com>
-
- * e-table-sorted-variable.c (etsv_sort_by_group): Sort based on
- the sort_group stuff.
-
- * e-tree-model.c (e_tree_init): Setup the group sort info string.
- (etree_destroy): And free it.
- (build_sort_group): Build a string for this node.
-
-2000-10-02 Chris Toshok <toshok@helixcode.com>
-
- * e-tree-model.h: change/add prototypes and a typedef for
- ETreePathCompareFunc.
-
- * e-tree-model.c (e_tree_model_node_set_compare_function): new
- function, used to set the comparison function for sorted nodes.
- Eventually sorting entail just calling this function, with the
- tree maintaining the sort.
-
- (e_tree_model_node_sort): use a helper function
- (e_tree_model_node_compare) to allow the e-tree user's comparison
- function to take mode reasonable paramaters. also, fix it so the
- previous expanded state is kept with the node. i can't believe i
- wrote it the way it originally was. also, don't take the
- comparison function here. it's set in
- e_tree_model_node_set_compare_function.
-
-2000-10-02 Chris Toshok <toshok@helixcode.com>
-
- * e-tree-model.c (e_tree_model_node_sort): don't screw things up
- if we sort a collapsed node.
-
-2000-10-02 Chris Toshok <toshok@helixcode.com>
-
- * tree-unexpanded.xpm: flip black and gray, the way i intended them to be.
-
- * tree-expanded.xpm: same.
-
-2000-10-02 Chris Toshok <toshok@helixcode.com>
-
- * tree-expanded.xpm: reinstate file.
-
- * tree-unexpanded.xpm: same.
-
- * e-tree-example-1.c (main): remove calls to e_cursor_*, and don't
- create pixbufs. let's the tree give us the defaults.
-
- * e-tree-model.c (e_tree_model_node_changed): call
- e_table_model_row_changed on the node's row (if it's visible).
- (e_tree_model_node_inserted): call e_table_model_row_inserted on
- the new node's row, if it's visible.
- (e_tree_model_node_removed): call e_table_model_row_removed on the
- old node's row, if it was visible.
-
- * e-cell-tree.c (e_cell_tree_construct): allow open_pixbuf and
- closed_pixbuf to be NULL, and default them to the xpm data in
- rtee-{un}expanded.xpm.
- (ect_destroy): call gdk_pixbuf_unref on our open/closed pixbufs.
-
- * tree-expanded.xpm, tree-unexpanded.xpm: make the + and - a
- little lighter than straight black.
-
-Fri Sep 29 10:05:58 2000 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.dia: Changed.
-
-Thu Sep 28 20:01:53 2000 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.dia: New file. Approximate UML description of ETable.
-
-2000-09-29 Not Zed <NotZed@HelixCode.com>
-
- * e-cell-tree.c (e_cell_tree_get_node): Changed to take the source
- model, not the tree model. The source model may be a subset, and
- it needs to remap the rows for us.
- (ect_draw):
- (ect_event):
- (ect_max_width):
- (ect_print): Changed callers.
-
- * e-table-sorted-variable.c (etsv_sort_subset):
- (etsv_sort_build_subset):
- (etsv_sort_free_subset): Functions to perfom grouping of sorts for
- sorts that have row_sort_group returning useful info.
- (etsv_sort): Use the complex sort routines if we need to.
-
- * e-table-model.c (e_table_model_row_sort_group): Return a sort-id
- for a given row.
- (e_table_model_has_sort_group): Return if the sort-id provides any
- useful information.
-
-Tue Oct 3 18:28:09 2000 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-config.glade, e-table-config.glade.h: Put in 3 more
- dialog boxes in these files.
-
-2000-09-27 Iain Holmes <iain@helixcode.com>
-
- * e-cell-text.c: Fudge the location of a click in the tooltip, so
- that it selects the current cell.
- Pass keyboard events to the e-table.
-
- * e-table-item.c: Don't show the tooltip if the cell is being editted.
- Also don't destroy the tooltip until the button release event (other
- wise the e-table-item starts a select)
-
-2000-09-26 Chris Toshok <toshok@helixcode.com>
-
- * gal/e-table/e-table.c (e_table_setup_table): drag/drop signals need to be
- added to the same object that is passed to gtk_drag_begin in
- e_table_drag_begin. namely, the ETable.
- (et_drag_data_received): fix typo - should emit
- TABLE_DRAG_DATA_RECEIVED, not TABLE_DRAG_MOTION.
-
-2000-09-25 Iain Holmes <iain@helixcode.com>
-
- * e-table-header-item.c (draw_button): Calculate the vertical
- offset correctly to centre text.
-
-2000-09-25 Iain Holmes <iain@helixcode.com>
-
- * e-table-header-item.c (ethi_popup_best_fit): Fill this out
- to call the "request_width" signal and set the new size.
-
-2000-09-25 Chris Toshok <toshok@helixcode.com>
-
- * gal/e-table/e-tree-model.h: add save_state stuff to ETreeModel, and
- prototypes for the public methods.
-
- * gal/e-table/e-tree-model.c: add save_id to the ENode.
- (expanded_remove_func): new function, iterator to delete the save
- id's.
- (etree_destroy): iterate over expanded_state.
- (etree_set_expanded): if the node has a save id, make sure to
- update both the collapsed and expanded counts.
- (e_tree_model_node_insert_id): convenience function that inserts a
- node and sets its id.
- (e_tree_model_node_sort): remove extra spew.
- (save_expanded_state_func): new function, iterator for saving
- expanded state.
- (e_tree_model_save_expanded_state): new function.
- (get_string_value): helper function for loading.
- (e_tree_model_load_expanded_state): new function.
- (e_tree_model_node_set_save_id): sets the save id for a node,
- adding it to the hashtable if it's not already there. if the id
- was there previously, set the expanded flag of the node
- accordingly.
-
-2000-09-24 Ettore Perazzoli <ettore@helixcode.com>
-
- * Makefile.am (INCLUDES): Put `$(top_srcdir)' on top so that we
- include our own headers before the installed ones. Also add
- `$(top_srcdir)/gal'.
-
-2000-09-24 Chris Toshok <toshok@helixcode.com>
-
- * gal/e-table/e-tree-model.c (e_tree_model_node_sort): fix sorting - need to
- update the row_array as well as the actual structure of the
- GNodes.
-
-2000-09-24 Ariel Rios <ariel@arcavia.com>
-
- * e-tree-model.c: Fix include typo.
-
-2000-09-21 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c: Typo caused readability problems with ETable.
-
-2000-09-18 Federico Mena Quintero <federico@helixcode.com>
-
- * test-table.c:
- * test-cols.c:
- * test-check.c:
- * table-test.c:
- * e-tree-simple.c:
- * e-tree-simple.h:
- * e-tree-model.c:
- * e-tree-model.h:
- * e-tree-example-2.c:
- * e-tree-example-1.c:
- * e-table.c:
- * e-table.h:
- * e-table-text-model.h:
- * e-table-subset.c:
- * e-table-subset.h:
- * e-table-subset-variable.c:
- * e-table-subset-variable.h:
- * e-table-sorter.h:
- * e-table-sorted.c:
- * e-table-sorted.h:
- * e-table-sorted-variable.c:
- * e-table-sorted-variable.h:
- * e-table-sort-info.c:
- * e-table-size-test.c:
- * e-table-simple.h:
- * e-table-selection-model.c:
- * e-table-selection-model.h:
- * e-table-scrolled.h:
- * e-table-one.h:
- * e-table-item.c:
- * e-table-item.h:
- * e-table-header.h:
- * e-table-header-item.c:
- * e-table-header-item.h:
- * e-table-group.c:
- * e-table-group.h:
- * e-table-group-leaf.c:
- * e-table-group-leaf.h:
- * e-table-group-container.c:
- * e-table-group-container.h:
- * e-table-field-chooser.c:
- * e-table-field-chooser.c:
- * e-table-field-chooser-item.c:
- * e-table-field-chooser-item.h:
- * e-table-field-chooser-dialog.c:
- * e-table-field-chooser-dialog.h:
- * e-table-example-2.c:
- * e-table-example-1.c:
- * e-table-config.c:
- * e-table-col.c:
- * e-table-col.h:
- * e-table-click-to-add.c:
- * e-table-click-to-add.h:
- * e-cell.c:
- * e-cell.h:
- * e-cell-tree.c:
- * e-cell-tree.h:
- * e-cell-toggle.c:
- * e-cell-toggle.h:
- * e-cell-text.c:
- * e-cell-text.h:
- * e-cell-checkbox.h: Fix includes.
-
- * Makefile.am (INCLUDES): Fix header paths.
-
-2000-09-17 Iain Holmes <iain@helixcode.com>
-
- * e-table-item.c: Better calculations for tooltip
- positionings.
-
- * e-cell-text.c: Same.
-
- * e-cell-tree.c: Same.
-
-2000-09-16 Iain Holmes <iain@helixcode.com>
-
- * e-cell-text.c (ect_show_tooltip): Removed g_print.
-
-2000-09-16 Christopher James Lahey <clahey@helixcode.com>
-
- * e-cell-text.c: Added some missing #includes.
-
- * e-cell-tree.c: Removed an unused variable.
-
- * e-table-item.c: Added some missing casts.
-
-2000-09-15 Iain Holmes <iain@helixcode.com>
-
- * e-cell-tree.c (ect_show_tooltip): If the cursor is inside
- the subcell, call the show_tooltip on it.
-
- * e-table-header-item.c (draw_button): Draw the arrow first,
- then take it's size into account when calculating how to draw
- the text. Use ellipsis if the text it too long.
-
-2000-09-15 Iain Holmes <iain@helixcode.com>
-
- * e-table-header-item.c (draw_button): Fix a crash by passing
- the canvas widget to gtk_paint_box. Reported by Radek.
-
-2000-09-14 Peter Williams <peter@beta.newton.cx>
-
- * e-cell-text.c (ect_draw): Typo fix.
-
-2000-09-14 Iain Holmes <iain@helixcode.com>
-
- * e-table-header-item.c (set_cursor): The column isn't resizable
- if it is the last, or if all other columns after it are not
- resizable.
-
- * e-cell-text.c (ect_max_width): Correctly calculate the width
- of the line of text. Unbuild the current cell and unref the lines
- as well.
- (build_current_cell): Initialize cell->style to 0;
-
-2000-09-14 Iain Holmes <iain@helixcode.com>
-
- * e-table-item.c: Start timers for the tooltip to appear, on motion
- events.
-
- * e-cell.[ch]: Add a new show_tooltip method.
-
- * e-cell-text.c (ect_show_tooltip): Show the tooltip.
-
-2000-09-11 Iain Holmes <iain@helixcode.com>
-
- * e-table-header-item.c (ethi_maybe_start_drag): Set maybe_drag
- to FALSE. Seems to fix a crash for me.
- (ethi_event): Handle the double click on the dividers.
-
- * e-table-header.c (e_table_header_class_init): Add a
- "request_width" signal.
-
- * e-table-item.c (eti_add_header_model): Connect to the
- "request_width" signal.
- (eti_request_column_width): Call the e_cell_max_width on the
- appropriate column.
-
- * e-cell.c (e_cell_max_width): Call the max_width method.
-
- * e-cell-text.c (ect_max_width): Calculate the max width.
-
- * e-cell-toggle.c (etog_max_width): Calculate the max width.
-
- * e-cell-tree.c (ect_max_width): Same.
-
-2000-09-11 Iain Holmes <iain@helixcode.com>
-
- * e-table-header-item.c (ethi_drag_motion): Check if the
- type of the dragged item is a etable header item.
-
-2000-09-11 Iain Holmes <iain@helixcode.com>
-
- * e-table-header-item.c (set_cursor): Check if the column
- is resizeable before setting the cursor to E_CURSOR_SIZE_X
-
-2000-09-11 Iain Holmes <iain@helixcode.com>
-
- * e-table-header-item.c: Use the font and button drawing
- from the theme.
-
- * e-table.c: Use the height of the font to set the size for
- the header_canvas, instead of hard coding it to 16
-
-2000-09-11 Ettore Perazzoli <ettore@helixcode.com>
-
- * Makefile.am (tree_example_2_LDADD): Add `$(GNOME_VFS_LIBS)' and
- `$(OAF_LIBS)'.
- (INCLUDES): Add `$(GNOME_VFS_CFLAGS)' and
- `$(GNOME_BONOBO_CFLAGS)'.
-
-2000-09-11 Christopher James Lahey <clahey@helixcode.com>
-
- * e-cell-text.c: Made bold text calculate widths properly.
-
-2000-09-11 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.c: Made page up and page down active in the ETable.
-
-2000-09-09 Christopher James Lahey <clahey@helixcode.com>
-
- * e-tree-simple.c: Fixed the ETableModel callbacks.
-
-2000-09-08 Christopher James Lahey <clahey@helixcode.com>
-
- * e-tree-example-1.c: Added base ETableModel functions.
-
- * e-tree-example-2.c: Added base ETableModel functions. Made it
- never return NULL as a string, instead return "".
-
- * e-tree-simple.c, e-tree-simple.h: Require base ETableModel
- functions.
-
-2000-09-01 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c, e-table.c: Fixed a leak and a double unref.
-
-2000-09-01 Chris Toshok <toshok@helixcode.com>
-
- * e-tree-example-2.c: new test, a home grown 2 hour hack of a file
- browser. uses node_collapsed/emitted signals to populate the left
- tree.
-
- * Makefile.am: add tree-example-2.c stuff.
-
- * .cvsignore: add tree-example-2
-
-2000-09-01 Chris Toshok <toshok@helixcode.com>
-
- * e-tree-model.h: add signals/prototypes for
- e_tree_model_node_collapsed and e_tree_model_node_expanded.
-
- * e-tree-model.c (etree_set_expanded): emit
- node_expanded/node_collapsed signals, with node_expanded happening
- before the expansion so it can much with the children, and
- collapsed being emitted after.
- (e_tree_model_row_of_node): remove stupid check, and g_warning.
- (e_tree_model_node_collapsed): new function.
- (e_tree_model_node_expanded): new function.
-
-2000-08-31 Richard Hult <rhult@codefactory.se>
-
- * e-tree-example-1.c (create_tree): Don't show the root node.
- Also quit when the window is closed.
- (my_icon_at): Don't use icons here since the cell tree renderer takes
- care of the +/- signs itself. This stops the tree example from showing
- two sets of expand/unexpand icons at every node.
-
-2000-08-31 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-selection-model.c: Made the selection work when shift
- clicking on the first row of the table.
-
-2000-08-28 Ettore Perazzoli <ettore@helixcode.com>
-
- * e-table.c (et_destroy): Don't try to destroy the `header_canvas'
- if NULL.
-
- * e-table-group-leaf.c (etgl_set_cursor_row): If the item is NULL,
- don't try to set the cursor row for it.
-
- * e-table.c (set_scroll_adjustments): Don't set the adjustment for
- the `header_canvas' unless the `header_canvas' is not NULL.
-
- * e-tree-model.c (e_tree_model_row_of_node): If the node is the
- root, just return -1 without emitting a warning.
-
-2000-08-28 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-group-container.c: Make printing of groups work better
- and make them print headers.
-
- * e-table-item.c: Turn off alternating row support.
-
-2000-08-25 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-col.c, e-table-config.c, e-table-header.c,
- e-table-text-model.c: Added some g_return_if_fails and
- g_return_val_if_fails.
-
-2000-08-24 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.c: Fix an off by one error that was causing crashes.
-
-2000-08-24 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.c: Set default values for all of the signal emissions.
-
-2000-08-24 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-selection-model.c: Check for selection->selection being
- NULL in e_table_selection_model_selected_count.
-
-2000-08-24 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c: Pay attention to the return value from the click
- signal.
-
-2000-08-24 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-group-container.c, e-table-group-leaf.c,
- e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h,
- e-table.c, e-table.h: Added a click signal which gets sent if the
- user hits the left or middle mouse button on a cell.
-
-2000-08-24 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-scrolled.c, e-table-scrolled.h, e-table.c: Added
- g_return_if_fails.
-
-2000-08-24 Christopher James Lahey <clahey@helixcode.com>
-
- * e-cell-text.c, e-cell-toggle.c, e-cell-tree.c, e-cell.c,
- e-cell.h, e-table-col.c, e-table-col.h, e-table-item.c: Added
- infrastructure for setting the justification of columns. Still
- need to change the cells to support it and need to add user
- interface to change the justification.
-
-2000-08-23 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-subset-variable.c: Fixed a bug in
- e_table_subset_variable_increment that causes problems with
- ETree's. Specifically, when you incremented at position x, the
- row x didn't get incremented as it should (s/>/>=/.)
-
-2000-08-22 Christopher James Lahey <clahey@helixcode.com>
-
- * e-cell-text.c, e-cell-toggle.c, e-cell-tree.c, e-table-item.c:
- Moved drawing of the cell backgrounds from ECell into ETableItem.
-
- * e-tree-model.c: Include stdlib.c.
-
-2000-08-21 Lauris Kaplinski <lauris@helixcode.com>
-
- * e-cell-text.c: Changed UTF-8 syntax from char based to byte based
-
-2000-08-22 Chris Toshok <toshok@helixcode.com>
-
- * Makefile.am (icons): remove tree-expanded.xpm and
- tree-unexpanded.xpm.
-
- * e-tree-example-1.c: use art/tree-expanded.xpm and
- art/tree-unexpanded.xpm.
- (remove_node): commit the change listed below (08-21).
-
- * tree-expanded.xpm: removed.
-
- * tree-unexpanded.xpm: removed.
-
-2000-08-21 Lauris Kaplinski <lauris@helixcode.com>
-
- * e-cell-text.c (ect_event): Use e_utf8_from_gtk_event_key to translate
- GDK_KEY_PRESS event to insertable UTF-8 string
-
-2000-08-21 Chris Toshok <toshok@helixcode.com>
-
- * e-tree-example-1.c (remove_node): we can remove nodes with
- children now.
-
- * e-tree-model.h: add prototype for e_tree_model_node_sort.
-
- * e-tree-model.c (etree_set_expanded): if the node is invisible,
- just set its expanded flag and return.
- (e_tree_model_root_node_set_visible): call set_expanded before we
- remove it from the row array or else the aforementioned change
- will result in nothing happening.
- (e_tree_model_node_insert): use a position of -1 as "append".
- (e_tree_model_node_insert): if the model was marked with
- root_visible == FALSE, make sure to set it's expanded flag to TRUE
- when the root node is inserted.
- (e_tree_model_node_sort): new function.
-
-2000-08-21 Chris Toshok <toshok@helixcode.com>
-
- * e-table.c (e_table_drag_source_set): pass table, not site as the
- closure for these drag signals, since e_table_drag_source_event_cb
- assumes it's the table.
-
-2000-08-20 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-selection-model.c, e-table-selection-model.h: Added
- e_table_selection_model_selected_count.
-
-2000-08-19 Lauris Kaplinski <lauris@helixcode.com>
-
- * e-cell-text.c: Use EFont wrapper
- Use UTF-8 strings
-
-2000-08-19 Christopher James Lahey <clahey@helixcode.com>
-
- * e-cell-text.c: Made background colors alternate.
-
- * e-table-click-to-add.c: Made tabbing off the right edge of the
- click to add commit the new values.
-
- * e-table-group-container.c, e-table-group-leaf.c,
- e-table-group.c, e-table-group.h, e-table-sorted-variable.c,
- e-table-subset-variable.c, e-table-subset-variable.h: Added a
- decrement method. Made the add and remove methods not
- automatically increment and decrement.
-
- * e-table-item.c: Fixed some view vs model issues for both rows
- and columns.
-
- * e-table-model.c: Added debugging code. Removed automatic
- signalling of changes by the ETableModel set_value_at function
- (the model should send these signals itself.)
-
- * e-table.c: Added increment and decrement calls when a row is
- removed or added from the source model.
-
-2000-08-09 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c, e-table-selection-model.c,
- e-table-selection-model.h: Make right click select if the current
- row is not selected.
-
-2000-08-08 Miguel de Icaza <miguel@helixcode.com>
-
- * e-table-header-item.c: Tag some strings for translation.
-
-2000-08-05 Dan Winship <danw@helixcode.com>
-
- * e-table.c (e_table_get_{next,prev}_row_sorted): fix
-
-2000-08-05 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.c: Added a function to get the next row with sorting
- taken into account.
-
-2000-08-05 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-sorter.c: Made it so that selection ranges work even if
- the table is using grouping.
-
-2000-08-05 Christopher James Lahey <clahey@helixcode.com>
-
- * Makefile.am, e-table-selection-model.c,
- e-table-selection-model.h, e-table.c, e-table.h: Made selection
- ranges work even if the table is sorted.
-
- * e-table-sorter.c, e-table-sorter.h: New files to help with
- making selection ranges work even if sorted.
-
-2000-08-05 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.c, e-table.h: Added functions to convert from view row
- to model row or from model row to view row. Also changed
- e_table_set_cursor_row and e_table_get_cursor_row to take a model
- row as this works better with the rest of the model. Changed the
- name of e_table_get_next_row_sorted and
- e_table_get_prev_row_sorted. (Dropped the _sorted.)
-
-2000-08-04 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.c, e-table.h: Built code to have autodrags only work
- from within the table and to report the row dragged from
- automatically.
-
-2000-08-04 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-group-container.c, e-table-group-leaf.c,
- e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h:
- Made drag events calculate a row and column and signal that
- information.
-
- * e-table-selection-model.c, e-table-selection-model.h: Changed
- do_something to take a GdkModifierType.
-
-2000-08-02 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c, e-table-item.h: Add a handler for
- "model_pre_change" and properly stop editing.
-
- * e-table-model.c, e-table-model.h: Added a "model_pre_change"
- signal that gets sent before any row numbers are changed.
-
- * e-table-sorted-variable.c, e-table-subset-variable.c: Emit
- "model_pre_change" signals as appropriate.
-
- * e-table-subset.c, e-table-subset.h: Proxy "model_pre_changed"
- signals.
-
-2000-08-02 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-model.c, e-table-model.h: Changed the API for the
- append_row function. Now accepts a model to copy data from
- instead of returning a row number and leaving it up to ETableOne
- to copy the data in.
-
- * e-table-one.c, e-table-one.h: Adapted to use new append_row API.
-
- * e-table-simple.c, e-table-simple.h, e-table-subset.c: Adapted to
- supply new append_row API.
-
-2000-07-31 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-col.c, e-table-col.h: Added an argument to set a column
- so that you can't sort by that column.
-
- * e-table-header-item.c: Obey the sortable column of ETableCol.
-
-2000-07-29 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-click-to-add.c: Made enter key destroy and recreate the
- ETableItem.
-
- * e-table-item.c: Grab focus when person clicks even if cursor
- isn't changing.
-
-2000-07-28 Dan Winship <danw@helixcode.com>
-
- * e-table-header.c (eth_destroy): Remove the idle handler before
- destroying the data it operates on.
-
-2000-07-27 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c: Fixed up the table behavior so that it's not
- always in an edit mode.
-
-2000-07-27 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-selection-model.c: Added a comment.
-
-2000-07-27 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-selection-model.c: Fixed shift click selections.
-
-2000-07-27 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-selection-model.c: Allocate correctly in the insert and
- delete methods.
-
- * e-table-click-to-add.c: Removed the line that was causing this
- to do bad things.
-
-2000-07-27 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c (eti_cursor_change): Grab focus properly.
-
- * e-table-item.c, e-table-click-to-add.c: Fixed ETableClickToAdd
- to handle carriage return. This still doesn't quite work right.
-
-2000-07-27 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-click-to-add.c: Clear the selection model when
- activating.
-
- * e-table-item.c: Fixed a bunch of model column vs. view column
- issues.
-
- * e-table-selection-model.c: Set the cursor to -1, -1 and emi a
- "cursor_changed" signal.
-
-2000-07-26 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-click-to-add.c: Fixed a reference.
-
- * e-table-selection-model.c, e-table-selection-model.h: Added a
- clear function.
-
- * e-table.c, e-table.h: Made going from click to add to the main
- table and back work better.
-
-2000-07-26 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-click-to-add.c, e-table-click-to-add.h: Added an
- ETableSelectionModel so this won't crash.
-
-2000-07-26 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c: Fixed the model/view row confusion.
-
- * e-table-selection-model.c: Changed one expression to use a
- #define properly.
-
-2000-07-26 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-group-container.c, e-table-group-container.h,
- e-table-group-leaf.c, e-table-group-leaf.h: Added "table_selection_model"
- argument. Removed foreach function and selection notification.
-
- * e-table-group.c, e-table-group.h: Removed foreach function and
- selection notification.
-
- * e-table-header.c: Fixed header width calculation to include the
- last column.
-
- * e-table-item.c, e-table-item.h: Fixed this to use the new
- selection model.
-
- * e-table-scrolled.c, e-table-scrolled.h: Removed selection
- notification.
-
- * e-table-selection-model.c, e-table-selection-model.h: Finished
- notification signals and fixed a bunch of bit manipulations.
- Implemented do_something method.
-
- * e-table.c, e-table.h: Create an ETableSelectionModel and use it
- properly.
-
-2000-07-25 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-selection-model.c: Made foreach call the callback in top
- to bottom order.
-
-2000-07-25 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-selection-model.c, e-table-selection-model.h: Replaced
- get_selection_list with foreach.
-
- * e-table.h: Add a ETableSelectionModel.
-
-2000-07-25 Christopher James Lahey <clahey@helixcode.com>
-
- * Makefile.am: Added e-table-selection-model.c and
- e-table-selection-model.h.
-
- * e-table-selection-model.c: Added the get_selection_list and
- is_row_selected functions. Removed some unused code.
-
- * e-table-selection-model.h: Removed some unused code.
-
-2000-07-25 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-selection-model.c: Added comments to the bit field code.
-
- * e-table-selection-model.h: Made the selection data guint32s.
-
-2000-07-25 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-selection-model.c: More fixes.
-
-2000-07-25 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-selection-model.c: Fixed up the bit manipulation a bit
- here.
-
-2000-07-25 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-selection-model.c, e-table-selection-model.h: New files
- for doing a selection model. Not finished yet and thus not in
- Makefile.am.
-
- * e-table.c, e-table.h: Renamed the new dnd signals so that they
- won't conflict with the widget signals.
-
-2000-07-25 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.c, e-table.h: Implemented some of the drag & drop code.
- Drops all report as being on row 0, col 0. Also, automatic drags
- don't set the row and column being dragged from.
-
-2000-07-23 Damon Chaplin <damon@helixcode.com>
-
- * e-cell-text.c: added a color_column where the color can be specified
- as a string, e.g. "red" or "rgb:F/0/0".
-
- * e-cell-text.c (ect_leave_edit): don't call unbuild_current_cell()
- since the CellEdit struct has been freed in ect_stop_editing() and so
- has the text.
-
- * e-cell-text.c (unbuild_current_cell): set cell->text to NULL to make
- sure we don't try to free it again.
-
-2000-07-21 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.h: Added some unused declarations for drag and drop
- work.
-
-2000-07-18 Miguel de Icaza <miguel@helixcode.com>
-
- * e-tree-model.c (etree_destroy): Call our parent's destroy
- method.
-
-2000-08-09 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-header-item.c: Changed e_popup_menu_run call to match
- the new arguments.
-
-2000-07-14 Michael Meeks <michael@helixcode.com>
-
- * e-table-subset.c (etss_destroy): g_free things we g_malloc.
-
-2000-07-13 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-header-item.c: Changed the background color of the
- header.
-
-2000-07-12 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-header-item.c: Made scroll wheel work properly in
- header.
-
-2000-07-10 Ettore Perazzoli <ettore@helixcode.com>
-
- * e-table.c (set_scroll_adjustments): Be safe if @vadjustment is
- NULL.
-
- * e-table-scrolled.c (e_table_scrolled_init): Set policy and
- shadow type.
- (e_table_scrolled_real_construct): Don't set the adjustments.
- (e_table_scrolled_new): Create the widget with `gtk_widget_new()'
- and pass hadjustment/vadjustment NULL values so that we get the
- `GTK_OBJECT_CONSTRUCTED' approval.
-
-2000-07-10 Ettore Perazzoli <ettore@helixcode.com>
-
- * e-table-scrolled.h: s/GtkTable/EScrollFrameClass/.
-
-2000-07-09 Christopher James Lahey <clahey@helixcode.com>
-
- * Makefile.am: Add e-table-scrolled.c and e-table-scrolled.h.
-
- * e-table-item.c: Make sure that find_cell returns FALSE if the
- item doesn't have any cells.
-
- * e-table-scrolled.c, e-table-scrolled.h: Added a widget to
- contain an ETable and provide scrollbars (for ease of use.)
-
- * e-table.c, e-table.h: Make this support the scrollable interface
- and not contain its own scrollbars.
-
-2000-07-09 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c (eti_event): Put back e_cell_event sometimes when
- we're not editing.
-
-2000-07-09 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.c: Set the dnd_code to something non-null for the
- ETableHeaderItem.
-
-2000-07-09 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.c: Set header canvas scroll region correctly.
-
-2000-07-09 Anders Carlsson <andersca@gnu.org>
-
- * e-table-header-item.c (ethi_drag_motion): Don't draw drop
- marker when the layout won't be changed by the drop.
-
-2000-07-08 Ettore Perazzoli <ettore@helixcode.com>
-
- * e-table-item.c (eti_table_model_changed): Removed an unused
- variable.
-
-2000-07-08 Dan Winship <danw@helixcode.com>
-
- * e-tree-model.c (e_tree_model_node_insert): When inserting a root
- node, only call e_table_model_row_inserted if root_visible.
- (e_tree_model_node_remove): Call e_table_model_row_deleted before
- removing the row from the row_array, because the chain of signal
- handlers will sometimes need that info.
-
-2000-07-08 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c (eti_event): Don't call e_cell_event if we're not
- editing.
-
-2000-07-08 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c (eti_table_model_changed): Commented out some
- unnecessary and buggy code.
-
-2000-07-06 Dan Winship <danw@helixcode.com>
-
- * e-tree-model.c (e_tree_model_node_remove): Make this work
- recursively.
-
-2000-07-06 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c: Send GDK_BUTTON_RELEASE events to the ecell
- associated with the cell (if it's the cursor.)
-
-2000-07-06 Chris Toshok <toshok@helixcode.com>
-
- * e-cell-tree.c (ect_draw): fix the conditions under which we draw
- a horizontal line.
-
-2000-07-03 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c: Added a reflow_compare callback and did removal
- if you do shift-click on a selected row that's not the cursor.
-
-2000-06-29 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-click-to-add.c: Made this appear a bit better.
-
- * e-table-defines.h: Cleaned this up a bit, added
- ETableForeachFunc.
-
- * e-table-group-container.c, e-table-group-leaf.c,
- e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h,
- e-table.c, e-table.h: Changed e_table_select_row to
- e_table_set_cursor_row. Changed e_table_get_selected_view_row to
- e_table_get_cursor_row. Added e_table_selected_row_foreach.
-
- * e-table-header-item.c: Fixed some warnings.
-
- * e-table-sorted-variable.c: Removed some unneeded debugging print
- statments.
-
- * e-tree-example-1.c: Changed e_table_get_selected_view_row to
- e_table_get_cursor_row.
-
-2000-06-27 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-header-item.c: Added an unsort command.
-
- * e-table-item.c: leave_edit when you loose the cursor.
-
-2000-06-26 Christopher James Lahey <clahey@helixcode.com>
-
- * Makefile.am: Added e-table-click-to-add.c,
- e-table-click-to-add.h, e-table-one.c, and e-table-one.h.
-
- * e-table-click-to-add.c, e-table-click-to-add.h: A new canvas
- item that represents a single row that sometimes exists. It's for
- adding new rows to your table.
-
- * e-table-example-1.c, e-table-example-2.c, e-table-size-test.c,
- test-check.c, test-cols.c, test-table.c: Added value_to_string handlers.
-
- * e-table-group-container.c: Use value_to_string to make grouping
- not crash for non string columns. Made some changes to work
- properly in an ECanvasVbox.
-
- * e-table-group-leaf.c, e-table-item.c: Made some changes to work
- properly in an ECanvasVbox.
-
- * e-table-model.c, e-table-model.h: Added append_row and
- value_to_string methods.
-
- * e-table-one.c, e-table-one.h: Given a source ETableModel, this
- provides a single row model that uses the initialize_value,
- duplicate_value, free_value, and value_is_empty methods of the
- original source to implement set_value and value_at (and proxies
- most of the other methods.) This is used for ETableClickToAdd.
-
- * e-table-simple.c, e-table-simple.h: Added append_row and
- value_to_string handlers. append_row uses a GtkArg instead of a
- parameter to e_table_simple_new.
-
- * e-table-subset.c: Added append_row and value_to_string handlers.
-
- * e-table.c, e-table.h: Use a vbox containing an ETableClickToAdd
- and an ETableItem instead of an ETableItem directly. Only show
- the ETableClickToAdd if the top level of the xml SPEC has the
- attribute click-to-add set to some non-zero integer.
- (click-to-add="1"). Add a "click_to_add_message" argument.
-
- * e-tree-model.c: Add a commented out value_to_string handler.
-
-2000-06-23 Larry Ewing <lewing@helixcode.com>
-
- * e-cell-toggle.c (etog_draw): draw pixmaps with he right
- background and selection colors.
-
-2000-06-23 Chris Toshok <toshok@helixcode.com>
-
- * e-tree-model.h, e-tree-model.c: add icon_at virtual function -
- it was stupid to make the insert call take 2 pixbufs. the model
- should give this information.
-
- * e-cell-tree.c: get rid of the opened/closed pixbuf stuff. call
- e_tree_model_icon_of_node.
-
- * e-tree-example-1.c: add my_icon_at.
-
- * e-tree-simple.c (simple_icon_at): new function
- (e_tree_simple_new): add icon_at parameter.
-
- * e-tree-simple.h: add SimpleIconAtFn.
-
-2000-06-23 Chris Toshok <toshok@helixcode.com>
-
- * e-tree-example-1.c (create_tree): use the expanded/unexpanded
- pixbufs as node pixbufs for the first level of children, to test
- the drawing.
-
- * e-tree-model.c (e_tree_model_node_get_closed_pixbuf): new function.
- (e_tree_model_node_get_opened_pixbuf): same.
- (e_tree_model_node_insert): add opened/closed pixbuf argument.
- (e_tree_model_node_insert_before): same.
-
- * e-tree-model.h: add prototypes for opened/closed pixbuf
- accessors, and add them to the e_tree_model_node_insert_* calls.
-
- * e-cell-tree.c (ect_draw): add opened/closed pixbuf drawing per node.
-
-2000-06-22 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.c: Make the table not move around as you resize.
-
-2000-06-22 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c: Killed a warning.
-
-2000-06-22 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-group-container.c: Remove use of the "x" and "y"
- arguments to EText.
-
- * e-table-item.c: Properly ref the source_model field.
-
- * test-check.c, test-cols.c, test-table.c: Remove use of the "x"
- and "y" arguments to ETableHeaderItem.
-
-2000-06-21 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-field-chooser-dialog.c: Made the Close button work.
-
- * e-table-field-chooser.glade, e-table-field-chooser.glade.h:
- Added a text description of this dialog.
-
-2000-06-21 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-header-item.c: Changed this to move the cell to the
- nearest edge instead of to the left of the column it's over.
-
- * e-table-header.c: Made target_index equal to eti->col_count be a
- valid parameter to e_table_header_move.
-
-2000-06-21 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-header.c: Made moving columns to the right work
- properly.
-
-2000-06-20 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-group-leaf.c: Fix a minor warning.
-
- * e-table-item.c: Add to the selection if shift is held down.
- Show cursor when changing sort (or if table changes majorly.)
-
-2000-06-20 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-defines.h: Fix HEADER_PADDING.
-
-2000-06-20 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c: Fix cursor column information.
-
-2000-06-20 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-group-container.c, e-table-group-leaf.c,
- e-table-group.c, e-table-group.h: Removed the unfocus method since
- that's handled by the canvas itself now.
-
- * e-table-item.c, e-table-item.h: Finished adapting ETableItem to
- use the canvas selection/cursor system. Selection and cursor now
- use row numbers associated with the source model instead of the
- sorted model (if the model they are given is an ETableSubset.)
- This has no effect on the interface, except that unfocus was
- removed and e_table_item_focus was renamed to
- e_table_item_set_cursor.
-
-2000-06-20 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c, e-table-item.h: Started adapting ETableItem to
- use the canvas selection/cursor system.
-
-2000-06-17 Christopher James Lahey <clahey@helixcode.com>
-
- * e-cell-text.c: Made cells with strikeout on have a line from the
- left margin to the right margin, instead of just over the text.
-
-2000-06-17 Chris Toshok <toshok@helixcode.com>
-
- * e-tree-model.c (e_tree_model_node_insert): call
- e_table_model_row_inserted instead of e_table_model_changed.
-
-2000-06-16 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.c, e-table.h: Moved the reflow signal handling into an
- idle handler to fix a bug when resizing twice in succession.
-
-2000-06-15 Chris Toshok <toshok@helixcode.com>
-
- * e-cell-tree.c (ect_print): print the icon for the tree control.
-
-2000-06-14 Christopher James Lahey <clahey@helixcode.com>
-
- * e-cell-text.c: Request the value of e_table_is_cell_editable of
- the model_col instead of the view_col.
-
- * e-table-item.h: Slight style fixup.
-
-2000-06-14 Chris Toshok <toshok@helixcode.com>
-
- * e-tree-example-1.c (print_tree): new function, to generate
- postscript so i can test tree printing.
- (create_tree): add print button.
-
- * e-cell-tree.c (ect_print_height): implement function (in a
- broken way for the time being, heh).
- (ect_print): implement function to draw tree controls and offset
- the subcell's printing. icons aren't printed yet, just lines.
- (ect_draw): remove old unnecessary comments. only draw the
- horizontal line in specific instances (well, add a test so a lone
- root node doesn't get the horizontal line.)
- (e_cell_tree_class_init): add print/print_height methods.
-
-2000-06-13 Christopher James Lahey <clahey@helixcode.com>
-
- * e-cell-text.c: Clip the contained text.
-
- * e-table-group-container.c: Did a first pass at grouped
- printing. This works, but there's no fancy boxes or headers
- around the groups.
-
- * e-table-item.c: Added will_fit function and added quantize
- function to _height.
-
-2000-06-12 Federico Mena Quintero <federico@helixcode.com>
-
- * e-table-model.[ch]: Removed the freeze/thaw stuff for the model.
- As Chris wisely pointed out, having freeze/thaw on the model makes
- its state inconsistent from the perspective of the views.
-
- * e-table-sorted-variable.c: Do not check for a frozen model.
- * e-table-subset.c: Likewise.
- * e-table-subset-variable.c: Likewise.
-
- * e-table-example-1.c: Removed the ETableModel thaw handler.
- * e-table-example-2.c: Likewise.
- * e-table-simple.c: Likewise.
- * e-table-size-test.c: Likewise.
- * test-check.c: Likewise.
- * test-cols.c: Likewise.
- * test-table.c: Likewise.
-
-2000-06-11 Ettore Perazzoli <ettore@helixcode.com>
-
- * Makefile.am (table_test_LDADD): Link with libemiscwidgets.a.
- (table_size_test_LDADD): Likewise.
- (table_example_1_LDADD): Likewise.
- (table_example_2_LDADD): Likewise.
- (tree_example_1_LDADD): Likewise.
-
-2000-06-11 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-model.c: Small syntactic changes.
-
- * e-table.c: Moved the table header into the scrolled view.
-
-2000-06-10 Ettore Perazzoli <ettore@helixcode.com>
-
- * e-table.c (et_real_construct): EScrollFrame instead of
- GtkScrolledWindow.
-
-2000-06-10 Christopher James Lahey <clahey@helixcode.com>
-
- * Makefile.am: Added $(GNOME_PRINT_LIBS) to all of the LDADDs.
-
- * e-cell-text.c: Added printing of text cells.
-
- * e-cell.c, e-cell.h: Added print and print_height methods.
-
- * e-table-field-chooser.glade: Added a minimum size.
-
- * e-table-group-container.c: Fixed a rectangle sizing bug.
-
- * e-table-group-leaf.c: Implemented get_printable.
-
- * e-table-group.c, e-table-group.h: Added a get_printable method
- to return an EPrintable.
-
- * e-table-item.c, e-table-item.h: Added a get_printable function
- to return an EPrintable.
-
- * e-table.c, e-table.h: Added a get_printable function to return
- an EPrintable.
-
-2000-06-10 Chris Toshok <toshok@helixcode.com>
-
- * e-tree-example-1.c (create_tree): supply the pixbufs here.
-
- * e-cell-tree.h: change pixbuf names to open_pixbuf/closed_pixbuf.
-
- * e-cell-tree.c (e_cell_tree_construct): take open/closed pixbuf
- parameters, and don't #include the .xpm files directly here.
- (e_cell_tree_new): same.
- (ect_draw): use the pixbufs from the ECellTree.
-
-2000-06-10 Chris Toshok <toshok@helixcode.com>
-
- * e-cell-tree.c (ect_event): offset events before passing them to
- our subcell view.
-
-2000-06-10 Chris Toshok <toshok@helixcode.com>
-
- * e-table-item.c (eti_event): change things so we focus the cell
- and select the row, and also dispatch the event to that row/cell.
- This fixes the problem with the tree where you had to click twice
- to activate the tree controls.
-
- * Makefile.am (libetable_a_SOURCES): remove e-tree-gnode.* and add
- e-tree-simple.*
- (icons): add tree-expanded.xpm and tree-unexpanded.xpm
-
- * e-cell-tree.c (ect_enter_edit): defer to subcell's view.
- (ect_leave_edit): defer to subcell's view.
- (visible_depth_of_node): visual depth, taking into account that
- the root node of the model might not be displayed.
- (offset_of_node): return the offset used to shift the subcell
- over.
- (ect_draw): don't draw vertical lines if we're the leftmode node
- (a visual root node). also, don't shift x2 by the subcell offset,
- so we get ellipses like we're supposed to.
- (ect_event): remove GDK_BUTTON_RELEASE from the list of events
- that we care about.
-
- * e-tree-example-1.c: lots of changes, a more dynamic UI so we can
- test tree model api stuff.
-
- * e-tree-gnode.c, e-tree-gnode.c: removed files, since their guts
- have been rolled into e-tree-model.c
-
- * e-tree-model.c, e-tree-model.h: substantially changed. too much
- to really describe here. this should really be considered the
- first revision of these files :)
-
- * e-tree-simple.c, e-tree-simple.h: analogous to e-table-simple, a
- subclass that allows the use of function pointers.
-
-2000-06-08 Federico Mena Quintero <federico@helixcode.com>
-
- * e-table-model.h (ETableModelClass): Added a freeze method.
-
- * e-table-model.c (e_table_model_freeze): Call the freeze method
- instead of the thaw method!
-
- * e-table-simple.h (ETableSimple): Added the freeze function.
-
- * e-table-simple.c (simple_thaw): Check whether the function
- exists.
- (simple_freeze): New handler.
- (e_table_simple_new): Take in and set the freeze handler.
- (e_table_simple_class_init): Set the freeze handler.
-
- * test-check.c (check_test): Pass in the freeze handler to
- e_table_simple_new().
-
- * test-cols.c (multi_cols_test): Likewise.
-
- * e-table-example-2.c (create_table): Likewise.
-
- * e-table-example-1.c (create_table): Likewise.
-
- * test-table.c (table_browser_test): Likewise.
- (do_e_table_demo): Likewise.
-
-2000-06-08 Christopher James Lahey <clahey@helixcode.com>
-
- * The field chooser works now.
-
- * e-table-field-chooser-dialog.c: Make the dialog resizable.
-
- * e-table-field-chooser-item.c: Requested a reflow on
- realization. Made the correct column get dragged.
-
- * e-table-field-chooser.c: Set the height correctly.
-
- * e-table-field-chooser.glade: Replace the GnomeCanvas with an
- ECanvas.
-
- * e-table-header-item.c: Receive drags from the new dialog.
-
-2000-06-08 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-field-chooser-dialog.c, e-table-field-chooser-dialog.h,
- e-table-field-chooser-item.c, e-table-field-chooser.c,
- e-table-field-chooser.glade, e-table-field-chooser.h,
- e-table-header-item.c, e-table.c: More work on the Field Chooser.
- Not quite done yet.
-
-2000-06-08 Chris Toshok <toshok@helixcode.com>
-
- * e-tree-gnode.c, e-tree-gnode.h: New files. A tree model using a
- GNode structure to store it's info.
-
- * e-tree-model.c, e-tree-model.h: New files. A proxy model
- sitting between a table model and the real tree model (of which
- ETreeGNode is an example).
-
- * e-cell-tree.c, e-cell-tree.h: New files. A cell renderer
- capable of wrapping up a subcell and drawing the tree controls for
- expanding/collapsing trees.
-
- * tree-expanded.xpm, tree-unexpanded.xpm: New files. the standard
- + and - icons.
-
- * e-tree-example-1.c: New file, giving a (pretty poor :) example
- of using ETreeGNode.
-
- * Makefile.am: at the tree stuff to the build, and build
- tree-example-1.
-
- * .cvsignore: ignore tree-example-1.
-
-2000-06-07 Christopher James Lahey <clahey@helixcode.com>
-
- * Makefile.am: Added e-table-field-chooser*.
-
- * e-table-defines.h: Moved some things to here.
-
- * e-table-field-chooser-dialog.c, e-table-field-chooser-dialog.h,
- e-table-field-chooser-item.c, e-table-field-chooser-item.h,
- e-table-field-chooser.c, e-table-field-chooser.glade,
- e-table-field-chooser.glade.h, e-table-field-chooser.h: New dialog
- to drag extra fields from. (Not yet finished.)
-
- * e-table-header-item.c, e-table-header-item.h: Changed to
- accommodate e-table-field-chooser.
-
-2000-06-06 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-group-container.c, e-table-group-leaf.c,
- e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h,
- e-table.c, e-table.h: Added a right click signal.
-
- * e-table-sorted-variable.c: Fixed a buffer overrun.
-
-2000-06-02 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-sorted-variable.c: Fixed the multiple copies of rows in
- ETable bug.
-
-2000-06-01 Dan Winship <danw@helixcode.com>
-
- * e-table-group.c (e_table_group_key_press):
- * e-table.c (group_key_press): two more pastos
-
-2000-06-01 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.c: Copy and paste error.
-
- * e-table-item.c: Mixed up parity on eti->editing.
-
-2000-06-01 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-group-container.c, e-table-group-leaf.c,
- e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h,
- e-table.c, e-table.h: Added a "key_press" signal.
-
-2000-06-01 Dan Winship <danw@helixcode.com>
-
- * e-cell-text.h: Remove an offending *.
-
-2000-06-01 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-sorted-variable.c: Made the sort when inserting a signal
- row be syncronous.
-
-2000-06-01 Christopher James Lahey <clahey@helixcode.com>
-
- * e-cell-text.c, e-cell-text.h: Added "text_filter" argument that
- takes a const void * and returns an allocated char *.
-
-2000-06-01 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c: Copy and paste error.
-
-2000-06-01 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-group-container.c, e-table-group-leaf.c,
- e-table-group.c, e-table-group.h, e-table-item.c, e-table.c,
- e-table.h: Added e_table_get_selected_view_row.
-
-2000-05-30 Christopher James Lahey <clahey@helixcode.com>
-
- * e-cell-text.c, e-cell-text.h: Added bold column's to ECellText.
-
-2000-05-30 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c: Make sure that the cursor is always shown when
- the selection changes.
-
-2000-05-30 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-group-container.c, e-table-group-container.h,
- e-table-group-leaf.c, e-table-group-leaf.h, e-table-group.c,
- e-table-group.h, e-table-item.c, e-table-item.h, e-table.c,
- e-table.h, test-check.c, test-cols.c, test-table.c: Fixed a bunch
- of selection bugs. Removed "spreadsheet" argument (for now.)
- Added "cursor_mode" argument. Added "cursor_change" signal.
- Temporarily removed "selection_mode" argument.
-
-2000-05-28 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-group-container.c: Fixed setting of arguments.
-
-2000-05-28 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-group-container.c, e-table-group-leaf.c,
- e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h,
- e-table.c, e-table.h: Added double click handling.
-
-2000-05-26 Christopher James Lahey <clahey@helixcode.com>
-
- * e-cell-text.c, e-cell-text.h: Added "strikeout_column" argument.
-
-2000-05-26 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-group-container.c, e-table-group-container.h,
- e-table-group-leaf.c, e-table-group-leaf.h, e-table.c, e-table.h:
- Made "drawgrid", "drawfocus", "spreadsheet", and
- "length_threshold" arguments set from the ETable effect all the
- end ETableItems.
-
- * e-table-header.c: Made column resize a bit less bumpy.
-
-2000-05-25 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-header.c: Account for extra pixel at right end of
- ETable.
-
- * e-table-item.c: Make grid less intrusive.
-
- * e-table.c: Make scrollbars disappear when appropriate.
-
-2000-05-25 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-header-item.c: Made dragging columns work.
-
-2000-05-23 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-header-item.c: Fixed the remove column callback.
-
-2000-05-23 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-header-item.c: Added right click menus to the table
- header items.
-
- * e-table-sort-info.c: Fixed a small bug.
-
-2000-05-23 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.c: Make scrollbar arrow buttons work.
-
-2000-05-19 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-example-1.c, e-table-example-2.c, e-table-simple.c,
- e-table-simple.h, e-table-size-test.c, test-check.c, test-cols.c,
- test-table.c: Added initialize_value and value_is_empty callbacks.
-
- * e-table-model.c, e-table-model.h: Added initialize_value and
- value_is_callback virtual functions to the ETableModel class.
-
- * e-table-subset.c: Perpetuate the initialize_value and
- value_is_empty methods.
-
-From a patch by Iain Holmes <ih@csd.abdn.ac.uk>
-
- * e-table-config.c, e-table.c: Fixed getting text content from a
- node in the case of a non string based content field in the xml
- library.
-
-2000-05-16 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c: Fixed a memory leak.
-
-2000-05-16 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-sorted-variable.c: Changed sorting to be at priority
- level 30.
-
- * e-table.c: Changed rebuild of the table to be at priority level
- 20. This gives it an advantage over pretty much everything,
- including e-table-sorted-variable sorting and canvas redraw.
-
-2000-05-16 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-group-container.c: Removed a memory leak here.
-
- * e-table-group-leaf.c: Added a ref/sink pair.
-
- * e-table-group.c, e-table-header-item.c: Removed some unused
- code.
-
-2000-05-16 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-sorted-variable.c: Fixed a FIXME comment.
-
- * e-table-header.c, e-table-header.h: Added code to put off size
- calculation to the idle loop. Added code to not resize columns
- with 0 expansion. Removed the set_width function; it's been
- replaced with a Gtk+ arg.
-
- * Makefile.am: Added e-table-defines.h to the Makefile.am.
-
- * e-table-defines.h: A new file containing some #defines for use
- in ETable.
-
-2000-05-14 Christopher James Lahey <clahey@helixcode.com>
-
- * Implemented the feature where the ETable columns automatically
- fill the given space.
-
- * e-cell-text.c, e-cell-text.h: Moved #include
- e-text-event-processor.h from the .h to the .c.
-
- * e-table-col.c, e-table-col.h: Added an expansion variable, and
- made it so that width isn't set by the programmer but instead by
- the e-table-header.
-
- * e-table-example-1.c, e-table-example-2.c, e-table-size-test.c,
- test-check.c, test-cols.c, test-table.c: Fixed to handle new
- ETable column resizing.
-
- * e-table-group-container.c, e-table-group-container.h,
- e-table-group-leaf.c, e-table-group-leaf.h, e-table-group.c,
- e-table-group.h, e-table-item.c, e-table-item.h: Fixed these to do
- a proper canvas reflow/update loop. Changed them to take a
- minimum width and return a width and a height.
-
- * e-table-header-item.c, e-table-header-item.h: Made this so that
- it depends on e-table-header.c for deciding the actual size of
- columns during resize (it was making incorrect decisions on its
- own.)
-
- * e-table-header.c, e-table-header.h: Changed this to make sure
- that the sum of the widths of the columns was always as close as
- possible to the width of the window. This is done by taking a
- full width and having each of the columns have an "expansion"
- field. This field is what makes each column have approximately
- the same portion of its part of the screen that it used to.
-
- * e-table.c: Changed this to set the width on the ETableHeader as
- well as set the proper minimum width on the ETableGroup and get
- the width and height it reports.
-
-2000-05-11 Miguel de Icaza <miguel@gnu.org>
-
- * e-table.c: Removed dead code.
-
-2000-05-10 Christopher James Lahey <clahey@helixcode.com>
-
- * Makefile.am: Added e-table-col-dnd.h and table-test.h.
-
-2000-05-09 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-subset-variable.c: Fixed etssv_remove.
-
-2000-05-08 Christopher James Lahey <clahey@helixcode.com>
-
- * e-cell-text.c: Make multi-line texts display properly. Fixed
- some mem leaks.
-
-2000-05-07 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.c: Add a horizontal scrollbar.
-
-2000-05-07 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c, e-table-item.h, e-table.c, e-table.h: Handle
- row_inserted and row_deleted signals properly.
-
- * e-table-model.c, e-table-model.h: Created the row_inserted and
- row_deleted signals.
-
- * e-table-sorted-variable.c, e-table-subset-variable.c: Emit the
- row_inserted and row_deleted signals as appropriate.
-
-2000-05-07 <toshok@the-dot-in.helixcode.com>
-
- * e-cell-text.c (ect_draw): free cell.starting_text here to avoid
- a memory leak.
-
-2000-05-06 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-group-container.c, e-table.c: Killed some warnings.
-
-2000-05-06 Chris Toshok <toshok@helixcode.com>
-
- * e-cell-text.c (ect_accept_edits): only to set_value_at if the
- value is indeed different.
- (ect_stop_editing): free edit->cell.starting_text
- (build_current_cell): initialize edit->cell.starting_text as a
- copy of the initial text.
-
-2000-05-04 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-group-container.c, e-table-group-leaf.c,
- e-table-group.c, e-table-group.h: Add an e_table_group_add_all
- function and implement it in the different ETableGroup classes.
-
- * e-table-sort-info.c: Make set_nth not call changed twice if it
- needs to allocate more space.
-
- * e-table-sorted-variable.c, e-table-subset-variable.c,
- e-table-subset-variable.h: Add and implement an
- e_table_subset_variable_add_all command.
-
- * e-table.c: Use e_table_group_add_all as appropriate. Fix ETable
- grouping xml to work if there is a text element at the bottom of
- the grouping tree.
-
-2000-05-04 Christopher James Lahey <clahey@helixcode.com>
-
- * e-cell-text.c: Sped up e_cell_text's get_height function.
-
-2000-05-04 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c, e-table-item.h: Added a height_cache idle loop
- so that the height_cache will be validated in the idle loop.
-
-2000-05-04 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-sorted-variable.c: Load all the data to be sorted by
- before actually doing the sort.
-
-2000-05-04 Christopher James Lahey <clahey@helixcode.com>
-
- * e-cell-text.c, e-cell-text.h: Fix author information.
-
- * e-table-group-leaf.c: Set a length threshold of 200.
-
- * e-table-item.c: Height cache is now actually a map. Made
- "length_threshold" argument work. If over the length threshold,
- use the height cache to get a better estimate so that once the
- height cache is full, height estimate is perfect.
-
-2000-05-04 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-sorted-variable.c (qsort_callback): Add back in main
- loop calls during sorting.
-
-2000-05-04 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-sorted-variable.c: Replace insert sort completely with a
- qsort.
-
-2000-05-04 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-sorted-variable.c: Changed the insert sort to be binary
- instead of linear.
-
-2000-05-04 Chris Toshok <toshok@helixcode.com>
-
- * e-table-sorted-variable.c (etsv_sort): use rows here instead of
- E_TABLE_SUBSET(etsv)->n_map, since the table can be populated by
- the gtk_main_iteration above. otherwise the vals_closure may not
- be fully populated.
-
-2000-05-02 Matt Loper <matt@helixcode.com>
-
- * Makefile.am: set G_LOG_DOMAIN.
-
-2000-04-30 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-header-item.c: Made this more reentrant.
-
- * e-table-sorted-variable.c, e-table-sorted-variable.h: Does a
- proper resort when the sorting info changes.
-
- * e-table.c, e-table.h: Made it so that ETable doesn't destroy and
- recreate the entire table when sorting info changes.
-
-2000-04-27 Christopher James Lahey <clahey@helixcode.com>
-
- * arrow-down.xpm, arrow-up.xpm, e-cell-text.c, e-cell-toggle.c,
- e-table-col.c, e-table-config.c, e-table-header-item.c: Fixed some
- warnings.
-
-2000-04-26 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-header-item.c: Added a missing include.
-
-2000-04-25 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-size-test.c: Fixed a warning.
-
- * e-table-item.c: Removed the unnecessary gnome_canvas_update_bbox.
-
-2000-04-24 Miguel de Icaza <miguel@helixcode.com>
-
- * e-table.c (e_table_class_init): Add argument handling here.
-
- * e-table-group-leaf.c (e_table_group_apply_to_leafs): New method.
- Enables us to walk all the children of an ETableGroup.
-
- * e-table.c (et_get_arg, et_set_arg): Implement ::get and ::set
- methods.
- (e_table_construct_from_spec_file): Now we return the etable.
- (e_table_construct): ditto.
- (et_real_construct): Now we return the ETable. Returns NULL on
- construct failure.
- (e_table_new): ditto.
- (e_table_new_from_spec_file): ditto.
-
- * (et_build_grouping_spec): Removed vestige code that still
- contained references to the etable->specification XML code.
-
- Dumped all the ifdefed out code.
-
- * e-table.h: Removed ETable->specification finally.
-
-2000-04-24 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.c: Fixed some warnings.
-
-2000-04-23 Iain Holmes <ih@csd.abdn.ac.uk>
-
- * e-table-item.c (eti_bounds): Calculate the width of the table from the
- width of all the columns, and update the eti->width field as appropiate.
- (eti_update): Update the bbox.
-
-2000-04-17 Chris Toshok <toshok@helixcode.com>
-
- * Makefile.am (noinst_PROGRAMS): add table-size-test
-
- * .cvsignore: add table-size-test.
-
- * e-cell-text.c (ect_ecent): use e_table_model_is_cell_editable
- instead of E_CELL_EDITABLE.
-
- * e-cell-toggle.c (etog_event): same.
-
- * e-cell.c (e_cell_init): don't call e_cell_set_editable. that
- info comes from the model.
- (e_cell_set_editable): removed function.
-
- * e-cell.h: remove the E_CELL_EDITABLE flag. that should be
- retrieved from the model. also, remove the prototype for
- e_cell_set_editable.
-
- * e-table-size-test.c: new file, for a stress test of sorts, of a
- large, uneditable e-table.
-
-2000-04-16 Anders Carlsson <andersca@gnu.org>
-
- * e-table-item.c (eti_event): Propagate mouse wheel events upwards.
-
- * e-table.c (et_real_construct): Use a GtkScrolledWindow here
- instead of a GtkScrollbar, since it makes mouse wheel scrolling
- much easier.
-
-2000-04-15 Matt Loper <matt@helixcode.com>
-
- * e-table.c (et_xml_to_header): sanity-check our parameters.
- (et_grouping_xml_to_sort_info): same.
- (et_real_construct): Bail if we couldn't get the children we
- wanted.
-
-2000-04-15 Ettore Perazzoli <ettore@helixcode.com>
-
- * e-table.c (e_table_construct): Use `strlen (copy)' instead of
- `strlen (copy) + 1' as the size argument for `xmlParseMemory()'.
-
-2000-04-14 Miguel de Icaza <miguel@gnu.org>
-
- * e-table.c, e-table.h: Switch the parent object to be a GtkTable.
- (et_real_construct): apply massaging and some loving action to
- make the thing behave as a GtkTable.
- (e_table_init): More love.
-
-2000-04-14 Miguel de Icaza <miguel@gnu.org>
-
- * e-table-header-item.c (ethi_class_init): New signal action.
-
-2000-04-14 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c, e-table-item.h: Added a row height cache.
-
-2000-04-12 Miguel de Icaza <miguel@gnu.org>
-
- * e-table-header-item.c (ethi_drag_motion): Remove test for
- source. We will fix this later.
-
- (ethi_end_resize): Reset resize_guide here.
-
-2000-04-11 Miguel de Icaza <miguel@helixcode.com>
-
- * e-table-header-item.c (ethi_add_destroy_marker): Add group
- indent width here.
- (is_pointer_on_division): Use the group indent here, so the
- resize pointer is shown at the correct time.
- (TOLERANCE): Bump it up to 3
- (draw_button): Do not paint an arrow if there is an icon present,
- and not enough space to paint.
-
-2000-04-10 Miguel de Icaza <miguel@helixcode.com>
-
- * e-table-header-item.c (make_shapped_window_from_xpm): New
- routine, creates a shapped mask window from an xpm buffer.
- (ethi_add_drop_marker): New version, uses shaped windows instead
- of canvas items to signal the drop location.
- (ethi_maybe_start_drag): Disable dragging if there is only one
- column left.
-
-2000-04-10 Miguel de Icaza <miguel@gnu.org>
-
- * e-table-header-item.c (ethi_drag_motion): Drop frozen count
- support from here.
- (ethi_start_drag): ditto.
-
- * e-table-header.h: Kill frozen_count.
-
-2000-04-09 Matt Loper <matt@helixcode.com>
-
- * e-table-col.c (e_table_col_new_with_pixbuf): ref etc->ecell,
- like in e_table_col_new, since that same ECell is unref'd in
- etc_destroy().
-
-2000-04-08 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.c: Separated some functions into an xml bit and a
- generic bit.
-
-2000-04-06 Miguel de Icaza <miguel@gnu.org>
-
- * e-cell-text.c: Killed ARG_EDITABLE.
- (ect_event): Updated to new editable setup.
- (e_cell_text_new): Kill editable argument.
-
- * e-cell-toggle.c (etog_event): Handle editability here
-
- * e-cell-text.h: Removed editable bit field from here, it is now
- taken care at the e-cell level.
-
- * e-cell.c (e_cell_set_editable): New function.
- (e_cell_init): Set editable to TRUE by default.
-
- * test-check.c (check_test): update to new api
-
- * test-table.c (table_browser_test): ditto.
- (do_e_table_demo): ditto.
-
- * test-cols.c (multi_cols_test): ditto
-
-2000-04-06 Christopher James Lahey <clahey@helixcode.com>
-
- * test-cols.c, test-table.c: Got rid of some warnings.
-
- * e-table-group-container.c, e-table-group-container.h,
- e-table-group-leaf.c, e-table-group-leaf.h, e-table-group.c,
- e-table-group.h, e-table-header-item.c, e-table-header-item.h,
- e-table-sort-info.c, e-table-sort-info.h,
- e-table-sorted-variable.c, e-table-sorted-variable.h, e-table.c,
- e-table.h: Changed ETableSortInfo to not use xml internally.
-
-2000-04-04 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-text-model.c: Make this assert a bit more readable.
-
- * e-table-item.c: Fix update loop behavior.
-
-2000-04-02 Miguel de Icaza <miguel@gnu.org>
-
- * e-table-sort-info.c (e_table_sort_info_class_init): Kill
- argument. Do not use XML internally
- (e_table_sort_info_set_sorting): New function, use this to set the
- sorting.
- (e_table_sort_info_set_grouping): This one to do the grouping/.
-
-2000-04-01 Miguel de Icaza <miguel@gnu.org>
-
- * e-table.c (e_table_build_column_spec): Drop frozen support.
- (e_table_make_header): Drop frozen support.
-
- * e-table-header.c (e_table_header_new): Drop frozen support.
-
- * e-table-header-item.c (ethi_drag_motion): Drop frozen support.
- (ethi_drag_drop): Drop frozen support.
- (ethi_start_drag): Drop frozen support.
-
- * e-table.c (e_table_construct_from_spec_file): Robustify: support
- the case in which the XML could not be parsed; Propagate errors.
- (e_table_new): Handle failure.
- (e_table_new_from_spec_file): ditto.
- Renamed multiple internal functions whose prefix was et_ to be e_table_
-
-2000-03-31 Miguel de Icaza <miguel@gnu.org>
-
- * e-table-simple.h: Constify this.
-
-2000-03-30 Miguel de Icaza <miguel@gnu.org>
-
- * Makefile.am (EXTRA_DIST): Added Glade files to the
- distribution.
-
-2000-03-28 Matt Loper <matt@helixcode.com>
-
- * e-table-text-model.c (e_table_text_model_destroy): made
- assertion more accurate.
-
-2000-03-27 Michael Meeks <michael@helixcode.com>
-
- * e-table-item.c (eti_update): try and fix the convoluted logic.
- (eti_bounds): Implement; should fix the re-draw bugs.
-
- * e-table-group-container.c: kill many redundant prototypes,
- stylistic cleans.
-
-2000-03-26 Miguel de Icaza <miguel@gnu.org>
-
- * e-table-header-item.c (ethi_realize): Remove warning from here.
-
- * test-table.c (table_browser_test): Use ECanvas, not GnomeCanvas,
- to support reflow.
- * test-cols.c (multi_cols_test): ditto
- * e-table.c (e_table_setup_header): ditto
-
- * e-table-header-item.c (ethi_font_load): Replace font.
- (ethi_realize): ditto.
-
-2000-03-26 Matias Mutchinick <matias@seul.org>
-
- * e-cell-toggle.c (etog_draw): Removed extra code that computed
- bogus width. This was the actual source of the problem with the
- miss-rendering feature.
-
-2000-03-22 Matt Loper <matt@helixcode.com>
-
- * e-table-text-model.c (e_table_text_model_destroy): Added some
- assertions.
-
-2000-03-21 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.c: Make rectangles resize properly when receiving the
- "model_changed" signal.
-
-2000-03-20 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-group-container.c, e-table-group-container.h,
- e-table-group-leaf.c, e-table-group.c, e-table-group.h: Updated
- these to use the new ECanvas reflow infrastructure.
-
- * e-table-item.c, e-table-item.h: Updated these to use the new
- ECanvas reflow infrastructure. Fixed the bounding box.
-
- * e-table.c, e-table.h: Made the header have no extra space around it.
-
-2000-03-19 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-header.c: Fixed a crashing bug when you close an
- ETable.
-
-2000-03-13 Christopher James Lahey <clahey@helixcode.com>
-
- * e-cell-text.c: Fixed a crashing bug when you cancel an edit.
-
-2000-03-12 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.c: Made this use an ECanvas. Fixed a bug where
- e_table_new_from_spec_file was calling e_table_construct instead
- of e_table_construct_from_spec_file.
-
- * e-table-item.c, e-table-header-item.c, e-table-column-item.c:
- Switched these to use GTK_TYPE_OBJECT and GTK_VALUE_OBJECT instead
- of GTK_TYPE_POINTER and GTK_TYPE_OBJECT.
-
- * e-cell-text.c: Got rid of a crashing bug.
-
- * e-table-text-model.c, e-table-text-model.h: A new object which
- is an e-text-model which uses an e-table-model for its data.
-
- * Makefile.am: Added e-table-text-model.c and
- e-table-text-model.h.
-
- * .cvsignore: Added table-example-1 and table-example-2.
-
-2000-03-08 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.c: Changed the destroy function to disconnect from
- signals before unrefing the objects the sinnals are on. Changed
- the destroy function to match the objects and signal ids properly
- in its disconnect section.
-
- * e-table-item.c, e-table-item.h: Changed this to do follow the
- canvas rules better.
-
- * e-table-header-item.c, e-table-header-item.h: Made
- ETableHeaderItem connect to the "sort_info_changed" on its
- ETableSortInfo instead of just manually redrawing itself. Fixed
- the update function a bit to follow the canvas rules a bit better.
-
-2000-03-06 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c: Made rows get unselected when switching from one
- group to the next.
-
-2000-03-06 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-group-container.c: Use the style's font if lucidasans-10
- is not found.
-
-2000-03-06 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-header-item.c, e-table-header-item.h: Made it so that
- columns would be properly indented.
-
-2000-03-06 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-sorted-variable.c: Have identical values get sorted by
- their actual row.
-
-2000-03-06 Christopher James Lahey <clahey@helixcode.com>
-
- * e-cell-text.c: Draw selected row.
-
-2000-03-06 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.c, e-table.h: Add a "row_selection" signal.
-
- * test-table.c: Test the new "row_selection" signal.
-
- * e-table-group-container.c, e-table-group-leaf.c: Implement the
- "row_selection" property properly.
-
- * e-table-group.c, e-table-group.h: Add a "row_selection" signal.
-
-2000-03-05 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.c, e-table.h: Added support for the sorting info. The
- Etable creates a sort_info object, and then connects to the
- signals to rearrange the rows when the sort_info changes. It also
- passes the info object to the ETableHeaderItem.
-
- * e-table-model.c: Fixed a typo where ETableModel was written as
- ETableModle.
-
- * e-table-header.c, e-table-header.h: Added some code for sorting
- here, but it's not used. I don't think we want this code, but I
- wanted to check it in at least once so that it's not lost.
-
- * e-table-header-item.c, e-table-header-item.h: Added a
- "sort_info" argument to ETableHeaderItem. Added display of
- current sort settings. Added support for clicking to change the
- sort settings.
-
- * e-table-col.h: E_TABLE_COL_ARROW_NONE is marked as being = 0
- since this is required in other places. (I think C defines this
- as being the case, but it's good to have the = 0 there so that
- it's obvious that it has to be first.)
-
- * TODO: Mark sorting as done.
-
- * e-table-sort-info.c, e-table-sort-info.h: New files for
- containing the xml grouping/sorting information and for sending
- signals on that information.
-
- * Makefile.am: Added e-table-sort-info.c and e-table-sort-info.h.
-
-2000-03-04 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.c: Added saving of frozen_columns count. Added a
- vertical scrollbar to ETable.
-
-2000-03-04 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.c: Push the proper visual and colormap for ETable to work.
-
-2000-03-04 Christopher James Lahey <clahey@helixcode.com>
-
- * TODO: Touched this up a bit.
-
- * e-table-group.c, e-table-group-leaf.c: Check for NULL before
- calling gtk_object_unref or gtk_object_destroy.
-
-2000-03-04 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.c: Fixed a crash error.
-
-2000-03-04 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c: Fixed a compile warning.
-
- * e-table.c: Fixed a crash error.
-
-2000-03-04 Christopher James Lahey <clahey@helixcode.com>
-
- * TODO: Added a bunch of stuff to the TODO list. Put +s before a
- few of the items that are finished.
-
- * test-table.c: Add a button to save the spec file.
-
- * e-table.c, e-table.h: Add loading configurations from files as
- well as the ability to get the current configuration out of the
- widget.
-
-2000-03-03 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table.c: Removed some unused code.
-
- * e-table-header-item.c, e-table-header-item.h: Removed the unused
- normal_cursor variable and object.
-
- * e-table-col.c: Maintain a reference count in the contained ECell.
-
-2000-03-01 Ettore Perazzoli <ettore@helixcode.com>
-
- * Makefile.am: Use `libeutil.la', not `libeutil.a'.
-
-2000-02-29 Christopher James Lahey <clahey@helixcode.com>
-
- * test-table.c: Test frozen columns
-
- * e-table.c: Make frozen columns available through the xml file.
-
- * e-table-header.c, e-table-header.h, e-table-header-item.c: Added
- frozen columns API to let you specify some number of leading
- columns as undraggable.
-
- * Makefile.am: Add e-table-example-1.c and e-table-example-2.c.
-
- * e-table-example-1.c, e-table-example-2.c: New files. A couple
- of examples of ETable use.
-
-2000-02-28 NotZed <NotZed@HelixCode.com>
-
- * Makefile.am (table_test_LDADD): Fixed references to eutil.
-
-2000-02-28 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-header-item.c, e-table-header.c: Fixed a couple of crash
- bugs.
-
-2000-02-25 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c: Made the E table item redraw properly.
-
- * e-table-group-container.c: Added handling to distinguish between
- n items and 1 item. Got rid of a crash due to an abandoned timeout
- callback.
-
-2000-02-24 Christopher James Lahey <clahey@helixcode.com>
-
- * e-cell-text.c: Made carriage return stop editting instead of
- inserting a carriage return.
-
-2000-02-24 Christopher James Lahey <clahey@helixcode.com>
-
- * test-table.c: Added duplicate_value and add_value. Use the new
- compare functions. Made it so we only create one model to better
- test model view stuff. Changed the test to not have as many
- extra, useless, columns.
-
- * test-cols.c, test-check.c: Added duplicate_value and add_value.
- Use the new compare functions.
-
- * e-table.c, e-table.h: Use all the new features of e-table-groups
- (sorting and grouping). Handle on the fly reorganization of
- groups in an idle loop. Compare functions now are to return -1 if
- the first item is greater, 0 if they are equal, or 1 if the second
- item is greater.
-
- * e-table-subset.c, e-table-subset.h: Made e-table-subset
- disconnect properly from its signals when it dies.
-
- * e-table-subset-variable.c, e-table-subset-variable.h:
- Virtualized the add and remove commands so that
- e_table_sorted_variable could override the add command to do
- sorting.
-
- * e-table-sorted.c: Fixed this to inherit properly from
- ETableSubset.
-
- * e-table-simple.h, e-table-simple.c: Added handling of
- duplicate_value and free_value;
-
- * e-table-model.c, e-table-model.h: Added duplicate_value and
- free_value for memory allocation of table elements outside the
- table.
-
- * e-table-item.c: Fixed a crashing bug.
-
- * e-table-group.c: Added sorting. Fixed destruction to delete the
- right things.
-
- * e-table-group-leaf.c, e-table-group-leaf.h: Pass column and sort
- order information into the e_table_sorted_variable. Properly
- destroy things when deleted.
-
- * e-table-group-container.c, e-table-group-container.h: Properly
- handle the list of subgroups. Handle proper sorting and grouping
- of subgroups.
-
- * e-table-sorted-variable.c, e-table-sorted-variable.h: Files to
- do a sorted model that stays sorted as you add and remove rows.
-
- * Makefile.am: Added e-table-sorted-variable.c and
- e-table-sorted-variable.h.
-
-2000-02-24 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c: Made keyboard focus navigation work across
- groups.
-
- * e-table-header.c: Made e_table_header_col_diff not crash if you
- give it a column less than 0 (it truncates negative column values
- to 0.)
-
- * e-table-group.c, e-table-group.h: Added e_table_group_get_header
- to get the ETableHeader for this ETableGroup.
-
- * e-table-group-container.c: Made shift tab work.
-
-2000-02-24 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c: Made changing focus work.
-
-2000-02-24 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-subset-variable.c, e-table-subset-variable.h: A new
- model which is a subset, but you can add and remove rows.
-
- * test-table.c: Added a thaw method for use with the
- e-table-subset (emits model_changed.) Adapted to the changes to
- e_table_item. Properly parse headers. Adapted to the changes to
- e_table, including creating example xml spec data.
-
- * test-cols.c, test-check.c: Added a thaw method for use with the
- e-table-subset (emits model_changed.) Adapted to the changes to
- e_table_item.
-
- * e-table.c, e-table.h: Reworked e-table to use the ETable
- grouping system. The only difference for the interface is that
- instead of passing in a column_spec and a grouping_spec, you pass
- in a single string that is an xml format that includes both pieces
- of information.
-
- * e-table-subset.h: Added rules for emacs to do correct
- indentation.
-
- * e-table-subset.c: Implemented freezing. No signals are emitted
- while frozen and "model_changed" is emitted when thawed.
-
- * e-table-sorted.h: ETableSortedClass has ETableSubset as its
- parent object instead of ETableSubsetClass. Fixed this.
-
- * e-table-simple.c, e-table-simple.h: Implemented the thaw method.
- Use of simple now requires an extra argument (the thaw method.)
-
- * e-table-model.h, e-table-model.c: Added e_table_model_freeze and
- e_table_model_thaw.
-
- * e-table-item.h, e-table-item.c: Reworked this a bit to make it
- provide some things the new group system needed and to make
- inter-item keyboard focus work. Changed the external interface
- only in the list of arguments it recognizes and signals it emits.
- Instead of "x" and "y", you have to use
- e_canvas_item_move_absolute and instead of emitting a
- "height_changed" signal, it emits a "resize" signal. There's new
- "has_focus", "width", and "height" arguments and a function to get
- the currently focused column.
-
- * e-table-header-item.c: Got rid of some warnings here. Changed
- the
-
- * e-table-group-leaf.h, e-table-group-leaf.c,
- e-table-group-container.h, e-table-group-container.c: New types to
- make e_table_group work properly.
-
- * e-table-group.h, e-table-group.c: Completely reworked e-table
- grouping. e-table-group now uses a hierarchical structure.
-
- * e-cell.h: Added e_cell_print. This doesn't work yet.
-
- * e-cell.c: Made e_cell_realize exist. (It was improperly named
- e_cell_view_realize in the .c.)
-
- * e-cell-text.c: Made the blinking cursor disappear properly.
-
- * check-filled.xpm, check-empty.xpm: Made these const char *[]
- instead of char *[] to avoid compiler warnings.
-
- * Makefile.am: Added e-table-group-container.c,
- e-table-group-container.h, e-table-group-leaf.c,
- e-table-group-leaf.h, e-table-subset-variable.c,
- e-table-subset-variable.h.
-
-2000-02-18 Miguel de Icaza <miguel@nuclecu.unam.mx>
-
- * e-table-header.c: Include <string.h>
-
- * Makefile.am (INCLUDES): Add EXTRA_GNOME_CFLAGS to INCLUDES>
-
-2000-02-12 Iain Holmes <ih@csd.abdn.ac.uk>
-
- * e-table-header-item.c (ethi_drag_motion): Check the ethi is actually
- the one being dragged. Prevents crashes when trying to drag headeritems
- and there are multiple headeritems on the same canvas.
- (ethi_drag_end): Same.
- (ethi_drag_drop): Same.
- (ethi_drag_leave): Same.
-
-2000-02-11 Miguel de Icaza <miguel@gnu.org>
-
- * e-table-item.c (eti_header_structure_changed): Add nice
- assertion.
-
-2000-02-11 Christopher James Lahey <clahey@helixcode.com>
-
- * test-check.c: Added test of sort arrows.
-
- * e-table-col.h, e-table-col.c: Added sort arrows for column
- headers (It doesn't actually sort. It just displays the arrows.)
-
- * e-table-header-item.c: Added display of arrows.
-
-2000-02-11 Christopher James Lahey <clahey@helixcode.com>
-
- * clip.png: Test column header image.
-
- * test-check.c: Test pixbuf column headers.
-
- * e-table-col.h, e-table-col.c: Added pixbufs for column headers.
-
- * e-table-header-item.c (draw_button): Draw pixbuf column headers properly.
-
-2000-02-11 Christopher James Lahey <clahey@helixcode.com>
-
- * e-cell-text.h, e-cell-text.c: Add an editable argument to
- e_cell_text_new.
-
- * test-table.c, test-cols.c, test-check.c: Set the editable
- argument to e_cell_text_new.
-
-2000-02-11 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-header-item.h, e-table-header-item.c: Added reordering
- of columns.
-
- * e-table-header.c: Fixed a couple of bugs in the move column and
- remove column functions.
-
-2000-02-11 Christopher James Lahey <clahey@helixcode.com>
-
- * e-cell-text.c: Made space around text look right. Added a
- blinking cursor.
-
-2000-02-10 Christopher James Lahey <clahey@helixcode.com>
-
- * e-cell-text.c: Handle button releases properly.
-
- * e-table-header-item.c (ethi_start_drag): Added a drag icon.
-
-2000-02-09 Christopher James Lahey <clahey@helixcode.com>
-
- * e-cell-text.c: Tweaked e-cell-text. Added a white background
- and tweaked the borders.
-
-2000-02-09 Christopher James Lahey <clahey@helixcode.com>
-
- * Makefile.am: Changes where e-text is included from.
-
-2000-02-07 Miguel de Icaza <miguel@gnu.org>
-
- * e-table.c (e_table_setup_table): Setup the scroll region of the
- table canvas on size allocation.
- (e_table_canvas_realize): Do not set the scrollregion here.
- (e_table_canvas_init): Move root initialization here.
-
-2000-02-07 Christopher James Lahey <clahey@helixcode.com>
-
- * e-table-item.c (eti_event): Fixed some motion event
- bugs. (incorrect x and y.)
-
- * Makefile.am: Added includes for dependencies in
- evolution/widgets/libevolutionwidgets.a
-
- * e-cell-text.h, e-cell-text.c: Completely revamped using code
- from e-text.c and e-text.h.
-
-2000-01-30 Miguel de Icaza <miguel@gnu.org>
-
- * e-table-simple.c (e_table_simple_new): Add data field back in.
-
-1999-12-30 Miguel de Icaza <miguel@gnu.org>
-
- * e-table-item.c (eti_attach_cell_views): New routine, creates the
- cell views.
- (eti_detach_cell_views): Detaches the cell_views from the
- ETableItem.
- (eti_realize_cell_views, eti_unrealize_cell_views): Simplified to
- just do realize/unrealize notification.
- (eti_add_table_model): Only attach the cells when we have both the
- table model and the header model.
-
- * e-cell.h (ECellClass): Added two new methods: new_view and
- kill_view which drive the view process (instead of putting that on
- realize/unrealize).
-
- * e-cell.c: Adapt the code to use the new scheme for view
- instantiation.
-
- * e-cell-text.c, e-cell-toggle.c: Adapted to the new class
- changes.
-
-1999-12-22 Miguel de Icaza <miguel@helixcode.com>
-
- * e-table-item.c (e_table_item_focus): grab focus here with the
- canvas method.
-
-1999-12-20 Miguel de Icaza <miguel@helixcode.com>
-
- * e-table-group.c (etg_update): Change the dimensions only if the
- child changes its own.
-
- * e-table-item.c (eti_table_model_changed): Emit new signal on
- table height change.
- (eti_class_init): Register new "height_change" signal.
-
-1999-12-19 Damon Chaplin <damon@karuna.freeserve.co.uk>
-
- * Makefile.am (SUBDIRS): created SUBDIRS with meeting-time-sel.
-
- * meeting-time-sel/Makefile.am:
- * meeting-time-sel/.cvsignore:
- * meeting-time-sel/e-meeting-time-sel.h:
- * meeting-time-sel/e-meeting-time-sel.c:
- * meeting-time-sel/e-meeting-time-sel-item.h:
- * meeting-time-sel/e-meeting-time-sel-item.c:
- * meeting-time-sel/e-meeting-time-sel-list-item.h:
- * meeting-time-sel/e-meeting-time-sel-list-item.c:
- * meeting-time-sel/e-meeting-time-sel-mail.xpm:
- * meeting-time-sel/e-meeting-time-sel-no-mail.xpm:
- * meeting-time-sel/test-meeting-time-sel.c: new files implementing
- the meeting time selector.
-
-1999-12-12 Miguel de Icaza <miguel@helixcode.com>
-
- * e-table-item.c (eti_class_init): X and Y arguments are now
- doubles (to make it consistent with the rest of the canvas x, y
- arguments).
-
- * e-table.c (e_table_create_leaf): Use new argument values here
-
- * test-*.c: Update to new argument types for x and y
-
- * e-table-group.c: New implementation as a canvas item used to
- group childs.
-
- * e-table-item.c (eti_update): Make this play nicely with groups.
- (eti_draw): ditto.
- (eti_request_region_redraw): ditto.
- (eti_item_region_redraw): New function.
-
- * e-table-subset.c (etss_proxy_model_row_changed): Added model
- proxying.
-
- * e-cell.h: Drop ETableModel from the ECell;
- (realize): Now takes an ETableModel
-
- * e-cell-checkbox.c: Adapted to new class
- changes;
- * e-cell-toggle.c: ditto
-
- * e-table-subset.c (etss_row_count): Fix this guy.
-
-1999-12-11 Miguel de Icaza <miguel@helixcode.com>
-
- * e-table-item.c (eti_unrealize_cell_views): Null the cell views.
- (eti_header_structure_changed): Only unrealize/realize if we were
- realized before.
-
- * e-table-header.c (e_table_header_add_column): Allow -1 as an
- insert position
-
-1999-12-11 Miguel de Icaza <miguel@helixcode.com>
-
- * e-table.c: Massive fixage.
-
- * test-table.c: Updates to test the mega widget.
-
-1999-12-10 Miguel de Icaza <miguel@helixcode.com>
-
- * e-table.c: New file, implements the mega widget.
-
-1999-12-09 Miguel de Icaza <miguel@gnu.org>
-
- * e-table-header.c (e_table_header_col_diff): fix this routine.
-
-1999-12-04 Miguel de Icaza <miguel@gnu.org>
-
- * e-table-header-item.c (ethi_event): Started drag and drop
- support.
-
- * e-table-item.c (eti_table_model_changed): The columns are
- controled by the Header, not by the TableModel.
-
- * e-table-header-item.c (ethi_draw): Fixed redraw logic to support
- arbitrary header positioning.
-
- * e-cell.h: Revamped e-cell interface. We now provide the model
- column and the view column to all methods (so that the methods can
- talk to the view and to the model at the same time).
-
- * e-table-item.c: Update to new API
- * e-cell-test.c: Update to new API
-
-1999-12-03 Miguel de Icaza <miguel@gnu.org>
-
- * e-cell.c (e_cell_class_init): Provide emtpy methods for
- enter_edit, and leave_edit.
-
- * e-table-item.c: Killed draw cell.
- (eti_draw): Perform column mapping here.
- (e_table_item_leave_edit): ditto.
- (e_table_item_enter_edit): ditto.
- (eti_event): ditto.
-
-1999-12-02 Miguel de Icaza <miguel@gnu.org>
-
- * e-table-header.c (e_table_header_index): fixed api.
-
-1999-12-01 Miguel de Icaza <miguel@gnu.org>
-
- * test-cols.c (multi_cols_test): Update to simplified API.
- * test-check.c (check_test): ditto
- * test-table.c (table_browser_test): ditto
-
- * e-table-simple.c (e_table_simple_class_init): Kill column_name method.
-
- * e-table-model.h: Kill column_name method.
-
- * e-table-col.c (e_table_col_new): Instead of using a column name,
- use a column index.
-
- * e-cell-text.c (ect_draw): Keep track of the originally allocated
- piece of code.
-
- * e-table-header-item.c (ethi_unrealize): Removed change cursor
- from here.
-
- * e-cell-text.c (ect_draw): Memory leak fix.
-
- * table-test.c (main): Enhance the demo to load sample.table
- automatically, to get memprof working.
-
- * e-table-header.c (eth_do_remove): Take an argument: do -remove.
-
- * e-table-header.c (e_table_header_add_column): Sink ETableCol to
- own the object.
-
- * e-table-col.h: Made ETableCol a GtkObject to make reference
- counting the lifecycle method for these objects.
-
- * e-table-col.c (e_table_col_destroy): New API call.
-
- * e-table-subset.c (e_table_subset_get_toplevel): New API call.
-
-1999-11-30 Miguel de Icaza <miguel@gnu.org>
-
- * e-cell-checkbox.c (e_cell_checkbox_new): This one derives from
- e-cell-toggle.
-
- * check-emtpy.xpm, check-filled.xpm: new files.
-
- * e-cell-toggle.c (etog_draw): Paint in white.
- If we have transparency enabled, do the nice alpha computation.
-
- * test-table.c, test-cols.c: new files; They implement the split
- tests.
-
-1999-11-29 Miguel de Icaza <miguel@gnu.org>
-
- * e-table-col.c (e_table_col_new): Set etc->resizeable.
-
- * e-table-header-item.c (ethi_event): Handle non-resizeables
- columns; Add support for minimum width.
-
- * e-cell-toggle.c, e-cell-toggle.h: New file. Implement a
- multi-state image toggle cell object.
-
- * e-cell-text.c (ect_leave_edit): Handle the case of us calling
- leave edit manually.
- (ect_stop_editing): Leave manually editing here.
- (ect_draw): Add one pixel to the border for left and right;
- Handle off-screen cursor (must be improved).
- (ect_edit_select_all): New function.
- (ect_event): Select all text on editing start
-
- * e-table-item.c (eti_event): Map mouse events and dispatch them.
- (eti_event): Add spreadsheet mode for editing; Enter editing only
- with visual characters;
- Leave editing mode when a different row has been selected.
- (eti_get_height): Fix the computation for this; Fix logic for the
- length_threshold.
-
- (eti_draw): Add borders on all sides of the box;
- Only draw focus if the cell is not being edited.
-
-1999-11-28 Miguel de Icaza <miguel@gnu.org>
-
- * e-table-item.c (eti_draw): Focus inside, not outside.
- (eti_realize): Enhance our focus gc.
-
- * e-cell-text.c (ect_enter_edit, ect_leave_edit): New methods;
- They implement editing.
-
- * e-cell.h: new methods: enter_edit, leave_edit
-
- * e-table-model.h (set_value_at): make val argument const.
-
- * e-table-simple.c (simple_set_value_at): Make value argument const;
-
- * e-table-item.c (eti_set_arg): Add new mode: draw_focus;
-
-1999-11-27 Miguel de Icaza <miguel@gnu.org>
-
- * e-table-item.c (eti_event): beginning of the keyboard navigation.
-
- * e-table-model.c (e_table_model_row_changed): new function.
- (e_table_model_cell_changed): new function.
- (e_table_model_class_init): New signals.
-
- * e-table-item.c (eti_request_region_redraw): x2, y2 offsets were
- wrong.
- (eti_select): Repaint selected region.
- (eti_request_region_redraw): Fix range.
- (eti_draw): Correct offset computation here.
- (e_table_item_class_init): New method: row_selection, handles the
- selection.
-
- Now it implement GTK_SELECTION_SINGLE and GTK_SELECTION_MULTIPLE.
-
- Focusing and selection should be correct now.
-
-1999-11-26 Miguel de Icaza <miguel@gnu.org>
-
- * e-table-item.c (eti_realize): Compute height using the ecell
- methods here.
- (eti_get_height): new method to compute dimensions.
-
- * e-cursors.c: use a different cursor.
-
- * e-table-model.h: kill height and row_height methods.
-
- * e-cell.c (ec_height): New method.
-
- * e-cell-text.c (ect_realize): Load the font from the canvas.
- (ect_draw): New color setup.
- Center in the row.
- (ect_height): Implement new method.
-
-1999-11-26 Michael Meeks <mmeeks@gnu.org>
-
- * ROADMAP.e-table: small spelling/typo fixes.
-
-1999-11-25 Miguel de Icaza <miguel@gnu.org>
-
- * e-table-item.c (eti_event): Work on mouse-button event
- propagation to cells.
-
- * e-cell-text.c (ect_draw): Use CellViews now.
-
- * e-table-item.c (eti_realize_cell_views): New routine: Realizes
- the cell views
- (eti_unrealize_cell_views): New routine: unrealizes the cell views.
-
- * e-table-item.h: Move cell_views array here.
-
- * table-test.c (value_at): Fix return value.
- (main): use new invocation method.
-
- * e-table-header-item.c (ethi_realize): Realize cells.
-
- * e-table-item.c (eti_header_dim_changed): redraw before and after.
-
- * e-table-header-item.c (ethi_event): Add continuous resizing.
-
-1999-11-24 Miguel de Icaza <miguel@gnu.org>
-
- * e-table-subset.h, e-table-subset.c: New files, used to implement
- subset tables.
-
- * e-table-sorted.h, e-table-sorted.c: Now they derive from
- e-table-subset.
-
- * e-cell.c, e-cell.h: realize method now return per view instance
- data.
-
-1999-11-20 Miguel de Icaza <miguel@gnu.org>
-
- * e-table-item.c (eti_draw): WOOOOHOOOOOoO! It took me quite a
- while to figure this one out. Fixed.
-
- * e-table-header-item.c (ethi_set_arg): Compute width, keep track
- of it.
- (ethi_add_table_header): Monitor changes to the Header model;
- Queue updates.
- (ethi_draw): Fix the redraw logic here.
-
- * table-test.c (main): Change the sample code, so we can better
- debug this.
-
- * e-table-item.c (eti_header_structure_changed): Keep track of
- width;
- (eti_header_dim_changed): ditto.
- (eti_draw): Many redraw fixes.
-
-1999-11-19 Miguel de Icaza <miguel@gnu.org>
-
- * e-table-item.c (eti_realize): Hook up; Load gcs.
- (eti_unrealize): Hook up.
-
- * e-table-sorted.c: Finished implementing.
-
-1999-11-18 Miguel de Icaza <miguel@gnu.org>
-
- * e-table-model.c (e_table_model_class_init): Add model_changed
- signal here.
-
- * e-table-item.c, e-table-item.h: New files. They implement the
- view of the ETableModel as Canvas Items.
-
- * e-table-header-item.c (ethi_set_arg): Ref header here.
- (ethi_destroy): Unref it here.
-
-1999-11-17 Ettore Perazzoli <ettore@gnu.org>
-
- * e-msg-composer-address-dialog.c: Moved to `$(srcdir)/composer'.
- * e-msg-composer-address-dialog.h: Likewise.
- * e-msg-composer-address-entry.c: Likewise.
- * e-msg-composer-address-entry.h: Likewise.
- * e-msg-composer-attachment-bar.c: Likewise.
- * e-msg-composer-attachment-bar.h: Likewise.
- * e-msg-composer-attachment.c: Likewise.
- * e-msg-composer-attachment.h: Likewise.
- * e-msg-composer-hdrs.c: Likewise.
- * e-msg-composer-hdrs.h: Likewise.
- * e-msg-composer.c: Likewise.
- * e-msg-composer.h: Likewise.
- * e-msg-composer-address-dialog.glade: Likewise.
- * e-msg-composer-attachment.glade: Likewise.
- * e-msg-composer.glade: Likewise.
- * Makefile.am: Updated accordingly.
-
-Nov 14 1999 Elliot Lee
- * Makefile.am: It's libevolutionwidgets.la, not .a
-
-1999-11-14 Miguel de Icaza <miguel@gnu.org>
-
- * e-table-header-item.c (is_pointer_on_division): Add resizing
- capabilities.
-
- * e-table-sorted.c: Finish implementation.
-
-1999-11-13 Miguel de Icaza <miguel@gnu.org>
-
- * e-table-sorted.c: Implement e-table-sorted object.
-
-1999-11-12 Miguel de Icaza <miguel@gnu.org>
-
- * e-table-header-item.c: Make the thing configurable.
-
- * e-table-header-item.h: Add font field, location, height.
-
-1999-11-12 Ettore Perazzoli <ettore@gnu.org>
-
- * e-msg-composer-hdrs.c: New member `tooltips' in `struct
- _EMsgComposerHdrsPrivate'.
- (init): Initialize it.
- (destroy): New function.
- (class_init): Install it as the `destroy' GtkObject method.
- (add_header): New parameters `tip', `tip_private'. Setup a
- tooltip for the entry with them.
- (setup_headers): Updated accordingly.
-
-1999-11-11 Miguel de Icaza <miguel@gnu.org>
-
- * e-table-header.c (e_table_header_add_column): Update offsets.
- (eth_update_offsets): New routine.
-
- * e-table-col.h, e-table-col.c: New files.
-
- * e-table-header.h (e_table_header_get_selected_indexes):
- Pretify.
-
- * table-test.c (main): New file; used for testing ETable package.
-
- * e-table-simple.h: Fix type.
-
-1999-11-12 Ettore Perazzoli <ettore@gnu.org>
-
- * e-msg-composer-address-dialog.glade: Cosmetical changes.
-
- * e-msg-composer-attachment-bar.c (size_to_string): New helper
- function.
- (update): Put the size in the icon's label using this function.
- (ICON_SEPARATORS): Remove '.' to avoid wrapping of the size string
- on the decimal dot. But gnome-libs is broken and this has no real
- effect! :-(
- (e_msg_composer_attachment_bar_new): No longer make text editable.
- Use the `GTK_SELECTION_MULTIPLE' selection mode.
- (remove_selected): No longer assume only one attachment is
- selected.
-
- * e-msg-composer-attachment.c: #include <sys/stat.h>
- (init): Initialize all the members.
- (e_msg_composer_attachment_new): Set size using `stat()'.
-
- * e-msg-composer-attachment.h: New member `size' in `struct
- _EMsgComposerAttachment'.
-
- * e-msg-composer.c (setup_signals): Connect `address_dialog_cb' to
- the "show_address_dialog" signal of the header widget.
-
- * e-msg-composer-hdrs.c (add_address_header): Renamed to
- `add_header'. New parameter `addrbook_button': if true, use a
- button instead of a label and make it trigger an
- "show_address_dialog" signal.
- (address_button_clicked_cb): Signal handler to handle this on a
- "clicked" signal from the button.
- (setup_headers): Updated accordingly. Also, make "Subject" the
- last item. (This makes it look more like Outlook and friends.)
-
- * e-msg-composer-hdrs.c: New signal "show_address_dialog".
- * e-msg-composer-hdrs.h: Updated accordingly.
-
- * e-msg-composer-hdrs.c (add_address_header): Reduce padding
- considerably.
-
- * e-msg-composer.c (e_msg_composer_construct): Do not use any
- padding in the main vbox.
-
- * Makefile.am: Moved the `e-table*' sources to `EXTRA_DIST'.
- Compile as a shared library.
-
-1999-11-08 Ettore Perazzoli <ettore@gnu.org>
-
- * e-msg-composer-address-dialog.c: Implemented cut & paste for the
- recipient lists.
- (init): Initialize `cut_buffer'.
- (destroy): Free it.
- (recipient_clist_selection_get_cb): New function.
- (recipient_clist_selection_received_cb): New function.
- (recipient_clist_selection_clear_event_cb): New function.
- (setup_recipient_list_signals): Install them as signal handlers
- for "selection_get", "selection_received" and
- "selection_clear_event" respectively.
- (copy_recipient_cb): New function implementing the "copy"
- operation.
- (cut_recipient_cb): New function implementing the "cut" operation.
- (paste_recipient_cb): New function implementing the "paste"
- operation.
-
- * e-msg-composer-address-dialog.h: New member `cut_buffer' in
- `struct _EMsgComposerAddressDialog'.
-
-1999-11-07 Ettore Perazzoli <ettore@gnu.org>
-
- * e-msg-composer-address-dialog.c: New context menu
- `recipient_list_popup_info' for the recipient CLists.
- (recipient_clist_button_press_cb): New function.
- (setup_signals): Install it as the "button_press_event" signal
- handler for popping up the CList context menu.
-
- * e-msg-composer.c (free_string_list): New helper function.
- (setup_address_dialog): Setup the initial values in the address
- dialog according to the ones in the header widget.
-
- * e-msg-composer-hdrs.c (e_msg_composer_hdrs_get_to): New function.
- (e_msg_composer_hdrs_get_cc): New function.
- (e_msg_composer_hdrs_get_bcc): New function.
-
- * e-msg-composer.c (setup_address_dialog): New helper function.
- (address_dialog_cb): Use it.
-
- * e-msg-composer-address-dialog.c (add_address): Do not set the
- row data anymore. Instead, put the full address description
- (i.e. complete with the email address, not just the full name) in
- the CList.
- (add_address): Do nothing if no item is selected in the address
- CList.
- (get_list): Get the address list from the CList without passing
- through the address CList.
- (set_list): New helper function.
- (e_msg_composer_address_dialog_set_to_list): New function.
- (e_msg_composer_address_dialog_set_cc_list): New function.
- (e_msg_composer_address_dialog_set_bcc_list): New function.
-
- * e-msg-composer.c (address_dialog_apply_cb): Apply values from
- the address dialog into the composer.
-
- * e-msg-composer-hdrs.c (e_msg_composer_hdrs_set_to): New function.
- (e_msg_composer_hdrs_set_cc): New function.
- (e_msg_composer_hdrs_set_bcc): New function.
-
- * e-msg-composer-address-entry.c
- (e_msg_composer_address_entry_set_list): New function.
-
- * e-msg-composer-address-dialog.c (apply): New helper function.
- (clicked): New function, `clicked' method for the `GnomeDialog'
- class.
- (class_init): Install it.
-
-1999-11-06 Ettore Perazzoli <ettore@gnu.org>
-
- * e-msg-composer-attachment-bar.c (destroy): Call the destroy
- method of the parent class.
-
- * e-msg-composer.c: #include "e-msg-composer-address-dialog.h".
- (address_dialog_cb): New callback to start the address dialog.
- (setup_signals): Connect it to the appropriate button/menu item.
- (init): Initialize the new `address_dialog' member to NULL.
- (destroy): Destroy the `address_dialog' if not NULL.
-
- * e-msg-composer.h: New member `address_dialog' in `struct
- _EMsgComposer'.
-
- * e-msg-composer.glade: Added button to activate the address
- composition dialog.
-
- * e-msg-composer-address-dialog.h, e-msg-composer-address-dialog.c:
- New files implementing the address composition dialog for Evolution.
-
- * e-msg-composer-address-dialog.glade: New file.
-
- * e-msg-composer-attachment.c: `signals' made static.
-
-1999-11-05 Ettore Perazzoli <ettore@gnu.org>
-
- * Makefile.am: Compile the new files in a `libevolutionwidgets'
- library.
- (CPPFLAGS): #define `E_GUIDIR'.
-
- * e-msg-composer.c, e-msg-composer.h: New files implementing an
- initial version of the Evolution message composer widget.
-
- * e-msg-composer-address-entry.c, e-msg-composer-address-entry.h:
- New files implementing a GtkEntry customized for entering email
- address lists.
-
- * e-msg-composer-attachment-bar.c, e-msg-composer-attachment-bar.h:
- New files implementing a widget for editing mail attachments.
-
- * e-msg-composer-attachment.c, e-msg-composer-attachment.h: New
- files implementing file attachment objects for the message
- composer.
-
- * e-msg-composer-hdrs.c, e-msg-composer-hdrs.h: New files
- implementing a widget for editing of email message headers.
-
- * e-msg-composer-attachment.glade: New file.
- * e-msg-composer.glade: New file.
-
-1999-10-31 Miguel de Icaza <miguel@gnu.org>
-
- * widgets/e-table-column.c, e-table-column.h: New file, implements the
- e-table-column object.
-
- * widget/e-table-model.h, e-table-model.c, e-table-simple.c,
- e-table-simple.h: New files. Implements the column model and
- a simple table wrapper.
-
diff --git a/widgets/table/e-cell-combo.c b/widgets/table/e-cell-combo.c
index 31e6c29b99..186ae4dfed 100644
--- a/widgets/table/e-cell-combo.c
+++ b/widgets/table/e-cell-combo.c
@@ -126,6 +126,7 @@ e_cell_combo_init (ECellCombo *ecc)
AtkObject *a11y;
GtkListStore *store;
GtkTreeSelection *selection;
+ GtkScrolledWindow *scrolled_window;
/* We create one popup window for the ECell, since there will only
ever be one popup in use at a time. */
@@ -140,11 +141,13 @@ e_cell_combo_init (ECellCombo *ecc)
gtk_widget_show (frame);
ecc->popup_scrolled_window = gtk_scrolled_window_new (NULL, NULL);
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (ecc->popup_scrolled_window),
+ scrolled_window = GTK_SCROLLED_WINDOW (ecc->popup_scrolled_window);
+
+ gtk_scrolled_window_set_policy (scrolled_window,
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
- GTK_WIDGET_UNSET_FLAGS (GTK_SCROLLED_WINDOW (ecc->popup_scrolled_window)->hscrollbar, GTK_CAN_FOCUS);
- GTK_WIDGET_UNSET_FLAGS (GTK_SCROLLED_WINDOW (ecc->popup_scrolled_window)->vscrollbar, GTK_CAN_FOCUS);
+ gtk_widget_set_can_focus (gtk_scrolled_window_get_hscrollbar (scrolled_window), FALSE);
+ gtk_widget_set_can_focus (gtk_scrolled_window_get_vscrollbar (scrolled_window), FALSE);
gtk_container_add (GTK_CONTAINER (frame), ecc->popup_scrolled_window);
gtk_widget_show (ecc->popup_scrolled_window);
@@ -330,24 +333,33 @@ e_cell_combo_select_matching_item (ECellCombo *ecc)
static void
e_cell_combo_show_popup (ECellCombo *ecc, gint row, gint view_col)
{
+ GdkWindow *window;
+ GtkAllocation allocation;
gint x, y, width, height, old_width, old_height;
+ gtk_widget_get_allocation (ecc->popup_window, &allocation);
+
/* This code is practically copied from GtkCombo. */
- old_width = ecc->popup_window->allocation.width;
- old_height = ecc->popup_window->allocation.height;
+ old_width = allocation.width;
+ old_height = allocation.height;
e_cell_combo_get_popup_pos (ecc, row, view_col, &x, &y, &height, &width);
/* workaround for gtk_scrolled_window_size_allocate bug */
if (old_width != width || old_height != height) {
- gtk_widget_hide (GTK_SCROLLED_WINDOW (ecc->popup_scrolled_window)->hscrollbar);
- gtk_widget_hide (GTK_SCROLLED_WINDOW (ecc->popup_scrolled_window)->vscrollbar);
+ gtk_widget_hide (
+ gtk_scrolled_window_get_hscrollbar (
+ GTK_SCROLLED_WINDOW (ecc->popup_scrolled_window)));
+ gtk_widget_hide (
+ gtk_scrolled_window_get_vscrollbar (
+ GTK_SCROLLED_WINDOW (ecc->popup_scrolled_window)));
}
gtk_window_move (GTK_WINDOW (ecc->popup_window), x, y);
gtk_widget_set_size_request (ecc->popup_window, width, height);
gtk_widget_realize (ecc->popup_window);
- gdk_window_resize (ecc->popup_window->window, width, height);
+ window = gtk_widget_get_window (ecc->popup_window);
+ gdk_window_resize (window, width, height);
gtk_widget_show (ecc->popup_window);
e_cell_popup_set_shown (E_CELL_POPUP (ecc), TRUE);
@@ -367,8 +379,15 @@ e_cell_combo_get_popup_pos (ECellCombo *ecc,
ECellPopup *ecp = E_CELL_POPUP (ecc);
ETableItem *eti = E_TABLE_ITEM (ecp->popup_cell_view->cell_view.e_table_item_view);
GtkWidget *canvas = GTK_WIDGET (GNOME_CANVAS_ITEM (eti)->canvas);
+ GtkWidget *widget;
+ GtkWidget *popwin_child;
+ GtkWidget *popup_child;
+ GtkStyle *popwin_style;
+ GtkStyle *popup_style;
+ GdkWindow *window;
GtkBin *popwin;
GtkScrolledWindow *popup;
+ GtkRequisition requisition;
GtkRequisition list_requisition;
gboolean show_vscroll = FALSE, show_hscroll = FALSE;
gint avail_height, avail_width, min_height, work_height, screen_width;
@@ -380,7 +399,8 @@ e_cell_combo_get_popup_pos (ECellCombo *ecc,
popup = GTK_SCROLLED_WINDOW (ecc->popup_scrolled_window);
popwin = GTK_BIN (ecc->popup_window);
- gdk_window_get_origin (canvas->window, x, y);
+ window = gtk_widget_get_window (canvas);
+ gdk_window_get_origin (window, x, y);
x1 = e_table_header_col_diff (eti->header, 0, view_col + 1);
y1 = e_table_item_row_diff (eti, 0, row + 1);
@@ -402,10 +422,16 @@ e_cell_combo_get_popup_pos (ECellCombo *ecc,
*x += x1;
/* The ETable positions don't include the grid lines, I think, so we add 1. */
*y += y1 + 1
- - (gint)((GnomeCanvas *)canvas)->layout.vadjustment->value
+ - (gint)gtk_adjustment_get_value (
+ gtk_layout_get_vadjustment (
+ &((GnomeCanvas *)canvas)->layout))
+ ((GnomeCanvas *)canvas)->zoom_yofs;
- scrollbar_width = popup->vscrollbar->requisition.width
+ widget = gtk_scrolled_window_get_vscrollbar (popup);
+ gtk_widget_get_child_requisition (widget, &requisition);
+
+ scrollbar_width =
+ requisition.width
+ GTK_SCROLLED_WINDOW_CLASS (GTK_OBJECT_GET_CLASS (popup))->scrollbar_spacing;
avail_height = gdk_screen_height () - *y;
@@ -415,19 +441,27 @@ e_cell_combo_get_popup_pos (ECellCombo *ecc,
screen_width = gdk_screen_width ();
avail_width = screen_width - scrollbar_width;
+ widget = gtk_scrolled_window_get_vscrollbar (popup);
+ gtk_widget_get_child_requisition (widget, &requisition);
+
gtk_widget_size_request (ecc->popup_tree_view, &list_requisition);
- min_height = MIN (list_requisition.height,
- popup->vscrollbar->requisition.height);
+ min_height = MIN (list_requisition.height, requisition.height);
if (!gtk_tree_model_iter_n_children (gtk_tree_view_get_model (GTK_TREE_VIEW (ecc->popup_tree_view)), NULL))
list_requisition.height += E_CELL_COMBO_LIST_EMPTY_HEIGHT;
+ popwin_child = gtk_bin_get_child (popwin);
+ popwin_style = gtk_widget_get_style (popwin_child);
+
+ popup_child = gtk_bin_get_child (GTK_BIN (popup));
+ popup_style = gtk_widget_get_style (popup_child);
+
/* Calculate the desired width. */
*width = list_requisition.width
- + 2 * popwin->child->style->xthickness
- + 2 * GTK_CONTAINER (popwin->child)->border_width
- + 2 * GTK_CONTAINER (popup)->border_width
- + 2 * GTK_CONTAINER (GTK_BIN (popup)->child)->border_width
- + 2 * GTK_BIN (popup)->child->style->xthickness;
+ + 2 * popwin_style->xthickness
+ + 2 * gtk_container_get_border_width (GTK_CONTAINER (popwin_child))
+ + 2 * gtk_container_get_border_width (GTK_CONTAINER (popup))
+ + 2 * gtk_container_get_border_width (GTK_CONTAINER (popup_child))
+ + 2 * popup_style->xthickness;
/* Use at least the same width as the column. */
if (*width < column_width)
@@ -441,15 +475,19 @@ e_cell_combo_get_popup_pos (ECellCombo *ecc,
}
/* Calculate all the borders etc. that we need to add to the height. */
- work_height = (2 * popwin->child->style->ythickness
- + 2 * GTK_CONTAINER (popwin->child)->border_width
- + 2 * GTK_CONTAINER (popup)->border_width
- + 2 * GTK_CONTAINER (GTK_BIN (popup)->child)->border_width
- + 2 * GTK_BIN (popup)->child->style->xthickness);
+ work_height = (2 * popwin_style->ythickness
+ + 2 * gtk_container_get_border_width (GTK_CONTAINER (popwin_child))
+ + 2 * gtk_container_get_border_width (GTK_CONTAINER (popup))
+ + 2 * gtk_container_get_border_width (GTK_CONTAINER (popup_child))
+ + 2 * popup_style->xthickness);
+
+ widget = gtk_scrolled_window_get_hscrollbar (popup);
+ gtk_widget_get_child_requisition (widget, &requisition);
/* Add on the height of the horizontal scrollbar if we need it. */
if (show_hscroll)
- work_height += popup->hscrollbar->requisition.height +
+ work_height +=
+ requisition.height +
GTK_SCROLLED_WINDOW_CLASS (GTK_OBJECT_GET_CLASS (popup))->scrollbar_spacing;
/* Check if it fits in the available height. */
@@ -494,11 +532,7 @@ e_cell_combo_selection_changed (GtkTreeSelection *selection, ECellCombo *ecc)
GtkTreeIter iter;
GtkTreeModel *model;
-#if GTK_CHECK_VERSION(2,19,7)
if (!gtk_widget_get_realized (ecc->popup_window) || !gtk_tree_selection_get_selected (selection, &model, &iter))
-#else
- if (!GTK_WIDGET_REALIZED (ecc->popup_window) || !gtk_tree_selection_get_selected (selection, &model, &iter))
-#endif
return;
e_cell_combo_update_cell (ecc);
@@ -526,7 +560,7 @@ e_cell_combo_button_press (GtkWidget *popup_window,
presses outside the application will be reported to this window,
which is why we hide the popup in this case. */
while (event_widget) {
- event_widget = event_widget->parent;
+ event_widget = gtk_widget_get_parent (event_widget);
if (event_widget == ecc->popup_tree_view)
return FALSE;
}
@@ -564,7 +598,7 @@ e_cell_combo_button_release (GtkWidget *popup_window,
/* See if the button was released in the list (or its children). */
while (event_widget && event_widget != ecc->popup_tree_view)
- event_widget = event_widget->parent;
+ event_widget = gtk_widget_get_parent (event_widget);
/* If it wasn't, then we just ignore the event. */
if (event_widget != ecc->popup_tree_view)
@@ -601,11 +635,7 @@ e_cell_combo_key_press (GtkWidget *popup_window,
&& event->keyval != GDK_3270_Enter)
return FALSE;
-#if GTK_CHECK_VERSION(2,19,7)
if (event->keyval == GDK_Escape && (!ecc->popup_window||!gtk_widget_get_visible (ecc->popup_window)))
-#else
- if (event->keyval == GDK_Escape && (!ecc->popup_window||!GTK_WIDGET_VISIBLE (ecc->popup_window)))
-#endif
return FALSE;
gtk_grab_remove (ecc->popup_window);
diff --git a/widgets/table/e-cell-date-edit.c b/widgets/table/e-cell-date-edit.c
index 692614ff14..cab6c816ee 100644
--- a/widgets/table/e-cell-date-edit.c
+++ b/widgets/table/e-cell-date-edit.c
@@ -383,32 +383,16 @@ e_cell_date_edit_get_property (GObject *object,
switch (property_id) {
case PROP_SHOW_TIME:
-#if GTK_CHECK_VERSION(2,19,7)
g_value_set_boolean (value, gtk_widget_get_visible (ecde->time_entry));
-#else
- g_value_set_boolean (value, GTK_WIDGET_VISIBLE (ecde->time_entry));
-#endif
return;
case PROP_SHOW_NOW_BUTTON:
-#if GTK_CHECK_VERSION(2,19,7)
g_value_set_boolean (value, gtk_widget_get_visible (ecde->now_button));
-#else
- g_value_set_boolean (value, GTK_WIDGET_VISIBLE (ecde->now_button));
-#endif
return;
case PROP_SHOW_TODAY_BUTTON:
-#if GTK_CHECK_VERSION(2,19,7)
g_value_set_boolean (value, gtk_widget_get_visible (ecde->today_button));
-#else
- g_value_set_boolean (value, GTK_WIDGET_VISIBLE (ecde->today_button));
-#endif
return;
case PROP_ALLOW_NO_DATE_SET:
-#if GTK_CHECK_VERSION(2,19,7)
g_value_set_boolean (value, gtk_widget_get_visible (ecde->none_button));
-#else
- g_value_set_boolean (value, GTK_WIDGET_VISIBLE (ecde->none_button));
-#endif
return;
case PROP_USE_24_HOUR_FORMAT:
g_value_set_boolean (value, ecde->use_24_hour_format);
@@ -503,6 +487,7 @@ e_cell_date_edit_do_popup (ECellPopup *ecp,
gint view_col)
{
ECellDateEdit *ecde = E_CELL_DATE_EDIT (ecp);
+ GdkWindow *window;
e_cell_date_edit_show_popup (ecde, row, view_col);
e_cell_date_edit_set_popup_values (ecde);
@@ -511,7 +496,8 @@ e_cell_date_edit_do_popup (ECellPopup *ecp,
/* Set the focus to the first widget. */
gtk_widget_grab_focus (ecde->time_entry);
- gdk_window_focus (ecde->popup_window->window, GDK_CURRENT_TIME);
+ window = gtk_widget_get_window (ecde->popup_window);
+ gdk_window_focus (window, GDK_CURRENT_TIME);
return TRUE;
}
@@ -627,6 +613,7 @@ e_cell_date_edit_show_popup (ECellDateEdit *ecde,
gint row,
gint view_col)
{
+ GdkWindow *window;
gint x, y, width, height;
if (ecde->need_time_list_rebuild)
@@ -636,10 +623,11 @@ e_cell_date_edit_show_popup (ECellDateEdit *ecde,
e_cell_date_edit_get_popup_pos (ecde, row, view_col, &x, &y, &height, &width);
+ window = gtk_widget_get_window (ecde->popup_window);
gtk_window_move (GTK_WINDOW (ecde->popup_window), x, y);
gtk_widget_set_size_request (ecde->popup_window, width, height);
gtk_widget_realize (ecde->popup_window);
- gdk_window_resize (ecde->popup_window->window, width, height);
+ gdk_window_resize (window, width, height);
gtk_widget_show (ecde->popup_window);
e_cell_popup_set_shown (E_CELL_POPUP (ecde), TRUE);
@@ -659,10 +647,15 @@ e_cell_date_edit_get_popup_pos (ECellDateEdit *ecde,
ETableItem *eti = E_TABLE_ITEM (ecp->popup_cell_view->cell_view.e_table_item_view);
GtkWidget *canvas = GTK_WIDGET (GNOME_CANVAS_ITEM (eti)->canvas);
GtkRequisition popup_requisition;
+ GtkAdjustment *adjustment;
+ GtkLayout *layout;
+ GdkWindow *window;
gint avail_height, screen_width, column_width, row_height;
gdouble x1, y1, wx, wy;
+ gint value;
- gdk_window_get_origin (canvas->window, x, y);
+ window = gtk_widget_get_window (canvas);
+ gdk_window_get_origin (window, x, y);
x1 = e_table_header_col_diff (eti->header, 0, view_col + 1);
y1 = e_table_item_row_diff (eti, 0, row + 1);
@@ -684,9 +677,10 @@ e_cell_date_edit_get_popup_pos (ECellDateEdit *ecde,
*x += x1;
/* The ETable positions don't include the grid lines, I think, so we
add 1. */
- *y += y1 + 1
- - (gint)((GnomeCanvas *)canvas)->layout.vadjustment->value
- + ((GnomeCanvas *)canvas)->zoom_yofs;
+ layout = &GNOME_CANVAS (canvas)->layout;
+ adjustment = gtk_layout_get_vadjustment (layout);
+ value = (gint) gtk_adjustment_get_value (adjustment);
+ *y += y1 + 1 - value + ((GnomeCanvas *)canvas)->zoom_yofs;
avail_height = gdk_screen_height () - *y;
diff --git a/widgets/table/e-cell-pixbuf.c b/widgets/table/e-cell-pixbuf.c
index eb7b1330c3..1d536026fc 100644
--- a/widgets/table/e-cell-pixbuf.c
+++ b/widgets/table/e-cell-pixbuf.c
@@ -354,22 +354,22 @@ e_cell_pixbuf_class_init (ECellPixbufClass *klass)
g_object_class_install_property (object_class, PROP_SELECTED_COLUMN,
g_param_spec_int ("selected_column",
- _("Selected Column"),
- /*_( */"XXX blurb" /*)*/,
+ "Selected Column",
+ NULL,
0, G_MAXINT, 0,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_FOCUSED_COLUMN,
g_param_spec_int ("focused_column",
- _("Focused Column"),
- /*_( */"XXX blurb" /*)*/,
+ "Focused Column",
+ NULL,
0, G_MAXINT, 0,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_UNSELECTED_COLUMN,
g_param_spec_int ("unselected_column",
- _("Unselected Column"),
- /*_( */"XXX blurb" /*)*/,
+ "Unselected Column",
+ NULL,
0, G_MAXINT, 0,
G_PARAM_READWRITE));
}
diff --git a/widgets/table/e-cell-popup.c b/widgets/table/e-cell-popup.c
index 6deb4c46a9..32de41ecb4 100644
--- a/widgets/table/e-cell-popup.c
+++ b/widgets/table/e-cell-popup.c
@@ -277,6 +277,8 @@ ecp_draw (ECellView *ecv, GdkDrawable *drawable,
ecp->popup_arrow_shown = show_popup_arrow;
if (show_popup_arrow) {
+ GtkStyle *style;
+
e_cell_draw (ecp_view->child_view, drawable, model_col,
view_col, row, flags,
x1, y1, x2 - E_CELL_POPUP_ARROW_WIDTH, y2);
@@ -291,11 +293,13 @@ ecp_draw (ECellView *ecv, GdkDrawable *drawable,
else
shadow = GTK_SHADOW_OUT;
- gtk_paint_box (canvas->style, drawable,
+ style = gtk_widget_get_style (canvas);
+
+ gtk_paint_box (style, drawable,
GTK_STATE_NORMAL, shadow,
&rect, canvas, "ecellpopup",
rect.x, rect.y, rect.width, rect.height);
- gtk_paint_arrow (canvas->style, drawable,
+ gtk_paint_arrow (style, drawable,
GTK_STATE_NORMAL, GTK_SHADOW_NONE,
&rect, canvas, NULL,
GTK_ARROW_DOWN, TRUE,
diff --git a/widgets/table/e-cell-text.c b/widgets/table/e-cell-text.c
index f0509e4590..077357c5d6 100644
--- a/widgets/table/e-cell-text.c
+++ b/widgets/table/e-cell-text.c
@@ -274,6 +274,7 @@ ect_queue_redraw (ECellTextView *text_view, gint view_col, gint view_row)
static void
ect_stop_editing (ECellTextView *text_view, gboolean commit)
{
+ GdkWindow *window;
CellEdit *edit = text_view->edit;
gint row, view_col, model_col;
gchar *old_text, *text;
@@ -281,6 +282,8 @@ ect_stop_editing (ECellTextView *text_view, gboolean commit)
if (!edit)
return;
+ window = gtk_widget_get_window (GTK_WIDGET (text_view->canvas));
+
row = edit->row;
view_col = edit->view_col;
model_col = edit->model_col;
@@ -290,7 +293,7 @@ ect_stop_editing (ECellTextView *text_view, gboolean commit)
if (edit->tep)
g_object_unref (edit->tep);
if (!edit->default_cursor_shown) {
- gdk_window_set_cursor (GTK_WIDGET(text_view->canvas)->window, NULL);
+ gdk_window_set_cursor (window, NULL);
edit->default_cursor_shown = TRUE;
}
if (edit->timeout_id) {
@@ -389,8 +392,10 @@ static void
ect_realize (ECellView *ecell_view)
{
ECellTextView *text_view = (ECellTextView *) ecell_view;
+ GdkWindow *window;
- text_view->gc = gdk_gc_new (GTK_WIDGET (text_view->canvas)->window);
+ window = gtk_widget_get_window (GTK_WIDGET (text_view->canvas));
+ text_view->gc = gdk_gc_new (window);
text_view->i_cursor = gdk_cursor_new (GDK_XTERM);
@@ -608,7 +613,7 @@ build_layout (ECellTextView *text_view, gint row, const gchar *text, gint width)
}
pango_layout_set_width (layout, width * PANGO_SCALE);
- pango_layout_set_wrap (layout, PANGO_WRAP_CHAR);
+ pango_layout_set_wrap (layout, PANGO_WRAP_WORD_CHAR);
pango_layout_set_ellipsize (layout, PANGO_ELLIPSIZE_END);
pango_layout_set_height (layout, 0);
@@ -730,21 +735,20 @@ ect_draw (ECellView *ecell_view, GdkDrawable *drawable,
GdkColor *foreground;
GtkWidget *canvas = GTK_WIDGET (text_view->canvas);
GdkRectangle clip_rect;
+ GtkStyle *style;
gint x_origin, y_origin, vspacing;
+ style = gtk_widget_get_style (canvas);
+
selected = flags & E_CELL_SELECTED;
if (selected) {
-#if GTK_CHECK_VERSION(2,19,7)
if (gtk_widget_has_focus (canvas))
-#else
- if (GTK_WIDGET_HAS_FOCUS (canvas))
-#endif
- foreground = &canvas->style->fg [GTK_STATE_SELECTED];
+ foreground = &style->fg[GTK_STATE_SELECTED];
else
- foreground = &canvas->style->fg [GTK_STATE_ACTIVE];
+ foreground = &style->fg[GTK_STATE_ACTIVE];
} else {
- foreground = &canvas->style->text [GTK_STATE_NORMAL];
+ foreground = &style->text[GTK_STATE_NORMAL];
if (ect->color_column != -1) {
gchar *color_spec;
@@ -805,11 +809,11 @@ ect_draw (ECellView *ecell_view, GdkDrawable *drawable,
end_index = edit->selection_start ^ edit->selection_end ^ start_index;
if (edit->has_selection) {
- selection_gc = canvas->style->base_gc [GTK_STATE_SELECTED];
- text_gc = canvas->style->text_gc[GTK_STATE_SELECTED];
+ selection_gc = style->base_gc[GTK_STATE_SELECTED];
+ text_gc = style->text_gc[GTK_STATE_SELECTED];
} else {
- selection_gc = canvas->style->base_gc [GTK_STATE_ACTIVE];
- text_gc = canvas->style->text_gc[GTK_STATE_ACTIVE];
+ selection_gc = style->base_gc [GTK_STATE_ACTIVE];
+ text_gc = style->text_gc[GTK_STATE_ACTIVE];
}
gdk_gc_set_clip_rectangle (selection_gc, &clip_rect);
@@ -1126,7 +1130,10 @@ ect_event (ECellView *ecell_view, GdkEvent *event, gint model_col, gint view_col
#endif
if (edit_display) {
if (edit->default_cursor_shown) {
- gdk_window_set_cursor (canvas->window, text_view->i_cursor);
+ GdkWindow *window;
+
+ window = gtk_widget_get_window (canvas);
+ gdk_window_set_cursor (window, text_view->i_cursor);
edit->default_cursor_shown = FALSE;
}
}
@@ -1137,7 +1144,10 @@ ect_event (ECellView *ecell_view, GdkEvent *event, gint model_col, gint view_col
#endif
if (edit_display) {
if (!edit->default_cursor_shown) {
- gdk_window_set_cursor (canvas->window, NULL);
+ GdkWindow *window;
+
+ window = gtk_widget_get_window (canvas);
+ gdk_window_set_cursor (window, NULL);
edit->default_cursor_shown = TRUE;
}
}
@@ -1334,6 +1344,7 @@ ect_print (ECellView *ecell_view, GtkPrintContext *context,
ECellText *ect = E_CELL_TEXT(ecell_view->ecell);
ECellTextView *ectView = (ECellTextView *)ecell_view;
GtkWidget *canvas = GTK_WIDGET(ectView->canvas);
+ GtkStyle *style;
PangoDirection dir;
gboolean strikeout, underline;
cairo_t *cr;
@@ -1345,7 +1356,7 @@ ect_print (ECellView *ecell_view, GtkPrintContext *context,
cairo_save (cr);
layout = gtk_print_context_create_pango_layout (context);
- font_des = pango_font_description_from_string ("sans 12"); /* fix me font hardcoded */
+ font_des = pango_font_description_from_string ("sans 10"); /* fix me font hardcoded */
pango_layout_set_font_description (layout, font_des);
pango_layout_set_text (layout, string, -1);
@@ -1355,12 +1366,14 @@ ect_print (ECellView *ecell_view, GtkPrintContext *context,
cairo_rectangle (cr, 2, 2, width + 2, height + 2);
cairo_clip(cr);
+ style = gtk_widget_get_style (canvas);
pango_context = gtk_widget_get_pango_context (canvas);
- font_metrics = pango_context_get_metrics (pango_context,
- canvas->style->font_desc, pango_context_get_language(pango_context));
- ty = (gdouble)(text_height
- - pango_font_metrics_get_ascent (font_metrics)
- - pango_font_metrics_get_descent (font_metrics)) / 2.0 /(gdouble)PANGO_SCALE;
+ font_metrics = pango_context_get_metrics (
+ pango_context, style->font_desc,
+ pango_context_get_language(pango_context));
+ ty = (gdouble)(text_height -
+ pango_font_metrics_get_ascent (font_metrics) -
+ pango_font_metrics_get_descent (font_metrics)) / 2.0 /(gdouble)PANGO_SCALE;
strikeout = ect->strikeout_column >= 0 && row >= 0 &&
e_table_model_value_at (ecell_view->e_table_model, ect->strikeout_column, row);
@@ -1402,6 +1415,7 @@ ect_print (ECellView *ecell_view, GtkPrintContext *context,
cairo_move_to(cr, 2, text_height- 5);
pango_layout_set_width (layout, (width - 4)*PANGO_SCALE);
+ pango_layout_set_wrap (layout, PANGO_WRAP_CHAR);
pango_cairo_show_layout(cr, layout);
cairo_restore (cr);
@@ -1422,7 +1436,27 @@ ect_print_height (ECellView *ecell_view, GtkPrintContext *context,
* Height of some special font is much higher than others,
* such as Arabic. So leave some more margin for cell.
*/
- return 16 + 8;
+ PangoFontDescription *font_des;
+ PangoLayout *layout;
+ ECellText *ect = E_CELL_TEXT(ecell_view->ecell);
+ gchar *string;
+ gdouble text_width = 0.0, text_height = 0.0;
+ gint lines=1;
+
+ string = e_cell_text_get_text(ect, ecell_view->e_table_model, model_col, row);
+
+ layout = gtk_print_context_create_pango_layout (context);
+ font_des = pango_font_description_from_string ("sans 10"); /* fix me font hardcoded */
+ pango_layout_set_font_description (layout, font_des);
+
+ pango_layout_set_text (layout, string, -1);
+ get_font_size (layout, font_des, string, &text_width, &text_height);
+ /* Checking if the text width goes beyond the column width to increase the
+ * number of lines.
+ */
+ if ( text_width > width-4)
+ lines = (text_width / (width-4)) + 1;
+ return 16*lines + 8;
}
static gint
@@ -1628,43 +1662,43 @@ e_cell_text_class_init (ECellTextClass *klass)
g_object_class_install_property (object_class, PROP_STRIKEOUT_COLUMN,
g_param_spec_int ("strikeout_column",
- _("Strikeout Column"),
- /*_( */"XXX blurb" /*)*/,
+ "Strikeout Column",
+ NULL,
-1, G_MAXINT, -1,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_UNDERLINE_COLUMN,
g_param_spec_int ("underline_column",
- _("Underline Column"),
- /*_( */"XXX blurb" /*)*/,
+ "Underline Column",
+ NULL,
-1, G_MAXINT, -1,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_BOLD_COLUMN,
g_param_spec_int ("bold_column",
- _("Bold Column"),
- /*_( */"XXX blurb" /*)*/,
+ "Bold Column",
+ NULL,
-1, G_MAXINT, -1,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_COLOR_COLUMN,
g_param_spec_int ("color_column",
- _("Color Column"),
- /*_( */"XXX blurb" /*)*/,
+ "Color Column",
+ NULL,
-1, G_MAXINT, -1,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_EDITABLE,
g_param_spec_boolean ("editable",
- _("Editable"),
- /*_( */"XXX blurb" /*)*/,
+ "Editable",
+ NULL,
FALSE,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_BG_COLOR_COLUMN,
g_param_spec_int ("bg_color_column",
- _("BG Color Column"),
- /*_( */"XXX blurb" /*)*/,
+ "BG Color Column",
+ NULL,
-1, G_MAXINT, -1,
G_PARAM_READWRITE));
diff --git a/widgets/table/e-cell-toggle.c b/widgets/table/e-cell-toggle.c
index 5f7cc66321..08a9d8dcc3 100644
--- a/widgets/table/e-cell-toggle.c
+++ b/widgets/table/e-cell-toggle.c
@@ -173,8 +173,10 @@ static void
cell_toggle_realize (ECellView *ecell_view)
{
ECellToggleView *toggle_view = (ECellToggleView *) ecell_view;
+ GdkWindow *window;
- toggle_view->gc = gdk_gc_new (GTK_WIDGET (toggle_view->canvas)->window);
+ window = gtk_widget_get_window (GTK_WIDGET (toggle_view->canvas));
+ toggle_view->gc = gdk_gc_new (window);
}
static void
diff --git a/widgets/table/e-cell-tree.c b/widgets/table/e-cell-tree.c
index 8a8017e2e7..b5506af13b 100644
--- a/widgets/table/e-cell-tree.c
+++ b/widgets/table/e-cell-tree.c
@@ -169,11 +169,13 @@ static void
ect_realize (ECellView *ecell_view)
{
ECellTreeView *tree_view = (ECellTreeView *) ecell_view;
+ GdkWindow *window;
/* realize our subcell view */
e_cell_realize (tree_view->subcell_view);
- tree_view->gc = gdk_gc_new (GTK_WIDGET (tree_view->canvas)->window);
+ window = gtk_widget_get_window (GTK_WIDGET (tree_view->canvas));
+ tree_view->gc = gdk_gc_new (window);
gdk_gc_set_line_attributes (tree_view->gc, 1,
GDK_LINE_ON_OFF_DASH,
@@ -229,11 +231,19 @@ draw_retro_expander (ECellTreeView *ectv, GdkDrawable *drawable, gboolean expand
static void
draw_expander (ECellTreeView *ectv, GdkDrawable *drawable, GtkExpanderStyle expander_style, GtkStateType state, GdkRectangle *rect)
{
- GtkWidget *tree = GTK_WIDGET (ectv->canvas)->parent;
+ GtkStyle *style;
+ GtkWidget *tree;
gint exp_size;
+
+ tree = gtk_widget_get_parent (GTK_WIDGET (ectv->canvas));
+ style = gtk_widget_get_style (tree);
+
gtk_widget_style_get (tree, "expander_size", &exp_size, NULL);
- gtk_paint_expander (tree->style, drawable, state, rect, tree, "treeview", rect->x + rect->width - exp_size / 2, rect->y + rect->height / 2, expander_style);
+ gtk_paint_expander (
+ style, drawable, state, rect, tree, "treeview",
+ rect->x + rect->width - exp_size / 2,
+ rect->y + rect->height / 2, expander_style);
}
/*
@@ -250,12 +260,16 @@ ect_draw (ECellView *ecell_view, GdkDrawable *drawable,
ETreePath node;
GdkRectangle rect, *clip_rect = NULL;
GtkWidget *canvas = GTK_WIDGET (tree_view->canvas);
- GdkGC *fg_gc = canvas->style->fg_gc[GTK_STATE_ACTIVE];
+ GtkStyle *style;
+ GdkGC *fg_gc;
GdkColor *foreground;
gboolean selected;
gint offset, subcell_offset;
+ style = gtk_widget_get_style (canvas);
+ fg_gc = style->fg_gc[GTK_STATE_ACTIVE];
+
selected = flags & E_CELL_SELECTED;
/* only draw the tree effects if we're the active sort */
@@ -263,7 +277,9 @@ ect_draw (ECellView *ecell_view, GdkDrawable *drawable,
GdkPixbuf *node_image;
gint node_image_width = 0, node_image_height = 0;
ETreePath parent_node;
- ETree *tree = E_TREE (canvas->parent);
+ ETree *tree;
+
+ tree = E_TREE (gtk_widget_get_parent (canvas));
gtk_widget_style_get (GTK_WIDGET (tree),
"retro_look", &tree_view->retro_look,
@@ -295,9 +311,9 @@ ect_draw (ECellView *ecell_view, GdkDrawable *drawable,
clip_rect = &rect;
if (selected) {
- foreground = &canvas->style->text [GTK_STATE_SELECTED];
+ foreground = &style->text [GTK_STATE_SELECTED];
} else {
- foreground = &canvas->style->text [GTK_STATE_NORMAL];
+ foreground = &style->text [GTK_STATE_NORMAL];
}
gdk_gc_set_foreground (tree_view->gc, foreground);
@@ -445,6 +461,8 @@ typedef struct {
static gboolean
animate_expander (gpointer data)
{
+ GtkLayout *layout;
+ GdkWindow *window;
animate_closure_t *closure = (animate_closure_t *) data;
if (closure->finish) {
@@ -454,9 +472,14 @@ animate_expander (gpointer data)
return FALSE;
}
- draw_expander (closure->ectv, GTK_LAYOUT (closure->ectv->canvas)->bin_window,
- closure->expanded ? GTK_EXPANDER_SEMI_COLLAPSED : GTK_EXPANDER_SEMI_EXPANDED,
- GTK_STATE_NORMAL, &closure->area);
+ layout = GTK_LAYOUT (closure->ectv->canvas);
+ window = gtk_layout_get_bin_window (layout);
+
+ draw_expander (
+ closure->ectv, window, closure->expanded ?
+ GTK_EXPANDER_SEMI_COLLAPSED :
+ GTK_EXPANDER_SEMI_EXPANDED,
+ GTK_STATE_NORMAL, &closure->area);
closure->finish = TRUE;
return TRUE;
@@ -468,6 +491,8 @@ animate_expander (gpointer data)
static gint
ect_event (ECellView *ecell_view, GdkEvent *event, gint model_col, gint view_col, gint row, ECellFlags flags, ECellActions *actions)
{
+ GtkLayout *layout;
+ GdkWindow *window;
ECellTreeView *tree_view = (ECellTreeView *) ecell_view;
ETreeModel *tree_model = e_cell_tree_get_tree_model (ecell_view->e_table_model, row);
ETreeTableAdapter *etta = e_cell_tree_get_tree_table_adapter(ecell_view->e_table_model, row);
@@ -475,6 +500,9 @@ ect_event (ECellView *ecell_view, GdkEvent *event, gint model_col, gint view_col
gint offset = offset_of_node (ecell_view->e_table_model, row);
gint result;
+ layout = GTK_LAYOUT (tree_view->canvas);
+ window = gtk_layout_get_bin_window (layout);
+
switch (event->type) {
case GDK_BUTTON_PRESS:
@@ -497,9 +525,11 @@ ect_event (ECellView *ecell_view, GdkEvent *event, gint model_col, gint view_col
if (hgt != area.height) /* Composite cells */
area.height += hgt;
- draw_expander (tree_view, GTK_LAYOUT (tree_view->canvas)->bin_window,
- expanded ? GTK_EXPANDER_SEMI_EXPANDED : GTK_EXPANDER_SEMI_COLLAPSED,
- GTK_STATE_NORMAL, &area);
+ draw_expander (
+ tree_view, window, expanded ?
+ GTK_EXPANDER_SEMI_EXPANDED :
+ GTK_EXPANDER_SEMI_COLLAPSED,
+ GTK_STATE_NORMAL, &area);
closure->ectv = tree_view;
closure->etta = etta;
closure->node = node;
@@ -526,9 +556,11 @@ ect_event (ECellView *ecell_view, GdkEvent *event, gint model_col, gint view_col
e_table_item_get_cell_geometry (tree_view->cell_view.e_table_item_view,
&tmp_row, &view_col, &area.x, &area.y, NULL, &area.height);
area.width = offset - 2;
- draw_expander (tree_view, GTK_LAYOUT (tree_view->canvas)->bin_window,
- e_tree_table_adapter_node_is_expanded (etta, node) ? GTK_EXPANDER_EXPANDED : GTK_EXPANDER_COLLAPSED,
- in_expander ? GTK_STATE_PRELIGHT : GTK_STATE_NORMAL, &area);
+ draw_expander (
+ tree_view, window,
+ e_tree_table_adapter_node_is_expanded (etta, node) ?
+ GTK_EXPANDER_EXPANDED : GTK_EXPANDER_COLLAPSED,
+ in_expander ? GTK_STATE_PRELIGHT : GTK_STATE_NORMAL, &area);
tree_view->prelit = in_expander;
return TRUE;
}
@@ -544,9 +576,11 @@ ect_event (ECellView *ecell_view, GdkEvent *event, gint model_col, gint view_col
e_table_item_get_cell_geometry (tree_view->cell_view.e_table_item_view,
&tmp_row, &view_col, &area.x, &area.y, NULL, &area.height);
area.width = offset - 2;
- draw_expander (tree_view, GTK_LAYOUT (tree_view->canvas)->bin_window,
- e_tree_table_adapter_node_is_expanded (etta, node) ? GTK_EXPANDER_EXPANDED : GTK_EXPANDER_COLLAPSED,
- GTK_STATE_NORMAL, &area);
+ draw_expander (
+ tree_view, window,
+ e_tree_table_adapter_node_is_expanded (etta, node) ?
+ GTK_EXPANDER_EXPANDED : GTK_EXPANDER_COLLAPSED,
+ GTK_STATE_NORMAL, &area);
tree_view->prelit = FALSE;
}
return TRUE;
diff --git a/widgets/table/e-table-click-to-add.c b/widgets/table/e-table-click-to-add.c
index 944e1dd268..e50d0f4274 100644
--- a/widgets/table/e-table-click-to-add.c
+++ b/widgets/table/e-table-click-to-add.c
@@ -73,21 +73,24 @@ etcta_cursor_change (GtkObject *object, gint row, gint col, ETableClickToAdd *et
static void
etcta_style_set (ETableClickToAdd *etcta, GtkStyle *previous_style)
{
- GtkWidget *widget = GTK_WIDGET(GNOME_CANVAS_ITEM(etcta)->canvas);
+ GtkWidget *widget;
+ GtkStyle *style;
- if (etcta->rect) {
- gnome_canvas_item_set (etcta->rect,
- "outline_color_gdk", &widget->style->fg[GTK_STATE_NORMAL],
- "fill_color_gdk", &widget->style->bg[GTK_STATE_NORMAL],
- NULL );
+ widget = GTK_WIDGET (GNOME_CANVAS_ITEM (etcta)->canvas);
+ style = gtk_widget_get_style (widget);
- }
+ if (etcta->rect)
+ gnome_canvas_item_set (
+ etcta->rect,
+ "outline_color_gdk", &style->fg[GTK_STATE_NORMAL],
+ "fill_color_gdk", &style->bg[GTK_STATE_NORMAL],
+ NULL);
if (etcta->text)
- gnome_canvas_item_set (etcta->text,
- "fill_color_gdk", &widget->style->text[GTK_STATE_NORMAL],
- NULL);
-
+ gnome_canvas_item_set (
+ etcta->text,
+ "fill_color_gdk", &style->text[GTK_STATE_NORMAL],
+ NULL);
}
static void
@@ -237,28 +240,34 @@ etcta_set_property (GObject *object,
static void
create_rect_and_text (ETableClickToAdd *etcta)
{
- GtkWidget *widget = GTK_WIDGET (GNOME_CANVAS_ITEM(etcta)->canvas);
+ GtkWidget *widget;
+ GtkStyle *style;
+
+ widget = GTK_WIDGET (GNOME_CANVAS_ITEM (etcta)->canvas);
+ style = gtk_widget_get_style (widget);
if (!etcta->rect)
- etcta->rect = gnome_canvas_item_new(GNOME_CANVAS_GROUP(etcta),
- gnome_canvas_rect_get_type(),
- "x1", (gdouble) 0,
- "y1", (gdouble) 0,
- "x2", (gdouble) etcta->width - 1,
- "y2", (gdouble) etcta->height - 1,
- "outline_color_gdk", &widget->style->fg[GTK_STATE_NORMAL],
- "fill_color_gdk", &widget->style->bg[GTK_STATE_NORMAL],
- NULL);
+ etcta->rect = gnome_canvas_item_new (
+ GNOME_CANVAS_GROUP (etcta),
+ gnome_canvas_rect_get_type (),
+ "x1", (gdouble) 0,
+ "y1", (gdouble) 0,
+ "x2", (gdouble) etcta->width - 1,
+ "y2", (gdouble) etcta->height - 1,
+ "outline_color_gdk", &style->fg[GTK_STATE_NORMAL],
+ "fill_color_gdk", &style->bg[GTK_STATE_NORMAL],
+ NULL);
if (!etcta->text)
- etcta->text = gnome_canvas_item_new(GNOME_CANVAS_GROUP(etcta),
- e_text_get_type(),
- "text", etcta->message ? etcta->message : "",
- "anchor", GTK_ANCHOR_NW,
- "width", etcta->width - 4,
- "draw_background", FALSE,
- "fill_color_gdk", &widget->style->text[GTK_STATE_NORMAL],
- NULL);
+ etcta->text = gnome_canvas_item_new (
+ GNOME_CANVAS_GROUP (etcta),
+ e_text_get_type (),
+ "text", etcta->message ? etcta->message : "",
+ "anchor", GTK_ANCHOR_NW,
+ "width", etcta->width - 4,
+ "draw_background", FALSE,
+ "fill_color_gdk", &style->text[GTK_STATE_NORMAL],
+ NULL);
}
static void
@@ -501,36 +510,36 @@ etcta_class_init (ETableClickToAddClass *klass)
g_object_class_install_property (object_class, PROP_HEADER,
g_param_spec_object ("header",
- _("Header"),
- /*_( */"XXX blurb" /*)*/,
+ "Header",
+ NULL,
E_TABLE_HEADER_TYPE,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_MODEL,
g_param_spec_object ("model",
- _("Model"),
- /*_( */"XXX blurb" /*)*/,
+ "Model",
+ NULL,
E_TABLE_MODEL_TYPE,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_MESSAGE,
g_param_spec_string ("message",
- _("Message"),
- /*_( */"XXX blurb" /*)*/,
+ "Message",
+ NULL,
NULL,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_WIDTH,
g_param_spec_double ("width",
- _("Width"),
- /*_( */"XXX blurb" /*)*/,
+ "Width",
+ NULL,
0.0, G_MAXDOUBLE, 0.0,
G_PARAM_READWRITE | G_PARAM_LAX_VALIDATION));
g_object_class_install_property (object_class, PROP_HEIGHT,
g_param_spec_double ("height",
- _("Height"),
- /*_( */"XXX blurb" /*)*/,
+ "Height",
+ NULL,
0.0, G_MAXDOUBLE, 0.0,
G_PARAM_READABLE | G_PARAM_LAX_VALIDATION));
diff --git a/widgets/table/e-table-col.c b/widgets/table/e-table-col.c
index cd96441b63..974ead48c1 100644
--- a/widgets/table/e-table-col.c
+++ b/widgets/table/e-table-col.c
@@ -118,7 +118,7 @@ e_table_col_class_init (ETableColClass *klass)
g_object_class_install_property (object_class, PROP_COMPARE_COL,
g_param_spec_int ("compare_col",
- _( "Width" ),
+ "Width",
"Width",
0, G_MAXINT, 0,
G_PARAM_READWRITE));
diff --git a/widgets/table/e-table-config.c b/widgets/table/e-table-config.c
index f87b316dd0..736473a81c 100644
--- a/widgets/table/e-table-config.c
+++ b/widgets/table/e-table-config.c
@@ -147,8 +147,8 @@ e_table_config_class_init (ETableConfigClass *klass)
g_object_class_install_property (object_class, PROP_STATE,
g_param_spec_object ("state",
- _("State"),
- /*_( */"XXX blurb" /*)*/,
+ "State",
+ NULL,
E_TABLE_STATE_TYPE,
G_PARAM_READABLE));
}
@@ -549,18 +549,27 @@ do_sort_and_group_config_dialog (ETableConfig *config, gboolean is_sort)
static void
do_fields_config_dialog (ETableConfig *config)
{
+ GtkDialog *dialog;
+ GtkWidget *widget;
gint response, running = 1;
+ dialog = GTK_DIALOG (config->dialog_show_fields);
+
gtk_widget_ensure_style (config->dialog_show_fields);
- gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (config->dialog_show_fields)->vbox), 0);
- gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (config->dialog_show_fields)->action_area), 12);
+
+ widget = gtk_dialog_get_content_area (dialog);
+ gtk_container_set_border_width (GTK_CONTAINER (widget), 0);
+
+ widget = gtk_dialog_get_action_area (dialog);
+ gtk_container_set_border_width (GTK_CONTAINER (widget), 12);
config->temp_state = e_table_state_duplicate (config->state);
setup_fields (config);
- gtk_window_set_transient_for (GTK_WINDOW (config->dialog_show_fields),
- GTK_WINDOW (config->dialog_toplevel));
+ gtk_window_set_transient_for (
+ GTK_WINDOW (config->dialog_show_fields),
+ GTK_WINDOW (config->dialog_toplevel));
do {
response = gtk_dialog_run (GTK_DIALOG(config->dialog_show_fields));
@@ -759,6 +768,7 @@ sort_combo_changed (GtkComboBox *combo_box, ETableConfigSortWidgets *sort)
ETableConfig *config = sort->e_table_config;
ETableSortInfo *sort_info = config->temp_state->sort_info;
ETableConfigSortWidgets *base = &config->sort[0];
+ GtkToggleButton *toggle_button;
gint idx = sort - base;
gchar *s;
@@ -775,8 +785,9 @@ sort_combo_changed (GtkComboBox *combo_box, ETableConfigSortWidgets *sort)
return;
}
- c.ascending = GTK_TOGGLE_BUTTON (
- config->sort [idx].radio_ascending)->active;
+ toggle_button = GTK_TOGGLE_BUTTON (
+ config->sort[idx].radio_ascending);
+ c.ascending = gtk_toggle_button_get_active (toggle_button);
c.column = col;
e_table_sort_info_sorting_set_nth (sort_info, idx, c);
@@ -799,7 +810,7 @@ sort_ascending_toggled (GtkToggleButton *t, ETableConfigSortWidgets *sort)
ETableSortColumn c;
c = e_table_sort_info_sorting_get_nth (si, idx);
- c.ascending = t->active;
+ c.ascending = gtk_toggle_button_get_active (t);
e_table_sort_info_sorting_set_nth (si, idx, c);
}
@@ -877,6 +888,7 @@ group_combo_changed (GtkComboBox *combo_box, ETableConfigSortWidgets *group)
s = configure_combo_box_get_active (combo_box);
if (s != NULL) {
+ GtkToggleButton *toggle_button;
ETableSortColumn c;
gint col;
@@ -887,8 +899,9 @@ group_combo_changed (GtkComboBox *combo_box, ETableConfigSortWidgets *group)
return;
}
- c.ascending = GTK_TOGGLE_BUTTON (
- config->group [idx].radio_ascending)->active;
+ toggle_button = GTK_TOGGLE_BUTTON (
+ config->group[idx].radio_ascending);
+ c.ascending = gtk_toggle_button_get_active (toggle_button);
c.column = col;
e_table_sort_info_grouping_set_nth (sort_info, idx, c);
@@ -911,7 +924,7 @@ group_ascending_toggled (GtkToggleButton *t, ETableConfigSortWidgets *group)
ETableSortColumn c;
c = e_table_sort_info_grouping_get_nth (si, idx);
- c.ascending = t->active;
+ c.ascending = gtk_toggle_button_get_active (t);
e_table_sort_info_grouping_set_nth (si, idx, c);
}
@@ -1324,15 +1337,23 @@ e_table_config_new (const gchar *header,
GtkWindow *parent_window)
{
ETableConfig *config = g_object_new (E_TABLE_CONFIG_TYPE, NULL);
+ GtkDialog *dialog;
+ GtkWidget *widget;
if (e_table_config_construct (config, header, spec, state, parent_window) == NULL) {
g_object_unref (config);
return NULL;
}
+ dialog = GTK_DIALOG (config->dialog_toplevel);
+
gtk_widget_ensure_style (config->dialog_toplevel);
- gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (config->dialog_toplevel)->vbox), 0);
- gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (config->dialog_toplevel)->action_area), 12);
+
+ widget = gtk_dialog_get_content_area (dialog);
+ gtk_container_set_border_width (GTK_CONTAINER (widget), 0);
+
+ widget = gtk_dialog_get_action_area (dialog);
+ gtk_container_set_border_width (GTK_CONTAINER (widget), 12);
gtk_dialog_set_response_sensitive (GTK_DIALOG (config->dialog_toplevel),
GTK_RESPONSE_APPLY, FALSE);
@@ -1350,6 +1371,9 @@ e_table_config_new (const gchar *header,
void
e_table_config_raise (ETableConfig *config)
{
- gdk_window_raise (GTK_WIDGET (config->dialog_toplevel)->window);
+ GdkWindow *window;
+
+ window = gtk_widget_get_window (GTK_WIDGET (config->dialog_toplevel));
+ gdk_window_raise (window);
}
diff --git a/widgets/table/e-table-field-chooser-dialog.c b/widgets/table/e-table-field-chooser-dialog.c
index 74bbe827ac..c05506d953 100644
--- a/widgets/table/e-table-field-chooser-dialog.c
+++ b/widgets/table/e-table-field-chooser-dialog.c
@@ -63,21 +63,21 @@ e_table_field_chooser_dialog_class_init (ETableFieldChooserDialogClass *klass)
g_object_class_install_property (object_class, PROP_DND_CODE,
g_param_spec_string ("dnd_code",
"DnD code",
- /*_( */"XXX blurb" /*)*/,
+ NULL,
NULL,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_FULL_HEADER,
g_param_spec_object ("full_header",
"Full Header",
- /*_( */"XXX blurb" /*)*/,
+ NULL,
E_TABLE_HEADER_TYPE,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_HEADER,
g_param_spec_object ("header",
"Header",
- /*_( */"XXX blurb" /*)*/,
+ NULL,
E_TABLE_HEADER_TYPE,
G_PARAM_READWRITE));
}
@@ -85,17 +85,20 @@ e_table_field_chooser_dialog_class_init (ETableFieldChooserDialogClass *klass)
static void
e_table_field_chooser_dialog_init (ETableFieldChooserDialog *e_table_field_chooser_dialog)
{
+ GtkDialog *dialog;
+ GtkWidget *content_area;
GtkWidget *widget;
+ dialog = GTK_DIALOG (e_table_field_chooser_dialog);
+
e_table_field_chooser_dialog->etfc = NULL;
e_table_field_chooser_dialog->dnd_code = g_strdup("");
e_table_field_chooser_dialog->full_header = NULL;
e_table_field_chooser_dialog->header = NULL;
- gtk_dialog_add_button(GTK_DIALOG(e_table_field_chooser_dialog),
- GTK_STOCK_CLOSE, GTK_RESPONSE_OK);
+ gtk_dialog_add_button (dialog, GTK_STOCK_CLOSE, GTK_RESPONSE_OK);
- gtk_window_set_resizable(GTK_WINDOW(e_table_field_chooser_dialog), TRUE);
+ gtk_window_set_resizable (GTK_WINDOW (dialog), TRUE);
widget = e_table_field_chooser_new();
e_table_field_chooser_dialog->etfc = E_TABLE_FIELD_CHOOSER(widget);
@@ -106,12 +109,12 @@ e_table_field_chooser_dialog_init (ETableFieldChooserDialog *e_table_field_choos
"header", e_table_field_chooser_dialog->header,
NULL);
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(e_table_field_chooser_dialog)->vbox),
- widget, TRUE, TRUE, 0);
+ content_area = gtk_dialog_get_content_area (dialog);
+ gtk_box_pack_start (GTK_BOX (content_area), widget, TRUE, TRUE, 0);
- gtk_widget_show(GTK_WIDGET(widget));
+ gtk_widget_show (GTK_WIDGET(widget));
- gtk_window_set_title (GTK_WINDOW (e_table_field_chooser_dialog), _("Add a Column"));
+ gtk_window_set_title (GTK_WINDOW (dialog), _("Add a Column"));
}
GtkWidget*
diff --git a/widgets/table/e-table-field-chooser-item.c b/widgets/table/e-table-field-chooser-item.c
index 69f1fe85dc..a04e4f3742 100644
--- a/widgets/table/e-table-field-chooser-item.c
+++ b/widgets/table/e-table-field-chooser-item.c
@@ -214,12 +214,14 @@ etfci_update (GnomeCanvasItem *item, gdouble *affine, ArtSVP *clip_path, gint fl
static void
etfci_font_load (ETableFieldChooserItem *etfci)
{
+ GtkWidget *widget;
GtkStyle *style;
if (etfci->font_desc)
pango_font_description_free (etfci->font_desc);
- style = GTK_WIDGET (GNOME_CANVAS_ITEM (etfci)->canvas)->style;
+ widget = GTK_WIDGET (GNOME_CANVAS_ITEM (etfci)->canvas);
+ style = gtk_widget_get_style (widget);
etfci->font_desc = pango_font_description_copy (style->font_desc);
}
@@ -462,7 +464,7 @@ etfci_draw (GnomeCanvasItem *item, GdkDrawable *drawable, gint x, gint y, gint w
rows = e_table_header_count (etfci->combined_header);
- style = GTK_WIDGET (canvas)->style;
+ style = gtk_widget_get_style (GTK_WIDGET (canvas));
state = gtk_widget_get_state (GTK_WIDGET (canvas));
y1 = y2 = 0;
@@ -519,6 +521,8 @@ etfci_start_drag (ETableFieldChooserItem *etfci, GdkEvent *event, gdouble x, gdo
GtkWidget *widget = GTK_WIDGET (GNOME_CANVAS_ITEM (etfci)->canvas);
GtkTargetList *list;
GdkDragContext *context;
+ GdkWindow *window;
+ GtkStyle *style;
GtkStateType state;
ETableCol *ecol;
GdkPixmap *pixmap;
@@ -551,24 +555,26 @@ etfci_start_drag (ETableFieldChooserItem *etfci, GdkEvent *event, gdouble x, gdo
g_free(etfci_drag_types[0].target);
button_height = e_table_header_compute_height (ecol, widget);
- pixmap = gdk_pixmap_new (widget->window, etfci->width, button_height, -1);
+ window = gtk_widget_get_window (widget);
+ pixmap = gdk_pixmap_new (window, etfci->width, button_height, -1);
+ style = gtk_widget_get_style (widget);
state = gtk_widget_get_state (widget);
- e_table_header_draw_button (pixmap, ecol,
- widget->style, state,
- widget,
- 0, 0,
- etfci->width, button_height,
- etfci->width, button_height,
- E_TABLE_COL_ARROW_NONE);
-
- gtk_drag_set_icon_pixmap (context,
- gdk_drawable_get_colormap (GDK_DRAWABLE (widget->window)),
- pixmap,
- NULL,
- etfci->width / 2,
- button_height / 2);
+ e_table_header_draw_button (
+ pixmap, ecol, style,
+ state, widget, 0, 0,
+ etfci->width, button_height,
+ etfci->width, button_height,
+ E_TABLE_COL_ARROW_NONE);
+
+ gtk_drag_set_icon_pixmap (
+ context,
+ gdk_drawable_get_colormap (GDK_DRAWABLE (window)),
+ pixmap, NULL,
+ etfci->width / 2,
+ button_height / 2);
+
g_object_unref (pixmap);
etfci->maybe_drag = FALSE;
}
@@ -632,35 +638,35 @@ etfci_class_init (ETableFieldChooserItemClass *klass)
g_object_class_install_property (object_class, PROP_DND_CODE,
g_param_spec_string ("dnd_code",
"DnD code",
- /*_( */"XXX blurb" /*)*/,
+ NULL,
NULL,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_FULL_HEADER,
g_param_spec_object ("full_header",
"Full Header",
- /*_( */"XXX blurb" /*)*/,
+ NULL,
E_TABLE_HEADER_TYPE,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_HEADER,
g_param_spec_object ("header",
"Header",
- /*_( */"XXX blurb" /*)*/,
+ NULL,
E_TABLE_HEADER_TYPE,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_WIDTH,
g_param_spec_double ("width",
"Width",
- /*_( */"XXX blurb" /*)*/,
+ NULL,
0, G_MAXDOUBLE, 0,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_HEIGHT,
g_param_spec_double ("height",
"Height",
- /*_( */"XXX blurb" /*)*/,
+ NULL,
0, G_MAXDOUBLE, 0,
G_PARAM_READABLE));
}
diff --git a/widgets/table/e-table-field-chooser.c b/widgets/table/e-table-field-chooser.c
index 3c1d722617..2cf0d5f114 100644
--- a/widgets/table/e-table-field-chooser.c
+++ b/widgets/table/e-table-field-chooser.c
@@ -62,21 +62,21 @@ e_table_field_chooser_class_init (ETableFieldChooserClass *klass)
g_object_class_install_property (object_class, PROP_DND_CODE,
g_param_spec_string ("dnd_code",
"DnD code",
- /*_( */"XXX blurb" /*)*/,
+ NULL,
NULL,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_FULL_HEADER,
g_param_spec_object ("full_header",
"Full Header",
- /*_( */"XXX blurb" /*)*/,
+ NULL,
E_TABLE_HEADER_TYPE,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_HEADER,
g_param_spec_object ("header",
"Header",
- /*_( */"XXX blurb" /*)*/,
+ NULL,
E_TABLE_HEADER_TYPE,
G_PARAM_READWRITE));
}
@@ -94,9 +94,9 @@ ensure_nonzero_step_increments (ETableFieldChooser *etfc)
so use 16 pixels which should be OK
*/
if (va)
- va->step_increment = 16.0;
+ gtk_adjustment_set_step_increment (va, 16.0);
if (ha)
- ha->step_increment = 16.0;
+ gtk_adjustment_set_step_increment (ha, 16.0);
}
static void allocate_callback(GtkWidget *canvas, GtkAllocation *allocation, ETableFieldChooser *etfc)
@@ -156,14 +156,14 @@ create_content (GnomeCanvas **canvas)
scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL);
gtk_widget_show (scrolledwindow1);
gtk_box_pack_start (GTK_BOX (vbox_top), scrolledwindow1, TRUE, TRUE, 0);
- GTK_WIDGET_UNSET_FLAGS (scrolledwindow1, GTK_CAN_FOCUS);
+ gtk_widget_set_can_focus (scrolledwindow1, FALSE);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
canvas_buttons = e_canvas_new ();
gtk_widget_show (canvas_buttons);
gtk_container_add (GTK_CONTAINER (scrolledwindow1), canvas_buttons);
- GTK_WIDGET_UNSET_FLAGS (canvas_buttons, GTK_CAN_FOCUS);
- GTK_WIDGET_UNSET_FLAGS (canvas_buttons, GTK_CAN_DEFAULT);
+ gtk_widget_set_can_focus (canvas_buttons, FALSE);
+ gtk_widget_set_can_default (canvas_buttons, FALSE);
*canvas = GNOME_CANVAS (canvas_buttons);
diff --git a/widgets/table/e-table-group-container.c b/widgets/table/e-table-group-container.c
index 810823db61..cf8aae1aff 100644
--- a/widgets/table/e-table-group-container.c
+++ b/widgets/table/e-table-group-container.c
@@ -146,6 +146,7 @@ e_table_group_container_construct (GnomeCanvasGroup *parent, ETableGroupContaine
{
ETableCol *col;
ETableSortColumn column = e_table_sort_info_grouping_get_nth(sort_info, n);
+ GtkWidget *widget;
GtkStyle *style;
col = e_table_header_get_column_by_col_idx(full_header, column.column);
@@ -160,7 +161,8 @@ e_table_group_container_construct (GnomeCanvasGroup *parent, ETableGroupContaine
etgc->n = n;
etgc->ascending = column.ascending;
- style = GTK_WIDGET (GNOME_CANVAS_ITEM (etgc)->canvas)->style;
+ widget = GTK_WIDGET (GNOME_CANVAS_ITEM (etgc)->canvas);
+ style = gtk_widget_get_style (widget);
etgc->font_desc = pango_font_description_copy (style->font_desc);
etgc->open = TRUE;
@@ -339,12 +341,25 @@ compute_text (ETableGroupContainer *etgc, ETableGroupContainerChildNode *child_n
gchar *text;
if (etgc->ecol->text) {
- text = g_strdup_printf (ngettext("%s : %s (%d item)",
- "%s : %s (%d items)",
+ /* Translators: This text is used as a special row when an ETable
+ has turned on grouping on a column, which has set a title.
+ The first %s is replaced with a column title.
+ The second %s is replaced with an actual group value.
+ Finally the %d is replaced with count of items in this group.
+ Example: "Family name: Smith (13 items)"
+ */
+ text = g_strdup_printf (ngettext("%s: %s (%d item)",
+ "%s: %s (%d items)",
child_node->count),
etgc->ecol->text, child_node->string,
(gint) child_node->count);
} else {
+ /* Translators: This text is used as a special row when an ETable
+ has turned on grouping on a column, which doesn't have set a title.
+ The %s is replaced with an actual group value.
+ The %d is replaced with count of items in this group.
+ Example: "Smith (13 items)"
+ */
text = g_strdup_printf (ngettext("%s (%d item)",
"%s (%d items)",
child_node->count),
@@ -929,85 +944,85 @@ etgc_class_init (ETableGroupContainerClass *klass)
g_object_class_install_property (object_class, PROP_TABLE_ALTERNATING_ROW_COLORS,
g_param_spec_boolean ("alternating_row_colors",
- _( "Alternating Row Colors" ),
- _( "Alternating Row Colors" ),
+ "Alternating Row Colors",
+ "Alternating Row Colors",
FALSE,
G_PARAM_WRITABLE));
g_object_class_install_property (object_class, PROP_TABLE_HORIZONTAL_DRAW_GRID,
g_param_spec_boolean ("horizontal_draw_grid",
- _( "Horizontal Draw Grid" ),
- _( "Horizontal Draw Grid" ),
+ "Horizontal Draw Grid",
+ "Horizontal Draw Grid",
FALSE,
G_PARAM_WRITABLE));
g_object_class_install_property (object_class, PROP_TABLE_VERTICAL_DRAW_GRID,
g_param_spec_boolean ("vertical_draw_grid",
- _( "Vertical Draw Grid" ),
- _( "Vertical Draw Grid" ),
+ "Vertical Draw Grid",
+ "Vertical Draw Grid",
FALSE,
G_PARAM_WRITABLE));
g_object_class_install_property (object_class, PROP_TABLE_DRAW_FOCUS,
g_param_spec_boolean ("drawfocus",
- _( "Draw focus" ),
- _( "Draw focus" ),
+ "Draw focus",
+ "Draw focus",
FALSE,
G_PARAM_WRITABLE));
g_object_class_install_property (object_class, PROP_CURSOR_MODE,
g_param_spec_int ("cursor_mode",
- _( "Cursor mode" ),
- _( "Cursor mode" ),
+ "Cursor mode",
+ "Cursor mode",
E_CURSOR_LINE, E_CURSOR_SPREADSHEET, E_CURSOR_LINE,
G_PARAM_WRITABLE));
g_object_class_install_property (object_class, PROP_SELECTION_MODEL,
g_param_spec_object ("selection_model",
- _( "Selection model" ),
- _( "Selection model" ),
+ "Selection model",
+ "Selection model",
E_SELECTION_MODEL_TYPE,
G_PARAM_WRITABLE));
g_object_class_install_property (object_class, PROP_LENGTH_THRESHOLD,
g_param_spec_int ("length_threshold",
- _( "Length Threshold" ),
- _( "Length Threshold" ),
+ "Length Threshold",
+ "Length Threshold",
-1, G_MAXINT, 0,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_UNIFORM_ROW_HEIGHT,
g_param_spec_boolean ("uniform_row_height",
- _( "Uniform row height" ),
- _( "Uniform row height" ),
+ "Uniform row height",
+ "Uniform row height",
FALSE,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_FROZEN,
g_param_spec_boolean ("frozen",
- _( "Frozen" ),
- _( "Frozen" ),
+ "Frozen",
+ "Frozen",
FALSE,
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_READWRITE));
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));
}
@@ -1176,7 +1191,9 @@ e_table_group_container_print_page (EPrintable *ep,
ETGCPrintContext *groupcontext)
{
cairo_t *cr;
+ GtkPageSetup *setup;
gdouble yd;
+ gdouble page_height, page_margin;
gdouble child_height;
ETableGroupContainerChildNode *child_node;
GList *child;
@@ -1187,7 +1204,10 @@ e_table_group_container_print_page (EPrintable *ep,
child_printable = groupcontext->child_printable;
child = groupcontext->child;
- yd = 6.5 * 72;
+ setup = gtk_print_context_get_page_setup (context);
+ page_height = gtk_page_setup_get_page_height (setup, GTK_UNIT_POINTS);
+ page_margin = gtk_page_setup_get_bottom_margin (setup, GTK_UNIT_POINTS) + gtk_page_setup_get_top_margin (setup, GTK_UNIT_POINTS);
+ yd = page_height - page_margin;
if (child_printable) {
if (child)
@@ -1251,7 +1271,7 @@ e_table_group_container_print_page (EPrintable *ep,
cairo_rectangle (cr, 0, 0, width - 2 * TEXT_AREA_HEIGHT,child_height);
cairo_clip(cr);
- e_printable_print_page (child_printable, context, width-2 * TEXT_AREA_HEIGHT, 0, quantize);
+ e_printable_print_page (child_printable, context, width-2 * TEXT_AREA_HEIGHT, height , quantize);
yd += child_height + TEXT_AREA_HEIGHT;
if (e_printable_data_left(child_printable))
diff --git a/widgets/table/e-table-group-leaf.c b/widgets/table/e-table-group-leaf.c
index 1748d3e509..0b0c0f4a59 100644
--- a/widgets/table/e-table-group-leaf.c
+++ b/widgets/table/e-table-group-leaf.c
@@ -583,85 +583,85 @@ etgl_class_init (ETableGroupLeafClass *klass)
g_object_class_install_property (object_class, PROP_TABLE_ALTERNATING_ROW_COLORS,
g_param_spec_boolean ("alternating_row_colors",
- _( "Alternating Row Colors" ),
- _( "Alternating Row Colors" ),
+ "Alternating Row Colors",
+ "Alternating Row Colors",
FALSE,
G_PARAM_WRITABLE));
g_object_class_install_property (object_class, PROP_TABLE_HORIZONTAL_DRAW_GRID,
g_param_spec_boolean ("horizontal_draw_grid",
- _( "Horizontal Draw Grid" ),
- _( "Horizontal Draw Grid" ),
+ "Horizontal Draw Grid",
+ "Horizontal Draw Grid",
FALSE,
G_PARAM_WRITABLE));
g_object_class_install_property (object_class, PROP_TABLE_VERTICAL_DRAW_GRID,
g_param_spec_boolean ("vertical_draw_grid",
- _( "Vertical Draw Grid" ),
- _( "Vertical Draw Grid" ),
+ "Vertical Draw Grid",
+ "Vertical Draw Grid",
FALSE,
G_PARAM_WRITABLE));
g_object_class_install_property (object_class, PROP_TABLE_DRAW_FOCUS,
g_param_spec_boolean ("drawfocus",
- _( "Draw focus" ),
- _( "Draw focus" ),
+ "Draw focus",
+ "Draw focus",
FALSE,
G_PARAM_WRITABLE));
g_object_class_install_property (object_class, PROP_CURSOR_MODE,
g_param_spec_int ("cursor_mode",
- _( "Cursor mode" ),
- _( "Cursor mode" ),
+ "Cursor mode",
+ "Cursor mode",
E_CURSOR_LINE, E_CURSOR_SPREADSHEET, E_CURSOR_LINE,
G_PARAM_WRITABLE));
g_object_class_install_property (object_class, PROP_LENGTH_THRESHOLD,
g_param_spec_int ("length_threshold",
- _( "Length Threshold" ),
- _( "Length Threshold" ),
+ "Length Threshold",
+ "Length Threshold",
-1, G_MAXINT, 0,
G_PARAM_WRITABLE));
g_object_class_install_property (object_class, PROP_SELECTION_MODEL,
g_param_spec_object ("selection_model",
- _( "Selection model" ),
- _( "Selection model" ),
+ "Selection model",
+ "Selection model",
E_SELECTION_MODEL_TYPE,
G_PARAM_WRITABLE));
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_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_FROZEN,
g_param_spec_boolean ("frozen",
- _( "Frozen" ),
- _( "Frozen" ),
+ "Frozen",
+ "Frozen",
FALSE,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_UNIFORM_ROW_HEIGHT,
g_param_spec_boolean ("uniform_row_height",
- _( "Uniform row height" ),
- _( "Uniform row height" ),
+ "Uniform row height",
+ "Uniform row height",
FALSE,
G_PARAM_READWRITE));
}
diff --git a/widgets/table/e-table-header-item.c b/widgets/table/e-table-header-item.c
index b2bcb591f8..133a368754 100644
--- a/widgets/table/e-table-header-item.c
+++ b/widgets/table/e-table-header-item.c
@@ -498,6 +498,9 @@ make_shaped_window_from_xpm (const gchar **xpm)
static void
ethi_add_drop_marker (ETableHeaderItem *ethi, gint col, gboolean recreate)
{
+ GnomeCanvas *canvas;
+ GtkAdjustment *adjustment;
+ GdkWindow *window;
gint rx, ry;
gint x;
@@ -515,14 +518,15 @@ ethi_add_drop_marker (ETableHeaderItem *ethi, gint col, gboolean recreate)
arrow_down = make_shaped_window_from_xpm (arrow_down_xpm);
}
- gdk_window_get_origin (
- GTK_WIDGET (GNOME_CANVAS_ITEM (ethi)->canvas)->window,
- &rx, &ry);
+ canvas = GNOME_CANVAS_ITEM (ethi)->canvas;
+ window = gtk_widget_get_window (GTK_WIDGET (canvas));
+ gdk_window_get_origin (window, &rx, &ry);
- rx -= gtk_layout_get_hadjustment (
- GTK_LAYOUT (GNOME_CANVAS_ITEM (ethi)->canvas))->value;
- ry -= gtk_layout_get_vadjustment (
- GTK_LAYOUT (GNOME_CANVAS_ITEM (ethi)->canvas))->value;
+ adjustment = gtk_layout_get_hadjustment (GTK_LAYOUT (canvas));
+ rx -= gtk_adjustment_get_value (adjustment);
+
+ adjustment = gtk_layout_get_vadjustment (GTK_LAYOUT (canvas));
+ ry -= gtk_adjustment_get_value (adjustment);
gtk_window_move (
GTK_WINDOW (arrow_down),
@@ -645,7 +649,13 @@ scroll_timeout (gpointer data)
{
ETableHeaderItem *ethi = data;
gint dx = 0;
- GtkAdjustment *h, *v;
+ GtkLayout *layout;
+ GtkAdjustment *adjustment;
+ gdouble hadjustment_value;
+ gdouble vadjustment_value;
+ gdouble page_size;
+ gdouble lower;
+ gdouble upper;
gdouble value;
if (ethi->scroll_direction & ET_SCROLL_RIGHT)
@@ -653,20 +663,35 @@ scroll_timeout (gpointer data)
if (ethi->scroll_direction & ET_SCROLL_LEFT)
dx -= 20;
- h = GTK_LAYOUT(GNOME_CANVAS_ITEM (ethi)->canvas)->hadjustment;
- v = GTK_LAYOUT(GNOME_CANVAS_ITEM (ethi)->canvas)->vadjustment;
+ layout = GTK_LAYOUT (GNOME_CANVAS_ITEM (ethi)->canvas);
+
+ adjustment = gtk_layout_get_hadjustment (layout);
+ hadjustment_value = gtk_adjustment_get_value (adjustment);
+
+ adjustment = gtk_layout_get_vadjustment (layout);
+ vadjustment_value = gtk_adjustment_get_value (adjustment);
+
+ value = hadjustment_value;
- value = h->value;
+ adjustment = gtk_layout_get_hadjustment (layout);
+ page_size = gtk_adjustment_get_page_size (adjustment);
+ lower = gtk_adjustment_get_lower (adjustment);
+ upper = gtk_adjustment_get_upper (adjustment);
- gtk_adjustment_set_value(h, CLAMP(h->value + dx, h->lower, h->upper - h->page_size));
+ gtk_adjustment_set_value (
+ adjustment, CLAMP (
+ hadjustment_value + dx, lower, upper - page_size));
- if (h->value != value)
- do_drag_motion(ethi,
- ethi->last_drop_context,
- ethi->last_drop_x + h->value,
- ethi->last_drop_y + v->value,
- ethi->last_drop_time,
- TRUE);
+ hadjustment_value = gtk_adjustment_get_value (adjustment);
+
+ if (hadjustment_value != value)
+ do_drag_motion(
+ ethi,
+ ethi->last_drop_context,
+ ethi->last_drop_x + hadjustment_value,
+ ethi->last_drop_y + vadjustment_value,
+ ethi->last_drop_time,
+ TRUE);
return TRUE;
}
@@ -723,6 +748,10 @@ ethi_drag_motion (GtkWidget *widget,
guint time,
ETableHeaderItem *ethi)
{
+ GtkAllocation allocation;
+ GtkAdjustment *adjustment;
+ gdouble hadjustment_value;
+ gdouble vadjustment_value;
gchar *droptype, *headertype;
guint direction = 0;
@@ -739,9 +768,11 @@ ethi_drag_motion (GtkWidget *widget,
g_free (headertype);
+ gtk_widget_get_allocation (widget, &allocation);
+
if (x < 20)
direction |= ET_SCROLL_LEFT;
- if (x > widget->allocation.width - 20)
+ if (x > allocation.width - 20)
direction |= ET_SCROLL_RIGHT;
ethi->last_drop_x = x;
@@ -750,12 +781,17 @@ ethi_drag_motion (GtkWidget *widget,
ethi->last_drop_context = context;
context_connect (ethi, context);
- do_drag_motion (ethi,
- context,
- x + GTK_LAYOUT(widget)->hadjustment->value,
- y + GTK_LAYOUT(widget)->vadjustment->value,
- time,
- FALSE);
+ adjustment = gtk_layout_get_hadjustment (GTK_LAYOUT (widget));
+ hadjustment_value = gtk_adjustment_get_value (adjustment);
+
+ adjustment = gtk_layout_get_vadjustment (GTK_LAYOUT (widget));
+ vadjustment_value = gtk_adjustment_get_value (adjustment);
+
+ do_drag_motion (
+ ethi, context,
+ x + hadjustment_value,
+ y + vadjustment_value,
+ time, FALSE);
if (direction != 0)
scroll_on (ethi, direction);
@@ -781,20 +817,23 @@ ethi_drag_data_received (GtkWidget *canvas,
GdkDragContext *drag_context,
gint x,
gint y,
- GtkSelectionData *data,
+ GtkSelectionData *selection_data,
guint info,
guint time,
ETableHeaderItem *ethi)
{
+ const guchar *data;
gint found = FALSE;
gint count;
gint column;
gint drop_col;
gint i;
- if (data->data) {
+ data = gtk_selection_data_get_data (selection_data);
+
+ if (data != NULL) {
count = e_table_header_count(ethi->eth);
- column = atoi((gchar *)data->data);
+ column = atoi((gchar *)data);
drop_col = ethi->drop_col;
ethi->drop_col = -1;
@@ -891,6 +930,7 @@ static void
ethi_realize (GnomeCanvasItem *item)
{
ETableHeaderItem *ethi = E_TABLE_HEADER_ITEM (item);
+ GtkStyle *style;
GtkTargetEntry ethi_drop_types [] = {
{ (gchar *) TARGET_ETABLE_COL_TYPE, 0, TARGET_ETABLE_COL_HEADER },
};
@@ -898,8 +938,10 @@ ethi_realize (GnomeCanvasItem *item)
if (GNOME_CANVAS_ITEM_CLASS (ethi_parent_class)-> realize)
(*GNOME_CANVAS_ITEM_CLASS (ethi_parent_class)->realize)(item);
+ style = gtk_widget_get_style (GTK_WIDGET (item->canvas));
+
if (!ethi->font_desc)
- ethi_font_set (ethi, GTK_WIDGET (item->canvas)->style->font_desc);
+ ethi_font_set (ethi, style->font_desc);
/*
* Now, configure DnD
@@ -972,6 +1014,11 @@ ethi_draw (GnomeCanvasItem *item,
gint x1, x2;
gint col;
GHashTable *arrows = g_hash_table_new (NULL, NULL);
+ GtkStateType state;
+ GtkStyle *style;
+
+ state = gtk_widget_get_state (GTK_WIDGET (canvas));
+ style = gtk_widget_get_style (GTK_WIDGET (canvas));
if (ethi->sort_info) {
gint length = e_table_sort_info_grouping_get_count(ethi->sort_info);
@@ -1018,15 +1065,13 @@ ethi_draw (GnomeCanvasItem *item,
state = gtk_widget_get_state (GTK_WIDGET (canvas));
- e_table_header_draw_button (drawable, ecol,
- GTK_WIDGET (canvas)->style,
- state,
- GTK_WIDGET (canvas),
- x1 - x, -y,
- width, height,
- x2 - x1, ethi->height,
- (ETableColArrow) g_hash_table_lookup (
- arrows, GINT_TO_POINTER (ecol->col_idx)));
+ e_table_header_draw_button (
+ drawable, ecol,
+ style, state, GTK_WIDGET (canvas),
+ x1 - x, -y, width, height,
+ x2 - x1, ethi->height,
+ (ETableColArrow) g_hash_table_lookup (
+ arrows, GINT_TO_POINTER (ecol->col_idx)));
}
g_hash_table_destroy (arrows);
@@ -1088,12 +1133,16 @@ is_pointer_on_division (ETableHeaderItem *ethi,
static void
set_cursor (ETableHeaderItem *ethi, gint pos)
{
- gint col;
- GtkWidget *canvas = GTK_WIDGET (GNOME_CANVAS_ITEM (ethi)->canvas);
+ GnomeCanvas *canvas;
+ GdkWindow *window;
gboolean resizable = FALSE;
+ gint col;
+
+ canvas = GNOME_CANVAS_ITEM (ethi)->canvas;
+ window = gtk_widget_get_window (GTK_WIDGET (canvas));
/* We might be invoked before we are realized */
- if (!canvas->window)
+ if (window == NULL)
return;
if (is_pointer_on_division (ethi, pos, NULL, &col)) {
@@ -1119,9 +1168,9 @@ set_cursor (ETableHeaderItem *ethi, gint pos)
}
if (resizable)
- gdk_window_set_cursor (canvas->window, ethi->resize_cursor);
+ gdk_window_set_cursor (window, ethi->resize_cursor);
else
- gdk_window_set_cursor (canvas->window, NULL);
+ gdk_window_set_cursor (window, NULL);
}
static void
@@ -1157,17 +1206,24 @@ ethi_start_drag (ETableHeaderItem *ethi, GdkEvent *event)
GtkWidget *widget = GTK_WIDGET (GNOME_CANVAS_ITEM (ethi)->canvas);
GtkTargetList *list;
GdkDragContext *context;
- GtkStateType state;
ETableCol *ecol;
gint col_width;
GdkPixmap *pixmap;
gint group_indent = 0;
GHashTable *arrows = g_hash_table_new (NULL, NULL);
+ GtkStateType state;
+ GtkStyle *style;
+ GdkWindow *window;
GtkTargetEntry ethi_drag_types [] = {
{ (gchar *) TARGET_ETABLE_COL_TYPE, 0, TARGET_ETABLE_COL_HEADER },
};
+ widget = GTK_WIDGET (GNOME_CANVAS_ITEM (ethi)->canvas);
+ window = gtk_widget_get_window (widget);
+ state = gtk_widget_get_state (widget);
+ style = gtk_widget_get_style (widget);
+
ethi->drag_col = ethi_find_col_by_x (ethi, event->motion.x);
if (ethi->drag_col == -1)
@@ -1212,23 +1268,21 @@ ethi_start_drag (ETableHeaderItem *ethi, GdkEvent *event)
ecol = e_table_header_get_column (ethi->eth, ethi->drag_col);
col_width = ecol->width;
- pixmap = gdk_pixmap_new (widget->window, col_width, ethi->height, -1);
+ pixmap = gdk_pixmap_new (window, col_width, ethi->height, -1);
state = gtk_widget_get_state (widget);
e_table_header_draw_button (
pixmap, ecol,
- widget->style,
- state,
- widget,
- 0, 0,
+ style, state,
+ widget, 0, 0,
col_width, ethi->height,
col_width, ethi->height,
(ETableColArrow) g_hash_table_lookup (
arrows, GINT_TO_POINTER (ecol->col_idx)));
gtk_drag_set_icon_pixmap (
context,
- gdk_drawable_get_colormap (GDK_DRAWABLE (widget->window)),
+ gdk_drawable_get_colormap (GDK_DRAWABLE (window)),
pixmap,
NULL,
col_width / 2,
@@ -1754,6 +1808,7 @@ ethi_event (GnomeCanvasItem *item, GdkEvent *e)
{
ETableHeaderItem *ethi = E_TABLE_HEADER_ITEM (item);
GnomeCanvas *canvas = item->canvas;
+ GdkWindow *window;
const gboolean resizing = ETHI_RESIZING (ethi);
gint x, y, start, col;
gint was_maybe_drag = 0;
@@ -1765,7 +1820,8 @@ ethi_event (GnomeCanvasItem *item, GdkEvent *e)
break;
case GDK_LEAVE_NOTIFY:
- gdk_window_set_cursor (GTK_WIDGET (canvas)->window, NULL);
+ window = gtk_widget_get_window (GTK_WIDGET (canvas));
+ gdk_window_set_cursor (window, NULL);
break;
case GDK_MOTION_NOTIFY:
@@ -1953,49 +2009,49 @@ ethi_class_init (ETableHeaderItemClass *klass)
g_object_class_install_property (object_class, PROP_DND_CODE,
g_param_spec_string ("dnd_code",
"DnD code",
- /*_( */"XXX blurb" /*)*/,
+ NULL,
NULL,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_TABLE_FONT_DESC,
g_param_spec_boxed ("font-desc",
"Font Description",
- /*_( */"XXX blurb" /*)*/,
+ NULL,
PANGO_TYPE_FONT_DESCRIPTION,
G_PARAM_WRITABLE));
g_object_class_install_property (object_class, PROP_FULL_HEADER,
g_param_spec_object ("full_header",
"Full Header",
- /*_( */"XXX blurb" /*)*/,
+ NULL,
E_TABLE_HEADER_TYPE,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_TABLE_HEADER,
g_param_spec_object ("ETableHeader",
"Header",
- /*_( */"XXX blurb" /*)*/,
+ NULL,
E_TABLE_HEADER_TYPE,
G_PARAM_WRITABLE));
g_object_class_install_property (object_class, PROP_SORT_INFO,
g_param_spec_object ("sort_info",
"Sort Info",
- /*_( */"XXX blurb" /*)*/,
+ NULL,
E_TABLE_SORT_INFO_TYPE,
G_PARAM_WRITABLE));
g_object_class_install_property (object_class, PROP_TABLE,
g_param_spec_object ("table",
"Table",
- /*_( */"XXX blurb" /*)*/,
+ NULL,
E_TABLE_TYPE,
G_PARAM_WRITABLE));
g_object_class_install_property (object_class, PROP_TREE,
g_param_spec_object ("tree",
"Tree",
- /*_( */"XXX blurb" /*)*/,
+ NULL,
E_TREE_TYPE,
G_PARAM_WRITABLE));
diff --git a/widgets/table/e-table-header-utils.c b/widgets/table/e-table-header-utils.c
index 78ff576820..0547b22228 100644
--- a/widgets/table/e-table-header-utils.c
+++ b/widgets/table/e-table-header-utils.c
@@ -349,13 +349,13 @@ e_table_header_draw_button (GdkDrawable *drawable, ETableCol *ecol,
gtk_container_add (GTK_CONTAINER (window), button);
gtk_widget_ensure_style (window);
gtk_widget_ensure_style (button);
- g_label = GTK_BIN(button)->child;
+ g_label = gtk_bin_get_child (GTK_BIN (button));
g_object_add_weak_pointer (G_OBJECT (g_label), &g_label);
gtk_widget_ensure_style (g_label);
gtk_widget_realize (g_label);
}
- gc = GTK_WIDGET (g_label)->style->fg_gc[state];
+ gc = gtk_widget_get_style (GTK_WIDGET (g_label))->fg_gc[state];
gdk_gc_set_clip_rectangle (gc, NULL);
diff --git a/widgets/table/e-table-item.c b/widgets/table/e-table-item.c
index 1bc3a08dc5..381f0cd24c 100644
--- a/widgets/table/e-table-item.c
+++ b/widgets/table/e-table-item.c
@@ -245,22 +245,22 @@ inline static GdkColor *
eti_get_cell_background_color (ETableItem *eti, gint row, gint col, gboolean selected, gboolean *allocatedp)
{
ECellView *ecell_view = eti->cell_views [col];
- GtkWidget *canvas = GTK_WIDGET(GNOME_CANVAS_ITEM(eti)->canvas);
+ GtkWidget *canvas;
GdkColor *background, bg;
+ GtkStyle *style;
gchar *color_spec = NULL;
gboolean allocated = FALSE;
+ canvas = GTK_WIDGET (GNOME_CANVAS_ITEM (eti)->canvas);
+ style = gtk_widget_get_style (canvas);
+
if (selected) {
-#if GTK_CHECK_VERSION(2,19,7)
if (gtk_widget_has_focus (canvas))
-#else
- if (GTK_WIDGET_HAS_FOCUS(canvas))
-#endif
- background = &canvas->style->bg [GTK_STATE_SELECTED];
+ background = &style->bg [GTK_STATE_SELECTED];
else
- background = &canvas->style->bg [GTK_STATE_ACTIVE];
+ background = &style->bg [GTK_STATE_ACTIVE];
} else {
- background = &canvas->style->base [GTK_STATE_NORMAL];
+ background = &style->base [GTK_STATE_NORMAL];
}
color_spec = e_cell_get_bg_color (ecell_view, row);
@@ -268,7 +268,7 @@ eti_get_cell_background_color (ETableItem *eti, gint row, gint col, gboolean sel
if (color_spec != NULL) {
if (gdk_color_parse (color_spec, &bg)) {
background = gdk_color_copy (&bg);
- gdk_colormap_alloc_color (gtk_widget_get_colormap (GTK_WIDGET (canvas)), background,
+ gdk_colormap_alloc_color (gtk_widget_get_colormap (canvas), background,
FALSE, TRUE);
allocated = TRUE;
}
@@ -283,7 +283,7 @@ eti_get_cell_background_color (ETableItem *eti, gint row, gint col, gboolean sel
allocated = TRUE;
}
e_hsv_tweak (background, 0.0f, 0.0f, -0.07f);
- gdk_colormap_alloc_color (gtk_widget_get_colormap (GTK_WIDGET (canvas)), background,
+ gdk_colormap_alloc_color (gtk_widget_get_colormap (canvas), background,
FALSE, TRUE);
}
}
@@ -296,23 +296,23 @@ eti_get_cell_background_color (ETableItem *eti, gint row, gint col, gboolean sel
inline static GdkColor *
eti_get_cell_foreground_color (ETableItem *eti, gint row, gint col, gboolean selected, gboolean *allocated)
{
- GtkWidget *canvas = GTK_WIDGET(GNOME_CANVAS_ITEM(eti)->canvas);
+ GtkWidget *canvas;
GdkColor *foreground;
+ GtkStyle *style;
+
+ canvas = GTK_WIDGET (GNOME_CANVAS_ITEM (eti)->canvas);
+ style = gtk_widget_get_style (canvas);
if (allocated)
*allocated = FALSE;
if (selected) {
-#if GTK_CHECK_VERSION(2,19,7)
if (gtk_widget_has_focus (canvas))
-#else
- if (GTK_WIDGET_HAS_FOCUS (canvas))
-#endif
- foreground = &canvas->style->fg [GTK_STATE_SELECTED];
+ foreground = &style->fg [GTK_STATE_SELECTED];
else
- foreground = &canvas->style->fg [GTK_STATE_ACTIVE];
+ foreground = &style->fg [GTK_STATE_ACTIVE];
} else {
- foreground = &canvas->style->text [GTK_STATE_NORMAL];
+ foreground = &style->text [GTK_STATE_NORMAL];
}
return foreground;
@@ -1631,8 +1631,9 @@ static void
eti_realize (GnomeCanvasItem *item)
{
ETableItem *eti = E_TABLE_ITEM (item);
- GtkWidget *canvas_widget = GTK_WIDGET (item->canvas);
GdkWindow *window;
+ GtkWidget *widget;
+ GtkStyle *style;
if (GNOME_CANVAS_ITEM_CLASS (eti_parent_class)->realize)
(*GNOME_CANVAS_ITEM_CLASS (eti_parent_class)->realize)(item);
@@ -1642,15 +1643,17 @@ eti_realize (GnomeCanvasItem *item)
/*
* Gdk Resource allocation
*/
- window = canvas_widget->window;
+ widget = GTK_WIDGET (item->canvas);
+ style = gtk_widget_get_style (widget);
+ window = gtk_widget_get_window (widget);
eti->fill_gc = gdk_gc_new (window);
eti->grid_gc = gdk_gc_new (window);
- gdk_gc_set_foreground (eti->grid_gc, &canvas_widget->style->dark [GTK_STATE_NORMAL]);
+ gdk_gc_set_foreground (eti->grid_gc, &style->dark [GTK_STATE_NORMAL]);
eti->focus_gc = gdk_gc_new (window);
- gdk_gc_set_foreground (eti->focus_gc, &canvas_widget->style->bg [GTK_STATE_NORMAL]);
- gdk_gc_set_background (eti->focus_gc, &canvas_widget->style->fg [GTK_STATE_NORMAL]);
+ gdk_gc_set_foreground (eti->focus_gc, &style->bg [GTK_STATE_NORMAL]);
+ gdk_gc_set_background (eti->focus_gc, &style->fg [GTK_STATE_NORMAL]);
eti->stipple = gdk_bitmap_create_from_data (NULL, gray50_bits, gray50_width, gray50_height);
gdk_gc_set_ts_origin (eti->focus_gc, 0, 0);
gdk_gc_set_stipple (eti->focus_gc, eti->stipple);
@@ -1933,11 +1936,7 @@ eti_draw (GnomeCanvasItem *item, GdkDrawable *drawable, gint x, gint y, gint wid
gdk_color_free (background);
flags = col_selected ? E_CELL_SELECTED : 0;
-#if GTK_CHECK_VERSION(2,19,7)
flags |= gtk_widget_has_focus (canvas) ? E_CELL_FOCUSED : 0;
-#else
- flags |= GTK_WIDGET_HAS_FOCUS(canvas) ? E_CELL_FOCUSED : 0;
-#endif
flags |= cursor ? E_CELL_CURSOR : 0;
switch (ecol->justification) {
@@ -2818,98 +2817,98 @@ eti_class_init (ETableItemClass *klass)
g_object_class_install_property (object_class, PROP_TABLE_HEADER,
g_param_spec_object ("ETableHeader",
- _( "Table header" ),
- _( "Table header" ),
+ "Table header",
+ "Table header",
E_TABLE_HEADER_TYPE,
G_PARAM_WRITABLE));
g_object_class_install_property (object_class, PROP_TABLE_MODEL,
g_param_spec_object ("ETableModel",
- _( "Table model" ),
- _( "Table model" ),
+ "Table model",
+ "Table model",
E_TABLE_MODEL_TYPE,
G_PARAM_WRITABLE));
g_object_class_install_property (object_class, PROP_SELECTION_MODEL,
g_param_spec_object ("selection_model",
- _( "Selection model" ),
- _( "Selection model" ),
+ "Selection model",
+ "Selection model",
E_SELECTION_MODEL_TYPE,
G_PARAM_WRITABLE));
g_object_class_install_property (object_class, PROP_TABLE_ALTERNATING_ROW_COLORS,
g_param_spec_boolean ("alternating_row_colors",
- _( "Alternating Row Colors" ),
- _( "Alternating Row Colors" ),
+ "Alternating Row Colors",
+ "Alternating Row Colors",
FALSE,
G_PARAM_WRITABLE));
g_object_class_install_property (object_class, PROP_TABLE_HORIZONTAL_DRAW_GRID,
g_param_spec_boolean ("horizontal_draw_grid",
- _( "Horizontal Draw Grid" ),
- _( "Horizontal Draw Grid" ),
+ "Horizontal Draw Grid",
+ "Horizontal Draw Grid",
FALSE,
G_PARAM_WRITABLE));
g_object_class_install_property (object_class, PROP_TABLE_VERTICAL_DRAW_GRID,
g_param_spec_boolean ("vertical_draw_grid",
- _( "Vertical Draw Grid" ),
- _( "Vertical Draw Grid" ),
+ "Vertical Draw Grid",
+ "Vertical Draw Grid",
FALSE,
G_PARAM_WRITABLE));
g_object_class_install_property (object_class, PROP_TABLE_DRAW_FOCUS,
g_param_spec_boolean ("drawfocus",
- _( "Draw focus" ),
- _( "Draw focus" ),
+ "Draw focus",
+ "Draw focus",
FALSE,
G_PARAM_WRITABLE));
g_object_class_install_property (object_class, PROP_CURSOR_MODE,
g_param_spec_int ("cursor_mode",
- _( "Cursor mode" ),
- _( "Cursor mode" ),
+ "Cursor mode",
+ "Cursor mode",
E_CURSOR_LINE, E_CURSOR_SPREADSHEET, E_CURSOR_LINE,
G_PARAM_WRITABLE));
g_object_class_install_property (object_class, PROP_LENGTH_THRESHOLD,
g_param_spec_int ("length_threshold",
- _( "Length Threshold" ),
- _( "Length Threshold" ),
+ "Length Threshold",
+ "Length Threshold",
-1, G_MAXINT, 0,
G_PARAM_WRITABLE));
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_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_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_CURSOR_ROW,
g_param_spec_int ("cursor_row",
- _( "Cursor row" ),
- _( "Cursor row" ),
+ "Cursor row",
+ "Cursor row",
0, G_MAXINT, 0,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_UNIFORM_ROW_HEIGHT,
g_param_spec_boolean ("uniform_row_height",
- _( "Uniform row height" ),
- _( "Uniform row height" ),
+ "Uniform row height",
+ "Uniform row height",
FALSE,
G_PARAM_READWRITE));
diff --git a/widgets/table/e-table-selection-model.c b/widgets/table/e-table-selection-model.c
index 67a27cde01..3e98ddbfef 100644
--- a/widgets/table/e-table-selection-model.c
+++ b/widgets/table/e-table-selection-model.c
@@ -299,15 +299,15 @@ e_table_selection_model_class_init (ETableSelectionModelClass *klass)
g_object_class_install_property (object_class, PROP_MODEL,
g_param_spec_object ("model",
- _("Model"),
- /*_( */"XXX blurb" /*)*/,
+ "Model",
+ NULL,
E_TABLE_MODEL_TYPE,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_HEADER,
g_param_spec_object ("header",
- _("Header"),
- /*_( */"XXX blurb" /*)*/,
+ "Header",
+ NULL,
E_TABLE_HEADER_TYPE,
G_PARAM_READWRITE));
}
diff --git a/widgets/table/e-table-sorter.c b/widgets/table/e-table-sorter.c
index 82ed1d860a..805aed5ca1 100644
--- a/widgets/table/e-table-sorter.c
+++ b/widgets/table/e-table-sorter.c
@@ -170,8 +170,8 @@ ets_class_init (ETableSorterClass *klass)
g_object_class_install_property (object_class, PROP_SORT_INFO,
g_param_spec_object ("sort_info",
- _("Sort Info"),
- /*_( */"XXX blurb" /*)*/,
+ "Sort Info",
+ NULL,
E_TABLE_SORT_INFO_TYPE,
G_PARAM_READWRITE));
}
diff --git a/widgets/table/e-table-sorting-utils.c b/widgets/table/e-table-sorting-utils.c
index 8ad797a9d1..c07293242c 100644
--- a/widgets/table/e-table-sorting-utils.c
+++ b/widgets/table/e-table-sorting-utils.c
@@ -23,8 +23,7 @@
#include <config.h>
#include <string.h>
-
-#include <camel/camel-string-utils.h>
+#include <camel/camel.h>
#include "e-util/e-util.h"
diff --git a/widgets/table/e-table-utils.c b/widgets/table/e-table-utils.c
index 89affd357d..f3bce34487 100644
--- a/widgets/table/e-table-utils.c
+++ b/widgets/table/e-table-utils.c
@@ -36,6 +36,7 @@ ETableHeader *
e_table_state_to_header (GtkWidget *widget, ETableHeader *full_header, ETableState *state)
{
ETableHeader *nh;
+ GtkStyle *style;
const gint max_cols = e_table_header_count (full_header);
gint column;
GValue *val = g_new0 (GValue, 1);
@@ -44,9 +45,11 @@ e_table_state_to_header (GtkWidget *widget, ETableHeader *full_header, ETableSta
g_return_val_if_fail (full_header, NULL);
g_return_val_if_fail (state, NULL);
+ style = gtk_widget_get_style (widget);
+
nh = e_table_header_new ();
g_value_init (val, G_TYPE_DOUBLE);
- g_value_set_double (val, e_table_header_width_extras (widget->style));
+ g_value_set_double (val, e_table_header_width_extras (style));
g_object_set_property (G_OBJECT(nh), "width_extras", val);
g_free (val);
diff --git a/widgets/table/e-table.c b/widgets/table/e-table.c
index 8110732e2c..088e4e1693 100644
--- a/widgets/table/e-table.c
+++ b/widgets/table/e-table.c
@@ -58,7 +58,9 @@
#define d(x)
#if d(!)0
-#define e_table_item_leave_edit_(x) (e_table_item_leave_edit((x)), g_print ("%s: e_table_item_leave_edit\n", __FUNCTION__))
+#define e_table_item_leave_edit_(x) \
+ (e_table_item_leave_edit ((x)), \
+ g_print ("%s: e_table_item_leave_edit\n", __FUNCTION__))
#else
#define e_table_item_leave_edit_(x) (e_table_item_leave_edit((x)))
#endif
@@ -199,7 +201,9 @@ e_table_state_change (ETable *et)
g_signal_emit (G_OBJECT (et), et_signals [STATE_CHANGE], 0);
}
-#define CHECK_HORIZONTAL(et) if ((et)->horizontal_scrolling || (et)->horizontal_resize) e_table_header_update_horizontal (et->header);
+#define CHECK_HORIZONTAL(et) \
+ if ((et)->horizontal_scrolling || (et)->horizontal_resize) \
+ e_table_header_update_horizontal (et->header);
static void
clear_current_search_col (ETable *et)
@@ -288,7 +292,8 @@ connect_header (ETable *e_table, ETableState *state)
if (e_table->header != NULL)
disconnect_header (e_table);
- e_table->header = e_table_state_to_header (GTK_WIDGET(e_table), e_table->full_header, state);
+ e_table->header = e_table_state_to_header (
+ GTK_WIDGET (e_table), e_table->full_header, state);
e_table->structure_change_id =
g_signal_connect (G_OBJECT (e_table->header), "structure_change",
@@ -409,7 +414,11 @@ et_unrealize (GtkWidget *widget)
}
static gboolean
-check_row (ETable *et, gint model_row, gint col, ETableSearchFunc search, gchar *string)
+check_row (ETable *et,
+ gint model_row,
+ gint col,
+ ETableSearchFunc search,
+ gchar *string)
{
gconstpointer value;
@@ -419,7 +428,10 @@ check_row (ETable *et, gint model_row, gint col, ETableSearchFunc search, gchar
}
static gboolean
-et_search_search (ETableSearch *search, gchar *string, ETableSearchFlags flags, ETable *et)
+et_search_search (ETableSearch *search,
+ gchar *string,
+ ETableSearchFlags flags,
+ ETable *et)
{
gint cursor;
gint rows;
@@ -435,7 +447,9 @@ et_search_search (ETableSearch *search, gchar *string, ETableSearchFlags flags,
"cursor_row", &cursor,
NULL);
- if ((flags & E_TABLE_SEARCH_FLAGS_CHECK_CURSOR_FIRST) && cursor < rows && cursor >= 0 && check_row (et, cursor, col->col_idx, col->search, string))
+ if ((flags & E_TABLE_SEARCH_FLAGS_CHECK_CURSOR_FIRST) &&
+ cursor < rows && cursor >= 0 &&
+ check_row (et, cursor, col->col_idx, col->search, string))
return TRUE;
cursor = e_sorter_model_to_sorted (E_SORTER (et->sorter), cursor);
@@ -443,7 +457,9 @@ et_search_search (ETableSearch *search, gchar *string, ETableSearchFlags flags,
for (i = cursor + 1; i < rows; i++) {
gint model_row = e_sorter_sorted_to_model (E_SORTER (et->sorter), i);
if (check_row (et, model_row, col->col_idx, col->search, string)) {
- e_selection_model_select_as_key_press(E_SELECTION_MODEL (et->selection), model_row, col->col_idx, GDK_CONTROL_MASK);
+ e_selection_model_select_as_key_press (
+ E_SELECTION_MODEL (et->selection),
+ model_row, col->col_idx, GDK_CONTROL_MASK);
return TRUE;
}
}
@@ -451,7 +467,9 @@ et_search_search (ETableSearch *search, gchar *string, ETableSearchFlags flags,
for (i = 0; i < cursor; i++) {
gint model_row = e_sorter_sorted_to_model (E_SORTER (et->sorter), i);
if (check_row (et, model_row, col->col_idx, col->search, string)) {
- e_selection_model_select_as_key_press(E_SELECTION_MODEL (et->selection), model_row, col->col_idx, GDK_CONTROL_MASK);
+ e_selection_model_select_as_key_press (
+ E_SELECTION_MODEL (et->selection),
+ model_row, col->col_idx, GDK_CONTROL_MASK);
return TRUE;
}
}
@@ -459,7 +477,9 @@ et_search_search (ETableSearch *search, gchar *string, ETableSearchFlags flags,
cursor = e_sorter_sorted_to_model (E_SORTER (et->sorter), cursor);
/* Check if the cursor row is the only matching row. */
- return (!(flags & E_TABLE_SEARCH_FLAGS_CHECK_CURSOR_FIRST) && cursor < rows && cursor >= 0 && check_row (et, cursor, col->col_idx, col->search, string));
+ return (!(flags & E_TABLE_SEARCH_FLAGS_CHECK_CURSOR_FIRST) &&
+ cursor < rows && cursor >= 0 &&
+ check_row (et, cursor, col->col_idx, col->search, string));
}
static void
@@ -471,10 +491,10 @@ et_search_accept (ETableSearch *search, ETable *et)
if (col == NULL)
return;
- g_object_get(et->selection,
- "cursor_row", &cursor,
- NULL);
- e_selection_model_select_as_key_press(E_SELECTION_MODEL (et->selection), cursor, col->col_idx, 0);
+ g_object_get (et->selection, "cursor_row", &cursor, NULL);
+
+ e_selection_model_select_as_key_press (
+ E_SELECTION_MODEL (et->selection), cursor, col->col_idx, 0);
}
static void
@@ -509,11 +529,9 @@ et_finalize (GObject *object)
static void
e_table_init (ETable *e_table)
{
- GtkTable *gtk_table = GTK_TABLE (e_table);
+ gtk_widget_set_can_focus (GTK_WIDGET (e_table), TRUE);
- GTK_WIDGET_SET_FLAGS (GTK_WIDGET (e_table), GTK_CAN_FOCUS);
-
- gtk_table->homogeneous = FALSE;
+ gtk_table_set_homogeneous (GTK_TABLE (e_table), FALSE);
e_table->sort_info = NULL;
e_table->group_info_change_id = 0;
@@ -582,7 +600,7 @@ et_focus (GtkWidget *container, GtkDirectionType direction)
e_table = E_TABLE (container);
- if (GTK_CONTAINER (container)->focus_child) {
+ if (gtk_container_get_focus_child (GTK_CONTAINER (container))) {
gtk_container_set_focus_child (GTK_CONTAINER (container), NULL);
return FALSE;
}
@@ -615,14 +633,18 @@ set_header_canvas_width (ETable *e_table)
static void
header_canvas_size_allocate (GtkWidget *widget, GtkAllocation *alloc, ETable *e_table)
{
+ GtkAllocation allocation;
+
set_header_canvas_width (e_table);
+ gtk_widget_get_allocation (
+ GTK_WIDGET (e_table->header_canvas), &allocation);
+
/* When the header item is created ->height == 0,
as the font is only created when everything is realized.
So we set the usize here as well, so that the size of the
header is correct */
- if (GTK_WIDGET (e_table->header_canvas)->allocation.height !=
- E_TABLE_HEADER_ITEM (e_table->header_item)->height)
+ if (allocation.height != E_TABLE_HEADER_ITEM (e_table->header_item)->height)
g_object_set (
e_table->header_canvas, "height-request",
E_TABLE_HEADER_ITEM (e_table->header_item)->height,
@@ -688,14 +710,16 @@ table_canvas_reflow_idle (ETable *e_table)
{
gdouble height, width;
gdouble oldheight, oldwidth;
- GtkAllocation *alloc = &(GTK_WIDGET (e_table->table_canvas)->allocation);
+ GtkAllocation allocation;
- g_object_get (e_table->canvas_vbox,
- "height", &height,
- "width", &width,
- NULL);
- height = MAX ((gint)height, alloc->height);
- width = MAX((gint)width, alloc->width);
+ gtk_widget_get_allocation (
+ GTK_WIDGET (e_table->table_canvas), &allocation);
+
+ g_object_get (
+ e_table->canvas_vbox,
+ "height", &height, "width", &width, NULL);
+ height = MAX ((gint)height, allocation.height);
+ width = MAX((gint)width, allocation.width);
/* I have no idea why this needs to be -1, but it works. */
gnome_canvas_get_scroll_region (GNOME_CANVAS (e_table->table_canvas),
NULL, NULL, &oldwidth, &oldheight);
@@ -745,7 +769,9 @@ static void
table_canvas_reflow (GnomeCanvas *canvas, ETable *e_table)
{
if (!e_table->reflow_idle_id)
- e_table->reflow_idle_id = g_idle_add_full (400, (GSourceFunc) table_canvas_reflow_idle, e_table, NULL);
+ e_table->reflow_idle_id = g_idle_add_full (
+ 400, (GSourceFunc) table_canvas_reflow_idle,
+ e_table, NULL);
}
static void
@@ -787,7 +813,11 @@ static gboolean
group_right_click (ETableGroup *etg, gint row, gint col, GdkEvent *event, ETable *et)
{
gboolean return_val = FALSE;
- g_signal_emit (G_OBJECT (et), et_signals [RIGHT_CLICK], 0, row, col, event, &return_val);
+
+ g_signal_emit (
+ et, et_signals[RIGHT_CLICK], 0,
+ row, col, event, &return_val);
+
return return_val;
}
@@ -805,14 +835,24 @@ group_key_press (ETableGroup *etg, gint row, gint col, GdkEvent *event, ETable *
gboolean return_val = FALSE;
GdkEventKey *key = (GdkEventKey *) event;
gint y, row_local, col_local;
- GtkAdjustment *vadj;
+ GtkAdjustment *adjustment;
+ GtkLayout *layout;
+ gdouble page_size;
+ gdouble upper;
+ gdouble value;
+
+ layout = GTK_LAYOUT (et->table_canvas);
+ adjustment = gtk_layout_get_vadjustment (layout);
switch (key->keyval) {
case GDK_Page_Down:
case GDK_KP_Page_Down:
- vadj = gtk_layout_get_vadjustment (GTK_LAYOUT (et->table_canvas));
- y = CLAMP(vadj->value + (2 * vadj->page_size - 50), 0, vadj->upper);
- y -= vadj->value;
+ page_size = gtk_adjustment_get_page_size (adjustment);
+ upper = gtk_adjustment_get_value (adjustment);
+ value = gtk_adjustment_get_value (adjustment);
+
+ y = CLAMP (value + (2 * page_size - 50), 0, upper);
+ y -= value;
e_table_get_cell_at (et, 30, y, &row_local, &col_local);
if (row_local == -1)
@@ -820,14 +860,19 @@ group_key_press (ETableGroup *etg, gint row, gint col, GdkEvent *event, ETable *
row_local = e_table_view_to_model_row (et, row_local);
col_local = e_selection_model_cursor_col (E_SELECTION_MODEL (et->selection));
- e_selection_model_select_as_key_press (E_SELECTION_MODEL (et->selection), row_local, col_local, key->state);
+ e_selection_model_select_as_key_press (
+ E_SELECTION_MODEL (et->selection),
+ row_local, col_local, key->state);
return_val = 1;
break;
case GDK_Page_Up:
case GDK_KP_Page_Up:
- vadj = gtk_layout_get_vadjustment (GTK_LAYOUT (et->table_canvas));
- y = CLAMP(vadj->value - (vadj->page_size - 50), 0, vadj->upper);
- y -= vadj->value;
+ page_size = gtk_adjustment_get_page_size (adjustment);
+ upper = gtk_adjustment_get_upper (adjustment);
+ value = gtk_adjustment_get_value (adjustment);
+
+ y = CLAMP (value - (page_size - 50), 0, upper);
+ y -= value;
e_table_get_cell_at (et, 30, y, &row_local, &col_local);
if (row_local == -1)
@@ -835,7 +880,9 @@ group_key_press (ETableGroup *etg, gint row, gint col, GdkEvent *event, ETable *
row_local = e_table_view_to_model_row (et, row_local);
col_local = e_selection_model_cursor_col (E_SELECTION_MODEL (et->selection));
- e_selection_model_select_as_key_press (E_SELECTION_MODEL (et->selection), row_local, col_local, key->state);
+ e_selection_model_select_as_key_press (
+ E_SELECTION_MODEL (et->selection),
+ row_local, col_local, key->state);
return_val = 1;
break;
case GDK_BackSpace:
@@ -845,7 +892,9 @@ group_key_press (ETableGroup *etg, gint row, gint col, GdkEvent *event, ETable *
/* Fall through */
default:
init_search (et);
- if ((key->state & ~(GDK_SHIFT_MASK | GDK_LOCK_MASK | GDK_MOD1_MASK | GDK_MOD2_MASK | GDK_MOD3_MASK | GDK_MOD4_MASK | GDK_MOD5_MASK)) == 0
+ if ((key->state & ~(GDK_SHIFT_MASK | GDK_LOCK_MASK |
+ GDK_MOD1_MASK | GDK_MOD2_MASK | GDK_MOD3_MASK |
+ GDK_MOD4_MASK | GDK_MOD5_MASK)) == 0
&& ((key->keyval >= GDK_a && key->keyval <= GDK_z) ||
(key->keyval >= GDK_A && key->keyval <= GDK_Z) ||
(key->keyval >= GDK_0 && key->keyval <= GDK_9)))
@@ -937,20 +986,25 @@ et_build_groups (ETable *et)
0);
if (et->use_click_to_add_end)
- e_canvas_vbox_add_item_start(E_CANVAS_VBOX(et->canvas_vbox), GNOME_CANVAS_ITEM(et->group));
+ e_canvas_vbox_add_item_start (
+ E_CANVAS_VBOX (et->canvas_vbox),
+ GNOME_CANVAS_ITEM (et->group));
else
- e_canvas_vbox_add_item(E_CANVAS_VBOX(et->canvas_vbox), GNOME_CANVAS_ITEM(et->group));
-
- gnome_canvas_item_set(GNOME_CANVAS_ITEM(et->group),
- "alternating_row_colors", et->alternating_row_colors,
- "horizontal_draw_grid", et->horizontal_draw_grid,
- "vertical_draw_grid", et->vertical_draw_grid,
- "drawfocus", et->draw_focus,
- "cursor_mode", et->cursor_mode,
- "length_threshold", et->length_threshold,
- "uniform_row_height", et->uniform_row_height,
- "selection_model", et->selection,
- NULL);
+ e_canvas_vbox_add_item (
+ E_CANVAS_VBOX (et->canvas_vbox),
+ GNOME_CANVAS_ITEM (et->group));
+
+ gnome_canvas_item_set (
+ GNOME_CANVAS_ITEM(et->group),
+ "alternating_row_colors", et->alternating_row_colors,
+ "horizontal_draw_grid", et->horizontal_draw_grid,
+ "vertical_draw_grid", et->vertical_draw_grid,
+ "drawfocus", et->draw_focus,
+ "cursor_mode", et->cursor_mode,
+ "length_threshold", et->length_threshold,
+ "uniform_row_height", et->uniform_row_height,
+ "selection_model", et->selection,
+ NULL);
g_signal_connect (G_OBJECT (et->group), "cursor_change",
G_CALLBACK (group_cursor_change), et);
@@ -971,20 +1025,25 @@ et_build_groups (ETable *et)
et_disconnect_model (et);
if (et->is_grouped && (!was_grouped)) {
- et->table_model_change_id = g_signal_connect (G_OBJECT (et->model), "model_changed",
- G_CALLBACK (et_table_model_changed), et);
+ et->table_model_change_id = g_signal_connect (
+ et->model, "model_changed",
+ G_CALLBACK (et_table_model_changed), et);
- et->table_row_change_id = g_signal_connect (G_OBJECT (et->model), "model_row_changed",
- G_CALLBACK (et_table_row_changed), et);
+ et->table_row_change_id = g_signal_connect (
+ et->model, "model_row_changed",
+ G_CALLBACK (et_table_row_changed), et);
- et->table_cell_change_id = g_signal_connect (G_OBJECT (et->model), "model_cell_changed",
- G_CALLBACK (et_table_cell_changed), et);
+ et->table_cell_change_id = g_signal_connect (
+ et->model, "model_cell_changed",
+ G_CALLBACK (et_table_cell_changed), et);
- et->table_rows_inserted_id = g_signal_connect (G_OBJECT (et->model), "model_rows_inserted",
- G_CALLBACK (et_table_rows_inserted), et);
+ et->table_rows_inserted_id = g_signal_connect (
+ et->model, "model_rows_inserted",
+ G_CALLBACK (et_table_rows_inserted), et);
- et->table_rows_deleted_id = g_signal_connect (G_OBJECT (et->model), "model_rows_deleted",
- G_CALLBACK (et_table_rows_deleted), et);
+ et->table_rows_deleted_id = g_signal_connect (
+ et->model, "model_rows_deleted",
+ G_CALLBACK (et_table_rows_deleted), et);
}
@@ -1029,9 +1088,15 @@ changed_idle (gpointer data)
static void
et_canvas_realize (GtkWidget *canvas, ETable *e_table)
{
+ GtkWidget *widget;
+ GtkStyle *style;
+
+ widget = GTK_WIDGET (e_table->table_canvas);
+ style = gtk_widget_get_style (widget);
+
gnome_canvas_item_set(
e_table->white_item,
- "fill_color_gdk", &GTK_WIDGET(e_table->table_canvas)->style->base[GTK_STATE_NORMAL],
+ "fill_color_gdk", &style->base[GTK_STATE_NORMAL],
NULL);
CHECK_HORIZONTAL(e_table);
@@ -1052,11 +1117,7 @@ et_eti_leave_edit (ETable *et)
{
GnomeCanvas *canvas = et->table_canvas;
-#if GTK_CHECK_VERSION(2,19,7)
if (gtk_widget_has_focus (GTK_WIDGET (canvas))) {
-#else
- if (GTK_WIDGET_HAS_FOCUS(canvas)) {
-#endif
GnomeCanvasItem *item = GNOME_CANVAS(canvas)->focused_item;
if (E_IS_TABLE_ITEM(item)) {
@@ -1208,6 +1269,9 @@ static void
e_table_setup_table (ETable *e_table, ETableHeader *full_header, ETableHeader *header,
ETableModel *model)
{
+ GtkWidget *widget;
+ GtkStyle *style;
+
e_table->table_canvas = GNOME_CANVAS (e_canvas_new ());
g_signal_connect (
G_OBJECT (e_table->table_canvas), "size_allocate",
@@ -1247,12 +1311,15 @@ e_table_setup_table (ETable *e_table, ETableHeader *full_header, ETableHeader *h
g_signal_connect (G_OBJECT(e_table->table_canvas), "reflow",
G_CALLBACK (table_canvas_reflow), e_table);
- gtk_widget_show (GTK_WIDGET (e_table->table_canvas));
+ widget = GTK_WIDGET (e_table->table_canvas);
+ style = gtk_widget_get_style (widget);
+
+ gtk_widget_show (widget);
e_table->white_item = gnome_canvas_item_new(
gnome_canvas_root(e_table->table_canvas),
e_canvas_background_get_type(),
- "fill_color_gdk", &GTK_WIDGET(e_table->table_canvas)->style->base[GTK_STATE_NORMAL],
+ "fill_color_gdk", &style->base[GTK_STATE_NORMAL],
NULL);
g_signal_connect (G_OBJECT (e_table->white_item), "event",
@@ -1321,12 +1388,19 @@ e_table_fill_table (ETable *e_table, ETableModel *model)
void
e_table_set_state_object(ETable *e_table, ETableState *state)
{
- GValue *val = g_new0 (GValue, 1);
+ GValue *val;
+ GtkWidget *widget;
+ GtkAllocation allocation;
+
+ val = g_new0 (GValue, 1);
g_value_init (val, G_TYPE_DOUBLE);
connect_header (e_table, state);
- g_value_set_double (val, (gdouble) (GTK_WIDGET(e_table->table_canvas)->allocation.width));
+ widget = GTK_WIDGET (e_table->table_canvas);
+ gtk_widget_get_allocation (widget, &allocation);
+
+ g_value_set_double (val, (gdouble) allocation.width);
g_object_set_property (G_OBJECT (e_table->header), "width", val);
g_free (val);
@@ -1528,7 +1602,11 @@ et_real_construct (ETable *e_table, ETableModel *etm, ETableExtras *ete,
{
gint row = 0;
gint col_count, i;
- GValue *val = g_new0 (GValue, 1);
+ GValue *val;
+ GtkLayout *layout;
+ GtkAdjustment *adjustment;
+
+ val = g_new0 (GValue, 1);
g_value_init (val, G_TYPE_OBJECT);
if (ete)
@@ -1541,7 +1619,9 @@ et_real_construct (ETable *e_table, ETableModel *etm, ETableExtras *ete,
e_table->use_click_to_add = specification->click_to_add;
e_table->use_click_to_add_end = specification->click_to_add_end;
- e_table->click_to_add_message = specification->click_to_add_message ? g_strdup (dgettext (e_table->domain, specification->click_to_add_message)) : NULL;
+ e_table->click_to_add_message = specification->click_to_add_message ?
+ g_strdup (dgettext (e_table->domain,
+ specification->click_to_add_message)) : NULL;
e_table->alternating_row_colors = specification->alternating_row_colors;
e_table->horizontal_draw_grid = specification->horizontal_draw_grid;
e_table->vertical_draw_grid = specification->vertical_draw_grid;
@@ -1607,15 +1687,16 @@ et_real_construct (ETable *e_table, ETableModel *etm, ETableExtras *ete,
e_table_setup_table (e_table, e_table->full_header, e_table->header, etm);
e_table_fill_table (e_table, etm);
- gtk_layout_get_vadjustment (GTK_LAYOUT (e_table->table_canvas))->step_increment = 20;
- gtk_adjustment_changed(gtk_layout_get_vadjustment (GTK_LAYOUT (e_table->table_canvas)));
- gtk_layout_get_hadjustment (GTK_LAYOUT (e_table->table_canvas))->step_increment = 20;
- gtk_adjustment_changed(gtk_layout_get_hadjustment (GTK_LAYOUT (e_table->table_canvas)));
+ layout = GTK_LAYOUT (e_table->table_canvas);
+
+ adjustment = gtk_layout_get_vadjustment (layout);
+ gtk_adjustment_set_step_increment (adjustment, 20);
+
+ adjustment = gtk_layout_get_hadjustment (layout);
+ gtk_adjustment_set_step_increment (adjustment, 20);
if (!specification->no_headers) {
- /*
- * The header
- */
+ /* The header */
gtk_table_attach (GTK_TABLE (e_table), GTK_WIDGET (e_table->header_canvas),
0, 1, 0 + row, 1 + row,
GTK_FILL | GTK_EXPAND,
@@ -1776,7 +1857,10 @@ e_table_construct_from_spec_file (ETable *e_table, ETableModel *etm, ETableExtra
* The newly created #ETable or %NULL if there's an error.
**/
GtkWidget *
-e_table_new (ETableModel *etm, ETableExtras *ete, const gchar *spec, const gchar *state)
+e_table_new (ETableModel *etm,
+ ETableExtras *ete,
+ const gchar *spec,
+ const gchar *state)
{
ETable *e_table;
@@ -1813,7 +1897,10 @@ e_table_new (ETableModel *etm, ETableExtras *ete, const gchar *spec, const gchar
* The newly created #ETable or %NULL if there's an error.
**/
GtkWidget *
-e_table_new_from_spec_file (ETableModel *etm, ETableExtras *ete, const gchar *spec_fn, const gchar *state_fn)
+e_table_new_from_spec_file (ETableModel *etm,
+ ETableExtras *ete,
+ const gchar *spec_fn,
+ const gchar *state_fn)
{
ETable *e_table;
@@ -2237,25 +2324,22 @@ set_scroll_adjustments (ETable *table,
GtkAdjustment *hadjustment,
GtkAdjustment *vadjustment)
{
- if (vadjustment != NULL) {
- vadjustment->step_increment = 20;
- gtk_adjustment_changed(vadjustment);
- }
- if (hadjustment != NULL) {
- hadjustment->step_increment = 20;
- gtk_adjustment_changed(hadjustment);
- }
+ if (vadjustment != NULL)
+ gtk_adjustment_set_step_increment (vadjustment, 20);
+
+ if (hadjustment != NULL)
+ gtk_adjustment_set_step_increment (hadjustment, 20);
if (table->table_canvas != NULL) {
- gtk_layout_set_hadjustment (GTK_LAYOUT(table->table_canvas),
- hadjustment);
- gtk_layout_set_vadjustment (GTK_LAYOUT(table->table_canvas),
- vadjustment);
+ gtk_layout_set_hadjustment (
+ GTK_LAYOUT(table->table_canvas), hadjustment);
+ gtk_layout_set_vadjustment (
+ GTK_LAYOUT(table->table_canvas), vadjustment);
}
if (table->header_canvas != NULL)
- gtk_layout_set_hadjustment (GTK_LAYOUT(table->header_canvas),
- hadjustment);
+ gtk_layout_set_hadjustment (
+ GTK_LAYOUT(table->header_canvas), hadjustment);
}
/**
@@ -2384,7 +2468,9 @@ e_table_get_cell_at (ETable *table,
gint x, gint y,
gint *row_return, gint *col_return)
{
- g_return_if_fail (table != NULL);
+ GtkAdjustment *adjustment;
+ GtkLayout *layout;
+
g_return_if_fail (E_IS_TABLE (table));
g_return_if_fail (row_return != NULL);
g_return_if_fail (col_return != NULL);
@@ -2392,9 +2478,16 @@ e_table_get_cell_at (ETable *table,
/* FIXME it would be nice if it could handle a NULL row_return or
* col_return gracefully. */
- x += GTK_LAYOUT(table->table_canvas)->hadjustment->value;
- y += GTK_LAYOUT(table->table_canvas)->vadjustment->value;
- e_table_group_compute_location(table->group, &x, &y, row_return, col_return);
+ layout = GTK_LAYOUT (table->table_canvas);
+
+ adjustment = gtk_layout_get_hadjustment (layout);
+ x += gtk_adjustment_get_value (adjustment);
+
+ adjustment = gtk_layout_get_vadjustment (layout);
+ y += gtk_adjustment_get_value (adjustment);
+
+ e_table_group_compute_location (
+ table->group, &x, &y, row_return, col_return);
}
/**
@@ -2402,8 +2495,10 @@ e_table_get_cell_at (ETable *table,
* @table: The #ETable.
* @row: The row to get the geometry of.
* @col: The col to get the geometry of.
- * @x_return: Returns the x coordinate of the upper left hand corner of the cell with respect to the widget.
- * @y_return: Returns the y coordinate of the upper left hand corner of the cell with respect to the widget.
+ * @x_return: Returns the x coordinate of the upper left hand corner
+ * of the cell with respect to the widget.
+ * @y_return: Returns the y coordinate of the upper left hand corner
+ * of the cell with respect to the widget.
* @width_return: Returns the width of the cell.
* @height_return: Returns the height of the cell.
*
@@ -2416,24 +2511,43 @@ e_table_get_cell_geometry (ETable *table,
gint *x_return, gint *y_return,
gint *width_return, gint *height_return)
{
- g_return_if_fail (table != NULL);
+ GtkAdjustment *adjustment;
+ GtkAllocation allocation;
+ GtkLayout *layout;
+
g_return_if_fail (E_IS_TABLE (table));
- e_table_group_get_cell_geometry(table->group, &row, &col, x_return, y_return, width_return, height_return);
+ layout = GTK_LAYOUT (table->table_canvas);
+
+ e_table_group_get_cell_geometry (
+ table->group, &row, &col, x_return, y_return,
+ width_return, height_return);
+
+ if (x_return && table->table_canvas) {
+ adjustment = gtk_layout_get_hadjustment (layout);
+ (*x_return) -= gtk_adjustment_get_value (adjustment);
+ }
- if (x_return && table->table_canvas)
- (*x_return) -= GTK_LAYOUT(table->table_canvas)->hadjustment->value;
if (y_return) {
- if (table->table_canvas)
- (*y_return) -= GTK_LAYOUT(table->table_canvas)->vadjustment->value;
- if (table->header_canvas)
- (*y_return) += GTK_WIDGET(table->header_canvas)->allocation.height;
+ if (table->table_canvas) {
+ adjustment = gtk_layout_get_vadjustment (layout);
+ (*y_return) -= gtk_adjustment_get_value (adjustment);
+ }
+
+ if (table->header_canvas) {
+ gtk_widget_get_allocation (
+ GTK_WIDGET (table->header_canvas),
+ &allocation);
+ (*y_return) += allocation.height;
+ }
}
}
/**
* e_table_get_mouse_over_cell:
- * Similar to e_table_get_cell_at, only here we check based on the mouse motion information in the group.
+ *
+ * Similar to e_table_get_cell_at, only here we check
+ * based on the mouse motion information in the group.
**/
void
e_table_get_mouse_over_cell (ETable *table, gint *row, gint *col)
@@ -2578,30 +2692,39 @@ e_table_drag_highlight (ETable *table,
gint row,
gint col)
{
- g_return_if_fail(table != NULL);
- g_return_if_fail(E_IS_TABLE(table));
+ GtkAdjustment *adjustment;
+ GtkAllocation allocation;
+ GtkLayout *layout;
+ GtkStyle *style;
+
+ g_return_if_fail (E_IS_TABLE (table));
+
+ layout = GTK_LAYOUT (table->table_canvas);
+ style = gtk_widget_get_style (GTK_WIDGET (table));
+ gtk_widget_get_allocation (GTK_WIDGET (layout), &allocation);
if (row != -1) {
gint x, y, width, height;
if (col == -1) {
e_table_get_cell_geometry (table, row, 0, &x, &y, &width, &height);
x = 0;
- width = GTK_WIDGET (table->table_canvas)->allocation.width;
+ width = allocation.width;
} else {
e_table_get_cell_geometry (table, row, col, &x, &y, &width, &height);
- x += GTK_LAYOUT(table->table_canvas)->hadjustment->value;
+ adjustment = gtk_layout_get_hadjustment (layout);
+ x += gtk_adjustment_get_value (adjustment);
}
- y += GTK_LAYOUT(table->table_canvas)->vadjustment->value;
+
+ adjustment = gtk_layout_get_vadjustment (layout);
+ y += gtk_adjustment_get_value (adjustment);
if (table->drop_highlight == NULL) {
- table->drop_highlight =
- gnome_canvas_item_new (gnome_canvas_root (table->table_canvas),
- gnome_canvas_rect_get_type (),
- "fill_color", NULL,
- /* "outline_color", "black",
- "width_pixels", 1,*/
- "outline_color_gdk", &(GTK_WIDGET (table)->style->fg[GTK_STATE_NORMAL]),
- NULL);
+ table->drop_highlight = gnome_canvas_item_new (
+ gnome_canvas_root (table->table_canvas),
+ gnome_canvas_rect_get_type (),
+ "fill_color", NULL,
+ "outline_color_gdk", &style->fg[GTK_STATE_NORMAL],
+ NULL);
}
gnome_canvas_item_set (table->drop_highlight,
"x1", (gdouble) x,
@@ -2901,8 +3024,15 @@ scroll_timeout (gpointer data)
{
ETable *et = data;
gint dx = 0, dy = 0;
- GtkAdjustment *h, *v;
- gdouble hvalue, vvalue;
+ GtkAdjustment *adjustment;
+ GtkLayout *layout;
+ gdouble old_h_value;
+ gdouble new_h_value;
+ gdouble old_v_value;
+ gdouble new_v_value;
+ gdouble page_size;
+ gdouble lower;
+ gdouble upper;
if (et->scroll_direction & ET_SCROLL_DOWN)
dy += 20;
@@ -2914,22 +3044,37 @@ scroll_timeout (gpointer data)
if (et->scroll_direction & ET_SCROLL_LEFT)
dx -= 20;
- h = GTK_LAYOUT(et->table_canvas)->hadjustment;
- v = GTK_LAYOUT(et->table_canvas)->vadjustment;
+ layout = GTK_LAYOUT (et->table_canvas);
- hvalue = h->value;
- vvalue = v->value;
+ adjustment = gtk_layout_get_hadjustment (layout);
- gtk_adjustment_set_value(h, CLAMP(h->value + dx, h->lower, h->upper - h->page_size));
- gtk_adjustment_set_value(v, CLAMP(v->value + dy, v->lower, v->upper - v->page_size));
+ lower = gtk_adjustment_get_lower (adjustment);
+ upper = gtk_adjustment_get_upper (adjustment);
+ page_size = gtk_adjustment_get_page_size (adjustment);
- if (h->value != hvalue ||
- v->value != vvalue)
- do_drag_motion(et,
- et->last_drop_context,
- et->last_drop_x,
- et->last_drop_y,
- et->last_drop_time);
+ old_h_value = gtk_adjustment_get_value (adjustment);
+ new_h_value = CLAMP (old_h_value + dx, lower, upper - page_size);
+
+ gtk_adjustment_set_value (adjustment, new_h_value);
+
+ adjustment = gtk_layout_get_vadjustment (layout);
+
+ lower = gtk_adjustment_get_lower (adjustment);
+ upper = gtk_adjustment_get_upper (adjustment);
+ page_size = gtk_adjustment_get_page_size (adjustment);
+
+ old_v_value = gtk_adjustment_get_value (adjustment);
+ new_v_value = CLAMP (old_v_value + dy, lower, upper - page_size);
+
+ gtk_adjustment_set_value (adjustment, new_v_value);
+
+ if (new_h_value != old_h_value || new_v_value != old_v_value)
+ do_drag_motion (
+ et,
+ et->last_drop_context,
+ et->last_drop_x,
+ et->last_drop_y,
+ et->last_drop_time);
return TRUE;
}
@@ -3001,28 +3146,27 @@ et_drag_motion(GtkWidget *widget,
guint time,
ETable *et)
{
+ GtkAllocation allocation;
gboolean ret_val;
guint direction = 0;
+ gtk_widget_get_allocation (widget, &allocation);
+
et->last_drop_x = x;
et->last_drop_y = y;
et->last_drop_time = time;
et->last_drop_context = context;
context_connect (et, context);
- ret_val = do_drag_motion (et,
- context,
- x,
- y,
- time);
+ ret_val = do_drag_motion (et, context, x, y, time);
if (y < 20)
direction |= ET_SCROLL_UP;
- if (y > widget->allocation.height - 20)
+ if (y > allocation.height - 20)
direction |= ET_SCROLL_DOWN;
if (x < 20)
direction |= ET_SCROLL_LEFT;
- if (x > widget->allocation.width - 20)
+ if (x > allocation.width - 20)
direction |= ET_SCROLL_RIGHT;
if (direction != 0)
@@ -3336,47 +3480,48 @@ e_table_class_init (ETableClass *class)
g_object_class_install_property (object_class, PROP_LENGTH_THRESHOLD,
g_param_spec_int ("length_threshold",
- _("Length Threshold"),
- /*_( */"XXX blurb" /*)*/,
+ "Length Threshold",
+ NULL,
0, G_MAXINT, 0,
G_PARAM_WRITABLE));
g_object_class_install_property (object_class, PROP_UNIFORM_ROW_HEIGHT,
g_param_spec_boolean ("uniform_row_height",
- _("Uniform row height"),
- /*_( */"XXX blurb" /*)*/,
+ "Uniform row height",
+ NULL,
FALSE,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_ALWAYS_SEARCH,
g_param_spec_boolean ("always_search",
- _("Always search"),
- /*_( */"XXX blurb" /*)*/,
+ "Always search",
+ NULL,
FALSE,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_USE_CLICK_TO_ADD,
g_param_spec_boolean ("use_click_to_add",
- _("Use click to add"),
- /*_( */"XXX blurb" /*)*/,
+ "Use click to add",
+ NULL,
FALSE,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_MODEL,
g_param_spec_object ("model",
- _("Model"),
- /*_( */"XXX blurb" /*)*/,
+ "Model",
+ NULL,
E_TABLE_MODEL_TYPE,
G_PARAM_READABLE));
gtk_widget_class_install_style_property (widget_class,
g_param_spec_int ("vertical-spacing",
- _("Vertical Row Spacing"),
- _("Vertical space between rows. It is added to top and to bottom of a row"),
+ "Vertical Row Spacing",
+ "Vertical space between rows. It is added to top and to bottom of a row",
0,
G_MAXINT,
3,
- G_PARAM_READABLE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS));
gal_a11y_e_table_init ();
}
diff --git a/widgets/table/e-tree-selection-model.c b/widgets/table/e-tree-selection-model.c
index 6f89816fbe..0c877e2279 100644
--- a/widgets/table/e-tree-selection-model.c
+++ b/widgets/table/e-tree-selection-model.c
@@ -800,29 +800,29 @@ e_tree_selection_model_class_init (ETreeSelectionModelClass *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));
g_object_class_install_property (object_class, PROP_MODEL,
g_param_spec_object ("model",
- _("Model"),
- "XXX blurb",
+ "Model",
+ NULL,
E_TREE_MODEL_TYPE,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_ETTA,
g_param_spec_object ("etta",
"ETTA",
- "XXX blurb",
+ NULL,
E_TREE_TABLE_ADAPTER_TYPE,
G_PARAM_READWRITE));
diff --git a/widgets/table/e-tree.c b/widgets/table/e-tree.c
index ac1fcdd2d7..f813b64e8f 100644
--- a/widgets/table/e-tree.c
+++ b/widgets/table/e-tree.c
@@ -538,11 +538,9 @@ et_search_accept (ETableSearch *search, ETree *et)
static void
e_tree_init (ETree *e_tree)
{
- GtkTable *gtk_table = GTK_TABLE (e_tree);
+ gtk_widget_set_can_focus (GTK_WIDGET (e_tree), TRUE);
- GTK_WIDGET_SET_FLAGS (GTK_WIDGET (e_tree), GTK_CAN_FOCUS);
-
- gtk_table->homogeneous = FALSE;
+ gtk_table_set_homogeneous (GTK_TABLE (e_tree), FALSE);
e_tree->priv = g_new(ETreePriv, 1);
@@ -656,7 +654,7 @@ et_focus (GtkWidget *container, GtkDirectionType direction)
e_tree = E_TREE (container);
- if (GTK_CONTAINER (container)->focus_child) {
+ if (gtk_container_get_focus_child (GTK_CONTAINER (container))) {
gtk_container_set_focus_child (GTK_CONTAINER (container), NULL);
return FALSE;
}
@@ -689,26 +687,33 @@ set_header_canvas_width (ETree *e_tree)
static void
header_canvas_size_allocate (GtkWidget *widget, GtkAllocation *alloc, ETree *e_tree)
{
+ GtkAllocation allocation;
+
set_header_canvas_width (e_tree);
+ widget = GTK_WIDGET (e_tree->priv->header_canvas);
+ gtk_widget_get_allocation (widget, &allocation);
+
/* When the header item is created ->height == 0,
as the font is only created when everything is realized.
So we set the usize here as well, so that the size of the
header is correct */
- if (GTK_WIDGET (e_tree->priv->header_canvas)->allocation.height !=
- E_TABLE_HEADER_ITEM (e_tree->priv->header_item)->height)
- gtk_widget_set_size_request (GTK_WIDGET (e_tree->priv->header_canvas), -1,
- E_TABLE_HEADER_ITEM (e_tree->priv->header_item)->height);
+ if (allocation.height != E_TABLE_HEADER_ITEM (e_tree->priv->header_item)->height)
+ gtk_widget_set_size_request (
+ widget, -1,
+ E_TABLE_HEADER_ITEM (e_tree->priv->header_item)->height);
}
static void
e_tree_setup_header (ETree *e_tree)
{
+ GtkWidget *widget;
gchar *pointer;
- e_tree->priv->header_canvas = GNOME_CANVAS (e_canvas_new ());
- GTK_WIDGET_UNSET_FLAGS (e_tree->priv->header_canvas, GTK_CAN_FOCUS);
- gtk_widget_show (GTK_WIDGET (e_tree->priv->header_canvas));
+ widget = e_canvas_new ();
+ gtk_widget_set_can_focus (widget, FALSE);
+ e_tree->priv->header_canvas = GNOME_CANVAS (widget);
+ gtk_widget_show (widget);
pointer = g_strdup_printf("%p", (gpointer) e_tree);
@@ -737,23 +742,39 @@ static void
scroll_to_cursor (ETree *e_tree)
{
ETreePath path;
- GtkAdjustment *adj;
+ GtkAdjustment *adjustment;
+ GtkLayout *layout;
gint x, y, w, h;
+ gdouble page_size;
+ gdouble lower;
+ gdouble upper;
+ gdouble value;
path = e_tree_get_cursor (e_tree);
- adj = GTK_LAYOUT (e_tree->priv->table_canvas)->vadjustment;
x = y = w = h = 0;
+
if (path) {
gint row = e_tree_row_of_node(e_tree, path);
gint col = 0;
if (row >= 0)
- e_table_item_get_cell_geometry (E_TABLE_ITEM (e_tree->priv->item),
- &row, &col, &x, &y, &w, &h);
+ e_table_item_get_cell_geometry (
+ E_TABLE_ITEM (e_tree->priv->item),
+ &row, &col, &x, &y, &w, &h);
}
- if (y < adj->value || y + h > adj->value + adj->page_size)
- gtk_adjustment_set_value(adj, CLAMP(y - adj->page_size / 2, adj->lower, adj->upper - adj->page_size));
+ layout = GTK_LAYOUT (e_tree->priv->table_canvas);
+ adjustment = gtk_layout_get_vadjustment (layout);
+
+ page_size = gtk_adjustment_get_page_size (adjustment);
+ lower = gtk_adjustment_get_lower (adjustment);
+ upper = gtk_adjustment_get_upper (adjustment);
+ value = gtk_adjustment_get_value (adjustment);
+
+ if (y < value || y + h > value + page_size) {
+ value = CLAMP (y - page_size / 2, lower, upper - page_size);
+ gtk_adjustment_set_value (adjustment, value);
+ }
}
static gboolean
@@ -761,24 +782,32 @@ tree_canvas_reflow_idle (ETree *e_tree)
{
gdouble height, width;
gdouble oldheight, oldwidth;
- GtkAllocation *alloc = &(GTK_WIDGET (e_tree->priv->table_canvas)->allocation);
+ GtkAllocation allocation;
+ GtkWidget *widget;
+
+ widget = GTK_WIDGET (e_tree->priv->table_canvas);
+ gtk_widget_get_allocation (widget, &allocation);
+
+ g_object_get (
+ e_tree->priv->item,
+ "height", &height, "width", &width, NULL);
+
+ height = MAX ((gint)height, allocation.height);
+ width = MAX((gint)width, allocation.width);
- g_object_get (e_tree->priv->item,
- "height", &height,
- "width", &width,
- NULL);
- height = MAX ((gint)height, alloc->height);
- width = MAX((gint)width, alloc->width);
/* I have no idea why this needs to be -1, but it works. */
- gnome_canvas_get_scroll_region (GNOME_CANVAS (e_tree->priv->table_canvas),
- NULL, NULL, &oldwidth, &oldheight);
+ gnome_canvas_get_scroll_region (
+ GNOME_CANVAS (e_tree->priv->table_canvas),
+ NULL, NULL, &oldwidth, &oldheight);
if (oldwidth != width - 1 ||
oldheight != height - 1) {
- gnome_canvas_set_scroll_region (GNOME_CANVAS (e_tree->priv->table_canvas),
- 0, 0, width - 1, height - 1);
+ gnome_canvas_set_scroll_region (
+ GNOME_CANVAS (e_tree->priv->table_canvas),
+ 0, 0, width - 1, height - 1);
set_header_canvas_width (e_tree);
}
+
e_tree->priv->reflow_idle_id = 0;
if (e_tree->priv->show_cursor_after_reflow) {
@@ -881,14 +910,24 @@ item_key_press (ETableItem *eti, gint row, gint col, GdkEvent *event, ETree *et)
GdkEventKey *key = (GdkEventKey *) event;
ETreePath path;
gint y, row_local, col_local;
- GtkAdjustment *vadj;
+ GtkAdjustment *adjustment;
+ GtkLayout *layout;
+ gdouble page_size;
+ gdouble upper;
+ gdouble value;
+
+ layout = GTK_LAYOUT (et->priv->table_canvas);
+ adjustment = gtk_layout_get_vadjustment (layout);
+
+ page_size = gtk_adjustment_get_page_size (adjustment);
+ upper = gtk_adjustment_get_upper (adjustment);
+ value = gtk_adjustment_get_value (adjustment);
switch (key->keyval) {
case GDK_Page_Down:
case GDK_KP_Page_Down:
- vadj = gtk_layout_get_vadjustment (GTK_LAYOUT (et->priv->table_canvas));
- y = CLAMP(vadj->value + (2 * vadj->page_size - 50), 0, vadj->upper);
- y -= vadj->value;
+ y = CLAMP (value + (2 * page_size - 50), 0, upper);
+ y -= value;
e_tree_get_cell_at (et, 30, y, &row_local, &col_local);
if (row_local == -1)
@@ -902,9 +941,8 @@ item_key_press (ETableItem *eti, gint row, gint col, GdkEvent *event, ETree *et)
break;
case GDK_Page_Up:
case GDK_KP_Page_Up:
- vadj = gtk_layout_get_vadjustment (GTK_LAYOUT (et->priv->table_canvas));
- y = CLAMP(vadj->value - (vadj->page_size - 50), 0, vadj->upper);
- y -= vadj->value;
+ y = CLAMP (value - (page_size - 50), 0, upper);
+ y -= value;
e_tree_get_cell_at (et, 30, y, &row_local, &col_local);
if (row_local == -1)
@@ -1029,9 +1067,13 @@ et_build_item (ETree *et)
static void
et_canvas_style_set (GtkWidget *widget, GtkStyle *prev_style)
{
+ GtkStyle *style;
+
+ style = gtk_widget_get_style (widget);
+
gnome_canvas_item_set(
E_TREE(widget)->priv->white_item,
- "fill_color_gdk", &widget->style->base[GTK_STATE_NORMAL],
+ "fill_color_gdk", &style->base[GTK_STATE_NORMAL],
NULL);
}
@@ -1053,11 +1095,7 @@ et_canvas_root_event (GnomeCanvasItem *root, GdkEvent *event, ETree *e_tree)
case GDK_2BUTTON_PRESS:
case GDK_BUTTON_RELEASE:
if (event->button.button != 4 && event->button.button != 5) {
-#if GTK_CHECK_VERSION(2,19,7)
if (gtk_widget_has_focus (GTK_WIDGET (root->canvas))) {
-#else
- if (GTK_WIDGET_HAS_FOCUS(root->canvas)) {
-#endif
GnomeCanvasItem *item = GNOME_CANVAS(root->canvas)->focused_item;
if (E_IS_TABLE_ITEM(item)) {
@@ -1102,6 +1140,9 @@ table_canvas_focus_event_cb (GtkWidget *widget, GdkEventFocus *event, gpointer d
static void
e_tree_setup_table (ETree *e_tree)
{
+ GtkWidget *widget;
+ GtkStyle *style;
+
e_tree->priv->table_canvas = GNOME_CANVAS (e_canvas_new ());
g_signal_connect (
e_tree->priv->table_canvas, "size_allocate",
@@ -1141,16 +1182,20 @@ e_tree_setup_table (ETree *e_tree)
g_signal_connect (e_tree->priv->table_canvas, "reflow",
G_CALLBACK (tree_canvas_reflow), e_tree);
- gtk_widget_show (GTK_WIDGET (e_tree->priv->table_canvas));
+ widget = GTK_WIDGET (e_tree->priv->table_canvas);
+ style = gtk_widget_get_style (widget);
+
+ gtk_widget_show (widget);
- e_tree->priv->white_item = gnome_canvas_item_new(
- gnome_canvas_root(e_tree->priv->table_canvas),
+ e_tree->priv->white_item = gnome_canvas_item_new (
+ gnome_canvas_root (e_tree->priv->table_canvas),
e_canvas_background_get_type(),
- "fill_color_gdk", &GTK_WIDGET(e_tree->priv->table_canvas)->style->base[GTK_STATE_NORMAL],
+ "fill_color_gdk", &style->base[GTK_STATE_NORMAL],
NULL);
- g_signal_connect (e_tree->priv->white_item, "event",
- G_CALLBACK (white_item_event), e_tree);
+ g_signal_connect (
+ e_tree->priv->white_item, "event",
+ G_CALLBACK (white_item_event), e_tree);
g_signal_connect (
gnome_canvas_root (e_tree->priv->table_canvas), "event",
G_CALLBACK(et_canvas_root_event), e_tree);
@@ -1182,12 +1227,19 @@ e_tree_set_search_column (ETree *e_tree, gint col)
void
e_tree_set_state_object(ETree *e_tree, ETableState *state)
{
- GValue *val = g_new0 (GValue, 1);
+ GValue *val;
+ GtkAllocation allocation;
+ GtkWidget *widget;
+
+ val = g_new0 (GValue, 1);
g_value_init (val, G_TYPE_DOUBLE);
connect_header (e_tree, state);
- g_value_set_double (val, (gdouble) (GTK_WIDGET(e_tree->priv->table_canvas)->allocation.width));
+ widget = GTK_WIDGET (e_tree->priv->table_canvas);
+ gtk_widget_get_allocation (widget, &allocation);
+
+ g_value_set_double (val, (gdouble) allocation.width);
g_object_set_property (G_OBJECT (e_tree->priv->header), "width", val);
g_free (val);
@@ -1424,6 +1476,8 @@ static gboolean
et_real_construct (ETree *e_tree, ETreeModel *etm, ETableExtras *ete,
ETableSpecification *specification, ETableState *state)
{
+ GtkAdjustment *adjustment;
+ GtkLayout *layout;
gint row = 0;
if (ete)
@@ -1475,10 +1529,13 @@ et_real_construct (ETree *e_tree, ETreeModel *etm, ETableExtras *ete,
}
e_tree_setup_table (e_tree);
- gtk_layout_get_vadjustment (GTK_LAYOUT (e_tree->priv->table_canvas))->step_increment = 20;
- gtk_adjustment_changed(gtk_layout_get_vadjustment (GTK_LAYOUT (e_tree->priv->table_canvas)));
- gtk_layout_get_hadjustment (GTK_LAYOUT (e_tree->priv->table_canvas))->step_increment = 20;
- gtk_adjustment_changed(gtk_layout_get_hadjustment (GTK_LAYOUT (e_tree->priv->table_canvas)));
+ layout = GTK_LAYOUT (e_tree->priv->table_canvas);
+
+ adjustment = gtk_layout_get_vadjustment (layout);
+ gtk_adjustment_set_step_increment (adjustment, 20);
+
+ adjustment = gtk_layout_get_hadjustment (layout);
+ gtk_adjustment_set_step_increment (adjustment, 20);
if (!specification->no_headers) {
/*
@@ -1930,24 +1987,24 @@ set_scroll_adjustments (ETree *tree,
GtkAdjustment *hadjustment,
GtkAdjustment *vadjustment)
{
- if (vadjustment != NULL) {
- vadjustment->step_increment = 20;
- gtk_adjustment_changed(vadjustment);
- }
- if (hadjustment != NULL) {
- hadjustment->step_increment = 20;
- gtk_adjustment_changed(hadjustment);
- }
+ if (vadjustment != NULL)
+ gtk_adjustment_set_step_increment (vadjustment, 20);
+
+ if (hadjustment != NULL)
+ gtk_adjustment_set_step_increment (hadjustment, 20);
if (tree->priv) {
- gtk_layout_set_hadjustment (GTK_LAYOUT(tree->priv->table_canvas),
- hadjustment);
- gtk_layout_set_vadjustment (GTK_LAYOUT(tree->priv->table_canvas),
- vadjustment);
+ GtkLayout *layout;
+
+ layout = GTK_LAYOUT (tree->priv->table_canvas);
+
+ gtk_layout_set_hadjustment (layout, hadjustment);
+ gtk_layout_set_vadjustment (layout, vadjustment);
if (tree->priv->header_canvas != NULL)
- gtk_layout_set_hadjustment (GTK_LAYOUT(tree->priv->header_canvas),
- hadjustment);
+ gtk_layout_set_hadjustment (
+ GTK_LAYOUT(tree->priv->header_canvas),
+ hadjustment);
}
}
@@ -2383,37 +2440,48 @@ e_tree_drag_highlight (ETree *tree,
gint row,
gint col)
{
- g_return_if_fail(tree != NULL);
+ GtkAdjustment *adjustment;
+ GtkAllocation allocation;
+ GtkLayout *layout;
+ GtkStyle *style;
+
g_return_if_fail(E_IS_TREE(tree));
+ layout = GTK_LAYOUT (tree->priv->table_canvas);
+ style = gtk_widget_get_style (GTK_WIDGET (tree));
+ gtk_widget_get_allocation (GTK_WIDGET (layout), &allocation);
+
if (row != -1) {
gint x, y, width, height;
if (col == -1) {
e_tree_get_cell_geometry (tree, row, 0, &x, &y, &width, &height);
x = 0;
- width = GTK_WIDGET (tree->priv->table_canvas)->allocation.width;
+ width = allocation.width;
} else {
e_tree_get_cell_geometry (tree, row, col, &x, &y, &width, &height);
- x += GTK_LAYOUT(tree->priv->table_canvas)->hadjustment->value;
+ adjustment = gtk_layout_get_hadjustment (layout);
+ x += gtk_adjustment_get_value (adjustment);
}
- y += GTK_LAYOUT(tree->priv->table_canvas)->vadjustment->value;
+
+ adjustment = gtk_layout_get_vadjustment (layout);
+ y += gtk_adjustment_get_value (adjustment);
if (tree->priv->drop_highlight == NULL) {
- tree->priv->drop_highlight =
- gnome_canvas_item_new (gnome_canvas_root (tree->priv->table_canvas),
- gnome_canvas_rect_get_type (),
- "fill_color", NULL,
- /* "outline_color", "black",
- "width_pixels", 1,*/
- "outline_color_gdk", &(GTK_WIDGET (tree)->style->fg[GTK_STATE_NORMAL]),
- NULL);
+ tree->priv->drop_highlight = gnome_canvas_item_new (
+ gnome_canvas_root (tree->priv->table_canvas),
+ gnome_canvas_rect_get_type (),
+ "fill_color", NULL,
+ "outline_color_gdk", &style->fg[GTK_STATE_NORMAL],
+ NULL);
}
- gnome_canvas_item_set (tree->priv->drop_highlight,
- "x1", (gdouble) x,
- "x2", (gdouble) x + width - 1,
- "y1", (gdouble) y,
- "y2", (gdouble) y + height - 1,
- NULL);
+
+ gnome_canvas_item_set (
+ tree->priv->drop_highlight,
+ "x1", (gdouble) x,
+ "x2", (gdouble) x + width - 1,
+ "y1", (gdouble) y,
+ "y2", (gdouble) y + height - 1,
+ NULL);
} else {
gtk_object_destroy (GTK_OBJECT (tree->priv->drop_highlight));
tree->priv->drop_highlight = NULL;
@@ -2617,7 +2685,9 @@ e_tree_get_cell_at (ETree *tree,
gint x, gint y,
gint *row_return, gint *col_return)
{
- g_return_if_fail (tree != NULL);
+ GtkAdjustment *adjustment;
+ GtkLayout *layout;
+
g_return_if_fail (E_IS_TREE (tree));
g_return_if_fail (row_return != NULL);
g_return_if_fail (col_return != NULL);
@@ -2630,9 +2700,17 @@ e_tree_get_cell_at (ETree *tree,
if (col_return)
*col_return = -1;
- x += GTK_LAYOUT(tree->priv->table_canvas)->hadjustment->value;
- y += GTK_LAYOUT(tree->priv->table_canvas)->vadjustment->value;
- e_table_item_compute_location(E_TABLE_ITEM(tree->priv->item), &x, &y, row_return, col_return);
+ layout = GTK_LAYOUT (tree->priv->table_canvas);
+
+ adjustment = gtk_layout_get_hadjustment (layout);
+ x += gtk_adjustment_get_value (adjustment);
+
+ adjustment = gtk_layout_get_vadjustment (layout);
+ y += gtk_adjustment_get_value (adjustment);
+
+ e_table_item_compute_location (
+ E_TABLE_ITEM (tree->priv->item),
+ &x, &y, row_return, col_return);
}
/**
@@ -2653,7 +2731,9 @@ e_tree_get_cell_geometry (ETree *tree,
gint *x_return, gint *y_return,
gint *width_return, gint *height_return)
{
- g_return_if_fail (tree != NULL);
+ GtkAdjustment *adjustment;
+ GtkLayout *layout;
+
g_return_if_fail (E_IS_TREE (tree));
g_return_if_fail (row >= 0);
g_return_if_fail (col >= 0);
@@ -2661,12 +2741,22 @@ e_tree_get_cell_geometry (ETree *tree,
/* FIXME it would be nice if it could handle a NULL row_return or
* col_return gracefully. */
- e_table_item_get_cell_geometry(E_TABLE_ITEM(tree->priv->item), &row, &col, x_return, y_return, width_return, height_return);
+ e_table_item_get_cell_geometry (
+ E_TABLE_ITEM (tree->priv->item),
+ &row, &col, x_return, y_return,
+ width_return, height_return);
+
+ layout = GTK_LAYOUT (tree->priv->table_canvas);
+
+ if (x_return) {
+ adjustment = gtk_layout_get_hadjustment (layout);
+ (*x_return) -= gtk_adjustment_get_value (adjustment);
+ }
- if (x_return)
- (*x_return) -= GTK_LAYOUT(tree->priv->table_canvas)->hadjustment->value;
- if (y_return)
- (*y_return) -= GTK_LAYOUT(tree->priv->table_canvas)->vadjustment->value;
+ if (y_return) {
+ adjustment = gtk_layout_get_vadjustment (layout);
+ (*y_return) -= gtk_adjustment_get_value (adjustment);
+ }
}
static void
@@ -2777,8 +2867,15 @@ scroll_timeout (gpointer data)
{
ETree *et = data;
gint dx = 0, dy = 0;
- GtkAdjustment *v, *h;
- gdouble vvalue, hvalue;
+ GtkAdjustment *adjustment;
+ GtkLayout *layout;
+ gdouble old_h_value;
+ gdouble new_h_value;
+ gdouble old_v_value;
+ gdouble new_v_value;
+ gdouble page_size;
+ gdouble lower;
+ gdouble upper;
if (et->priv->scroll_direction & ET_SCROLL_DOWN)
dy += 20;
@@ -2790,22 +2887,37 @@ scroll_timeout (gpointer data)
if (et->priv->scroll_direction & ET_SCROLL_LEFT)
dx -= 20;
- h = GTK_LAYOUT(et->priv->table_canvas)->hadjustment;
- v = GTK_LAYOUT(et->priv->table_canvas)->vadjustment;
+ layout = GTK_LAYOUT (et->priv->table_canvas);
+
+ adjustment = gtk_layout_get_hadjustment (layout);
+
+ page_size = gtk_adjustment_get_page_size (adjustment);
+ lower = gtk_adjustment_get_lower (adjustment);
+ upper = gtk_adjustment_get_upper (adjustment);
- hvalue = h->value;
- vvalue = v->value;
+ old_h_value = gtk_adjustment_get_value (adjustment);
+ new_h_value = CLAMP (old_h_value + dx, lower, upper - page_size);
- gtk_adjustment_set_value(h, CLAMP(h->value + dx, h->lower, h->upper - h->page_size));
- gtk_adjustment_set_value(v, CLAMP(v->value + dy, v->lower, v->upper - v->page_size));
+ gtk_adjustment_set_value (adjustment, new_h_value);
- if (h->value != hvalue ||
- v->value != vvalue)
- do_drag_motion(et,
- et->priv->last_drop_context,
- et->priv->last_drop_x,
- et->priv->last_drop_y,
- et->priv->last_drop_time);
+ adjustment = gtk_layout_get_vadjustment (layout);
+
+ page_size = gtk_adjustment_get_page_size (adjustment);
+ lower = gtk_adjustment_get_lower (adjustment);
+ upper = gtk_adjustment_get_upper (adjustment);
+
+ old_v_value = gtk_adjustment_get_value (adjustment);
+ new_v_value = CLAMP (old_v_value + dy, lower, upper - page_size);
+
+ gtk_adjustment_set_value (adjustment, new_v_value);
+
+ if (new_h_value != old_h_value || new_v_value != old_v_value)
+ do_drag_motion (
+ et,
+ et->priv->last_drop_context,
+ et->priv->last_drop_x,
+ et->priv->last_drop_y,
+ et->priv->last_drop_time);
return TRUE;
}
@@ -2969,6 +3081,7 @@ et_drag_motion(GtkWidget *widget,
guint time,
ETree *et)
{
+ GtkAllocation allocation;
gint ret_val;
guint direction = 0;
@@ -2987,19 +3100,17 @@ et_drag_motion(GtkWidget *widget,
hover_on (et, x, y);
}
- ret_val = do_drag_motion (et,
- context,
- x,
- y,
- time);
+ ret_val = do_drag_motion (et, context, x, y, time);
+
+ gtk_widget_get_allocation (widget, &allocation);
if (y < 20)
direction |= ET_SCROLL_UP;
- if (y > widget->allocation.height - 20)
+ if (y > allocation.height - 20)
direction |= ET_SCROLL_DOWN;
if (x < 20)
direction |= ET_SCROLL_LEFT;
- if (x > widget->allocation.width - 20)
+ if (x > allocation.width - 20)
direction |= ET_SCROLL_RIGHT;
if (direction != 0)
@@ -3364,61 +3475,61 @@ e_tree_class_init (ETreeClass *class)
g_object_class_install_property (object_class, PROP_LENGTH_THRESHOLD,
g_param_spec_int ("length_threshold",
- _( "Length Threshold" ),
- _( "Length Threshold" ),
+ "Length Threshold",
+ "Length Threshold",
0, G_MAXINT, 0,
G_PARAM_WRITABLE));
g_object_class_install_property (object_class, PROP_HORIZONTAL_DRAW_GRID,
g_param_spec_boolean ("horizontal_draw_grid",
- _( "Horizontal Draw Grid" ),
- _( "Horizontal Draw Grid" ),
+ "Horizontal Draw Grid",
+ "Horizontal Draw Grid",
FALSE,
G_PARAM_WRITABLE));
g_object_class_install_property (object_class, PROP_VERTICAL_DRAW_GRID,
g_param_spec_boolean ("vertical_draw_grid",
- _( "Vertical Draw Grid" ),
- _( "Vertical Draw Grid" ),
+ "Vertical Draw Grid",
+ "Vertical Draw Grid",
FALSE,
G_PARAM_WRITABLE));
g_object_class_install_property (object_class, PROP_DRAW_FOCUS,
g_param_spec_boolean ("drawfocus",
- _( "Draw focus" ),
- _( "Draw focus" ),
+ "Draw focus",
+ "Draw focus",
FALSE,
G_PARAM_WRITABLE));
g_object_class_install_property (object_class, PROP_ETTA,
g_param_spec_object ("ETreeTableAdapter",
- _( "ETree table adapter" ),
- _( "ETree table adapter" ),
+ "ETree table adapter",
+ "ETree table adapter",
E_TREE_TABLE_ADAPTER_TYPE,
G_PARAM_READABLE));
g_object_class_install_property (object_class, PROP_UNIFORM_ROW_HEIGHT,
g_param_spec_boolean ("uniform_row_height",
- _( "Uniform row height" ),
- _( "Uniform row height" ),
+ "Uniform row height",
+ "Uniform row height",
FALSE,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_ALWAYS_SEARCH,
g_param_spec_boolean ("always_search",
- _( "Always search" ),
- _( "Always search" ),
+ "Always search",
+ "Always search",
FALSE,
G_PARAM_READWRITE));
gtk_widget_class_install_style_property (widget_class,
g_param_spec_boolean ("retro_look",
- _("Retro Look"),
- _("Draw lines and +/- expanders."),
+ "Retro Look",
+ "Draw lines and +/- expanders.",
FALSE,
G_PARAM_READABLE));
gtk_widget_class_install_style_property (widget_class,
g_param_spec_int ("expander_size",
- _("Expander Size"),
- _("Size of the expander arrow"),
+ "Expander Size",
+ "Size of the expander arrow",
0,
G_MAXINT,
10,
@@ -3453,6 +3564,9 @@ tree_size_allocate (GtkWidget *widget, GtkAllocation *alloc, ETree *tree)
void
e_tree_set_info_message (ETree *tree, const gchar *info_message)
{
+ GtkAllocation allocation;
+ GtkWidget *widget;
+
g_return_if_fail (tree != NULL);
g_return_if_fail (tree->priv != NULL);
@@ -3466,18 +3580,22 @@ e_tree_set_info_message (ETree *tree, const gchar *info_message)
return;
}
+ widget = GTK_WIDGET (tree->priv->table_canvas);
+ gtk_widget_get_allocation (widget, &allocation);
+
if (!tree->priv->info_text) {
- tree->priv->info_text = gnome_canvas_item_new (GNOME_CANVAS_GROUP (gnome_canvas_root (tree->priv->table_canvas)),
- e_text_get_type (),
- "anchor", GTK_ANCHOR_NW,
- "line_wrap", TRUE,
- "clip", TRUE,
- "justification", GTK_JUSTIFY_LEFT,
- "text", info_message,
- "draw_background", FALSE,
- "width", (gdouble) GTK_WIDGET (tree->priv->table_canvas)->allocation.width - 60.0,
- "clip_width", (gdouble) GTK_WIDGET (tree->priv->table_canvas)->allocation.width - 60.0,
- NULL);
+ tree->priv->info_text = gnome_canvas_item_new (
+ GNOME_CANVAS_GROUP (gnome_canvas_root (tree->priv->table_canvas)),
+ e_text_get_type (),
+ "anchor", GTK_ANCHOR_NW,
+ "line_wrap", TRUE,
+ "clip", TRUE,
+ "justification", GTK_JUSTIFY_LEFT,
+ "text", info_message,
+ "draw_background", FALSE,
+ "width", (gdouble) allocation.width - 60.0,
+ "clip_width", (gdouble) allocation.width - 60.0,
+ NULL);
e_canvas_item_move_absolute (tree->priv->info_text, 30, 30);
diff --git a/widgets/table/gal-a11y-e-cell-popup.c b/widgets/table/gal-a11y-e-cell-popup.c
index 141ce172a4..921ae8e4d5 100644
--- a/widgets/table/gal-a11y-e-cell-popup.c
+++ b/widgets/table/gal-a11y-e-cell-popup.c
@@ -118,8 +118,9 @@ gal_a11y_e_cell_popup_new (ETableItem *item,
g_return_val_if_fail (a11y != NULL, NULL);
cell = GAL_A11Y_E_CELL(a11y);
gal_a11y_e_cell_add_action (cell,
- _("popup"), /* action name*/
- _("popup a child"), /* action description */
+ "popup",
+ /* Translators: description of a "popup" action */
+ _("popup a child"),
"<Alt>Down", /* action keybinding */
popup_cell_action);
@@ -132,9 +133,12 @@ popup_cell_action (GalA11yECell *cell)
{
gint finished;
GdkEvent event;
+ GtkLayout *layout;
+
+ layout = GTK_LAYOUT (GNOME_CANVAS_ITEM (cell->item)->canvas);
event.key.type = GDK_KEY_PRESS;
- event.key.window = GTK_LAYOUT(GNOME_CANVAS_ITEM(cell->item)->canvas)->bin_window;;
+ event.key.window = gtk_layout_get_bin_window (layout);
event.key.send_event = TRUE;
event.key.time = GDK_CURRENT_TIME;
event.key.state = GDK_MOD1_MASK;
diff --git a/widgets/table/gal-a11y-e-cell-text.c b/widgets/table/gal-a11y-e-cell-text.c
index 26fffcb3e7..bc69ca3d26 100644
--- a/widgets/table/gal-a11y-e-cell-text.c
+++ b/widgets/table/gal-a11y-e-cell-text.c
@@ -613,7 +613,8 @@ ect_action_init (GalA11yECellText *a11y)
ECellText *ect = E_CELL_TEXT (gaec->cell_view->ecell);
if (ect->editable && e_table_model_is_cell_editable (gaec->cell_view->e_table_model, gaec->model_col, gaec->row))
gal_a11y_e_cell_add_action (gaec,
- _("edit"),
+ "edit",
+ /* Translators: description of an "edit" action */
_("begin editing this cell"),
NULL,
(ACTION_FUNC) ect_do_action_edit);
diff --git a/widgets/table/gal-a11y-e-cell-toggle.c b/widgets/table/gal-a11y-e-cell-toggle.c
index fa23f6c6fd..54b1b3586c 100644
--- a/widgets/table/gal-a11y-e-cell-toggle.c
+++ b/widgets/table/gal-a11y-e-cell-toggle.c
@@ -90,6 +90,7 @@ static void
toggle_cell_action (GalA11yECell *cell)
{
gint finished;
+ GtkLayout *layout;
GdkEventButton event;
gint x, y, width, height;
gint row, col;
@@ -97,14 +98,16 @@ toggle_cell_action (GalA11yECell *cell)
row = cell->row;
col = cell->view_col;
- e_table_item_get_cell_geometry (cell->item, &row, &col,
- &x, &y, &width, &height);
+ layout = GTK_LAYOUT (GNOME_CANVAS_ITEM (cell->item)->canvas);
+
+ e_table_item_get_cell_geometry (
+ cell->item, &row, &col, &x, &y, &width, &height);
event.x = x + width / 2 + (gint)(GNOME_CANVAS_ITEM (cell->item)->x1);
event.y = y + height / 2 + (gint)(GNOME_CANVAS_ITEM (cell->item)->y1);
event.type = GDK_BUTTON_PRESS;
- event.window = GTK_LAYOUT(GNOME_CANVAS_ITEM(cell->item)->canvas)->bin_window;
+ event.window = gtk_layout_get_bin_window (layout);
event.button = 1;
event.send_event = TRUE;
event.time = GDK_CURRENT_TIME;
@@ -166,8 +169,9 @@ gal_a11y_e_cell_toggle_new (ETableItem *item,
row);
gal_a11y_e_cell_add_action (cell,
- _("toggle"), /* action name*/
- _("toggle the cell"), /* action description */
+ "toggle",
+ /* Translators: description of a "toggle" action */
+ _("toggle the cell"),
NULL, /* action keybinding */
toggle_cell_action);
diff --git a/widgets/table/gal-a11y-e-cell-tree.c b/widgets/table/gal-a11y-e-cell-tree.c
index aaf490c726..148d36392f 100644
--- a/widgets/table/gal-a11y-e-cell-tree.c
+++ b/widgets/table/gal-a11y-e-cell-tree.c
@@ -207,13 +207,15 @@ gal_a11y_e_cell_tree_new (ETableItem *item,
view_col,
row);
gal_a11y_e_cell_add_action (GAL_A11Y_E_CELL (subcell_a11y),
- _("expand"),
+ "expand",
+ /* Translators: description of an "expand" action */
_("expands the row in the ETree containing this cell"),
NULL,
(ACTION_FUNC)ectr_do_action_expand);
gal_a11y_e_cell_add_action (GAL_A11Y_E_CELL (subcell_a11y),
- _("collapse"),
+ "collapse",
+ /* Translators: description of a "collapse" action */
_("collapses the row in the ETree containing this cell"),
NULL,
(ACTION_FUNC)ectr_do_action_collapse);
diff --git a/widgets/table/gal-a11y-e-table-click-to-add.c b/widgets/table/gal-a11y-e-table-click-to-add.c
index 8d788a458b..ebec8681ae 100644
--- a/widgets/table/gal-a11y-e-table-click-to-add.c
+++ b/widgets/table/gal-a11y-e-table-click-to-add.c
@@ -72,26 +72,30 @@ etcta_action_get_name (AtkAction *action, gint i)
static gboolean
idle_do_action (gpointer data)
{
- GdkEventButton event;
+ GtkLayout *layout;
+ GdkEventButton event;
ETableClickToAdd * etcta;
- gint finished;
+ gint finished;
g_return_val_if_fail ( data!= NULL, FALSE);
- etcta = E_TABLE_CLICK_TO_ADD (atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (data)));
+ etcta = E_TABLE_CLICK_TO_ADD (
+ atk_gobject_accessible_get_object (
+ ATK_GOBJECT_ACCESSIBLE (data)));
g_return_val_if_fail (etcta, FALSE);
+ layout = GTK_LAYOUT (GNOME_CANVAS_ITEM (etcta)->canvas);
+
event.x = 0;
event.y = 0;
-
- event.type = GDK_BUTTON_PRESS;
- event.window = GTK_LAYOUT(GNOME_CANVAS_ITEM(etcta)->canvas)->bin_window;
- event.button = 1;
- event.send_event = TRUE;
- event.time = GDK_CURRENT_TIME;
- event.axes = NULL;
-
- g_signal_emit_by_name (etcta, "event", &event, &finished);
+ event.type = GDK_BUTTON_PRESS;
+ event.window = gtk_layout_get_bin_window (layout);
+ event.button = 1;
+ event.send_event = TRUE;
+ event.time = GDK_CURRENT_TIME;
+ event.axes = NULL;
+
+ g_signal_emit_by_name (etcta, "event", &event, &finished);
return FALSE;
}
diff --git a/widgets/table/gal-a11y-e-table.c b/widgets/table/gal-a11y-e-table.c
index 37e5b892d2..6134b2d297 100644
--- a/widgets/table/gal-a11y-e-table.c
+++ b/widgets/table/gal-a11y-e-table.c
@@ -90,11 +90,7 @@ init_child_item (GalA11yETable *a11y)
return FALSE;
table = E_TABLE (GTK_ACCESSIBLE (a11y)->widget);
-#if GTK_CHECK_VERSION(2,19,7)
if (table && gtk_widget_get_mapped (GTK_WIDGET (table)) && table->group && E_IS_TABLE_GROUP_CONTAINER(table->group)) {
-#else
- if (table && GTK_WIDGET_MAPPED (GTK_WIDGET (table)) && table->group && E_IS_TABLE_GROUP_CONTAINER(table->group)) {
-#endif
ETableGroupContainer *etgc = (ETableGroupContainer *)table->group;
GList *list;
@@ -288,11 +284,7 @@ gal_a11y_e_table_new (GObject *widget)
GTK_ACCESSIBLE (a11y)->widget = GTK_WIDGET (widget);
/* we need to init all the children for multiple table items */
-#if GTK_CHECK_VERSION(2,19,7)
if (table && gtk_widget_get_mapped (GTK_WIDGET (table)) && table->group && E_IS_TABLE_GROUP_CONTAINER (table->group)) {
-#else
- if (table && GTK_WIDGET_MAPPED (GTK_WIDGET (table)) && table->group && E_IS_TABLE_GROUP_CONTAINER (table->group)) {
-#endif
/* Ref it here so that it is still valid in the idle function */
/* It will be unrefed in the idle function */
g_object_ref (a11y);
diff --git a/widgets/text/e-reflow.c b/widgets/text/e-reflow.c
index 0ce3302da1..4e3f36fd19 100644
--- a/widgets/text/e-reflow.c
+++ b/widgets/text/e-reflow.c
@@ -162,20 +162,25 @@ static gboolean
do_adjustment (gpointer user_data)
{
gint row;
- GtkAdjustment *adj;
- gfloat value, min_value, max_value;
+ GtkLayout *layout;
+ GtkAdjustment *adjustment;
+ gdouble page_size;
+ gdouble value, min_value, max_value;
EReflow *reflow = user_data;
row = reflow->cursor_row;
if (row == -1)
return FALSE;
- adj = gtk_layout_get_hadjustment (GTK_LAYOUT (GNOME_CANVAS_ITEM (reflow)->canvas));
- value = adj->value;
+ layout = GTK_LAYOUT (GNOME_CANVAS_ITEM (reflow)->canvas);
+ adjustment = gtk_layout_get_hadjustment (layout);
+
+ value = gtk_adjustment_get_value (adjustment);
+ page_size = gtk_adjustment_get_page_size (adjustment);
if ((!reflow->items) || (!reflow->items[row]))
return TRUE;
- min_value = reflow->items[row]->x2 - adj->page_size;
+ min_value = reflow->items[row]->x2 - page_size;
max_value = reflow->items[row]->x1;
if (value < min_value)
@@ -184,10 +189,8 @@ do_adjustment (gpointer user_data)
if (value > max_value)
value = max_value;
- if (value != adj->value) {
- adj->value = value;
- gtk_adjustment_value_changed (adj);
- }
+ if (value != gtk_adjustment_get_value (adjustment))
+ gtk_adjustment_set_value (adjustment, value);
reflow->do_adjustment_idle_id = 0;
@@ -238,14 +241,23 @@ incarnate (EReflow *reflow)
gint first_cell;
gint last_cell;
gint i;
- GtkAdjustment *adjustment = gtk_layout_get_hadjustment (GTK_LAYOUT (GNOME_CANVAS_ITEM (reflow)->canvas));
+ GtkLayout *layout;
+ GtkAdjustment *adjustment;
+ gdouble value;
+ gdouble page_size;
+
+ layout = GTK_LAYOUT (GNOME_CANVAS_ITEM (reflow)->canvas);
+ adjustment = gtk_layout_get_hadjustment (layout);
+
+ value = gtk_adjustment_get_value (adjustment);
+ page_size = gtk_adjustment_get_page_size (adjustment);
column_width = reflow->column_width;
- first_column = adjustment->value - 1 + E_REFLOW_BORDER_WIDTH;
+ first_column = value - 1 + E_REFLOW_BORDER_WIDTH;
first_column /= column_width + E_REFLOW_FULL_GUTTER;
- last_column = adjustment->value + adjustment->page_size + 1 - E_REFLOW_BORDER_WIDTH - E_REFLOW_DIVIDER_WIDTH;
+ last_column = value + page_size + 1 - E_REFLOW_BORDER_WIDTH - E_REFLOW_DIVIDER_WIDTH;
last_column /= column_width + E_REFLOW_FULL_GUTTER;
last_column ++;
@@ -733,13 +745,23 @@ e_reflow_set_property (GObject *object, guint prop_id, const GValue *value, GPar
break;
case PROP_COLUMN_WIDTH:
if (reflow->column_width != g_value_get_double (value)) {
- GtkAdjustment *adjustment = gtk_layout_get_hadjustment(GTK_LAYOUT(item->canvas));
+ GtkLayout *layout;
+ GtkAdjustment *adjustment;
gdouble old_width = reflow->column_width;
+ gdouble step_increment;
+ gdouble page_size;
+
+ layout = GTK_LAYOUT (item->canvas);
+ adjustment = gtk_layout_get_hadjustment (layout);
+ page_size = gtk_adjustment_get_page_size (adjustment);
reflow->column_width = g_value_get_double (value);
- adjustment->step_increment = (reflow->column_width + E_REFLOW_FULL_GUTTER) / 2;
- adjustment->page_increment = adjustment->page_size - adjustment->step_increment;
- gtk_adjustment_changed(adjustment);
+ step_increment = (reflow->column_width +
+ E_REFLOW_FULL_GUTTER) / 2;
+ gtk_adjustment_set_step_increment (
+ adjustment, step_increment);
+ gtk_adjustment_set_page_increment (
+ adjustment, page_size - step_increment);
e_reflow_resize_children(item);
e_canvas_item_request_reflow(item);
@@ -827,6 +849,9 @@ e_reflow_realize (GnomeCanvasItem *item)
{
EReflow *reflow;
GtkAdjustment *adjustment;
+ gdouble page_increment;
+ gdouble step_increment;
+ gdouble page_size;
gint count;
gint i;
@@ -851,19 +876,18 @@ e_reflow_realize (GnomeCanvasItem *item)
reflow->need_reflow_columns = TRUE;
e_canvas_item_request_reflow(item);
- adjustment = gtk_layout_get_hadjustment(GTK_LAYOUT(item->canvas));
+ adjustment = gtk_layout_get_hadjustment (GTK_LAYOUT (item->canvas));
#if 0
connect_set_adjustment (reflow);
#endif
connect_adjustment (reflow, adjustment);
- adjustment->step_increment = (reflow->column_width + E_REFLOW_FULL_GUTTER) / 2;
- adjustment->page_increment = adjustment->page_size - adjustment->step_increment;
- gtk_adjustment_changed(adjustment);
-
- if (!item->canvas->aa) {
- }
+ page_size = gtk_adjustment_get_page_size (adjustment);
+ step_increment = (reflow->column_width + E_REFLOW_FULL_GUTTER) / 2;
+ page_increment = page_size - step_increment;
+ gtk_adjustment_set_step_increment (adjustment, step_increment);
+ gtk_adjustment_set_page_increment (adjustment, page_increment);
}
static void
@@ -873,9 +897,6 @@ e_reflow_unrealize (GnomeCanvasItem *item)
reflow = E_REFLOW (item);
- if (!item->canvas->aa) {
- }
-
gdk_cursor_unref (reflow->arrow_cursor);
gdk_cursor_unref (reflow->default_cursor);
reflow->arrow_cursor = NULL;
@@ -979,20 +1000,34 @@ e_reflow_event (GnomeCanvasItem *item, GdkEvent *event)
break;
case 4:
{
- GtkAdjustment *adjustment = gtk_layout_get_hadjustment(GTK_LAYOUT(item->canvas));
- gdouble new_value = adjustment->value;
- new_value -= adjustment->step_increment;
- gtk_adjustment_set_value(adjustment, new_value);
+ GtkLayout *layout;
+ GtkAdjustment *adjustment;
+ gdouble new_value;
+
+ layout = GTK_LAYOUT (item->canvas);
+ adjustment = gtk_layout_get_hadjustment (layout);
+ new_value = gtk_adjustment_get_value (adjustment);
+ new_value -= gtk_adjustment_get_step_increment (adjustment);
+ gtk_adjustment_set_value (adjustment, new_value);
}
break;
case 5:
{
- GtkAdjustment *adjustment = gtk_layout_get_hadjustment(GTK_LAYOUT(item->canvas));
- gdouble new_value = adjustment->value;
- new_value += adjustment->step_increment;
- if (new_value > adjustment->upper - adjustment->page_size)
- new_value = adjustment->upper - adjustment->page_size;
- gtk_adjustment_set_value(adjustment, new_value);
+ GtkLayout *layout;
+ GtkAdjustment *adjustment;
+ gdouble new_value;
+ gdouble page_size;
+ gdouble upper;
+
+ layout = GTK_LAYOUT (item->canvas);
+ adjustment = gtk_layout_get_hadjustment (layout);
+ new_value = gtk_adjustment_get_value (adjustment);
+ new_value += gtk_adjustment_get_step_increment (adjustment);
+ upper = gtk_adjustment_get_upper (adjustment);
+ page_size = gtk_adjustment_get_page_size (adjustment);
+ if (new_value > upper - page_size)
+ new_value = upper - page_size;
+ gtk_adjustment_set_value (adjustment, new_value);
}
break;
}
@@ -1001,18 +1036,31 @@ e_reflow_event (GnomeCanvasItem *item, GdkEvent *event)
if (reflow->column_drag) {
gdouble old_width = reflow->column_width;
GdkEventButton *button = (GdkEventButton *) event;
- GtkAdjustment *adjustment = gtk_layout_get_hadjustment(GTK_LAYOUT(item->canvas));
+ GtkAdjustment *adjustment;
+ GtkLayout *layout;
+ gdouble value;
+
+ layout = GTK_LAYOUT (item->canvas);
+ adjustment = gtk_layout_get_hadjustment (layout);
+ value = gtk_adjustment_get_value (adjustment);
+
reflow->temp_column_width = reflow->column_width +
- (button->x - reflow->start_x)/(reflow->which_column_dragged - e_reflow_pick_line(reflow, adjustment->value));
+ (button->x - reflow->start_x)/(reflow->which_column_dragged - e_reflow_pick_line(reflow, value));
if (reflow->temp_column_width < 50)
reflow->temp_column_width = 50;
reflow->column_drag = FALSE;
if (old_width != reflow->temp_column_width) {
- gtk_adjustment_set_value(adjustment, adjustment->value + e_reflow_pick_line(reflow, adjustment->value) * (reflow->temp_column_width - reflow->column_width));
+ gdouble page_increment;
+ gdouble step_increment;
+ gdouble page_size;
+
+ page_size = gtk_adjustment_get_page_size (adjustment);
+ gtk_adjustment_set_value(adjustment, value + e_reflow_pick_line(reflow, value) * (reflow->temp_column_width - reflow->column_width));
reflow->column_width = reflow->temp_column_width;
- adjustment->step_increment = (reflow->column_width + E_REFLOW_FULL_GUTTER) / 2;
- adjustment->page_increment = adjustment->page_size - adjustment->step_increment;
- gtk_adjustment_changed(adjustment);
+ step_increment = (reflow->column_width + E_REFLOW_FULL_GUTTER) / 2;
+ page_increment = page_size - step_increment;
+ gtk_adjustment_set_step_increment (adjustment, step_increment);
+ gtk_adjustment_set_page_increment (adjustment, page_increment);
e_reflow_resize_children(item);
e_canvas_item_request_reflow(item);
gnome_canvas_request_redraw(item->canvas, 0, 0, reflow->width, reflow->height);
@@ -1028,9 +1076,16 @@ e_reflow_event (GnomeCanvasItem *item, GdkEvent *event)
if (reflow->column_drag) {
gdouble old_width = reflow->temp_column_width;
GdkEventMotion *motion = (GdkEventMotion *) event;
- GtkAdjustment *adjustment = gtk_layout_get_hadjustment(GTK_LAYOUT(item->canvas));
+ GtkAdjustment *adjustment;
+ GtkLayout *layout;
+ gdouble value;
+
+ layout = GTK_LAYOUT (item->canvas);
+ adjustment = gtk_layout_get_hadjustment (layout);
+ value = gtk_adjustment_get_value (adjustment);
+
reflow->temp_column_width = reflow->column_width +
- (motion->x - reflow->start_x)/(reflow->which_column_dragged - e_reflow_pick_line(reflow, adjustment->value));
+ (motion->x - reflow->start_x)/(reflow->which_column_dragged - e_reflow_pick_line(reflow, value));
if (reflow->temp_column_width < 50)
reflow->temp_column_width = 50;
if (old_width != reflow->temp_column_width) {
@@ -1040,20 +1095,23 @@ e_reflow_event (GnomeCanvasItem *item, GdkEvent *event)
return TRUE;
} else {
GdkEventMotion *motion = (GdkEventMotion *) event;
+ GdkWindow *window;
gdouble n_x;
n_x = motion->x;
n_x += E_REFLOW_BORDER_WIDTH + E_REFLOW_DIVIDER_WIDTH;
n_x = fmod(n_x,(reflow->column_width + E_REFLOW_FULL_GUTTER));
+ window = gtk_widget_get_window (GTK_WIDGET (item->canvas));
+
if (motion->y >= E_REFLOW_BORDER_WIDTH && motion->y <= reflow->height - E_REFLOW_BORDER_WIDTH && n_x < E_REFLOW_FULL_GUTTER) {
if (reflow->default_cursor_shown) {
- gdk_window_set_cursor(GTK_WIDGET(item->canvas)->window, reflow->arrow_cursor);
+ gdk_window_set_cursor(window, reflow->arrow_cursor);
reflow->default_cursor_shown = FALSE;
}
} else
if (!reflow->default_cursor_shown) {
- gdk_window_set_cursor(GTK_WIDGET(item->canvas)->window, reflow->default_cursor);
+ gdk_window_set_cursor(window, reflow->default_cursor);
reflow->default_cursor_shown = TRUE;
}
@@ -1062,14 +1120,18 @@ e_reflow_event (GnomeCanvasItem *item, GdkEvent *event)
case GDK_ENTER_NOTIFY:
if (!reflow->column_drag) {
GdkEventCrossing *crossing = (GdkEventCrossing *) event;
+ GdkWindow *window;
gdouble n_x;
+
n_x = crossing->x;
n_x += E_REFLOW_BORDER_WIDTH + E_REFLOW_DIVIDER_WIDTH;
n_x = fmod(n_x,(reflow->column_width + E_REFLOW_FULL_GUTTER));
+ window = gtk_widget_get_window (GTK_WIDGET (item->canvas));
+
if (crossing->y >= E_REFLOW_BORDER_WIDTH && crossing->y <= reflow->height - E_REFLOW_BORDER_WIDTH && n_x < E_REFLOW_FULL_GUTTER) {
if (reflow->default_cursor_shown) {
- gdk_window_set_cursor(GTK_WIDGET(item->canvas)->window, reflow->arrow_cursor);
+ gdk_window_set_cursor(window, reflow->arrow_cursor);
reflow->default_cursor_shown = FALSE;
}
}
@@ -1078,13 +1140,18 @@ e_reflow_event (GnomeCanvasItem *item, GdkEvent *event)
case GDK_LEAVE_NOTIFY:
if (!reflow->column_drag) {
GdkEventCrossing *crossing = (GdkEventCrossing *) event;
+ GdkWindow *window;
gdouble n_x;
+
n_x = crossing->x;
n_x += E_REFLOW_BORDER_WIDTH + E_REFLOW_DIVIDER_WIDTH;
n_x = fmod(n_x,(reflow->column_width + E_REFLOW_FULL_GUTTER));
+
+ window = gtk_widget_get_window (GTK_WIDGET (item->canvas));
+
if (!( crossing->y >= E_REFLOW_BORDER_WIDTH && crossing->y <= reflow->height - E_REFLOW_BORDER_WIDTH && n_x < E_REFLOW_FULL_GUTTER )) {
if (!reflow->default_cursor_shown) {
- gdk_window_set_cursor(GTK_WIDGET(item->canvas)->window, reflow->default_cursor);
+ gdk_window_set_cursor(window, reflow->default_cursor);
reflow->default_cursor_shown = TRUE;
}
}
@@ -1104,6 +1171,7 @@ e_reflow_event (GnomeCanvasItem *item, GdkEvent *event)
static void e_reflow_draw (GnomeCanvasItem *item, GdkDrawable *drawable,
gint x, gint y, gint width, gint height)
{
+ GtkStyle *style;
gint x_rect, y_rect, width_rect, height_rect;
gdouble running_width;
EReflow *reflow = E_REFLOW(item);
@@ -1123,11 +1191,13 @@ static void e_reflow_draw (GnomeCanvasItem *item, GdkDrawable *drawable,
i /= column_width + E_REFLOW_FULL_GUTTER;
running_width += i * (column_width + E_REFLOW_FULL_GUTTER);
+ style = gtk_widget_get_style (GTK_WIDGET (item->canvas));
+
for (; i < reflow->column_count; i++) {
if (running_width > x + width)
break;
x_rect = running_width;
- gtk_paint_flat_box(GTK_WIDGET(item->canvas)->style,
+ gtk_paint_flat_box(style,
drawable,
GTK_STATE_ACTIVE,
GTK_SHADOW_NONE,
@@ -1141,8 +1211,16 @@ static void e_reflow_draw (GnomeCanvasItem *item, GdkDrawable *drawable,
running_width += E_REFLOW_DIVIDER_WIDTH + E_REFLOW_BORDER_WIDTH + column_width + E_REFLOW_BORDER_WIDTH;
}
if (reflow->column_drag) {
- gint start_line = e_reflow_pick_line(reflow,
- gtk_layout_get_hadjustment(GTK_LAYOUT(item->canvas))->value);
+ GtkAdjustment *adjustment;
+ GtkLayout *layout;
+ gdouble value;
+ gint start_line;
+
+ layout = GTK_LAYOUT (item->canvas);
+ adjustment = gtk_layout_get_hadjustment (layout);
+ value = gtk_adjustment_get_value (adjustment);
+
+ start_line = e_reflow_pick_line(reflow, value);
i = x - start_line * (column_width + E_REFLOW_FULL_GUTTER);
running_width = start_line * (column_width + E_REFLOW_FULL_GUTTER);
column_width = reflow->temp_column_width;
@@ -1162,7 +1240,7 @@ static void e_reflow_draw (GnomeCanvasItem *item, GdkDrawable *drawable,
break;
x_rect = running_width;
gdk_draw_rectangle(drawable,
- GTK_WIDGET(item->canvas)->style->fg_gc[GTK_STATE_NORMAL],
+ style->fg_gc[GTK_STATE_NORMAL],
TRUE,
x_rect - x,
y_rect - y,
@@ -1212,12 +1290,19 @@ e_reflow_update (GnomeCanvasItem *item, gdouble affine[6], ArtSVP *clip_path, gi
gnome_canvas_request_redraw(item->canvas, x0, y0, x1, y1);
reflow->need_height_update = FALSE;
} else if (reflow->need_column_resize) {
+ GtkLayout *layout;
+ GtkAdjustment *adjustment;
gint x_rect, y_rect, width_rect, height_rect;
- gint start_line = e_reflow_pick_line(reflow,
- gtk_layout_get_hadjustment(GTK_LAYOUT(item->canvas))->value);
+ gint start_line;
gdouble running_width;
gint i;
gdouble column_width;
+ gdouble value;
+
+ layout = GTK_LAYOUT (item->canvas);
+ adjustment = gtk_layout_get_hadjustment (layout);
+ value = gtk_adjustment_get_value (adjustment);
+ start_line = e_reflow_pick_line (reflow, value);
if (reflow->previous_temp_column_width != -1) {
running_width = start_line * (reflow->column_width + E_REFLOW_FULL_GUTTER);
@@ -1409,43 +1494,43 @@ e_reflow_class_init (EReflowClass *klass)
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_WIDTH,
g_param_spec_double ("width",
- _( "Width" ),
- _( "Width" ),
+ "Width",
+ "Width",
0.0, G_MAXDOUBLE, 0.0,
G_PARAM_READABLE));
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_READWRITE));
g_object_class_install_property (object_class, PROP_EMPTY_MESSAGE,
g_param_spec_string ("empty_message",
- _( "Empty message" ),
- _( "Empty message" ),
+ "Empty message",
+ "Empty message",
NULL,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_MODEL,
g_param_spec_object ("model",
- _( "Reflow model" ),
- _( "Reflow model" ),
+ "Reflow model",
+ "Reflow model",
E_REFLOW_MODEL_TYPE,
G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_COLUMN_WIDTH,
g_param_spec_double ("column_width",
- _( "Column width" ),
- _( "Column width" ),
+ "Column width",
+ "Column width",
0.0, G_MAXDOUBLE, 150.0,
G_PARAM_READWRITE));
diff --git a/widgets/text/e-text.c b/widgets/text/e-text.c
index f964ae9bb1..92fc67cbfa 100644
--- a/widgets/text/e-text.c
+++ b/widgets/text/e-text.c
@@ -1439,11 +1439,7 @@ e_text_draw (GnomeCanvasItem *item, GdkDrawable *drawable,
widget = gtk_widget_get_parent (widget);
while (widget && !GTK_IS_BUTTON(widget)) {
-#if GTK_CHECK_VERSION(2,19,7)
if (gtk_widget_get_has_window (widget)) {
-#else
- if (!GTK_WIDGET_NO_WINDOW (widget)) {
-#endif
widget = NULL;
break;
}
@@ -1498,11 +1494,7 @@ e_text_draw (GnomeCanvasItem *item, GdkDrawable *drawable,
thisy += (1 + default_spacing) / 2;
}
-#if GTK_CHECK_VERSION(2,19,7)
if (gtk_widget_has_focus (widget)) {
-#else
- if (GTK_WIDGET_HAS_FOCUS (widget)) {
-#endif
thisx += 1;
thisy += 1;
thiswidth -= 2;
@@ -1522,11 +1514,7 @@ e_text_draw (GnomeCanvasItem *item, GdkDrawable *drawable,
thisx + xoff, thisy + yoff,
thiswidth, thisheight);
-#if GTK_CHECK_VERSION(2,19,7)
if (gtk_widget_has_focus (widget)) {
-#else
- if (GTK_WIDGET_HAS_FOCUS (widget)) {
-#endif
thisx -= 1;
thisy -= 1;
thiswidth += 2;
@@ -3305,241 +3293,239 @@ e_text_class_init (ETextClass *klass)
g_object_class_install_property (gobject_class, PROP_MODEL,
g_param_spec_object ("model",
- _( "Model" ),
- _( "Model" ),
+ "Model",
+ "Model",
E_TYPE_TEXT_MODEL,
G_PARAM_READWRITE));
g_object_class_install_property (gobject_class, PROP_EVENT_PROCESSOR,
g_param_spec_object ("event_processor",
- _( "Event Processor" ),
- _( "Event Processor" ),
+ "Event Processor",
+ "Event Processor",
E_TEXT_EVENT_PROCESSOR_TYPE,
G_PARAM_READWRITE));
g_object_class_install_property (gobject_class, PROP_TEXT,
g_param_spec_string ("text",
- _( "Text" ),
- _( "Text" ),
+ "Text",
+ "Text",
NULL,
G_PARAM_READWRITE));
g_object_class_install_property (gobject_class, PROP_BOLD,
g_param_spec_boolean ("bold",
- _( "Bold" ),
- _( "Bold" ),
+ "Bold",
+ "Bold",
FALSE,
G_PARAM_READWRITE));
g_object_class_install_property (gobject_class, PROP_STRIKEOUT,
g_param_spec_boolean ("strikeout",
- _( "Strikeout" ),
- _( "Strikeout" ),
+ "Strikeout",
+ "Strikeout",
FALSE,
G_PARAM_READWRITE));
g_object_class_install_property (gobject_class, PROP_ANCHOR,
g_param_spec_enum ("anchor",
- _( "Anchor" ),
- _( "Anchor" ),
+ "Anchor",
+ "Anchor",
GTK_TYPE_ANCHOR_TYPE, GTK_ANCHOR_CENTER,
G_PARAM_READWRITE));
g_object_class_install_property (gobject_class, PROP_JUSTIFICATION,
g_param_spec_enum ("justification",
- _( "Justification" ),
- _( "Justification" ),
+ "Justification",
+ "Justification",
GTK_TYPE_JUSTIFICATION, GTK_JUSTIFY_LEFT,
G_PARAM_READWRITE));
g_object_class_install_property (gobject_class, PROP_CLIP_WIDTH,
g_param_spec_double ("clip_width",
- _( "Clip Width" ),
- _( "Clip Width" ),
+ "Clip Width",
+ "Clip Width",
0.0, G_MAXDOUBLE, 0.0,
G_PARAM_READWRITE));
g_object_class_install_property (gobject_class, PROP_CLIP_HEIGHT,
g_param_spec_double ("clip_height",
- _( "Clip Height" ),
- _( "Clip Height" ),
+ "Clip Height",
+ "Clip Height",
0.0, G_MAXDOUBLE, 0.0,
G_PARAM_READWRITE));
g_object_class_install_property (gobject_class, PROP_CLIP,
g_param_spec_boolean ("clip",
- _( "Clip" ),
- _( "Clip" ),
+ "Clip",
+ "Clip",
FALSE,
G_PARAM_READWRITE));
g_object_class_install_property (gobject_class, PROP_FILL_CLIP_RECTANGLE,
g_param_spec_boolean ("fill_clip_rectangle",
- _( "Fill clip rectangle" ),
- _( "Fill clip rectangle" ),
+ "Fill clip rectangle",
+ "Fill clip rectangle",
FALSE,
G_PARAM_READWRITE));
g_object_class_install_property (gobject_class, PROP_X_OFFSET,
g_param_spec_double ("x_offset",
- _( "X Offset" ),
- _( "X Offset" ),
+ "X Offset",
+ "X Offset",
0.0, G_MAXDOUBLE, 0.0,
G_PARAM_READWRITE));
g_object_class_install_property (gobject_class, PROP_Y_OFFSET,
g_param_spec_double ("y_offset",
- _( "Y Offset" ),
- _( "Y Offset" ),
+ "Y Offset",
+ "Y Offset",
0.0, G_MAXDOUBLE, 0.0,
G_PARAM_READWRITE));
g_object_class_install_property (gobject_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 (gobject_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 (gobject_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 (gobject_class, PROP_FILL_STIPPLE,
g_param_spec_object ("fill_stipple",
- _( "Fill stipple" ),
- _( "Fill stipple" ),
+ "Fill stipple",
+ "Fill stipple",
GDK_TYPE_DRAWABLE,
G_PARAM_READWRITE));
g_object_class_install_property (gobject_class, PROP_TEXT_WIDTH,
g_param_spec_double ("text_width",
- _( "Text width" ),
- _( "Text width" ),
+ "Text width",
+ "Text width",
0.0, G_MAXDOUBLE, 0.0,
G_PARAM_READABLE));
g_object_class_install_property (gobject_class, PROP_TEXT_HEIGHT,
g_param_spec_double ("text_height",
- _( "Text height" ),
- _( "Text height" ),
+ "Text height",
+ "Text height",
0.0, G_MAXDOUBLE, 0.0,
G_PARAM_READABLE));
g_object_class_install_property (gobject_class, PROP_EDITABLE,
g_param_spec_boolean ("editable",
- _( "Editable" ),
- _( "Editable" ),
+ "Editable",
+ "Editable",
FALSE,
G_PARAM_READWRITE));
g_object_class_install_property (gobject_class, PROP_USE_ELLIPSIS,
g_param_spec_boolean ("use_ellipsis",
- _( "Use ellipsis" ),
- _( "Use ellipsis" ),
+ "Use ellipsis",
+ "Use ellipsis",
FALSE,
G_PARAM_READWRITE));
g_object_class_install_property (gobject_class, PROP_ELLIPSIS,
g_param_spec_string ("ellipsis",
- _( "Ellipsis" ),
- _( "Ellipsis" ),
+ "Ellipsis",
+ "Ellipsis",
NULL,
G_PARAM_READWRITE));
g_object_class_install_property (gobject_class, PROP_LINE_WRAP,
g_param_spec_boolean ("line_wrap",
- _( "Line wrap" ),
- _( "Line wrap" ),
+ "Line wrap",
+ "Line wrap",
FALSE,
G_PARAM_READWRITE));
g_object_class_install_property (gobject_class, PROP_BREAK_CHARACTERS,
g_param_spec_string ("break_characters",
- _( "Break characters" ),
- _( "Break characters" ),
+ "Break characters",
+ "Break characters",
NULL,
G_PARAM_READWRITE));
g_object_class_install_property (gobject_class, PROP_MAX_LINES,
g_param_spec_int ("max_lines",
- _( "Max lines" ),
- _( "Max lines" ),
+ "Max lines",
+ "Max lines",
0, G_MAXINT, 0,
G_PARAM_READWRITE));
g_object_class_install_property (gobject_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 (gobject_class, PROP_HEIGHT,
g_param_spec_double ("height",
- _( "Height" ),
- _( "Height" ),
+ "Height",
+ "Height",
0.0, G_MAXDOUBLE, 0.0,
G_PARAM_READWRITE));
g_object_class_install_property (gobject_class, PROP_DRAW_BORDERS,
g_param_spec_boolean ("draw_borders",
- _( "Draw borders" ),
- _( "Draw borders" ),
+ "Draw borders",
+ "Draw borders",
FALSE,
G_PARAM_READWRITE));
g_object_class_install_property (gobject_class, PROP_ALLOW_NEWLINES,
g_param_spec_boolean ("allow_newlines",
- _( "Allow newlines" ),
- _( "Allow newlines" ),
+ "Allow newlines",
+ "Allow newlines",
FALSE,
G_PARAM_READWRITE));
g_object_class_install_property (gobject_class, PROP_DRAW_BACKGROUND,
g_param_spec_boolean ("draw_background",
- _( "Draw background" ),
- _( "Draw background" ),
+ "Draw background",
+ "Draw background",
FALSE,
G_PARAM_READWRITE));
g_object_class_install_property (gobject_class, PROP_DRAW_BUTTON,
g_param_spec_boolean ("draw_button",
- _( "Draw button" ),
- _( "Draw button" ),
+ "Draw button",
+ "Draw button",
FALSE,
G_PARAM_READWRITE));
g_object_class_install_property (gobject_class, PROP_CURSOR_POS,
g_param_spec_int ("cursor_pos",
- _( "Cursor position" ),
- _( "Cursor position" ),
+ "Cursor position",
+ "Cursor position",
0, G_MAXINT, 0,
G_PARAM_READWRITE));
g_object_class_install_property (gobject_class, PROP_IM_CONTEXT,
g_param_spec_object ("im_context",
- /* Translators: Input Method Context */
- _( "IM Context" ),
- /* Translators: Input Method Context */
- _( "IM Context" ),
+ "IM Context",
+ "IM Context",
GTK_TYPE_IM_CONTEXT,
G_PARAM_READWRITE));
g_object_class_install_property (gobject_class, PROP_HANDLE_POPUP,
g_param_spec_boolean ("handle_popup",
- _( "Handle Popup" ),
- _( "Handle Popup" ),
+ "Handle Popup",
+ "Handle Popup",
FALSE,
G_PARAM_READWRITE));
diff --git a/widgets/text/gal-a11y-e-text.c b/widgets/text/gal-a11y-e-text.c
index 6c6724ea6d..e368e7d68b 100644
--- a/widgets/text/gal-a11y-e-text.c
+++ b/widgets/text/gal-a11y-e-text.c
@@ -533,7 +533,7 @@ et_get_character_extents (AtkText *text,
etext = E_TEXT(obj);
canvas = GNOME_CANVAS_ITEM(etext)->canvas;
widget = GTK_WIDGET(canvas);
- window = widget->window;
+ window = gtk_widget_get_window (widget);
gdk_window_get_origin (window, &x_widget, &y_widget);
pango_layout_index_to_pos (etext->layout, offset, &pango_pos);
@@ -611,7 +611,7 @@ et_get_offset_at_point (AtkText *text,
etext = E_TEXT(obj);
canvas = GNOME_CANVAS_ITEM(etext)->canvas;
widget = GTK_WIDGET(canvas);
- window = widget->window;
+ window = gtk_widget_get_window (widget);
gdk_window_get_origin (window, &x_widget, &y_widget);
if (coords == ATK_XY_SCREEN) {