2005-06-08 Not Zed <NotZed@Ximian.com>
* e-tree-selection-model.c (etsm_toggle_single_row)
(etsm_select_single_row): If only a few rows have changed, emit
each as a separate row_changed event rather than triggering a
complete redraw of the whole window.
svn path=/trunk/; revision=29551
2005-06-17 Kaushal Kumar <kakumar@novell.com>
* Retired GAL from Head. The relevant files have moved inside
evolution. Thanks to JP Rosevear for performing the cvs surgery. The
files have been moved in the following order.
evolution/e-util <- gal/gal/util
evolution/a11y <- gal/gal/a11y
evolution/a11y/e-table <- gal/gal/a11y/e-table
evolution/a11y/e-text <- gal/gal/a11y/e-text
evolution/widgets/table <- gal/gal/e-table
evolution/widgets/text <- gal/gal/e-text
evolution/widgets/misc <- gal/gal/widgets
evolution/widgets/misc/pixmaps <- gal/gal/widgets/pixmaps
evolution/widgets/menus <- gal/gal/menus
Following is the summary of changes done to fix the build:-
- New files added to cvs repository,
- a11y/e-table/Makefile.am
- a11y/e-text/Makefile.am
- widgets/table/Makefile.am
- widgets/text/Makefile.am
- widgets/misc/pixmaps/Makefile.am
- iconv-detect.h
- iconv-detect.c
- Updated configure.in.
- Updated all the relevant Makefile.am files.
- Updated the include paths to replace all gal references.
- Updated the marshal list to suit gal files requirements.
svn path=/trunk/; revision=29522
2005-04-29 Tor Lillqvist <tml@novell.com>
Port to Windows, initial commit:
* configure.in: Check for Win32, define Automake conditional
OS_WIN32. Check for regexec() perhaps in separate -lregex, define
REGEX_LIBS if so. Require glib-2.0 >= 2.6 (and thus also gtk+-2.0
>= 2.6) so that we can use the gstdio wrappers for full support of
non-ASCII filenames on Win32. Don't use -D_REENTRANT on Win32, has
ne special meaning.
* gal.pc.in: Require gtk+-2.0 >= 2.6 also here for consistency.
* gal-zip.in: New file, used to build zipfile format distribution
of gal for Win32.
* configure.in
* Makefile.am: Add gal-zip(.in).
* */Makefile.am
* */*.c: Harmonize -I and #include conventions. (Of course, this
hasn't anything to do with Windows porting as such, I just got
carried away...) Use only -I$(top_srcdir). Use paths to gal
headers staring with "gal", except for headers from the same
directory as the .c file, which are included as such. Include all
gal headers using doublequotes. Sort #includes and remove
duplicates and obvious redundancies. Include config.h first
without any HAVE_CONFIG_H, then system headers, then other GNOME
lib headers, than gal's own headers. Just include gtk.h instead of
separate gtk*.h headers. Don't include gi18n.h, include e-i18n.h
to use e_gettext() consistently.
* gal/Makefile.am: Use -no-undefined on Win32 so that libtool
agrees to build a shared library. Because of the bidirectional
dependency between libgal and libgal-a11y we can build libgal-a11y
sanely as a shared library on Win32, so we don't install any
separate libgal-a11y at all. So, on Win32, link the stuff that
goes into libgal-a11y also into libgal. Link with REGEX_LIBS.
* gal/a11y/Makefile.am: See above. Just build a dummy static
libgal-a11y on Win32 (can't convince Automake not to build the
library at all on one platform using Automake ifdef,
apparently). Then (this is a gross hack) explicitly remove the
library after installation in the install-data-local rule.
* gal/e-table/Makefile.am
* gal/e-table/e-table-config.c: Rename ETABLE_GLADEDIR to
GAL_GLADEDIR for consistency.
* gal/e-table/e-cell-date.c: No localtime_r() in Microsoft's C
library, but its localtime() *is* thread-safe.
* gal/e-table/e-cell-text.c
* gal/e-table/e-cell-tree.c
* gal/e-table/e-cell-vbox.c
* gal/e-text/e-text.c
* gal/widgets/e-unicode.c: Remove unnecessary inclusion of gdkx.h.
* gal/e-table/e-cell-tree.c (ect_realize): Instead of the Xlib
macro None (whose value is zero), use the corresponding
zero-valued enums from the appropriate GDK type.
* gal/e-table/e-table-config.c
* gal/e-table/e-table-field-chooser.c
* gal/menus/gal-define-views-dialog.c
* gal/menus/gal-view-instance-save-as-dialog.c
* gal/menus/gal-view-new-dialog.c
* gal/widgets/e-categories-master-list-array.c
* gal/widgets/e-categories-master-list-dialog.c
* gal/widgets/e-categories.c: Use g_build_filename() to construct
pathnames at run-time instead of compile-time. On Windows the
macros GAL_GLADEDIR and GAL_IMAGESDIR expand to function calls, in
order to support installing in a freely chosen location.
* gal/e-table/e-table-item.c
* gal/e-table/e-cell-vbox.c: Instrad of the Xlib GrabSuccess, use
GDK_GRAB_SUCCESS (which has the same value).
* gal/e-table/e-table-specification.c (e_table_specification_load_from_file)
* gal/e-table/e-table.c (e_table_load_specification)
* gal/e-table/e-tree-table-adapter.c (open_file)
* gal/menus/gal-view-instance.c (load_current_view)
* gal/menus/gal-view-instance.c (load_current_view): On Win32,
convert filename to the locale character set before passing to
xmlParseFile() which doesn't use UTF-8 filenames. Use gstdio
wrappers.
* gal/util/Makefile.am: Define GAL_PREFIX as $prefix. Define
GAL_LOCALEDIR, GAL_GLADEDIR and GAL_IMAGESDIR also here for
e-win32-reloc.c. Include e-win32-reloc.c on Win32.
* gal/util/e-iconv.c (e_iconv_init): Use g_win32_getlocale() on
Windows.
* gal/util/e-util.c
* gal/util/e-xml-utils.c: Use g_mkstemp() instead of non-portable
mkstemp(). Use GLib pathname manipulation functions. Use gstdio
wrappers.
* gal/util/e-util-private.h: New file. Contains just Win32 bits
for now that redefine the directory names from the Makefile as
functions calls.
* gal/util/e-win32-reloc.c: New file. Contains a minimal DllMain()
and functions to support freely chosen installation location on
Windows.
* gal/util/e-xml-utils.c: No fsync() in the Microsoft C library.
* gal/windgets/Makefile.am: Add -I$(top_srcdir)/gal for
consistency with the sibling Makefile.am files.
* gal/widgets/e-canvas.c: Instead of the Xlib AlreadyGrabbed, use
GDK_GRAB_ALREADY_GRABBED.
svn path=/trunk/; revision=29249
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.
svn path=/trunk/; revision=26277
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.
svn path=/trunk/; revision=20136
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
svn path=/trunk/; revision=19975
2002-05-02 Christopher James Lahey <clahey@ximian.com>
* gal/widgets/e-popup-menu.c, gal/widgets/e-popup-menu.h
(e_popup_menu_create_with_domain): Added this function that lets
you specify the translation domain.
From gal/e-table/ChangeLog:
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.
svn path=/trunk/; revision=16668
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.
svn path=/trunk/; revision=16590
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.
svn path=/trunk/; revision=15990
2002-02-19 Christopher James Lahey <clahey@ximian.com>
* e-tree-selection-model.c (e_tree_selection_model_init):
Initialize frozen_count to 0.
svn path=/trunk/; revision=15765
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.
svn path=/trunk/; revision=15537
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-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.
svn path=/trunk/; revision=14661
2001-10-31 Christopher James Lahey <clahey@ximian.com>
* e-tree-selection-model.c (etsm_node_deleted): Fixed the
signature of this function.
svn path=/trunk/; revision=14560
2001-10-31 Christopher James Lahey <clahey@ximian.com>
* configure.in: Bumped the version number to 0.16.99.0 and
GAL_CURRENT to 17.
From gal/e-table/ChangeLog:
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.
svn path=/trunk/; revision=14557
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.
svn path=/trunk/; revision=14523
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-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-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-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.
svn path=/trunk/; revision=12553
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.
svn path=/trunk/; revision=12010
2001-06-27 Peter Williams <peterw@ximian.com>
* configure.in: Bump version number due to incompatible changes
in ETree.
gal/e-table:
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.
svn path=/trunk/; revision=10543
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.
svn path=/trunk/; revision=9562
2001-04-12 Christopher James Lahey <clahey@ximian.com>
* configure.in: Upped the version number to 0.6.99.0. Upped the
so number to 6.
* docs/etablexml.txt: Made some updates here.
* tests/test-tree-1.c, tests/test-tree-3.c: Added NULL, NULL to
the call to e_tree_memory_callbacks_new.
From gal/e-table/ChangeLog:
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.
svn path=/trunk/; revision=9289
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.
svn path=/trunk/; revision=9211
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.
svn path=/trunk/; revision=9176
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.
svn path=/trunk/; revision=9173
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.
svn path=/trunk/; revision=9171
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.
svn path=/trunk/; revision=9169
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.
svn path=/trunk/; revision=9167
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.
svn path=/trunk/; revision=9090
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.
svn path=/trunk/; revision=9089
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.
svn path=/trunk/; revision=9084
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.
svn path=/trunk/; revision=9075
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.
svn path=/trunk/; revision=9073