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.
svn path=/trunk/; revision=30421
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
2003-05-16 Mike Kestner <mkestner@ximian.com>
* gal-view-collection.c (view_changed): block the signal
that got us here until we're done to stop an infinite
recursion. Fixes 43153.
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.
svn path=/trunk/; revision=21229
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
svn path=/trunk/; revision=20902
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.
svn path=/trunk/; revision=20853
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
svn path=/trunk/; revision=20642
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.
svn path=/trunk/; revision=20607
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.
svn path=/trunk/; revision=20481
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.
svn path=/trunk/; revision=20303
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
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
svn path=/trunk/; revision=19894
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
svn path=/trunk/; revision=19828
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.
svn path=/trunk/; revision=19797
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.
svn path=/trunk/; revision=19481
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-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.
svn path=/trunk/; revision=17517
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.
svn path=/trunk/; revision=17116
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.
svn path=/trunk/; revision=17016
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.
svn path=/trunk/; revision=16963
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.
svn path=/trunk/; revision=16768
* 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.
svn path=/trunk/; revision=16736
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
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-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.
svn path=/trunk/; revision=14359
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-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-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-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-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.
svn path=/trunk/; revision=11647
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.
svn path=/trunk/; revision=11061
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.
svn path=/trunk/; revision=10878
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