2001-10-11 Christopher James Lahey <clahey@ximian.com>
* gal/e-text/e-table-text-model.c (e_table_text_model_insert,
e_table_text_model_insert_length, e_table_text_model_delete),
gal/e-text/e-text-model.c (e_text_model_real_insert,
e_text_model_real_insert_length): Use e_strdup_append_strings here
instead of g_strdup_printf because printf("%.*s") is locale
dependent on some systems.
* gal/util/e-util.c (e_strdup_append_strings): New function to
append a bunch of strings with optional lengths.
svn path=/trunk/; revision=13581
2001-10-10 Christopher James Lahey <clahey@ximian.com>
Based on patches from Dan Nguyen <dnn@austin.ibm.com>.
* gal/Makefile.am (libgal_la_LDFLAGS): Added $(GTK_LIBS).
* gal/e-text/e-text.c (e_text_event): Changed this from a C++
comment to a C comment.
svn path=/trunk/; revision=13549
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-02 Christopher James Lahey <clahey@ximian.com>
* gal/e-text/e-text-model.c (MAX_LENGTH): Added a max length of
2047 to the standard ETextModel. Fixes Ximian bug #3021.
svn path=/trunk/; revision=13298
2001-09-26 Jon Trowbridge <trow@ximian.com>
* gal/e-text/e-completion-view.c
(e_completion_view_key_press_handler): Allow ctrl-p and ctrl-n to
be used to move up and down in the completion list. (Bug #10500)
* gal/e-text/e-completion-match.c (e_completion_match_set_text):
Properly validate the utf8.
svn path=/trunk/; revision=13159
2001-09-26 Christopher James Lahey <clahey@ximian.com>
* gal/e-text/e-text.c, gal/e-text/e-text.h (_insert): Made it so
that if allow_newlines is FALSE, pasting into ETexts doesn't
insert carriage returns. Fixes Ximian bug #5761 and Ximian bug
#9067.
svn path=/trunk/; revision=13143
2001-09-17 Larry Ewing <lewing@ximian.com>
* gal/e-text/e-text.c (e_text_supply_selection): remove redundant
NULL checks since g_free handles NULLs.
(e_text_destroy): free the selection. It does appear to be a
guarantee that we get a selection-clear event before we are
destroyed.
svn path=/trunk/; revision=12934
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
* gal/e-text/e-completion-view.c (e_completion_view_construct):
Unref the model after creating the ETable, since the table will
hold a ref on it until we destroy it when we're destroyed.
* gal/e-text/e-entry.c (e_entry_destroy): Unref the popup window
rather than destroying it.
svn path=/trunk/; revision=12798
2001-09-09 Jon Trowbridge <trow@ximian.com>
* gal/e-text/e-text.c (e_text_text_model_changed): If our text shrinks,
make sure that the selection doesn't spill off over the end of the
reduced buffer. (Related to bug #8535)
svn path=/trunk/; revision=12717
Tue Aug 28 18:29:28 2001 George Lebl <jirka@5z.com>
Patch to fix few 64bit issues
* gal/e-table/e-table-header-item.c (ethi_draw) (ethi_start_drag)
gal/widgets/e-categories.c (e_categories_value_at)
(e_categories_value_to_string):
Use GINT_TO_POINTER and GPOINTER_TO_INT to cast between pointers
and ints to fix 64bit issues connected with that.
* gal/e-table/e-table-sorting-utils.c
(e_table_sorting_utils_tree_check_position)
gal/util/e-sorter-array.c (e_sorter_array_append):
Use size_t for size not ints to fix crashes
* gal/e-text/e-completion-match.c, gal/e-text/e-completion.c:
Include <string.h>
svn path=/trunk/; revision=12507
2001-08-16 Jon Trowbridge <trow@ximian.com>
* gal/e-text/e-completion-match.h: Added "hit_count" to
ECompletionMatch. Used by search refinement/unrefinement.
* gal/e-text/e-completion.c (e_completion_refine_search): Added.
Handle automatic search refinements.
(e_completion_unrefine_search): Added. Handle automatic search
"unrefinements", or reversions.
(e_completion_begin_search): Check if the refinement or
unrefinement operations can be used to handle the search. Emit
"request_search" at the end of the call.
(e_completion_class_init): Added a new signal "request_search".
"begin_search" is now purely informational, telling views that a
series of matches and an "end_search" are forthcoming.
* configure.in: Increment version of 0.10.99.3.
svn path=/trunk/; revision=12116
2001-08-09 jacob berkman <jacob@ximian.com>
* configure.in: bumped up to 0.10.99.3
* gal/e-text/e-completion-view.c (e_completion_view_init): init
matches array
(e_completion_view_destroy): free matches array
(e_completion_view_disconnect): disconnect from the clear and
lost_match signals
(e_completion_view_clear_choices): fixup for ptr array
(e_completion_view_set_cursor_row): ditto
(e_completion_view_select): ditto
(e_completion_view_key_press_handler): ditto
(clear_completion_cb): handle the clear signal
(lost_completion_cb): remove a row from the model
(table_row_count): fixup for ptr array
(table_value_at): ditto
(e_completion_view_construct): connect to clear and lost
completion signals
(e_completion_view_set_width): ptr array fixup again
* gal/e-text/e-completion.c (e_completion_class_init): add new
clean / lost completion signals
(e_completion_init): initialize the matches array
(e_completion_destroy): free the matches array
(e_completion_add_match): fixup for matches being a GPtrArray
(e_completion_clear_matches): ditto
(e_completion_clear): new function to clear the list of matches
(e_completion_foreach_match): fixup for ptrarray
(e_completion_restart): ditto
(e_completion_found_match): if we are at the limit return first,
rather than adding and then unreffing. there very well could be
some weird crashes this caused but it is kind of unlikely.
(e_completion_lost_match): new function to forget about a match
(e_completion_end_search): add a comment on why this is broken
* gal/e-text/e-entry.c (e_entry_text_keypress): only start a
delayed completion if our completion timeout is >= 0. this
provides a way for the completion starting / stopping to be
controlled by something other than the EEntry (ie, file-sel)
svn path=/trunk/; revision=11843
2001-08-09 Jon Trowbridge <trow@ximian.com>
* configure.in: Bumped version up to 0.10.99.2.
* gal/e-text/e-entry.c (e_entry_class_init): Added
"completion_popup" signal.
(e_entry_show_popup): Emit "completion_popup" signal if the popup
has appeared or disappeared.
(e_entry_enable_completion_full): Listen for "cancel_completion"
signals from our model, and disable our completion if get one.
(e_entry_completion_popup_is_visible): Added. Returns TRUE if the
completion popup is on the screen.
* gal/e-text/e-text-model.c (e_text_model_class_init): Added
"cancel_completion" signal.
(e_text_model_cancel_completion): Added. Emits
"cancel_completion" signal.
svn path=/trunk/; revision=11824
2001-07-25 Jon Trowbridge <trow@ximian.com>
* gal/e-text/e-text.c (e_text_set_arg): Properly ref the font we
pass in as an ARG_FONT_E.
(_do_tooltip): Removed some crack. We no longer have to manually
ref the font. The ref-counting now happens inside the set_arg
function, as it should.
(e_text_destroy): Set text->font to NULL after unrefing it.
2001-07-25 Jon Trowbridge <trow@ximian.com>
* e-cell-text.c (ect_unrealize): Set text_view->font to NULL
after we unref it.
svn path=/trunk/; revision=11393
2001-07-20 Jon Trowbridge <trow@ximian.com>
* gal/e-text/e-completion-view.c (e_completion_view_set_width): Removed
some debugging spew I committed by mistake.
svn path=/trunk/; revision=11293
2001-07-20 Jon Trowbridge <trow@ximian.com>
* gal/e-text/e-entry.c (e_entry_enable_completion_full): Change
window policy to allow the completion window to shrink when the
number of options decreases.
* gal/e-text/e-completion-view.c (e_completion_view_construct):
Removed some obsolete code.
svn path=/trunk/; revision=11292
2001-07-15 Christopher James Lahey <clahey@ximian.com>
* gal/e-text/e-text.c (e_text_event): Start editing immediately on
a button_press that grabs the focus. e_canvas_item_grab_focus
doesn't seem to get us the focus event until the event loop.
Fixes Ximian bug #1766.
svn path=/trunk/; revision=11111
2001-07-09 Federico Mena Quintero <federico@ximian.com>
* gal/e-text/e-text.c (_get_position): For E_TEP_END_OF_BUFFER,
use the length in bytes, not the length in characters --- this
function is supposed to return byte offsets.
svn path=/trunk/; revision=10941
2001-07-07 Christopher James Lahey <clahey@ximian.com>
* gal/e-text/e-text.c, gal/e-text/e-text.h (e_text_destroy):
Destroy the tooltip if we're the owner when we're destroyed.
Also, keep a reference to the text object in case we get a signal
on the window after the text object is destroyed.
* gal/widgets/e-canvas.c (e_canvas_destroy): Hide the tooltip if
there is one when the canvas is destroyed.
svn path=/trunk/; revision=10888
2001-07-05 Christopher James Lahey <clahey@ximian.com>
* gal/e-text/e-text.c (e_text_command): Don't scroll to the cursor
on grab, ungrab, noop, and copy commands.
svn path=/trunk/; revision=10808
2001-07-03 Christopher James Lahey <clahey@ximian.com>
* gal/e-text/e-text.c (e_text_point): If lines is NULL here split
into lines and just return that the point is outside this text
object.
svn path=/trunk/; revision=10730
2001-06-29 Jon Trowbridge <trow@ximian.com>
* gal/e-text/e-completion-match.c (e_completion_match_unref): Do
nothing if passed NULL.
(e_completion_match_compare): Move the sort_major comparison out
to make it the primary sort key (followed by score and then
sort_minor).
(e_completion_match_compare_alpha): Move the sort_major comparison
out to make it the primary sort key.
svn path=/trunk/; revision=10625
2001-06-08 Jon Trowbridge <trow@ximian.com>
* gal/e-text/e-completion-view.c: Turned off alternating row
colors in our ETable specification.
* gal/e-text/e-completion-match.c (e_completion_match_compare_alpha):
Fix the sort routine to properly use the major & minor keys for
sorting grouped elements with the same match text. I had this all
wrong.
svn path=/trunk/; revision=10159
2001-06-07 jacob berkman <jacob@ximian.com>
* gal/e-text/e-entry.c (canvas_size_allocate): we can ignore the
border, as e-text takes care of that for us
(canvas_size_request): correctly handle when borders should be
drawn
* gal/e-text/e-completion-view.c (e_completion_view_paint): fix a
small bug in the drawing-2-pixel-border change to my patch
svn path=/trunk/; revision=10149
2001-06-06 Jon Trowbridge <trow@ximian.com>
* gal/e-text/e-entry.c:
* gal/e-text/e-completion-view.c: Applied patch from Jacob Berkman
to un-offset the completion popup and add a border around it. I
tweaked it slightly to make the border two pixels thick instead of
one. (Which I like, but might annoy everyone else. We'll see.)
svn path=/trunk/; revision=10133
2001-06-05 Jon Trowbridge <trow@gnu.org>
* gal/e-text/e-entry.c: Small changes throughout to use
ECompletionMatch.
* gal/e-text/e-completion-view.c: Small changes throughout
to use ECompletionMatch.
* gal/e-text/e-completion.c: Small changes throughout to use
ECompletionMatch.
* gal/e-text/e-completion-match.h:
* gal/e-text/e-completion-match.c: Added. A struct to contain
completion matches. This lets us more easily pass around
information between the various bits of completion machinery.
svn path=/trunk/; revision=10118
2001-05-31 jacob berkman <jacob@ximian.com>
* gal/e-text/e-entry.c (e_entry_init): set allow_newlines on the
etext item to false, since we are like an entry
svn path=/trunk/; revision=10061
2001-05-07 Federico Mena Quintero <federico@ximian.com>
* gal/e-text/e-text.c (e_text_reflow): Request an update if just
our line widths needed recalculation. This fixes the bug where
the text item would not repaint itself if the canvas lost the
focus.
svn path=/trunk/; revision=9705
2001-04-29 Christopher James Lahey <clahey@ximian.com>
* gal/e-text/e-text.c: Made fewer calls to functions like
split_into_lines to save time when possible.
svn path=/trunk/; revision=9629
2001-04-20 Jon Trowbridge <trow@ximian.com>
* gal/e-text/e-completion-test.c: Limit total matches, for better
performance on slow machines. It is supposed to be a test, so
correctness of the completion operations isn't really a
priority...
* gal/e-text/e-completion-view.c (e_completion_view_construct):
Set GTK_CAN_FOCUS flag.
* gal/e-text/e-entry.c (e_entry_show_popup): Evil! Evil! Unclean!
Unclean! Manually check if the pointer is in the area where the
popup is going to appear, and if it is, warp the pointer out of
the way. After days of fucking around, this horrible hack is the
only way that I've been able to figure out to keep the focus from
being taken away from the entry and ending up somewhere strange
when the popup pops up. (The main problem is with the case of
focus-follows-cursor --- click-to-focus works fine. Sawfish
idiocincracies may also be causing problems, but I don't want to
unjustly accuse the WM of anything, as tempting and appealing as
that can be.)
(key_press_cb): Proxy for forwarding the popup's key press events
to the entry.
(key_release_cb): Proxy for forwarding the popup's key release
events to the entry.
These proxies should be enough to take care of my focus problems.
Unfortunately, they aren't, and the pointer-warping-focus-horror
is required for reasons that I don't fully understand.
* gal/e-text/e-text.c (_get_xy_from_position): Made
_get_xy_from_position return a boolean. It returns TRUE if the
computation was successful
(and if valid data is now in *xp and *yp), FALSE otherwise. Make
sure that text->lines is not NULL, and return FALSE if it is.
(_get_position): Test that _get_xy_from_position returns TRUE
before using the values in x and y.
(_get_position): Test that _get_xy_from_position returns TRUE
before using the values in x and y.
Garbage values being returned in passed-in pointers created a race
condition where you could hang an EText if you deleted the entire
contents of the buffer really quickly.
svn path=/trunk/; revision=9468
2001-04-16 Christopher James Lahey <clahey@ximian.com>
* gal/e-text/e-text.c (tooltip_event): Propagate the event after
sending it to the base EText.
svn path=/trunk/; revision=9379
2001-04-15 Christopher James Lahey <clahey@ximian.com>
* gal/e-text/e-text.c: Made setting the rgba color work even if
you're using the non-aa canvas (except for the a.)
svn path=/trunk/; revision=9337
2001-04-15 Christopher James Lahey <clahey@ximian.com>
* gal/e-text/e-text.c (tooltip_event): Use e_canvas_hide_tooltip
and e_canvas_popup_tooltip. Set bold on the tooltip.
* gal/widgets/e-canvas.c, gal/widgets/e-canvas.h: Added
e_canvas_popup_tooltip and e_canvas_hide_tooltip.
svn path=/trunk/; revision=9323
* tests/test-tree-3.c (INITIAL_SPEC): add a missing \
* gal/e-text/e-text.c (_get_position_from_xy): Add a "break;" to
an otherwise-empty default case to make it ANSI.
svn path=/trunk/; revision=9201
(woohoo!):
2001-04-05 Gediminas Paulauskas <menesis@delfi.lt>
* gal/widgets/e-popup-menu.c: Copied gnome_app_helper_gettext function
here, and use it for translating menu names (they are passed from app as
well as from gal in arrays with N_(), and domains differ).
svn path=/trunk/; revision=9190
2001-04-04 Christopher James Lahey <clahey@ximian.com>
* gal/e-text/e-text-model-uri.c, gal/e-text/e-text.c,
gal/e-text/e-text.h, gal/e-text/e-text-event-processor.c,
gal/util/e-xml-utils.c, gal/widgets/e-cursors.c,
gal/widgets/e-cursors.h: Fixed headers. Moved the .h associated
with each .c to the top of the list of included files.
* gal/util/e-util.h: Removed the bonobo-xobject.h header here.
* gal/util/e-xml-utils.c: Replaced strcasecmp with g_strcasecmp.
* gal/widgets/e-canvas-vbox.c: Make this work even if the item is
destroyed after the vbox.
* gal/widgets/e-categories.c (do_parse_categories): Made this
translate using e_utf8_from_locale string as it should.
svn path=/trunk/; revision=9175
2001-03-18 Miguel de Icaza <miguel@ximian.com>
* tests/test-tree-1.c (create_tree): Set the size of the thing to
a decent value that lets us test stuff.
2001-03-16 Miguel de Icaza <miguel@ximian.com>
* gal/e-text/e-entry.h: Expose the canvas/item that used to be
public and that were privatized.
svn path=/trunk/; revision=8802
* gal/widgets/e-canvas.c (e_canvas_item_grab_focus): Make this
take an extra argument saying whether or not to grab the
widget-level focus.
* gal/e-text/e-text.c (e_text_event): Update arguments to
e_canvas_item_grab_focus.
svn path=/trunk/; revision=8745