2000-12-13 Christopher James Lahey <clahey@helixcode.com>
* e-table-item.c (eti_realize): Added eti_visibility_notify.
Didn't get it to work properly, so it's #if 0ed out.
svn path=/trunk/; revision=6991
2000-12-13 Christopher James Lahey <clahey@helixcode.com>
* gal/e-text/e-text.c (_do_tooltip): Changed the color from yellow
to light gray.
* gal/widgets/e-canvas-vbox.c (e_canvas_vbox_event): Made it so
that e-canvas-vbox doesn't eat all the keyboard events. This
means widget navigation keys work properly.
svn path=/trunk/; revision=6989
2000-12-13 Christopher James Lahey <clahey@helixcode.com>
* e-cell-text.c (ect_show_tooltip): Changed the background color
of the tooltips to light gray.
* e-table-item.c (eti_event): Changed the tooltip timeout to 100
milliseconds.
svn path=/trunk/; revision=6988
2000-12-13 Chris Toshok <toshok@helixcode.com>
* e-cell-tree.c (ect_show_tooltip): remove the silly logic - we
pop up a tooltip regardless of where the mouse cursor hovers.
just make sure it appears in the right place.
(ect_event): reverse the change we make to the event after passing
it to our subcell. this fixes the problem of the tree reacting
twice to events (once with flags == 0, and once with flags ==
E_CELL_EDITING).
* e-table-item.c (eti_event): destroy the tooltip window on a
motion event. this can (and does) happen when we get a tooltip on
a tree cell and the cursor isn't over the area where the tooltip
pops up.
svn path=/trunk/; revision=6979
2000-12-13 Christopher James Lahey <clahey@helixcode.com>
* e-table-header-utils.c, e-table-header-utils.h
(e_table_header_width_extras): New function to calculate the extra
pixels per column header.
* e-table-header.c, e-table-header.h: Added a "width_extras"
argument which is used to calculate the correct minimum widths for
each column header after adding padding.
* e-table-item.c (_do_tooltip): Destroy the old tooltip window
when creating the new one.
(eti_event): Destroy the old tooltip window if the person presses
a key. Don't handle the tab key.
* e-table.c (et_state_to_header): Set the ETableHeader's
width_extras argument.
svn path=/trunk/; revision=6978
2000-12-13 Chris Toshok <toshok@helixcode.com>
* e-cell-tree.c (ect_event): only return TRUE in the BUTTON_PRESS
case if the node was expandable.
svn path=/trunk/; revision=6977
2000-12-13 Chris Toshok <toshok@helixcode.com>
* e-table-sorter.c (qsort_callback_complex),
(ets_sort_build_subset), (ets_sort_subset),
(ets_sort_free_subset), (sort_groups_compare),
(ets_sort_by_group): cut&paste from e-table-sorted-variable.c and
massage names a bit to make sort group sorting work.
(ets_sort): if the ETableModel has sort groups, sort using the
sort group.
svn path=/trunk/; revision=6975
2000-12-11 Christopher James Lahey <clahey@helixcode.com>
* e-cell-text.c (ect_draw): Made selected rows ignore their color
specification.
svn path=/trunk/; revision=6935
2000-12-09 Christopher James Lahey <clahey@helixcode.com>
* e-cell-text.c (_blink_scroll_timeout): Split the lines in this
cell before testing whether we're to the right of the right edge
of the text data (since that test uses the split lines.)
svn path=/trunk/; revision=6892
2000-12-09 Christopher James Lahey <clahey@helixcode.com>
* e-cell-text.c (_blink_scroll_timeout): cell should be edit cast
to a CurrentCell, not data cast to a CurrentCell. Fixed this.
svn path=/trunk/; revision=6890
2000-12-09 Christopher James Lahey <clahey@helixcode.com>
* e-cell-text.c: Added the actions parameter to ect_event. Added
an actions field to CellEdit. Handle CellEdit properly in the
ect_event function to do grabbing and ungrabbing when
appropriate. Set the actions field in CellEdit when appropriate
in e_cell_text_view_command.
* e-cell-toggle.c, e-cell-tree.c, e-cell.c, e-cell.h: Added a
ECellActions enum, a ECellActions actions parameter to
e_cell_event and added the actions parameter to all the handlers
of the event method including having ECellTree pass it on to its
child cell.
* e-table-header-item.c: Use the NULL cursor instead of the
E_CURSORS_ARROW cursor.
* e-table-item.c, e-table-item.h: Added grabbed_row and
grabbed_col fields to ETableItem (-1 on either means ungrabbed.)
Pay attention to them in the find_cell function. Handle the
actions parameter of e_cell_event and grab or ungrab the pointer
to a given cell if requested. This is done using the new function
eti_e_cell_event (which is internal to e-table-item.c,) instead of
the old e_cell_event function call. Fake an ungrabbed table when
calling find_cell from within the compute_location method.
svn path=/trunk/; revision=6889
2000-12-08 JP Rosevear <jpr@helixcode.com>
* e-table-state.c (etst_destroy): If there are columns allocated,
free them upon a destroy.
2000-12-08 JP Rosevear <jpr@helixcode.com>
* gal/widgets/e-canvas.c (e_canvas_destroy): Remove my lame "fix"
svn path=/trunk/; revision=6884
2000-12-08 JP Rosevear <jpr@helixcode.com>
* e-calendar.c (e_calendar_destroy): Call the parent class destroyer
as well
svn path=/trunk/; revision=6881
2000-12-07 Chris Toshok <toshok@helixcode.com>
* e-table.c (e_table_set_state_object): set "sort_info" on our
sorter when we get a new sort_info to keep things in sync.
* e-table-sorter.c (ets_set_arg): new function, allowing the
setting of "sort_info".
(ets_get_arg): new function, allowing the getting of "sort_info".
(ets_class_init): fill in GtkObject::set_arg and get_arg.
(ets_sort): set ets->needs_sorting to 0 so we don't sort
unnecessarily.
(e_table_sorter_model_to_sorted): we may have ets->backsorted (and
should use it if we do) even if we didn't need to sort.
(e_table_sorter_sorted_to_model): same, except ets->sorted.
svn path=/trunk/; revision=6857
2000-12-07 Christopher James Lahey <clahey@helixcode.com>
* e-table-group-container.c, e-table-group-leaf.c,
e-table-group.c, e-table-group.h, e-table-item.c, e-table.c,
e-table.h: Add column and GdkEvent * parameters to the double
click signal.
* e-table-header-item: Unref the ETableFullHeader when we're done
with it.
* e-table-scrolled.c, e-table-scrolled.h: Remove all of the
proxies and add a function e_table_scrolled_get_table and a gtk
argument "table".
svn path=/trunk/; revision=6850
2000-12-07 JP Rosevear <jpr@helixcode.com>
* gal/widgets/e-canvas.c (e_canvas_destroy): Destroy the gdkIC
if we have one
svn path=/trunk/; revision=6847
2000-12-07 Federico Mena Quintero <federico@helixcode.com>
* e-table-state.c (e_table_state_save_to_string): Free the xmlDoc
when we are done with it.
(e_table_state_save_to_file): Ditto.
* e-table.c (e_table_get_state): Unref the state object; why was
it being sunk instead?
(e_table_save_state): Ditto.
(e_table_load_state): Ditto.
(e_table_set_state): Ditto.
* e-table-header-item.c (ethi_destroy): Free the ethi->dnd_code.
svn path=/trunk/; revision=6837
2000-12-06 Chris Toshok <toshok@helixcode.com>
* e-table-item.c (_do_tooltip): pass along the column's width to
e_cell_show_tooltip.
* e-cell-text.c (ect_show_tooltip): add col_width argument, and
set cell.width = col_width - 8 (to mimic what happens in
build_current_cell, but with a possibly altered width).
* e-cell.c (e_cell_show_tooltip): add col_width argument, and pass
along to virtual function.
(ec_show_tooltip): add col_width argument.
* e-cell.h: change prototype of e_cell_show_tooltip to include a
width parameter.
* e-cell-tree.c (ect_show_tooltip): send the width - the subcell's
offset to e_cell_show_tooltip.
svn path=/trunk/; revision=6831
2000-12-06 Christopher James Lahey <clahey@helixcode.com>
* e-cell-text.c, e-cell-toggle.c, e-cell-tree.c: Adapted these to
accept the new flags parameter to e_cell_event.
* e-cell.c, e-cell.h: Added a flags parameter to e_cell_event.
* e-table-item.c: Send all e_cell_event calls a E_CELL_EDITABLE
flag. Add a new e_cell_event to the button press event that
happens before selecting the appropriate row and which does not
have the E_CELL_EDITABLE flag set.
svn path=/trunk/; revision=6823
2000-12-06 Christopher James Lahey <clahey@helixcode.com>
* menus/gal-view-menus.c, menus/gal-view-menus.h: Added a
GalViewCollection argument to the new function here.
From meeting-time-sel/ChangeLog:
2000-12-06 Christopher James Lahey <clahey@helixcode.com>
* e-meeting-time-sel.c: Fixed a bunch of warnings.
svn path=/trunk/; revision=6816
2000-12-06 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Added gal-view-collection.c, gal-view-etable.c,
gal-view-factory-etable.c, gal-view-factory.c,
gal-view-collection.h, gal-view-etable.h,
gal-view-factory-etable.h, and gal-view-factory.h.
* gal-define-views-dialog.c, gal-define-views-dialog.h: Rewrote
this to take a GalViewCollection. This now passes its collection
to the new view dialog but still doesn't get its list of views
from the collection.
* gal-define-views-model.c: Changed this to use the gal_view_get_title
function instead of the "title" gtk argument.
* gal-define-views.glade, gal-define-views.glade.h: Changed this
dialog to be a bit cleaner.
* gal-view-collection.c, gal-view-collection.h: A collection of
views and view factories.
* gal-view-etable.c, gal-view-etable.h: An implementation of the
view class. This stores an ETableSpecification and the current
ETableState.
* gal-view-factory-etable.c, gal-view-factory-etable.h: An
implementation of the view factory class. This stores an
ETableSpecification and creates GalViewEtables when requested.
* gal-view-factory.c, gal-view-factory.h: A new virtual class.
Its primary job is to return new GalViews.
* gal-view-new-dialog.c, gal-view-new-dialog.h: Added a collection
argument to the new function here so that it can get a list of
factories to choose from.
* gal-view-new-dialog.glade, gal-view-new-dialog.glade.h: Added a
CList for the list of factories to choose from.
* gal-view.c, gal-view.h: Changed this to be a virtual class.
svn path=/trunk/; revision=6811
* e-table.c (e_table_set_state_object): disconnect the
"group_info_changed" signal on the old sort_info and connect it to
the new one. (Noticed because of a gtk warning in et_destroy, but
probably fixes some actual bug(s) too.)
svn path=/trunk/; revision=6809
* menus/gal-view-menus.c: NULL-terminate gal_view_menus_apply's
BonoboUIVerb array to prevent a crash. (Why are there gal* things
in the evolution sources?)
svn path=/trunk/; revision=6777
2000-12-04 Chris Toshok <toshok@helixcode.com>
* e-table-selection-model.c (e_table_selection_model_select_all):
need to zero out the bits corresponding to the rows not selected
in the last full 32 bit mask. This fixes a crash in the subscribe
UI (or potentially anywhere that uses
selection_model_select_all/selection_model_foreach.)
svn path=/trunk/; revision=6770
2000-12-01 Federico Mena Quintero <federico@helixcode.com>
Federico gets into pixel-perfect neurosis. Xmag is my best friend.
* e-table-item.c (eti_draw): Set the focus_gc stipple origin to
match the upper-left corner of the focus rectangle. This way
focusing will look consistent even among rows/columns with odd
pixel sizes. Also, make the focus rectangle span the whole cell;
there was one blank pixel column to the left of the rectangle.
* e-table-header-utils.c: New file with utilities for drawing
header buttons. This is so that ETableHeaderItem and
ETableFieldChooserItem can share the same code.
(e_table_header_compute_height): New function to compute the
height of a column button.
(make_composite_pixmap): New function to composite a pixbuf
against a solid background and make a pixmap out of the result.
This does some ultra-fancy fading-out of the original pixbuf if
the destination area is smaller than the source.
(compute_elision_length): New function to compute the elision
length in O(n log n) instead of O(n^2), for n = strlen (str).
(e_table_header_draw_button): New function to draw a header
button.
(e_table_draw_elided_string): New function to draw a string elided
to a maximum width.
* e-table-defines.h (HEADER_PADDING): Made the default padding be
1; now a header button's height is
content_height + 2 * (HEADER_PADDING + style->ythickness). This
is the correct way to measure button heights.
* e-table-field-chooser-item.c (etfci_find_button): Use
e_table_header_compute_height().
(etfci_reflow): Likewise.
(etfci_draw): Use e_table_header_draw_button().
(etfci_start_drag): Likewise.
(etfci_draw): Likewise.
(etfci_start_drag): Likewise.
(etfci_button_height): Removed function.
(draw_button): Removed function.
* e-table-header-item.c (draw_button): Removed function.
(e_table_header_item_get_height): Use e_table_header_compute_height().
(ethi_draw): e_table_header_draw_button().
(ethi_start_drag): Likewise.
(make_shaped_window_from_xpm): Fixed misspelling in function name.
(draw_button): Removed function.
* Makefile.am: Added e-table-header-utils.[ch].
svn path=/trunk/; revision=6766
strings functions, but that will go away eventually.
* configure.in: Add a check for libiconv, which is required if
your system doesn't have iconv in libc, or has glibc 2.1.2. Bump
the gal version number to 0.2.99.3
* tests/Makefile.am (LDADD): add ICONV_LIBS
* gal/widgets/Makefile.am (libwidgets_la_LDFLAGS): Add ICONV_LIBS
* gal/widgets/e-unicode.c: Use iconv rather than libunicode for
iconv()ing.
(e_unicode_init): No longer needed
* gal/widgets/e-font.c: Use iconv rather than libunicode for
iconv()ing.
(e_iconv_{from,to}_gdk_font): renamed from e_uiconv...
* gal/widgets/test-e-font.c: No longer need to e_unicode_init().
svn path=/trunk/; revision=6719
2000-10-26 Damon Chaplin <damon@helixcode.com>
* e-dateedit.[hc]: updated to emit "changed" when appropriate, which
turned out to be amazingly difficult :(
Also added e_date_edit_get/set_date() to get/set just the date.
Added e_date_edit_date_is_valid() & e_date_edit_time_is_valid() so
you can check if the user has tried to enter an invalid date.
(All the get_date/time functions return the last valid date entered.)
* test-dateedit.c: updated a bit.
svn path=/trunk/; revision=6672
2000-11-25 Christopher James Lahey <clahey@helixcode.com>
* e-table-col.c: Removed e_table_col_get_arrow and
e_table_col_set_arrow.
svn path=/trunk/; revision=6669
2000-11-22 Christopher James Lahey <clahey@helixcode.com>
* gal-define-views-dialog.c: Fixed some typos to get the table to
display properly.
* gal-view-new-dialog.c: Fixed the string for loading the glade
file for this dialog.
svn path=/trunk/; revision=6649
2000-11-18 Miguel de Icaza <miguel@helixcode.com>
* Added widgets/menus that contains the gal-view-menus.c code from
Gal that depended on Bonobo.
* configure.in: Update list of Makefiles;
* widgets/Makefile.am: Update.
svn path=/trunk/; revision=6608
2000-11-18 Miguel de Icaza <miguel@helixcode.com>
* configure.in (gnomelocaledir): Removed test for Bonobo here.
* gal/menus/gal-view-menus.c: Removed this file, and moved into
Evolution.
svn path=/trunk/; revision=6607
2000-11-11 Christopher James Lahey <clahey@helixcode.com>
* gal/Makefile.am: Added a bunch of .lo s from the menus
directory.
From gal/menus:
2000-11-11 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Added gal-define-views-model.c,
gal-define-views-model.h, gal-view-new-dialog.c,
gal-view-new-dialog.h, gal-view-new-dialog.glade,
gal-view-new-dialog.glade.h, gal-view.c, and gal-view.h.
* gal-define-views-dialog.c, gal-define-views-dialog.h: Connect up
the New button. Use an ETable.
* gal-define-views.glade, gal-define-views.glade.h: Put in custom
object for the ETable
* gal-define-views-model.c, gal-define-views-model.h: New model
for list of views.
* gal-view-menus.c: Close the define views dialog when it's done.
* gal-view-new-dialog.c, gal-view-new-dialog.glade,
gal-view-new-dialog.glade.h, gal-view-new-dialog.h: New class for
creating a new view.
* gal-view.c, gal-view.h: New class for representing a single view
in the define views model.
svn path=/trunk/; revision=6544
2000-11-10 Christopher James Lahey <clahey@helixcode.com>
* e-search-bar.c: Made the underline show up properly in the main
menu bar.
svn path=/trunk/; revision=6532
2000-11-10 Christopher James Lahey <clahey@helixcode.com>
* e-search-bar.c: Switched from using gtk_menu_item_new_with_label
for the menu header to using gnome_stock_menu_item.
svn path=/trunk/; revision=6530
2000-11-09 Christopher James Lahey <clahey@helixcode.com>
* configure.in: Changed the gal version number and the gal so
number. Added check for bonobo.
* gal/Makefile.am: Added gal-view-menus.lo.
* gal/widgets/e-unicode.c: Removed some unused variables.
From gal/menus/ChangeLog:
2000-11-09 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Added gal-view-menus.c and gal-view-menus.h.
* gal-view-menus.c, gal-view-menus.h: New files to create the view
menus.
svn path=/trunk/; revision=6528