2004-04-22 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.
svn path=/trunk/; revision=25831
2003-10-14 Suresh Chandrasekharan <suresh.chandrasekharan@sun.com>
* Support for preedit in e-text widgets.
* gal/gal/e-text/e-text.c: Added e_text_preedit_changed_cb and
insert_preedit_text.
* Modified the following functions.
(e_text_draw) Calls insert_preedit_text also cursor pos @ the end of
text->selection_start + text->preedit_len
(e_text_event) Added hooks for preedit_cb
(e_text_init) Inits text->preedit_len
(e_text_retrieve_surrounding_cb) Removed printf
(e_text_delete_surrounding_cb) Correct params for
gtk_editable_delete_text to make it work.
* gal/gal/e-text/e-text.h: Added preedit_len in struct _EText
2003-09-25 Suresh Chandrasekharan <suresh.chandrasekharan@sun.com>
* Fix for "44222 task summary entry widget not i18ned". The following
files are changed.
* gal/gal/e-table/e-cell-text.c: Lots of changes for i18n
selection/input support. Added these functions for input method support.
(e_cell_text_preedit_changed_cb)
(e_cell_text_commit_cb)
(e_cell_text_retrieve_surrounding_cb)
(e_cell_text_delete_surrounding_cb)
(layout_with_preedit) This function inserts the preedit string
with the right attribs to the layout text.
(build_attr_list) Creates the PangoAttrList with bold/stikeout/underline
as applicable for the current ECellText.
The following functions are modified.
(ect_stop_editing): disconnect signal handlers when editing stops
(ect_draw): Changes for including the preedit only to the currently
selected row/col. Also display the cursor at the end of preedit text.
(ect_event): Connects the IM callbacks to the key press event.
Disconnect when not in editing mode. Also a special flag to see
when Enter key pressed in preedit mode, the text is committed only
not a new row is created. This woks in conjunction with the changes
made in the eti_event in e-table-item.c file and e-cell.h.
(ect_height): Changes due to parameters changing for generate_layout
(ect_enter_edit): Initialization of im_context for a cell text and
assoociated flags.
(ect_max_width): Changes due to parameters changing for
generate_layout.
(ect_max_width_by_row): Changes due to parameters changing for
generate_layout.
(ect_show_tooltip): Changes due to parameters changing for
generate_layout.
(e_cell_text_construct): check whether paramters are NULL.
(get_position_from_xy): Changes due to parameters changing for
generate_layout.
(_insert): Set the selection_start as the minimum of strlen(edit->text)
and selection_start. Used to correct the preedit_string length
which may have added to the selection_start.
(e_cell_text_view_command): When inserting, if in the preedit mode
do not delete the selection.
(_selection_get): Set utf8 data instead of string data.
(_selection_received): Take in UTF8_ATOM inaddition to
GDK_SELECTION_TYPE_STRING.
(e_cell_text_view_get_selection): Make utf8 data when acting as a
selection source.
* gal/e-table/e-cell-text.h : Included <gtk/gtkmenu.h>
* gal/e-table/e-cell.h: Added enum E_CELL_PREEDIT to ECellFlags
* gal/e-table/e-table-item.c: (eti_event) Changes for not committing
the edited text as a seperate row in preedit mode.
* gal/e-table/e-table.c: (table_canvas_focus_event_cb) To have
proper im_context focus for the ecanvas holding the e-table.
svn path=/trunk/; revision=22882
* 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.
svn path=/trunk/; revision=21705
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.
svn path=/trunk/; revision=21479
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.
svn path=/trunk/; revision=20900
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
svn path=/trunk/; revision=18571
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
svn path=/trunk/; revision=18531
* 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.
svn path=/trunk/; revision=18121
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.
svn path=/trunk/; revision=17724
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.
svn path=/trunk/; revision=17717
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
svn path=/trunk/; revision=17218
2002-06-14 Christopher James Lahey <clahey@ximian.com>
* 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.
* 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.
svn path=/trunk/; revision=17190
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.
svn path=/trunk/; revision=17109
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.
svn path=/trunk/; revision=16667
2002-05-01 Christopher James Lahey <clahey@ximian.com>
* gal/e-text/e-completion-view.c (simple_spec),
gal/widgets/e-categories-master-list-dialog.c (SPEC),
gal/widgets/e-categories.c (INITIAL_SPEC): Set the gettext-domain
here.
* gal/util/e-i18n.h (E_I18N_DOMAIN): #define as makes sense in the
different cases.
From gal/e-table/ChangeLog:
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.
From gal/menus/ChangeLog:
2002-05-01 Christopher James Lahey <clahey@ximian.com>
* gal-define-views-dialog.c (SPEC),
gal-view-instance-save-as-dialog.c (SPEC): Set the gettext-domain
here.
svn path=/trunk/; revision=16658
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.
svn path=/trunk/; revision=16439
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.
svn path=/trunk/; revision=16175
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.
svn path=/trunk/; revision=16166
* 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.
svn path=/trunk/; revision=16161
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.
svn path=/trunk/; revision=16145
2002-03-13 Christopher James Lahey <clahey@ximian.com>
* gal/util/e-util.c, gal/util/e-util.h
(e_marshal_BOOL__STRING_INT): Replaced e_marshal_BOOL__STRING with
this since the function it was used for has been modified.
From gal/e-table/ChangeLog:
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.
svn path=/trunk/; revision=16139
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.
svn path=/trunk/; revision=16128
2002-03-12 Christopher James Lahey <clahey@ximian.com>
* gal/Makefile.am (libgal_la_LIBADD): Added e-table-search.lo.
* gal/util/e-util.c, gal/util/e-util.h (e_marshal_BOOL__STRING):
Added this marshal function.
From gal/e-table/ChangeLog:
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-col.h: Added search here.
* e-table-column-specification.c, e-table-column-specification.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.
svn path=/trunk/; revision=16119
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.
svn path=/trunk/; revision=15618
2002-01-09 Christopher James Lahey <clahey@ximian.com>
* configure.in: Bumped version number to 0.19.99.0. Bumped
GAL_CURRENT. Reset GAL_REVISION.
From gal/e-table/ChangeLog:
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.
svn path=/trunk/; revision=15272
2001-12-04 Christopher James Lahey <clahey@ximian.com>
* configure.in (GAL_CURRENT): Bumped version number to 0.18.99.0
and CURRENT to 19.
2001-11-21 Christopher James Lahey <clahey@ximian.com>
* gal/widgets/e-reflow.c, gal/widgets/e-reflow.h: Handle
selection_row_changed signal.
* gal/widgets/e-selection-model-array.c,
gal/widgets/e-selection-model-array.h: 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.
* gal/widgets/e-selection-model.c,
gal/widgets/e-selection-model.h: Added selection_row_changed
signal.
(e_selection_model_select_as_key_press): Fixed the case statement
here to make MULTIPLE and EXTENDED the same as BROWSE instead of
as SINGLE.
From gal/e-table/ChangeLog:
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.
svn path=/trunk/; revision=14870
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.
svn path=/trunk/; revision=14864
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.
svn path=/trunk/; revision=14861
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.
svn path=/trunk/; revision=14702
2001-10-30 Christopher James Lahey <clahey@ximian.com>
* e-table.c (e_table_commit_click_to_add): Leave edit if commit is
called.
svn path=/trunk/; revision=14487
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.
svn path=/trunk/; revision=14476
2001-10-30 Christopher James Lahey <clahey@ximian.com>
* configure.in: Bumped the version number here to 0.15.99.10.
From gal/e-table/ChangeLog:
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.
svn path=/trunk/; revision=14473