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.
svn path=/trunk/; revision=14185
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.
svn path=/trunk/; revision=14168
2001-10-26 Christopher James Lahey <clahey@ximian.com>
* docs/etablexml.txt: Document allow-grouping attribute.
* tests/test-table-1.c (SPEC): Updated this to test the
allow_grouping=\"false\" attribute.
From gal/e-table/ChangeLog:
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.
svn path=/trunk/; revision=14134
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.
* 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.
svn path=/trunk/; revision=14128
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.
svn path=/trunk/; revision=14124
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.
svn path=/trunk/; revision=14072
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.
svn path=/trunk/; revision=13954
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.
svn path=/trunk/; revision=13949
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.
svn path=/trunk/; revision=13936
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.
* e-tree-table-adapter.c (e_tree_table_adapter_node_set_expanded):
Added a pre_change here since we send two changes.
svn path=/trunk/; revision=13931
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.
svn path=/trunk/; revision=13929
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.
svn path=/trunk/; revision=13927
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.
svn path=/trunk/; revision=13901
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.
* e-table-utils.c: Copy the disabled field from the column
specification to the col.
svn path=/trunk/; revision=13897
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.
svn path=/trunk/; revision=13836
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.
svn path=/trunk/; revision=13819
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.
(etta_init): Initialize all the fields here.
svn path=/trunk/; revision=13712
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.
* 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>
svn path=/trunk/; revision=13633
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.
svn path=/trunk/; revision=13625
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.
svn path=/trunk/; revision=13566
2001-10-10 Christopher James Lahey <clahey@ximian.com>
* e-table.c, e-table.h (e_table_get_selection_model): Added this
function.
svn path=/trunk/; revision=13548
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.
svn path=/trunk/; revision=13488
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.
svn path=/trunk/; revision=13485
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.
svn path=/trunk/; revision=13482
2001-10-05 Christopher James Lahey <clahey@ximian.com>
* e-table-item.c (eti_event): Got rid of the misused button
variable here.
svn path=/trunk/; revision=13468
2001-10-05 Jon Trowbridge <trow@ximian.com>
* gal/widgets/e-categories-master-list-combo.c
(ecmlc_ecml_changed): Sort the list of categories.
(Bug 8088)
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-04 Jon Trowbridge <trow@ximian.com>
* e-icon-bar.c (e_icon_bar_add_item): Don't call gdk_pixbuf_ref
if image is NULL.
* e-shortcut-model.c (e_shortcut_model_real_get_item_info): Check
to make sure we don't call gdk_pixbuf_ref on NULL, which causes a
warning.
svn path=/trunk/; revision=13465
2001-10-05 Michael Meeks <michael@ximian.com>
* gal/util/e-util.h: add E_OBJECT_CLASS_ADD_SIGNALS and
E_OBJECT_CLASS_TYPE to ease migration to Gnome 2.0 from
a single source base.
* All C files:
s/object_class->type,/E_OBJECT_CLASS_TYPE (object_class),/g;
s/gtk_object_class_add_signals([^\(]*)\(([^,]*),([^,]*),([^\)]*)/
E_OBJECT_CLASS_ADD_SIGNALS\1(\2,\3,\4/;
svn path=/trunk/; revision=13428
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.
svn path=/trunk/; revision=13406
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.
svn path=/trunk/; revision=13373
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.
* 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.
svn path=/trunk/; revision=13370
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.
svn path=/trunk/; revision=13297
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.
svn path=/trunk/; revision=13227
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.
svn path=/trunk/; revision=13146
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.
* e-tree-sorted.c, e-tree-sorted.h (e_tree_sorted_node_resorted):
Added this signal.
svn path=/trunk/; revision=13108
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.
svn path=/trunk/; revision=13105
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.
svn path=/trunk/; revision=13102
2001-09-22 Christopher James Lahey <clahey@ximian.com>
* configure.in: Bumped the version number to 0.12.99.0.
From a patch by Damian Ivereigh <damian@cisco.com>:
* gal/util/e-util.c, gal/util/e-util.h (e_strftime_fix_am_pm): New
function, takes the same arguments as strftime, but does some
fixup if the given string is in 12 hour mode but the locale
doesn't have AM/PM descriptors.
From gal/e-table/ChangeLog:
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.
svn path=/trunk/; revision=13081
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.
svn path=/trunk/; revision=12993
2001-09-16 Christopher James Lahey <clahey@ximian.com>
* configure.in: Bumped version number to 0.11.99.4.
* gal/e-text/e-completion-view.c (e_completion_view_construct),
tests/test-table-1.c (create_table): Changed the parameters to
e_table_simple_new here to adjust to changes in the interface.
* gal/widgets/e-categories-master-list-array.c (ecmla_default):
Fixed a memory leak here.
* gal/widgets/e-categories.c (e_categories_get_save_id): Added
get_save_id here so that selection would be maintained across
changes.
From gal/e-table/ChangeLog:
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.
svn path=/trunk/; revision=12869
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.
svn path=/trunk/; revision=12803