* message-list.c (on_row_selection): use the ETable row_selection
signal to track how many rows are selected. Eventually we will use
this info to disable toolbar buttons when you have too few/too
many messages selected, but the current toolbar widget doesn't
allow that.
* message-list.h, message-list.c, mail-ops.c: Change selected_row
and selected_uid fields of MessageList to cursor_row and
cursor_uid to be more correct according to the new ETable
interfaces.
svn path=/trunk/; revision=3829
2000-06-29 Christopher James Lahey <clahey@helixcode.com>
* message-list.c, mail-ops.c: Changed the name of
e_table_select_row to e_table_set_cursor_row.
From widgets/e-table:
2000-06-29 Christopher James Lahey <clahey@helixcode.com>
* e-table-click-to-add.c: Made this appear a bit better.
* e-table-defines.h: Cleaned this up a bit, added
ETableForeachFunc.
* e-table-group-container.c, e-table-group-leaf.c,
e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h,
e-table.c, e-table.h: Changed e_table_select_row to
e_table_set_cursor_row. Changed e_table_get_selected_view_row to
e_table_get_cursor_row. Added e_table_selected_row_foreach.
* e-table-header-item.c: Fixed some warnings.
* e-table-sorted-variable.c: Removed some unneeded debugging print
statments.
* e-tree-example-1.c: Changed e_table_get_selected_view_row to
e_table_get_cursor_row.
svn path=/trunk/; revision=3799
2000-06-27 Christopher James Lahey <clahey@helixcode.com>
* message-list.c: Made dates display grouping information
properly.
svn path=/trunk/; revision=3765
2000-06-27 Christopher James Lahey <clahey@helixcode.com>
* message-list.c: Work around mismatched ctime_r functions. This
will be fixed.
svn path=/trunk/; revision=3753
2000-06-26 Christopher James Lahey <clahey@helixcode.com>
* widgets/e-text/e-text.c: Calculate height including if
clip_height is set to -1.
From addressbook/ChangeLog:
2000-06-26 Christopher James Lahey <clahey@helixcode.com>
* contact-editor/e-contact-editor-categories.c,
addressbook/gui/component/e-cardlist-model.c: Added
value_to_string handlers.
* demo/addressbook-widget.c, demo/demo.c: Removed usage of "x" and
"y" arguments.
* addressbook/gui/component/addressbook.c: Activated Click To Add
and set the click to add message.
* addressbook/gui/component/e-addressbook-model.c: Added
value_to_string and append_row handlers.
* addressbook/gui/component/e-select-names.c: Added a column.
From calendar/ChangeLog:
2000-06-26 Christopher James Lahey <clahey@helixcode.com>
* gui/calendar-model.c: Added an #ifdefed value_to_string handler
assignment.
From camel/ChangeLog:
2000-06-26 Christopher James Lahey <clahey@helixcode.com>
* providers/mbox/camel-mbox-summary.c: Added debugging
information.
From composer/ChangeLog:
2000-06-26 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Added e-msg-composer-select-file.h for make
distcheck.
From e-util/ChangeLog:
2000-06-26 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Added e-canvas-vbox.c and e-canvas-vbox.h.
* e-canvas-vbox.c, e-canvas-vbox.h: New canvas object to act like
a vbox using the reflow system.
From mail/ChangeLog:
2000-06-26 Christopher James Lahey <clahey@helixcode.com>
* message-list.c: Added a value_to_string handler.
From shell/ChangeLog:
2000-06-26 Christopher James Lahey <clahey@helixcode.com>
* glade/Makefile.am: Added EXTRA_DIST for make distcheck.
From widgets/e-table/ChangeLog:
2000-06-26 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Added e-table-click-to-add.c,
e-table-click-to-add.h, e-table-one.c, and e-table-one.h.
* e-table-click-to-add.c, e-table-click-to-add.h: A new canvas
item that represents a single row that sometimes exists. It's for
adding new rows to your table.
* e-table-example-1.c, e-table-example-2.c, e-table-size-test.c,
test-check.c, test-cols.c, test-table.c: Added value_to_string handlers.
* e-table-group-container.c: Use value_to_string to make grouping
not crash for non string columns. Made some changes to work
properly in an ECanvasVbox.
* e-table-group-leaf.c, e-table-item.c: Made some changes to work
properly in an ECanvasVbox.
* e-table-model.c, e-table-model.h: Added append_row and
value_to_string methods.
* e-table-one.c, e-table-one.h: Given a source ETableModel, this
provides a single row model that uses the initialize_value,
duplicate_value, free_value, and value_is_empty methods of the
original source to implement set_value and value_at (and proxies
most of the other methods.) This is used for ETableClickToAdd.
* e-table-simple.c, e-table-simple.h: Added append_row and
value_to_string handlers. append_row uses a GtkArg instead of a
parameter to e_table_simple_new.
* e-table-subset.c: Added append_row and value_to_string handlers.
* e-table.c, e-table.h: Use a vbox containing an ETableClickToAdd
and an ETableItem instead of an ETableItem directly. Only show
the ETableClickToAdd if the top level of the xml SPEC has the
attribute click-to-add set to some non-zero integer.
(click-to-add="1"). Add a "click_to_add_message" argument.
* e-tree-model.c: Add a commented out value_to_string handler.
From widgets/meeting-time-sel/ChangeLog:
2000-06-26 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Added the include path to top_srcdir.
svn path=/trunk/; revision=3744
2000-06-22 Christopher James Lahey <clahey@helixcode.com>
* message-list.c: Changed ml_value_at to return "" instead of NULL
in some cases.
svn path=/trunk/; revision=3697
* message-list.c (mark_msg_seen): Quick hack to prevent a NULL
pointer dereference. Things need to be cleaned up a bit more here
though.
svn path=/trunk/; revision=3653
* message-list.c (ml_set_value_at): Implement clicking on the
envelope icon to set read/unread. Based on a patch by clahey.
(select_msg): keep the timeout id for the "seen" flagging in the
message_list structure, so ml_set_value_at can clear it so it
doesn't re-mark a message seen after you click it unseen.
svn path=/trunk/; revision=3601
* message-list.c (get_message_row): new function to do a uid to
row mapping.
(mark_msg_seen, select_msg, message_changed,
message_list_set_folder): Update for Camel flag changes.
(on_cursor_change_cmd): Rename "row_to_select" to "selected_row",
and keep a "selected_uid" as well.
* mail-ops.c (composer_send_cb): Update for Camel flag changes,
and fix some memory-handling bugs. (Free the post_send_data when
the composer is destroyed, not when the user clicks "send", which
could happen never, or more than once.)
(delete_msg): Update for Camel flag changes, and fix the "holding
down the delete key skips some messages" bug.
svn path=/trunk/; revision=3600
* message-list.c (select_row): install an idle function to
select the row rather than doing it directly. Ugh. What a
kludge, but at least it works now.
svn path=/trunk/; revision=3498
* mail-ops.c (fetch_mail):
* folder-browser.c (folder_browser_load_folder): Update for folder
creation/existence changes.
* message-list.c (message_list_set_folder): Remove the code to
create the folder if it doesn't exist, since we don't want to do
that.
svn path=/trunk/; revision=3455
2000-06-02 Christopher James Lahey <clahey@helixcode.com>
* message-list.c: Use camel_folder_free_summary instead of
g_ptr_array_free. Unref the folder when we're done with it.
svn path=/trunk/; revision=3389
* message-list.c: Add a date column.
(COL_SENT_WIDTH_MIN): Make this wider.
(ml_value_at): return the sent date (as a time_t) for COL_SENT.
(Fix COL_TO too while I'm here.)
(ml_duplicate_value, ml_free_value, ml_initialize_value,
ml_value_is_empty): COL_SENT is numeric now.
(message_list_init_renderers): Create a date renderer (using
text_filter to translate the time_t into a string).
(message_list_init_header): Use render_date for COL_SENT.
svn path=/trunk/; revision=3365
2000-06-01 Christopher James Lahey <clahey@helixcode.com>
* message-list.c (message_list_init): Turn off the grid in our
ETable.
svn path=/trunk/; revision=3349
* mail-format.c (free_url, handle_text_enriched,
get_url_for_icon): Fix up memory management of x-evolution-data
URLs so the URLs and/or their data don't get freed while there are
still references to them.
* message-list.c (message_list_init_header): redo the (unused)
online status column to no longer refer to pixmaps that no longer
exist.
svn path=/trunk/; revision=3320
* message-list.c: use the "new" tigert pixmaps rather than the
older ones. Includes a "replied to" icon (which is used now), but
no "deleted" icon (although we have the strikeout renderer for
that now).
svn path=/trunk/; revision=3295
* message-list.c (message_changed): call
e_table_model_row_changed, not e_table_model_changed so we do less
work, and don't lose the current selection.
(select_msg): Set up a timer to mark the displayed message as
"seen" if it's selected for longer than 1.5 seconds (a number
pulled out of Matt's butt).
(ml_value_at): Use the MESSAGE_STATUS column for read/unread as
well as deleted.
svn path=/trunk/; revision=3293
2000-05-30 Christopher James Lahey <clahey@helixcode.com>
* message-list.c: Switched to using "cursor_change" signal instead
of "row_selection" for switching messages. Select the first row
(still doesn't work because of ETable.) Adapt to some small
ETable changes. Set drawfocus to FALSE.
svn path=/trunk/; revision=3278
2000-05-28 Christopher James Lahey <clahey@helixcode.com>
* message-list.c, message-list.h: Added a COL_DELETED and made it
the strikeout column for both text renderers.
svn path=/trunk/; revision=3237
* mail-ops.c (composer_send_cb, reply): set CAMEL_MESSAGE_ANSWERED
on a message after a successful reply.
* message-list.c (folder_changed): free the summary with
camel_folder_free_summary rather than g_ptr_array_free.
svn path=/trunk/; revision=3221
2000-05-19 Christopher James Lahey <clahey@helixcode.com>
* message-list.c: Added initialize_value and value_is_empty
callbacks.
svn path=/trunk/; revision=3140
2000-05-14 Christopher James Lahey <clahey@helixcode.com>
* Implemented the feature where the ETable columns automatically
fill the given space.
* e-cell-text.c, e-cell-text.h: Moved #include
e-text-event-processor.h from the .h to the .c.
* e-table-col.c, e-table-col.h: Added an expansion variable, and
made it so that width isn't set by the programmer but instead by
the e-table-header.
* e-table-example-1.c, e-table-example-2.c, e-table-size-test.c,
test-check.c, test-cols.c, test-table.c: Fixed to handle new
ETable column resizing.
* e-table-group-container.c, e-table-group-container.h,
e-table-group-leaf.c, e-table-group-leaf.h, e-table-group.c,
e-table-group.h, e-table-item.c, e-table-item.h: Fixed these to do
a proper canvas reflow/update loop. Changed them to take a
minimum width and return a width and a height.
* e-table-header-item.c, e-table-header-item.h: Made this so that
it depends on e-table-header.c for deciding the actual size of
columns during resize (it was making incorrect decisions on its
own.)
* e-table-header.c, e-table-header.h: Changed this to make sure
that the sum of the widths of the columns was always as close as
possible to the width of the window. This is done by taking a
full width and having each of the columns have an "expansion"
field. This field is what makes each column have approximately
the same portion of its part of the screen that it used to.
* e-table.c: Changed this to set the width on the ETableHeader as
well as set the proper minimum width on the ETableGroup and get
the width and height it reports.
From addressbook/ChangeLog
2000-05-14 Christopher James Lahey <clahey@helixcode.com>
* backend/ebook/Makefile.am: Added libeutil for e-card's support
for categories.
* backend/ebook/e-card-list.c, backend/ebook/e-card-list.h: Added
a function to get the length.
* backend/ebook/e-card.c, backend/ebook/e-card.h: Added categories
support (accessible either as "categories" or "category_list".)
* contact-editor/Makefile.am: Added e-table and all of the
categories files.
* contact-editor/categories.glade,
contact-editor/categories-strings.h,
contact-editor/e-contact-editor-categories.c,
contact-editor/e-contact-editor-categories.h:
* contact-editor/contact-editor.glade,
contact-editor/e-contact-editor-strings.h: Rearranged this dialog.
* contact-editor/e-contact-editor.c: Rearranged dialog a bit.
Added opening of categories dialog.
* gui/component/Makefile.am: Rearranged libraries so that
libetable would be available for the contact editor categories
dialog.
* gui/component/addressbook.c: Fix for new ETable resizing. Make
contact editor dialog resizable.
* gui/minicard/Makefile.am: Added libetable contact editor
categories dialog.
* gui/minicard/e-minicard.c: Make contact editor dialog resizable.
From mail/ChangeLog
2000-05-14 Christopher James Lahey <clahey@helixcode.com>
* message-list.c: Updated to work with new ETable resizing.
svn path=/trunk/; revision=3027
2000-05-07 NotZed <NotZed@HelixCode.com>
* message-list.c (ml_value_at): Size moved to message info, rather
than content info structure.
svn path=/trunk/; revision=2905
2000-05-04 NotZed <NotZed@HelixCode.com>
* message-list.c (message_list_set_folder): Get the whole message
summary right away.
(folder_changed): And if we change too.
(ml_row_count): Use the match count or summary table length as the
row count.
(get_message_info): Use array references to lookup message summary
info. For the search result list, use the summary_search_cache to
cache the info lookup.
(message_list_init): Allocate the summary search cache.
(message_list_destroy): Free the summary search cache and the
summary table, if there is one to free.
(message_list_set_search): Save the match count, and clear the
summary search cache for reuse.
(folder_changed): Re-retrieve the summary list if the folder has
changed.
(message_list_set_folder): Retrieve the summary list when opening
the folder.
svn path=/trunk/; revision=2807
2000-05-02 Larry Ewing <lewing@helixcode.com>
* message-list.c (message_list_set_search): only free search if it
is not NULL.
svn path=/trunk/; revision=2754
>
> * folder-browser.c (folder_browser_gui_init): Connect the changed
> signal to search, so it searched immediately?
>
40a46,48
> (message_list_set_search): Save the search string.
> (folder_changed): If the folder changes, re-run the search,
> otherwise we may end up with invalid entries in the display.
svn path=/trunk/; revision=2749
deleted (takes a while to update the gui for some reason).
Updates the gui when expunged, via a signal.
* pixmaps.h: Added envelope-deleted state.
(message_list_init_renderers): Added a 3rd state to message_status
= deleted.
(ml_value_at): Show the message state as deleted, if it is marked
for deletion.
(folder_changed): When the folder changes, update the display.
(message_list_set_folder): Connect to the folder_changed event
here.
(message_changed): Callback to update the display when the message
changes.
(select_msg): And connect to the message_changed signal so we know
when it cahgnes.
svn path=/trunk/; revision=2746
> (create_option_menu): Build the option menu from a table.
> (search_set): Build a search from another string whent he option
> menu or text item is changed. 5 search options are defined so
> far.
svn path=/trunk/; revision=2742
2000-05-01 NotZed <NotZed@HelixCode.com>
* folder-browser.c (folder_browser_gui_init): A hackish little
quick-search entry.
(search_activate): Perform a quick-search on the folder subject
only.
* message-list.c (get_message_info): If there is an active search,
then get the data from that ... use this instead of
_get_message_info().
(ml_row_count): If we have an active search, get the info from its
result.
(select_msg): Changed to use get_message_info, so searches work.
(ml_value_at): And same here.
* mail-display.c: Include missing errno.h.
svn path=/trunk/; revision=2724
2000-04-20 NotZed <NotZed@HelixCode.com>
* Makefile.am (evolution_mail_LDADD): Add libibex.la to link.
* message-list.h: Removed folder summary.
* message-list.c: Dont include folder-summary anymore.
(select_msg): Changed to use folder, not summary in
summary_get_message_info(). God this code is grotty.
(ml_value_at): Ditto.
(ml_value_at): Changed to use new interface. Hmm, this returns a
static variable, that seems wrong.
(message_list_set_folder): Remove folder summary.
svn path=/trunk/; revision=2530
* message-list.c (on_row_selection_idle): new function, actually
calls select_msg.
(on_row_selection_cmd): register an idle instead of calling
select_msg directly. this fixes the lag before the row is
selected - selection is instantaneous now, with message loading
happening afterward.
* message-list.h: add row_to_select and an idle_id to the message
list to make the select_msg call happen in an idle func.
svn path=/trunk/; revision=2470