aboutsummaryrefslogtreecommitdiffstats
path: root/e-util
Commit message (Collapse)AuthorAgeFilesLines
* e_tree_new: Remove unused "state_str" parameter.Matthew Barnes2013-07-022-23/+7
|
* e_table_new_from_spec_file: Remove unused "state_fn" parameter.Matthew Barnes2013-07-022-31/+6
|
* e_table_new: Remove unused "state_str" parameter.Matthew Barnes2013-07-023-26/+8
|
* Remove e_table_column_specification_load_from_node().Matthew Barnes2013-07-022-35/+0
| | | | No longer used.
* Remove e_table_specification_load_from_node().Matthew Barnes2013-07-022-96/+0
| | | | No longer used.
* Reimplement e_table_specification_load_from_file().Matthew Barnes2013-07-021-7/+8
| | | | Use g_file_get_contents() and e_table_specification_load_from_string().
* Reimplement e_table_specification_load_from_string().Matthew Barnes2013-07-022-18/+392
| | | | New parser implementation that uses GMarkupParser instead of libxml2.
* Add e_table_state_parse_context_push/pop().Matthew Barnes2013-07-022-0/+234
| | | | New parser implementation that uses GMarkupParser instead of libxml2.
* Add e_table_sort_info_parse_context_push/pop().Matthew Barnes2013-07-022-0/+216
| | | | New parser implementation that uses GMarkupParser instead of libxml2.
* ETableSortInfo: Rework API to avoid exposing ETableSortColumn.Matthew Barnes2013-07-028-386/+536
| | | | | | | | Replace ETableSortColumn with separate ETableColumnSpecification and GtkSortType parameters in the "get_nth" and "set_nth" functions. Makes some other parts of the code simpler since it no longer has to translate a column number to a column specification.
* Add e_table_sort_info_sorting_remove().Matthew Barnes2013-07-023-10/+24
|
* ETableSortInfo: Move arrays to private section.Matthew Barnes2013-07-022-72/+65
| | | | And convert them to GArrays internally.
* ETableSortInfo: Use *unsigned* ints for index/length params.Matthew Barnes2013-07-022-20/+20
| | | | So we don't have to worry about negative values.
* ETableSortInfo: Move "sort_count" to private section.Matthew Barnes2013-07-022-13/+14
| | | | Use e_table_sort_info_sorting_get_count() to obtain the value.
* ETableSortInfo: Move "group_count" to private section.Matthew Barnes2013-07-022-10/+11
| | | | Use e_table_sort_info_grouping_get_count() to obtain the value.
* ETableSortInfo: Move "can_group" to private section.Matthew Barnes2013-07-022-10/+17
| | | | Use e_table_sort_info_get_can_group() to obtain the value.
* ETableSortInfo: Remove some unused public members.Matthew Barnes2013-07-021-3/+0
|
* ETableSortInfo: Add a "specification" construct-only property.Matthew Barnes2013-07-023-9/+125
| | | | | | | | | | ETableSortInfo now keeps a weak reference on the ETableSpecification to which it's associated. The plan is to replace the column index numbers with a direct reference to an ETableColumnSpecification from the spec. New functions: e_table_sort_info_ref_specification()
* ETableSortInfo: Add a private section.Matthew Barnes2013-07-022-0/+14
|
* ETableSortInfo cleanups.Matthew Barnes2013-07-022-199/+201
|
* ETableState: Convert the column index array to a column spec array.Matthew Barnes2013-07-026-116/+170
|
* Add e_table_header_get_column_by_spec().Matthew Barnes2013-07-022-0/+35
| | | | Will eventually replace e_table_header_get_column_by_col_idx().
* ETableCol: Embed an ETableColumnSpecification.Matthew Barnes2013-07-0215-238/+139
| | | | Eliminates a few redundant fields.
* Add e_table_specification_get_column_index().Matthew Barnes2013-07-022-0/+44
| | | | | Lookups up the column index of an ETableColumnSpecification, returns a negative value if no match found.
* Add e_table_column_specification_equal().Matthew Barnes2013-07-022-0/+31
| | | | | Compares two ETableColumnSpecification instances for equality, which just means they both refer to the same model column number.
* ETableColumnSpecification: Make "sortable" a boolean.Matthew Barnes2013-07-023-10/+5
|
* ETableSpecification: Make the columns array private.Matthew Barnes2013-07-025-80/+133
| | | | Use e_table_specification_ref_columns() to access column specs.
* ETableSpecification: Add a private section.Matthew Barnes2013-07-022-0/+15
|
* Add e_table_specification_ref_columns().Matthew Barnes2013-07-022-1/+30
|
* ETableState: Add a "specification" construct-only property.Matthew Barnes2013-07-026-49/+143
| | | | | | | | | | ETableState now keeps a weak reference on the ETableSpecification to which it's associated. The plan is to replace the column index numbers with a direct reference to an ETableColumnSpecification from the spec. New functions: e_table_state_ref_specification()
* ETableState: Add a private section.Matthew Barnes2013-07-022-2/+28
|
* e-table-sorting-utils.c cleanups.Matthew Barnes2013-07-022-54/+101
|
* ETableGroupContainer cleanups.Matthew Barnes2013-07-021-13/+22
|
* Remove unused e_table_sort_info_freeze/thaw().Matthew Barnes2013-06-262-60/+2
|
* Remove unused e_table_column_specification_save_to_node().Matthew Barnes2013-06-262-33/+0
|
* Remove unused e_table_specification_save_to_node().Matthew Barnes2013-06-262-67/+0
|
* Remove unused e_table_specification_save_to_string().Matthew Barnes2013-06-262-33/+0
|
* Remove unused e_table_specification_duplicate().Matthew Barnes2013-06-262-29/+0
|
* Remove unused e_table_specification_save_to_file().Matthew Barnes2013-06-262-35/+0
|
* ETableState cleanups.Matthew Barnes2013-06-262-53/+40
|
* ETableSpecification cleanups.Matthew Barnes2013-06-262-112/+107
|
* Add ETreeViewFrame.Matthew Barnes2013-06-265-0/+1685
| | | | | | | | | | | | ETreeViewFrame embeds a GtkTreeView in a scrolled window and adds an inline-style toolbar beneath the scrolled window which can be hidden. The inline-style toolbar supports "add" and "remove" actions, as well as move actions if the tree view is reorderable and selection actions if the tree view supports multiple selections. The action set can be extended through e_tree_view_frame_insert_toolbar_action(). This also adds a small demo program: test-tree-view-frame
* Notify user about question dialogsMilan Crha2013-06-241-0/+26
| | | | | | | | | Set an urgency hint on dialog's parent, or dialog itself, when it has no parent, to get user's attention to the dialog. For example, when there is a changed mail composer window on a different workspace than evolution's main window and user invokes quit by File->Quit in evolution, then the window is waiting for a response on the composer, but there was no hint it's waiting for anything.
* EUrlEntry: Try harder to recognize a valid URL.Matthew Barnes2013-06-241-2/+18
| | | | | | | Skip leading whitespace and hand the rest to g_uri_parse_scheme(). If that can identify a scheme then make the open button sensitive. (Have to be careful to skip leading whitespace when opening, too.)
* EUrlEntry: Replace button with clickable inline icon.Matthew Barnes2013-06-242-64/+31
| | | | | | | | Replace the big, bulky "open URL" button with a clickable icon directly in the text entry field. This saves precious vertical space, especially in the contact editor. Also remove e_url_entry_get_entry() since EUrlEntry now IS a GtkEntry.
* EUrlEntry cleanups.Matthew Barnes2013-06-242-90/+76
|
* Calendar views inline text edit with Ctrl+C/V/X does not workMilan Crha2013-06-2114-4/+302
| | | | | | | | The shortcuts Ctrl+C/V/X are used for whole calendar items copy/paste/cut, not for text when editing event details inline, either in a day/week view or in a list view. By tracking the is-editing property of respective cell editor and using it when enabling/disabling clipboard actions makes the respective text operations work as expected.
* ESelectionModel: Don't assume an ESorter is present.Matthew Barnes2013-06-211-4/+9
| | | | ETree does not provide one anymore.
* ETableSorter: Further cleanups.Matthew Barnes2013-06-212-359/+347
|
* ESorterArray: Further cleanups.Matthew Barnes2013-06-212-163/+145
|
* Convert ESorter to an interface.Matthew Barnes2013-06-216-290/+230
|
* Update ETree API documentation.Matthew Barnes2013-06-211-9/+9
|
* Remove e_tree_view_to_model_row().Matthew Barnes2013-06-212-13/+0
| | | | Now that ETree no longer has an ESorter, this function is silly.
* Remove e_sorter_new().Matthew Barnes2013-06-213-20/+1
| | | | | | ESorter itself does nothing useful, so there's no reason to create one. ESorter should really be an interface.
* ESorter cleanups.Matthew Barnes2013-06-212-79/+72
|
* Remove unused e_tree_find_next().Matthew Barnes2013-06-212-89/+0
|
* Remove unused e_tree_get_tooltip().Matthew Barnes2013-06-212-10/+0
|
* Remove unused e_tree_model_to_view_row().Matthew Barnes2013-06-212-14/+0
|
* Remove unused e_tree_get_prev_row().Matthew Barnes2013-06-212-20/+0
|
* Remove unused e_tree_get_next_row().Matthew Barnes2013-06-212-29/+0
|
* Remove unused e_tree_get_printable().Matthew Barnes2013-06-212-9/+0
|
* Remove unused e_tree_load_state().Matthew Barnes2013-06-212-28/+0
|
* Remove unused e_tree_set_search_column().Matthew Barnes2013-06-212-25/+0
|
* Remove unused e_tree_save_state().Matthew Barnes2013-06-212-21/+0
|
* Remove e_tree_row_count().Matthew Barnes2013-06-212-9/+0
| | | | | | | Reducing API bloat. Do this instead: adapter = e_tree_get_table_adapter (tree); row_count = e_table_model_row_count (E_TABLE_MODEL (adapter));
* Remove e_tree_force_expanded_state().Matthew Barnes2013-06-212-14/+0
| | | | | | | Reducing API bloat. Do this instead: adapter = e_tree_get_table_adapter (tree); e_tree_table_adapter_force_expanded_state (adapter, state);
* Remove e_tree_load_expanded_state_xml().Matthew Barnes2013-06-212-14/+0
| | | | | | | Reducing API bloat. Do this instead: adapter = e_tree_get_table_adapter (tree); e_tree_table_adapter_load_expanded_state_xml (adapter, xml);
* Remove e_tree_save_expanded_state_xml().Matthew Barnes2013-06-212-9/+0
| | | | | | | Reducing API bloat. Do this instead: adapter = e_tree_get_table_adapter (tree); xml = e_tree_table_adapter_save_expanded_state_xml (adapter);
* Remove e_tree_load_expanded_state().Matthew Barnes2013-06-212-12/+0
| | | | | | | Reducing API bloat. Do this instead: adapter = e_tree_get_table_adapter (tree); e_tree_table_adapter_load_expanded_state (adapter, filename);
* Remove e_tree_save_expanded_state().Matthew Barnes2013-06-212-11/+0
| | | | | | | Reducing API bloat. Do this instead: adapter = e_tree_get_table_adapter (tree); e_tree_table_adapter_save_expanded_state (adapter, filename);
* Remove e_tree_show_node().Matthew Barnes2013-06-212-11/+0
| | | | | | | Reducing API bloat. Do this instead: adapter = e_tree_get_table_adapter (tree); e_tree_table_adapter_show_node (adapter, path);
* Remove e_tree_root_node_is_visible().Matthew Barnes2013-06-212-9/+0
| | | | | | | Reducing API bloat. Do this instead: adapter = e_tree_get_table_adapter (tree); visible = e_tree_table_adapter_root_node_is_visible (adapter);
* Remove e_tree_row_of_node().Matthew Barnes2013-06-212-13/+6
| | | | | | | Reducing API bloat. Do this instead: adapter = e_tree_get_table_adapter (tree); row = e_tree_table_adapter_row_of_node (adapter, path);
* Remove e_tree_node_at_row().Matthew Barnes2013-06-212-16/+3
| | | | | | | Reducing API bloat. Do this instead: adapter = e_tree_get_table_adapter (tree); path = e_tree_table_adapter_node_at_row (adapter, row);
* Remove e_tree_root_node_set_visible().Matthew Barnes2013-06-212-11/+0
| | | | | | | Reducing API bloat. Do this instead: adapter = e_tree_get_table_adapter (tree); e_tree_table_adapter_root_node_set_visible (adapter, visible);
* Remove e_tree_node_set_expanded_recurse().Matthew Barnes2013-06-212-14/+0
| | | | | | | Reducing API bloat. Do this instead: adapter = e_tree_get_table_adapter (tree); e_tree_table_adapter_node_set_expanded_recurse (adapter, path, expanded);
* Remove e_tree_node_set_expanded().Matthew Barnes2013-06-212-13/+0
| | | | | | | Reducing API bloat. Do this instead: adapter = e_tree_get_table_adapter (tree); e_tree_table_adapter_node_set_expanded (adapter, path, expanded);
* Remove e_tree_node_is_expanded().Matthew Barnes2013-06-212-11/+0
| | | | | | | Reducing API bloat. Do this instead: adapter = e_tree_get_table_adapter (tree); expanded = e_tree_table_adapter_node_is_expanded (adapter, path);
* Remove unused e_tree_right_click_up().Matthew Barnes2013-06-212-9/+0
|
* Remove unused e_tree_drag_unhighlight().Matthew Barnes2013-06-212-13/+0
|
* Remove unused e_tree_drag_highlight().Matthew Barnes2013-06-212-65/+0
|
* Remove unused e_tree_drag_get_data().Matthew Barnes2013-06-212-25/+0
| | | | It just calls gtk_drag_get_data() anyway.
* Remove unused e_tree_drag_dest_unset().Matthew Barnes2013-06-212-18/+0
| | | | It just calls gtk_drag_dest_unset() anyway.
* Remove unused e_tree_drag_dest_set_proxy().Matthew Barnes2013-06-212-19/+0
| | | | It just calls gtk_drag_dest_set_proxy() anyway.
* Remove e_tree_drag_dest_set().Matthew Barnes2013-06-212-22/+0
| | | | Reducing API bloat. Call gtk_drag_dest_set() directly instead.
* Remove e_tree_selected_path_foreach().Matthew Barnes2013-06-212-15/+0
| | | | | | | Reducing API bloat. Do this instead: selection = (ETreeSelectionModel *) e_tree_get_selection_model (tree); e_tree_selection_model_foreach (selection, callback, closure);
* Remove e_tree_selected_row_foreach().Matthew Barnes2013-06-212-15/+0
| | | | | | | Reducing API bloat. Do this instead: selection = (ESelectionModel *) e_tree_get_selection_model (tree); e_selection_model_foreach (selection, callback, closure);
* ETree cleanups.Matthew Barnes2013-06-212-869/+843
|
* Remove unused e_bit_array_invert_selection().Matthew Barnes2013-06-202-21/+0
|
* Remove unused e_selection_model_invert_selection().Matthew Barnes2013-06-204-73/+0
|
* Remove unused e_table_invert_selection().Matthew Barnes2013-06-202-15/+0
|
* Bug 702006 - Select All does not select collapsed threadsMatthew Barnes2013-06-201-6/+29
|
* ETreeTableAdapter: Further cleanups.Matthew Barnes2013-06-201-45/+62
|
* Add e_tree_model_node_get_n_nodes().Matthew Barnes2013-06-202-0/+15
| | | | | Returns the total number of nodes in the tree model, including hidden nodes in collapsed tree branches.
* ETreeTableAdapter cleanups.Matthew Barnes2013-06-192-281/+467
| | | | | | | | | | | | | This replaces e_tree_table_adapter_construct() with construct properties and overrides GObjectClass.constructed() to finish instance construction. New functions: e_tree_table_adapter_get_source_model() Removed functions: e_tree_table_adapter_construct()
* Convert ETableModel to an interface.Matthew Barnes2013-06-1913-196/+245
| | | | Similar to what was recently done to ETreeModel.
* ETable-related cleanups.Matthew Barnes2013-06-1928-1178/+1301
|
* Remove unused ETableMemoryCallbacks.Matthew Barnes2013-06-195-386/+25
|
* Remove unused ETableMemoryStoreCustomColumn.Matthew Barnes2013-06-191-12/+3
|
* Remove unused E_TABLE_MEMORY_STORE_COLUMN_TYPE_OBJECT.Matthew Barnes2013-06-192-22/+1
|
* Remove unused E_TABLE_MEMORY_STORE_COLUMN_TYPE_CUSTOM.Matthew Barnes2013-06-192-12/+0
|
* ETreeSelectionModel: Further cleanups.Matthew Barnes2013-06-181-179/+195
|
* ETreeSelectionModel: Modernize GHashTable usage.Matthew Barnes2013-06-181-61/+36
|
* Remove e_tree_model_node_is_editable().Matthew Barnes2013-06-163-33/+1
| | | | It always returned FALSE.
* Remove e_tree_model_set_value_at().Matthew Barnes2013-06-163-27/+1
| | | | Was never called.
* Remove e_tree_model_has_get_node_by_id().Matthew Barnes2013-06-164-31/+5
| | | | It always returned TRUE.
* Remove e_tree_model_has_save_id().Matthew Barnes2013-06-165-29/+2
| | | | It always returned TRUE.
* Remove e_tree_model_icon_at().Matthew Barnes2013-06-163-64/+3
| | | | It always returned NULL.
* Convert ETreeModel to an interface.Matthew Barnes2013-06-168-1140/+130
| | | | | | | | | | | | | | | | This commit does a number of things which I could not subdivide into smaller commits. * Converts ETreeModel to an interface, implemented by MessageList. * Drops ETreeMemory and ETreeMemoryCallbacks, which were ETreeModel subclasses. Their functionality is subsumed by MessageList. * MessageList drops its public ETreeModel pointer, since MessageList now implements ETreeModel as an interface. * Adds message_list_set_expanded_default(), which takes over for e_tree_memory_set_expanded_default().
* Add e_tree_memory_get_n_children().Matthew Barnes2013-06-164-34/+14
| | | | | | Replaces e_tree_memory_get_children(). The "paths" output parameter was unused, and was a bad idea anyway.
* Simplify ETreeMemory.Matthew Barnes2013-06-162-186/+56
| | | | Instead of reinventing GNode, use GNode.
* Remove e_tree_model_has_change_pending().Matthew Barnes2013-06-163-33/+0
| | | | ETreeMemory does not implement this, so it's always FALSE.
* ETreeModel: Further cleanups.Matthew Barnes2013-06-152-152/+163
|
* Remove unused e_tree_model_new().Matthew Barnes2013-06-152-14/+0
|
* Remove unused e_tree_model_node_request_collapse().Matthew Barnes2013-06-153-52/+0
|
* Remove unused e_tree_model_node_col_changed().Matthew Barnes2013-06-154-77/+0
|
* Remove unused e_tree_model_no_change().Matthew Barnes2013-06-154-55/+0
|
* Remove unused e_tree_model_node_traverse_preorder().Matthew Barnes2013-06-152-40/+0
|
* Remove unused e_tree_model_node_get_prev().Matthew Barnes2013-06-153-36/+0
|
* Remove unused e_tree_model_node_get_last_child().Matthew Barnes2013-06-153-37/+0
|
* e_tree_model_node_find: Remove "forward_direction" parameter.Matthew Barnes2013-06-153-44/+14
| | | | It's always TRUE.
* ETreeMemory: Further cleanups.Matthew Barnes2013-06-152-134/+137
|
* ETreeMemory: Remove unused "fill-in-children" signal.Matthew Barnes2013-06-152-68/+0
|
* Remove unused e_tree_memory_new().Matthew Barnes2013-06-152-14/+0
|
* Remove unused e_tree_memory_construct().Matthew Barnes2013-06-152-12/+0
|
* Remove unused e_tree_memory_set_node_destroy_func().Matthew Barnes2013-06-152-18/+0
|
* Remove unused e_tree_memory_sort_node().Matthew Barnes2013-06-152-86/+0
|
* Remove unused e_tree_memory_node_insert_before().Matthew Barnes2013-06-152-40/+0
|
* Remove unused e_tree_memory_node_insert_id().Matthew Barnes2013-06-152-15/+0
|
* Remove unused ETreeSorted.Matthew Barnes2013-06-154-1540/+0
|
* EMenuToolButton cleanups.Matthew Barnes2013-06-112-33/+38
|
* Add e_source_selector_update_all_rows().Matthew Barnes2013-06-112-0/+33
| | | | | Calls e_source_selector_update_row() for each ESource being shown by the ESourceSelector, according to the "extension-name" property.
* Add EAutomaticActionPolicy enum.Matthew Barnes2013-06-051-0/+20
| | | | To have a proper GEnumClass registered for ask/always/never choices.
* Make EAlertDialog non-resizable.Matthew Barnes2013-05-301-13/+5
| | | | | | | | | | Making EAlertDialog non-resizable is the only way at present for GTK+ to pick a resonable default size, otherwise we get alerts looking like this: https://bugzilla.gnome.org/attachment.cgi?id=221303 See https://bugzilla.gnome.org/681937 for details. Also drop the default window size hack in alert_dialog_constructed().
* Bug 700277 - EClientCache allocates memory ad infinityMatthew Barnes2013-05-301-0/+95
| | | | | Remove a ClientData entry on "source-removed" or "source-disabled" signals from the ESourceRegistry.
* Rename libeutil to libevolution-util.Matthew Barnes2013-05-281-13/+13
| | | | | | To make Evolution's shared libraries more consistent. Also rename the documentation module to evolution-util.
* configure.ac: Remove unused function and header checks.Matthew Barnes2013-05-281-31/+2
| | | | | | | | | | | | | | | | | This removes the following definitions from config.h: CTIME_R_THREE_ARGS GETHOSTBYADDR_R_SEVEN_ARGS GETHOSTBYNAME_R_FIVE_ARGS HAVE_ISBLANK HAVE_MKSTEMP HAVE_STATFS HAVE_STATVFS HAVE_SYS_MOUNT_H HAVE_SYS_PARAM_H HAVE_SYS_STATVFS_H These were all either unused or unnecessarily used.
* Make EAttachment column updates thread-safe.Matthew Barnes2013-05-241-8/+125
| | | | | | | | | EAttachment updates its tree model row directly in response to property change notifications, but now change notifications can come from worker threads whereas the tree model row should only be updated from the main thread. To compensate, respond to notifications by adding idle sources to the default context. The idle callback will update the row from the appropriate thread.
* Make EAttachment a little more thread-safe.Matthew Barnes2013-05-247-93/+228
| | | | | | | | | | | | | | | | | | | | | | | | | | | | EAttachment is now used from worker threads by EMailFormatterAttachment, so add some thread-safe accessor functions to eliminate potential races. Added thread-safe functions: e_attachment_dup_disposition() e_attachment_ref_file() e_attachment_ref_file_info() e_attachment_ref_icon() e_attachment_ref_mime_part() e_attachment_dup_description() e_attachment_dup_thumbnail_path() Renamed functions: e_attachment_get_mime_type() -> e_attachment_dup_mime_type() Removed non-thread-safe functions: e_attachment_get_file() e_attachment_get_file_info() e_attachment_get_icon() e_attachment_get_mime_part() e_attachment_get_description() e_attachment_get_thumbnail_path()
* Attachment-related cleanups.Matthew Barnes2013-05-244-132/+137
|
* Minor e_web_view_install_request_handler() cleanup.Matthew Barnes2013-05-151-7/+4
| | | | Make reference count handling a bit less awkward.
* Bug #699980 - Calendar delete does not remove events from viewMilan Crha2013-05-141-0/+5
|
* Coding style and whitespace cleanup.Matthew Barnes2013-05-081-1/+1
|
* EPhotoCache: Forgot to unlock a mutex.Matthew Barnes2013-04-271-0/+2
| | | | Yikes, that would be bad...
* EPhotoCache: Fix deadlock when cancelling subtasks.Matthew Barnes2013-04-271-16/+32
| | | | | | | This seems to have started with the gravatar module. SoupRequest is apparently quite eager to cancel HTTP requests -- so much so that we need to slow it down within EPhotoCache, so we don't wind up calling g_cancellable_disconnect() during a GCancellable signal emission.
* Bug 698488 - Attachment file chooser should preview attachments' content ↵Fabiano Fidêncio2013-04-261-0/+35
| | | | when possible
* Add e_activity_cancel().Matthew Barnes2013-04-254-6/+30
| | | | Convenience function cancels the activity's GCancellable.
* Document EActivity.Matthew Barnes2013-04-251-3/+183
|
* EPhotoSource fixupMatthew Barnes2013-04-241-2/+2
|
* Reimplement EPhotoCache to use EPhotoSource.Matthew Barnes2013-04-242-280/+658
| | | | | | | | | | | | | | | | | | | | | Reimplement EPhotoCache to delegate the actual photo fetching to EPhotoSources. When a photo is requested for a given email address, all available EPhotoSources are dispatched concurrently and a photo input stream is selected from the result set. This also utilizes EDataCapture, which is affixed to the returned GInputStream to capture and cache photo data for an email address. New functions: e_photo_cache_add_photo_source() e_photo_cache_list_photo_sources() e_photo_cache_remove_photo_source() e_photo_cache_add_photo() Renamed functions: e_photo_cache_remove() --> e_photo_cache_remove_photo()
* Add EPhotoSource interface.Matthew Barnes2013-04-244-0/+202
| | | | | | | | | EPhotoSource is an interface used to extend the functionality of EPhotoCache. You can add an object implementing EPhotoSource to an EPhotoCache with e_photo_cache_add_photo_source() and remove it with e_photo_cache_remove_photo_source(). When EPhotoCache needs a photo for an email address, it will invoke e_photo_source_get_photo() on all available EPhotoSource objects simultaneously and select one photo.
* Add EDataCapture.Matthew Barnes2013-04-244-0/+441
| | | | | | | | | | EDataCapture is a GConverter that captures data until the end of the input data is seen, then emits a "finished" signal with the captured data in a GBytes instance. When used with GConverterInputStream or GConverterOutputStream, an EDataCapture can discreetly capture stream content for the purpose of caching.
* Update libeutil API docs.Matthew Barnes2013-04-241-1/+1
|
* [EMailFormatter] Use GdkRGBA and GtkStyleContext to get theme colorsMilan Crha2013-04-232-4/+4
| | | | | | | | | | It could happen that header text color had been picked white one time, but the other time black as expected (for me usually when I started Evolution in Calendar and moved to Mail view, the header text color was white, while when starting in Mail view it was black). The change to use GtkStyleContext is there only as a cleanup from deprecated GtkStyle, and to make things easier too, because both GtkStyle and the GtkStyleContext had set white color for some reason.
* Remove "Search for sender photograph only in local address books".Matthew Barnes2013-04-212-117/+12
| | | | | | | | | | | | | This was added as part of bug 360184 but no justification was given for the "local-only" part. My Spidey sense tells me it was a hack- around for the old implementation's tendency to freeze the UI while searching for a photograph. So the "local-only" option really just meant "don't freeze the UI for very long, please". The new EPhotoCache-based implementation in 3.8 NEVER freezes the UI, so the "local-only" option is no longer needed. If a remote address book is slow or unresponsive we simply cancel the async photo lookup when the user moves on to another email.
* EPhotoCache: Fix a runtime warning.Matthew Barnes2013-04-211-7/+24
| | | | | Stop searching address books on the first error but don't indicate failure if we've managed to accumulate contacts prior to the error.
* EPhotoCache: Fix a documentation typo.Matthew Barnes2013-04-191-1/+1
|
* Bug 698042 - Crash when sending e-mail with attachmentMatthew Barnes2013-04-191-2/+7
|
* build: Fix srcdir != builddir from gitMatthew Barnes2013-04-181-4/+4
| | | | | | | | | Mimicing Colin's commit fb9b02e for E-D-S. We can't do (cd $(srcdir); ...) and inside reference $(top_srcdir) because that variable uses a *relative* path. Thus we copy the approach from gnome-shell of explicitly using addprefix to append the source directory.
* Search bar functionality polishingTomas Popela2013-04-153-34/+73
| | | | Polishing after switching from Evolution's highlight implementation to WebKit's one.
* Remove Evolution's implementation of highlighting and use WebKit ↵Tomas Popela2013-04-121-125/+8
| | | | highlighting. Fixes Bug#696673
* Bug #681837 - Make enum type registration thread safeMilan Crha2013-04-123-71/+9
|
* EWebView: Disable WebKit plugins during instance initialization.Matthew Barnes2013-04-091-6/+11
| | | | | | | | Calling webkit_get_web_plugin_database() somehow ends up calling g_bus_get_sync(), which in turn makes gtkdoc-scangobj hang forever. Call it instead as a GOnce callback during instance initialization, which avoids the hang since gtkdoc-scangobj only peeks at classes.
* EWebView: Remove a backward-compatibility hack.Matthew Barnes2013-04-081-9/+1
| | | | We require WebKitGTK+ >= 1.10 so we can drop a hack to support < 1.9.6.
* EWebView: Use a GQueue to track highlight strings.Matthew Barnes2013-04-082-28/+16
| | | | | This also removes an unused function e_web_view_get_highlights() which was returning a GSList.
* EWebView cleanups.Matthew Barnes2013-04-081-19/+23
|
* Remove e_preferences_window_filter_page().Matthew Barnes2013-04-012-35/+0
| | | | No longer used.
* Remove EUIManager.Matthew Barnes2013-04-016-414/+3
| | | | No longer needed. Use GtkUIManager directly.
* Add e_load_ui_manager_definition().Matthew Barnes2013-04-012-0/+38
| | | | | | | | Loads a UI definition into a GtkUIManager from Evolution's UI directory. We actually had this function for a brief period during the 2.29 series, before Express Mode was a thing. I'm reviving the function to take over for EUIManager.
* Bug #684245 - Disable 3rd-party browser pluginsTomas Popela2013-03-251-0/+24
|
* Bug #696185 - Disable WebKit's cachingMilan Crha2013-03-251-0/+4
|
* Bug #696173 - Various memory leaksMilan Crha2013-03-251-2/+6
|
* Convert all "week-start-day" properties to GDateWeekday.Matthew Barnes2013-03-175-82/+92
|
* Use e_source_registry_list_enabled() where appropriate.Matthew Barnes2013-03-173-14/+3
|
* Add argument checks to weekday functions.Matthew Barnes2013-03-151-0/+11
|
* Bug 676696 - Automatic EXIF image rotation doesn't workMatthew Barnes2013-03-151-0/+13
| | | | Requires WebKitGTK+ 2.0 to work again.
* EWebView: Whitespace cleanups.Matthew Barnes2013-03-151-2/+2
|
* client_cache_process_results: Fix runtime warnings.Matthew Barnes2013-03-151-1/+1
| | | | | | | | Use g_simple_async_result_complete_in_idle() so the queued results complete in the correct main loop context. Otherwise we get runtime warnings: "g_simple_async_result_complete() called from wrong context!"
* EContactStore: Remove unnecessary warnings.Matthew Barnes2013-03-122-14/+17
|
* Make ESpellEntry extensible.Matthew Barnes2013-03-121-1/+18
|
* ESpellEntry cleanups.Matthew Barnes2013-03-121-128/+200
|
* EUIManager: Fix a bad DocBook tag in comment.Matthew Barnes2013-03-091-2/+3
|
* Add weekday conversion functions.Matthew Barnes2013-03-092-0/+88
| | | | | e_weekday_to_tm_wday() e_weekday_from_tm_wday()
* Add more weekday arithmetic functions.Matthew Barnes2013-03-082-0/+71
| | | | | | | | | | These aren't as efficient as possible, but are as clear as possible. New functions: e_weekday_add_days() e_weekday_subtract_days() e_weekday_get_days_between()
* Rename functions in previous commit.Matthew Barnes2013-03-082-6/+6
| | | | | | | Changed my mind... got more to add. e_get_next_weekday() -> e_weekday_get_next() e_get_prev_weekday() -> e_weekday_get_prev()
* Add e_get_next_weekday() and e_get_prev_weekday().Matthew Barnes2013-03-072-0/+90
| | | | | | These just cycle over the GDateWeekday enum. Trivial functions, but they help make loops a little easier to read.
* Bug #695193 - Window size resets to default at exit with gtk 3.7.10+Fabien Tassin2013-03-071-5/+3
|
* e-util-enums.h: Add EDateWeekday enum.Matthew Barnes2013-03-061-0/+38
| | | | | | This enum type is intentionally compatible with GDateWeekday. It exists only because GLib does not provide a GEnumClass for GDateWeekday. If that ever changes, this enum can go away.
* Document the enum types in e-util-enums.h.Matthew Barnes2013-03-061-0/+27
|
* e-util.h: #include <e-util/e-util-enumtypes.h>Matthew Barnes2013-03-061-0/+1
| | | | So the generated GEnumClass types can be used outside of libeutil.
* Update API documentation.Matthew Barnes2013-03-0339-1600/+1465
|
* Use EClientComboBox where appropriate.Matthew Barnes2013-03-029-186/+251
| | | | Basically any place where we use both EClient and ESourceComboBox.
* Add EClientComboBox.Matthew Barnes2013-03-024-0/+556
|
* EClientSelector: Pre-fetch selected clients.Matthew Barnes2013-03-021-0/+51
|
* e_client_selector_get_client_sync(): Add argument guards.Matthew Barnes2013-03-021-0/+3
|
* e-client-selector.h: Add missing G_END_DECLS.Matthew Barnes2013-03-021-0/+2
|
* Never ever pre-fetch anything in EClientSelectorMilan Crha2013-03-011-36/+0
| | | | | | | | | | That's the worst idea for many reasons, couple examples: - password prompts after evolution's run for disabled (in selector) sources - too much unnecessary network I/O (most remote backends runs sync on open) - doesn't do what user told it to do (Unselected means unselected. Dot.) - unable to debug anything in factories when it misbehaves this way Next time ask peers, users and usability experts for their opinion, before doing such decision.
* EClientCache cleanups.Matthew Barnes2013-02-282-99/+105
|
* Add EPhotoCache.Matthew Barnes2013-02-274-0/+1026
| | | | | | Caches contact photos by email address. Replaces the disastrous implementation in e-mail-utils.c.
* Coding style and whitespace cleanup.Matthew Barnes2013-02-244-16/+19
|
* EClientCache: Use e_source_registry_dup_unique_display_name().Matthew Barnes2013-02-231-54/+50
| | | | Use a standard format for naming an ESource in user-visible messages.
* EClientSelector: Pre-fetch relevant EClient instance.Matthew Barnes2013-02-221-0/+36
| | | | | | Asyncrhonously fetch all relevant EClient instances during instance initialization to try and get them cached ahead of time, and so that all status icons are present when the tree view is shown.
* Autocompletion - do not use quick timeout when user types textMilan Crha2013-02-221-1/+1
| | | | | The quick timeout is used only when new items are found, do not use it when user types text, because it flickers.
* Speed-up auto-completion results showingMilan Crha2013-02-221-11/+22
| | | | | | The results were postponed to show as long as there were new notifications about added contacts, which could take quite long for many matched items. This shows the results with smaller timeout and without postponing.
* EClientSelector: Add a backend status icon.Matthew Barnes2013-02-212-0/+170
| | | | | | | Append a tree view column to display a symbolic icon hinting at backend status. Currently this only displays icons for online/offline and when the backend dies. I'd also like to add a spinner icon to indicate when we're processing a query and for other long-running activities.
* Add e_client_selector_ref_cached_client_by_iter().Matthew Barnes2013-02-212-0/+40
|
* Add e_source_selector_ref_source_by_iter().Matthew Barnes2013-02-212-0/+34
|
* ESourceSelector: Make source_selector_update_row() public.Matthew Barnes2013-02-212-83/+100
| | | | Gonna need to call this from the EClientSelector subclass.
* Add e_client_selector_is_backend_dead().Matthew Barnes2013-02-212-0/+39
| | | | | | | Returns TRUE if an EClient instance for the given source and the value of ESourceSelector's "extension-name" property was recently discarded after having emitted a "backend-died" signal, and a replacement EClient instance has not yet been created.
* Add e_client_cache_is_backend_dead().Matthew Barnes2013-02-212-0/+51
| | | | | | Returns TRUE if an EClient instance for the given source and extension name was recently discarded after having emitted a "backend-died" signal, and a replacement EClient instance has not yet been created.
* EClientCache: Don't emit signals while holding a lock.Matthew Barnes2013-02-211-2/+28
| | | | | Jeez, I should know this by now. Schedule an idle callback on the internal GMainContext to emit the signal like we do for other signals.
* EClientCache: Add a "client-notify" signal.Matthew Barnes2013-02-212-1/+104
| | | | Rebroadcasts a GObject::notify signal emitted by a cached EClient.
* EClientCache: Fix some signal handler ID variable names.Matthew Barnes2013-02-211-10/+10
|
* Show local images in Signature previewMilan Crha2013-02-211-2/+62
| | | | | | | WebKit deny in loading local URIs (file://...) when an HTML body is constructed from a string, not from a local file, thus fix the URIs into "evo-file://", which are passed into our request handlers, which can load the local files.
* EAttachment: Use Subject as fallback filename for message attachmentsMilan Crha2013-02-201-0/+21
|
* EAttachment: Decode part's file name before using itMilan Crha2013-02-201-2/+12
|
* Bug #674236 - Extra ref in e_action_combo_box_set_action()Milan Crha2013-02-191-2/+3
|
* Add EClientSelector.Matthew Barnes2013-02-194-0/+509
| | | | | | | | EClientSelector extends the functionality of ESourceSelector by utilizing an EClientCache to display status information about the backends associated with the displayed data sources. (No backend status is displayed just yet, but that's the plan.)
* EClientCache: Keep a strong reference on the ESourceRegistry.Matthew Barnes2013-02-181-20/+19
| | | | | | | | Changed my mind. There's some scenarios where a function depends on an ESourceRegistry but could also utilize an EClientCache, and it would be nice to just pass the EClientCache and extract the ESourceRegistry from it, so we need to make sure the ESourceRegistry will be there when it's needed and not quietly disappear.
* Add EClientCache.Matthew Barnes2013-02-175-0/+1228
| | | | | | | | | | | | | | | New class to help reduce code duplication and centralize some EClient handling policies. Benefits: - EClient instances can be shared across the entire application. - Centralized rebroadcasting of "backend-died" and "backend-error" signals emitted from cached EClient instances. - Automatic cache invalidation when backends crash. The EClient is discarded, and a new instance is created on the next request.
* Remove old GTK+ version checks.Matthew Barnes2013-02-161-2/+0
| | | | We require GTK+ 3.4, so no need to check for versions older than that.
* Bug #693132 - Editing a signature does not refresh preview after saveMilan Crha2013-02-041-0/+11
|
* Bug #689476 - Slow composer open (ENameSelector object leaks)Milan Crha2013-02-011-0/+10
|
* Fix up error handling around e_book/cal_client_connect_finish().Matthew Barnes2013-01-313-12/+4
|
* Remove e-client-utils.[ch].Matthew Barnes2013-01-304-483/+0
|
* Use e_book_client_connect().Matthew Barnes2013-01-303-34/+42
| | | | Instead of e_client_utils_open_new() and e_book_client_new().
* Remove usage of deprecated e_client_is_opened().Matthew Barnes2013-01-262-16/+5
| | | | e_client_is_opened() always returns TRUE, so skip it.
* E_CLIENT_ERROR_BUSY is no longer used.Matthew Barnes2013-01-251-25/+1
|
* Bump GDK_VERSION_MIN_REQUIRED to GDK_VERSION_3_2.Matthew Barnes2013-01-2021-48/+48
| | | | | Clean up resulting deprecation warnings, which were all related to GtkOrientable consolidation (e.g. gtk_hbox_new() -> gtk_box_new()).
* Use g_hash_table_add() when using a hash table as a set.Matthew Barnes2013-01-121-7/+11
| | | | | | | g_hash_table_add(table, key) uses less memory than g_hash_table_insert(table, key, GINT_TO_POINTER (1)). Also use g_hash_table_contains() when testing for membership.
* Bug #691470 - ENameSelectorEntry: Copy to clipboard issue with multi-byte ↵Milan Crha2013-01-121-11/+32
| | | | characters
* Reduce diff noise with webkit-composer branch.Matthew Barnes2013-01-113-15/+15
|
* Add single-include barriers to a few e-util headers.Matthew Barnes2013-01-114-0/+16
|
* Coding style and whitespace cleanup.Matthew Barnes2013-01-1111-37/+63
|
* Bug #690177 - Use trust-prompt for certificate verification in WebDAV backendsMilan Crha2013-01-101-10/+27
|
* Fix a tests build break in e-util/Milan Crha2012-12-171-1/+1
|
* e-config: Remove unused functions.Matthew Barnes2012-12-172-752/+26
| | | | | | | | | | | | e_config_add_skip_check() e_config_class_remove_factory() e_config_create_window() e_config_page_get() e_config_page_next() e_config_page_prev() e_config_set_page_is_finish() Also remove E_CONFIG_ASSISTANT and all the assistant support therein.
* e-passwords: Remove unused function parameters.Matthew Barnes2012-12-172-31/+24
|
* e-passwords: Remove unused functions.Matthew Barnes2012-12-172-98/+1
| | | | | | | e_passwords_cancel() e_passwords_clear_passwords() e_passwords_forget_passwords() e_passwords_shutdown()
* Remove unused marshallers.Matthew Barnes2012-12-171-7/+0
|
* Fix compiler warnings.Matthew Barnes2012-12-152-3/+3
|
* Finish adding symbols to libeutil API docs.Matthew Barnes2012-12-15139-1104/+1387
|
* e-util: Remove e-passwords-win32.c.Matthew Barnes2012-12-141-1064/+0
| | | | Let's not drag the old password keyfile along any further.
* e-misc-util.h: Fix quoted #includes.Matthew Barnes2012-12-141-2/+2
|
* e-util: Add xpm icons to EXTRA_DIST.Matthew Barnes2012-12-141-1/+2
|
* Move the contact map widgets to addressbook/gui/widgets.Matthew Barnes2012-12-138-1825/+0
| | | | | | | | | | | | Move the supporting widgets for the contact maps feature alongside EABContactDisplay. Removing them from libeutil helps isolate our usage of libchamplain so it's not imposed on the entire application, and even 3rd party software. That libchamplain is an optional dependency only further complicates the matter. Ideally I'd like to somehow isolate this feature in an extension module, but we currently lack sufficient hooks for such an extension. So this arrangement will have to suffice for now.
* Consolidate base utility libraries into libeutil.Matthew Barnes2012-12-13478-283/+169300
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Evolution consists of entirely too many small utility libraries, which increases linking and loading time, places a burden on higher layers of the application (e.g. modules) which has to remember to link to all the small in-tree utility libraries, and makes it difficult to generate API documentation for these utility libraries in one Gtk-Doc module. Merge the following utility libraries under the umbrella of libeutil, and enforce a single-include policy on libeutil so we can reorganize the files as desired without disrupting its pseudo-public API. libemail-utils/libemail-utils.la libevolution-utils/libevolution-utils.la filter/libfilter.la widgets/e-timezone-dialog/libetimezonedialog.la widgets/menus/libmenus.la widgets/misc/libemiscwidgets.la widgets/table/libetable.la widgets/text/libetext.la This also merges libedataserverui from the Evolution-Data-Server module, since Evolution is its only consumer nowadays, and I'd like to make some improvements to those APIs without concern for backward-compatibility. And finally, start a Gtk-Doc module for libeutil. It's going to be a project just getting all the symbols _listed_ much less _documented_. But the skeletal structure is in place and I'm off to a good start.
* Address couple issues found by a Coverity scanMilan Crha2012-11-301-1/+1
|
* Add the GdkDevice to ETextEventProcessorCommand.Matthew Barnes2012-11-292-0/+3
| | | | Will be needed for grabs in response to button events.
* Coding style and whitespace cleanup.Matthew Barnes2012-11-114-4/+4
|