aboutsummaryrefslogtreecommitdiffstats
path: root/e-util
Commit message (Collapse)AuthorAgeFilesLines
* Bug #329616 - Spell checking for Event/Task/Memo editorsMilan Crha2013-11-294-0/+159
| | | | | This is based on the work of Jan-Michael Brummer from bug #705338, just a little extended to be reusable across whole evolution.
* Extend test-source-selector test programMilan Crha2013-11-291-59/+226
| | | | | | | | | | | Added features: - show all four selectors (for Calendars/Memos/Tasks/Books) - be able to open/close selected source Especially the later can be used for testing the factories easily, without running evolution or other client. There can be added more actions on an opened EClient descendant in the future, if it'll be found useful.
* e-utils: replacing g_memmove with memmoveAlberto Ruiz2013-11-271-2/+2
| | | | | glib has removed g_memmove, since it was a macro there is no ABI break but sources have to be adapted to switch to memmove See glib commit 6e4a7fca431f53fdfd89afbe956212229cf52200 for further reference.
* Use SoupSession's request API instead of SoupRequester.Matthew Barnes2013-11-271-23/+2
| | | | SoupRequester functionality is built directly into SoupSession now.
* Fix/mute issues found by Coverity scanMilan Crha2013-11-1522-82/+112
| | | | | | | | | | | | This makes the code free of Coverity scan issues. It is sometimes quite pedantic and expects/suggests some coding habits, thus certain changes may look weird, but for a good thing, I hope. The code is also tagged with Coverity scan suppressions, to keep the code as is and hide the warning too. Also note that Coverity treats g_return_if_fail(), g_assert() and similar macros as unreliable, and it's true these can be disabled during the compile time, thus it brings in other set of 'weird' changes.
* Make e_attachment_set_file_info() thread-safe.Matthew Barnes2013-11-071-4/+9
| | | | Missed this one in commit 9058c6f85dc49f9500e7e67819acfd8c0d2d369c.
* Bug 707112 - Replace webkit_dom_html_element_get_id usageKerrick Staley2013-11-051-0/+6
| | | | | | | | | | | | | | | | webkit_dom_element_get_id() was introduced for WebKitGTK+ 2.2 and deprecates webkit_dom_html_element_get_id(). But Evolution only requires WebKitGTK+ 2.0.1. Ordinarily this would sit on a shelf until we require WebKitGTK+ 2.2, however WebKitGTK+ has now started issuing deprecation warnings about webkit_dom_html_element_get_id() at *runtime*, which is pointless and only fills up users' .xsession-errors file. To put a stop to this, we'll call the new function subject to a pre- processor WebKit version check, with a fallback to the old function. The build requirement remains at WebKitGTK+ 2.0.1.
* EMailIdentityComboBox: Document and clean up.Matthew Barnes2013-11-012-33/+139
|
* Bug 710797 - Name all the timeouts added with g_timeout_add()Bastien Nocera2013-10-3019-79/+108
|
* EProxyEditor: Save on "Method" combo box change.Matthew Barnes2013-10-261-4/+13
|
* EAutocompleteSelector: Show icons.Matthew Barnes2013-10-261-0/+2
| | | | Just a nice touch, I think.
* Document EProxyLinkSelector.Matthew Barnes2013-10-262-0/+53
|
* EProxyEditor: Add an "Open Desktop Settings" button.Matthew Barnes2013-10-261-11/+59
| | | | | | | Shown for the "Defer to Desktop Settings" choice if gnome-control-center is available. The button opens gnome-control-center's "Network" panel, but unfortunately the "Network proxy" item cannot be selected from the command line.
* Add EProxyPreferences.Matthew Barnes2013-10-265-0/+872
|
* Add EProxyLinkSelector.Matthew Barnes2013-10-264-0/+366
|
* Add EProxyEditor.Matthew Barnes2013-10-264-0/+834
|
* Add EProxySelector.Matthew Barnes2013-10-264-0/+930
|
* Add EProxyComboBox.Matthew Barnes2013-10-264-0/+469
| | | | | EProxyComboBox is a combo box of available proxy profiles, as described by ESource instances with an ESourceProxy extension.
* Remove e_source_selector_set_select_new().Matthew Barnes2013-10-262-21/+0
| | | | Sets a flag that's no longer used internally by ESourceSelector.
* ESourceSelector: Fix a reference leak in text_cell_edited_cb().Matthew Barnes2013-10-251-7/+9
| | | | We were leaking the ESource reference.
* ESourceSelector: Add a "show-icons" property.Matthew Barnes2013-10-253-2/+154
| | | | | | | | ESourceSelector can now optionally display an icon next to each ESource matching the selector's "extension-name". Intended for non-homogeneous use cases where a variety of account types are shown in the selector. The icon set is hard-coded, but we could change that if the need arises.
* ESourceSelector cleanups.Matthew Barnes2013-10-253-57/+90
|
* ESourceSelector: Fix a potential runtime warning.Matthew Barnes2013-10-231-1/+3
| | | | | | | When (re)building the tree model, ESourceSelector may fall back to e_source_registry_ref_default_for_extension_name() to help initialize the primary selection. Depending on the selector's "extension-name" property, that function may return NULL. Handle it gracefully.
* Miscellaeous cleanups.Matthew Barnes2013-10-201-6/+6
|
* EMailIdentityComboBox cleanups.Matthew Barnes2013-10-112-37/+37
|
* Bug #215115 - Per-folder From: email addressMilan Crha2013-10-082-2/+76
| | | | | | The change also allows setting accounts for certain recipients (based on a part of the recipient address). The option can be found in Folder Properties and in Edit->Preferences->Composer Preferences->Send Account.
* Bug #708682 - Move with 'End' key with collapsed threads failsMilan Crha2013-10-011-6/+1
| | | | This reverts part of commit 452638466217dbfef0c0954c90aa7cb03cf91452
* Bug #708347 - Memory leak from EWebView/webkitTomas Popela2013-09-231-2/+5
|
* Update API documentation.Matthew Barnes2013-09-152-3/+3
|
* EClientSelector: Show an initial icon based on host name.Matthew Barnes2013-09-151-1/+150
| | | | | | | | Have GNetworkMonitor make an initial guess at the online state of backends by evaluating the reachability of their host name. This will show an initial status icon for all displayed ESources without actually opening a connection, since some backends are expensive to start unnecssarily.
* Bug #706008 - Workaround gnome-shell style change on focus changeTomas Popela2013-09-122-21/+249
| | | | | | | Avoid redrawing (thus loosing the selection and scroll position) of preview window on style change by defining the colors through CSS styles. On style change we just update the CSS color definitions and preview will update itself without redraw.
* EClientSelector: Do not prefetch EClient instancesMilan Crha2013-09-121-51/+0
| | | | | Let the open for a user, when respective source in the selector is selected.
* Miscellaneous cleanups.Matthew Barnes2013-09-0814-121/+165
|
* Bug #706901 - Large default book slows down composer openMilan Crha2013-08-301-4/+15
|
* Skip evolution from 'Open with' list of applications on attachmentsMilan Crha2013-08-291-0/+26
|
* EAlertBar: Mention Escape binding in close button tooltip.Matthew Barnes2013-08-111-1/+2
|
* Add e_alert_bar_close_alert().Matthew Barnes2013-08-112-0/+41
| | | | | Closes the active EAlert and returns TRUE, or else returns FALSE if there is no active EAlert.
* Bug #704207 - Dragged column's arrow indicator oversizedMilan Crha2013-08-091-0/+3
|
* Bug #699603 - Message list scrolls to cursor on style changeMilan Crha2013-08-013-0/+63
|
* [workaround] Bug #695633 - Attachments disappear after opening oneMilan Crha2013-07-312-4/+4
|
* EPreviewPane: Handle "new-activity" signals from EWebView.Matthew Barnes2013-07-281-0/+25
| | | | Configures the EActivity to submit alerts to the EPreviewPane.
* EPreviewPane cleanups.Matthew Barnes2013-07-282-25/+5
|
* EWebView: Add an "image-save" action.Matthew Barnes2013-07-282-1/+21
| | | | | | There's now enough hooks in EWebView that it can take over image saving from EMailDisplay / EMailReader, with the added perk that a "Save Image" pop-up menu item now appears for images in ALL preview panes.
* Add e_web_view_cursor_image_save().Matthew Barnes2013-07-282-0/+236
| | | | | Prompts the user to choose a destination file and then asynchronously saves the image under the cursor to the destination file.
* Add e_web_view_cursor_image_copy().Matthew Barnes2013-07-283-157/+153
| | | | | | | | | | | | | | | | | | | | | | | | | | | Asynchronously copies the image under the cursor to the clipboard. This replaces the "cursor-image" property, which attempts to match the image URI to a subresource from WebKitWebDataSource. The problem with that approach is EMailDisplay redirects several URI schemes to its own custom request handlers which further mutate the URI. So for example, a text/html message may use a "cid:" URI to refer to an embedded image, which EMailDisplay transforms to a "mail:" URI and finally to a "data:" URI. The final image URI might not be derivable from the original URI without retracing the SoupRequest. The "image-copy" action now calls e_web_view_cursor_image_copy(). This also adds an explicit requirement on gdk-pixbuf-2.0 >= 2.24 for gdk_pixbuf_new_from_stream_async() / finish(). New functions: e_web_view_cursor_image_copy() Removed functions: e_web_view_get_cursor_image() e_web_view_set_cursor_image()
* Add e_web_view_new_activity().Matthew Barnes2013-07-282-0/+51
| | | | | | | | | Returns a new EActivity for an EWebView-related asynchronous operation, and emits a "new-activity" signal. By default the EActivity comes loaded with a GCancellable and sets the EWebView itself as the alert sink (which means alerts are displayed directly in the content area). The signal emission allows the EActivity to be further customized and/or tracked by the application.
* Add e_web_view_request().Matthew Barnes2013-07-282-0/+160
| | | | | | | | | | | Asynchronously requests data at a URI by way of a SoupRequest to WebKit's default SoupSession, incorporating both e_web_view_redirect_uri() and the custom request handlers installed via e_web_view_install_request_handler(). New functions: e_web_view_request() e_web_view_request_finish()
* Add e_web_view_suggest_filename().Matthew Barnes2013-07-282-0/+65
| | | | | | | | | | | Attempts to derive a suggested filename from the given URI for use in a "Save As" dialog. By default the suggested filename is the last path segment of the given URI (the unless the given URI looks like a query), but subclasses can use other mechanisms for custom URI schemes. For example, "cid:" URIs in an email message may refer to a MIME part with a suggested filename in its Content-Disposition header.
* Add e_web_view_redirect_uri().Matthew Barnes2013-07-272-0/+43
| | | | | | | | | | Replaces the given URI with a redirected URI as necessary, primarily for use with custom SoupRequest handlers. Typically this function would be called just prior to handing a request off to a SoupSession, such as from a WebKitWebView "resource-request-starting" signal handler. Case in point: EMailDisplay now implements the redirect_uri() method, and calls it from its own "resource-request-starting" signal handler.
* Remove e_web_view_get_uri().Matthew Barnes2013-07-272-9/+0
| | | | | | | Trivial wrapper for webkit_web_view_get_uri(). Probably made sense while we were transitioning from GtkHTML to WebKit, but we don't need it anymore.
* Remove unused e_web_view_set_enable_frame_flattening().Matthew Barnes2013-07-272-19/+0
|
* Remove unused e_web_view_get_enable_frame_flattening().Matthew Barnes2013-07-272-21/+0
|
* Remove unused e_web_view_frame_get_uri().Matthew Barnes2013-07-272-24/+0
|
* Remove unused e_web_view_frame_load_uri().Matthew Barnes2013-07-272-44/+0
|
* Remove unused e_web_view_frame_load_string().Matthew Barnes2013-07-272-46/+0
|
* Remove unused e_web_view_extract_uri().Matthew Barnes2013-07-272-41/+0
|
* EWebView: Initialize WebKitWebSettings internally.Matthew Barnes2013-07-272-63/+43
| | | | | | | | | | | | Don't expose public API for this. Even though it's still possible through the WebKitWebView API, we don't want to encourage setting an arbitrary WebKitWebSettings on an EWebView. Removed functions: e_web_view_set_settings() e_web_view_get_default_settings()
* EWebView cleanups.Matthew Barnes2013-07-271-188/+208
|
* Bug 697575 - ESourceConfig: Avoid calling check_complete() too soonMatthew Barnes2013-07-211-4/+11
| | | | | | | | | | Connect to the GtkComboBox::changed signal after all candidates are added, to avoid calling e_source_config_check_complete() before the candidate has been told to insert widgets. This can cause run-time warnings such as: (evolution:7106): evolution-cal-config-webcal-CRITICAL **: cal_config_webcal_check_complete: assertion `context != NULL' failed
* Bug 704494 - EStockRequest calls into GTK+ from worker threadMatthew Barnes2013-07-201-16/+31
|
* EStockRequest cleanups.Matthew Barnes2013-07-201-91/+91
|
* Bug 704558 - Crash when using -fstack-protector-strongMatthew Barnes2013-07-201-1/+3
| | | | Same issue as in bug 703991, just in a different place.
* EContactStore: Stop book views in a dedicated threadMilan Crha2013-07-171-1/+18
| | | | | | I've got UI freeze in a call of e_book_client_view_stop() on contact store dispose, caused by synchronous D-Bus call. Doing the call in a dedicated thread makes no UI freeze here.
* Remove tree-expanded.xpm and tree-unexpanded.xpm.Matthew Barnes2013-07-133-48/+0
| | | | No longer used.
* ERuleEditor: Remove dead code.Matthew Barnes2013-07-092-161/+0
| | | | | | Unfinished undo framework from ages past. Nice idea I guess, but not worth the complexity.
* Remove nautilus-sendto integration.Matthew Barnes2013-07-085-300/+0
| | | | | | | | nautilus-sendto has been stripped of its usefulness in GNOME 3.8. It no longer has a UI of its own, it just immediately spawns a mail client with a set of files as attachment arguments for a new message. There's no reason for Evolution to be invoking it anymore.
* Miscellaneous cleanups.Matthew Barnes2013-07-076-19/+21
|
* Add e_activity_get_last_known_text().Matthew Barnes2013-07-062-0/+33
| | | | | | | | | | | | | | | | | | | | | | | Evolution is still occasionally getting stuck on shutdown, and although the evolution-shell log domain shows debug messages for activities that are preventing shutdown, they frequently look like this: (evolution:13534): evolution-shell-DEBUG: 5 active 'mail' activities: (evolution:13534): evolution-shell-DEBUG: * (no description) (evolution:13534): evolution-shell-DEBUG: * (no description) (evolution:13534): evolution-shell-DEBUG: * (no description) (evolution:13534): evolution-shell-DEBUG: * (no description) (evolution:13534): evolution-shell-DEBUG: * (no description) I think the lack of descriptions is from CamelOperations popping all their pushed messages, which is correct behavior but doesn't help us debug the problem. e_activity_get_last_known_text() returns the most recent _non-empty_ text value set on the EActivity. So our debug message can fall back to that if the EActivity has no description at shutdown: (evolution:13534): evolution-shell-DEBUG: * (was "blah, blah, blah")
* Remove GalViewFactory.Matthew Barnes2013-07-064-170/+0
| | | | No longer used.
* Remove GalViewFactoryEtable.Matthew Barnes2013-07-064-140/+0
| | | | No longer used.
* GalViewCollection: Load files during instance initialization.Matthew Barnes2013-07-063-249/+249
| | | | | | | | | | | gal_view_collection_new() now takes system and user directory arguments and loads GalViews during instance initialization. Removed functions: gal_view_collection_set_storage_directories() gal_view_collection_load() gal_view_collection_loaded()
* Remove gal_view_collection_add_factory().Matthew Barnes2013-07-062-34/+1
| | | | | | No longer needed. Instead, use g_type_ensure() to ensure the necessary GalView subclasses are registered in the GType system before loading a GalViewCollection. Best place to ensure types is from GClassInitFunc.
* GalViewCollection: We don't need no stinkin' factories!Matthew Barnes2013-07-061-15/+37
| | | | | | | | | Given a type code string from an XML file, find the appropriate GType by traversing the GType hierarchy from GAL_TYPE_VIEW and checking the class structures for a matching type code string. This completely eliminates the need for what's left of GalViewFactory. Now it's just a matter of cleaning up the remains.
* GalViewCollection: Move public members into private section.Matthew Barnes2013-07-063-121/+140
|
* GalViewCollection: Add a private section.Matthew Barnes2013-07-062-0/+14
|
* Use gal_view_collection_get_user_directory() where needed.Matthew Barnes2013-07-061-2/+8
| | | | | | GalViewInstance and EMailPanedView need access. Currently they're just using the public GalViewCollection members directly, but those are about to be sealed up.
* GalViewCollection: Add a "user-directory" property.Matthew Barnes2013-07-062-1/+39
| | | | | | | | | | Just readable for now, but I plan to make it also construct-only. (Despite the precendence, I prefer "user" over "local" for the name.) New functions: gal_view_collection_get_user_directory()
* GalViewCollection: Add a "system-directory" property.Matthew Barnes2013-07-062-0/+55
| | | | | | | | Just readable for now, but I plan to make it also construct-only. New functions: gal_view_collection_get_system_directory()
* GalViewCollection cleanups.Matthew Barnes2013-07-062-71/+52
|
* Remove unused gal_view_collection_set_default_view().Matthew Barnes2013-07-062-13/+0
|
* Remove unused gal_view_collection_copy_view().Matthew Barnes2013-07-062-38/+0
|
* Remove unused gal_view_collection_append().Matthew Barnes2013-07-062-37/+0
|
* Remove unused gal_view_collection_get_view_id_by_index().Matthew Barnes2013-07-062-14/+0
|
* GalViewCollection: Remove "title" member.Matthew Barnes2013-07-062-17/+0
| | | | | | | | It's set by EShellView but not actually used for anything. Removed functions: gal_view_collection_set_title()
* GalViewCollection: Remove unused "display-view" signal.Matthew Barnes2013-07-062-38/+0
| | | | | | Removed functions: gal_view_collection_display_view()
* GalViewFactoryClass: Remove the new_view() method.Matthew Barnes2013-07-063-17/+4
| | | | | GalViewFactory can now use its "gal_view_type" class member to instantiate an appropriate GalView without help from subclasses.
* GalViewFactoryClass: Remove the get_type_code() method.Matthew Barnes2013-07-063-10/+8
| | | | | GalViewFactory can now use its "gal_view_type" class member to peek at the appropriate GalViewClass and return its static "type_code" string.
* GalViewFactoryClass: Add a "gal_view_type" member.Matthew Barnes2013-07-062-0/+3
| | | | | | | This is the GType of the GalView instances the factory creates. Having this information will allow GalViewFactoryClass to do more itself and be less reliant on subclasses.
* GalViewClass: Replace get_type_code() with "type_code" string.Matthew Barnes2013-07-065-52/+24
| | | | | | All GalView subclasses return a static string in their get_type_code() methods, so replace the method with a static string pointer directly in the class structure, and remove the "type-code" GalView property.
* GalViewFactoryEtable: Remove "specification" property.Matthew Barnes2013-07-062-112/+3
| | | | | | | | No longer needed. Removed functions: gal_view_factory_etable_get_specification()
* GalViewEtable: Remove ETableState member.Matthew Barnes2013-07-061-31/+39
| | | | Obtain the ETableState from the attached ETable or ETree as needed.
* Remove gal_view_etable_set_state().Matthew Barnes2013-07-062-15/+0
| | | | No longer used.
* GalViewEtable: Remove ETableSpecification member.Matthew Barnes2013-07-063-57/+59
| | | | | | | Instead, lazily load the state file once an ETable or ETree is attached, since we need its ETableSpecification to create an ETableState instance. This means GalViewFactoryEtable can lose its ETableSpecification too.
* GalViewEtable: Add a private section.Matthew Barnes2013-07-062-45/+60
|
* GalView: Store the title string internally.Matthew Barnes2013-07-065-47/+32
| | | | | This replaces the get_title() and set_title() class methods, since it's silly to defer to subclasses to track a simple string property.
* GalView: Add a private section.Matthew Barnes2013-07-062-0/+13
|
* GalView-related cleanups.Matthew Barnes2013-07-066-97/+76
|
* GalViewFactory: Remove get_title() method.Matthew Barnes2013-07-063-28/+0
| | | | | | | | No longer used. Removed functions: gal_view_factory_get_title()
* GalView: Remove edit() method.Matthew Barnes2013-07-063-62/+0
| | | | | | | | No longer used. Removed functions: gal_view_edit()
* Remove GalViewNewDialog.Matthew Barnes2013-07-066-555/+0
| | | | No longer user.
* Remove GalDefineViewsModel.Matthew Barnes2013-07-066-456/+0
| | | | No longer used.
* Remove GalDefineViewsDialog.Matthew Barnes2013-07-066-710/+0
| | | | No longer used.
* Update evolution-util API docs.Matthew Barnes2013-07-022-3/+2
|
* ETableSpecification: Implement GInitable.Matthew Barnes2013-07-022-61/+154
| | | | | | | | | | | | | | | | e_table_specification_new() now takes a table specification filename and a GError and parses the file as part of instance creation. If a file or parse error occurs, e_table_specification_new() returns NULL. This replaces e_table_specification_load_from_file(). New functions: e_table_specification_get_filename() Removed functions: e_table_specification_load_from_file()
* Remove e_tree_set_state().Matthew Barnes2013-07-022-28/+0
| | | | No longer used.
* Remove e_tree_get_state().Matthew Barnes2013-07-022-23/+0
| | | | No longer used.
* Remove e_table_set_state().Matthew Barnes2013-07-022-28/+0
| | | | No longer used.
* Remove e_table_get_state().Matthew Barnes2013-07-022-22/+0
| | | | No longer used.
* ETableHeaderItem: Avoid e_table_set_state().Matthew Barnes2013-07-021-6/+9
| | | | | | Use e_table_state_duplicate() and e_table_set_state_object(). Similarly for e_tree_set_state().
* Remove e_table_specification_load_from_string().Matthew Barnes2013-07-022-36/+7
| | | | | | | No longer used outside of e-table-specification.c. Its logic is merged into e_table_specification_load_from_file(), but that too will be removed momentarily.
* Remove e_tree_new_from_spec_file().Matthew Barnes2013-07-022-94/+0
| | | | | | Also remove e_tree_construct_from_spec_file(). Use e_tree_new() or e_tree_construct() instead.
* Remove e_table_new_from_spec_file().Matthew Barnes2013-07-022-87/+0
| | | | | | Also remove e_table_construct_from_spec_file(). Use e_table_new() or e_table_construct() instead.
* e_tree_new: Take an ETableSpecification parameter.Matthew Barnes2013-07-022-27/+15
| | | | | Creating an ETableSpecification is failable, so it's now up to the caller to do that and handle errors before calling e_tree_new().
* e_table_new: Take an ETableSpecification parameter.Matthew Barnes2013-07-022-22/+13
| | | | | Creating an ETableSpecification is failable, so it's now up to the caller to do that and handle errors before calling e_table_new().
* Remove ETableWithout.Matthew Barnes2013-07-024-530/+0
| | | | No longer used.
* Remove ETableMemory.Matthew Barnes2013-07-024-360/+0
| | | | No longer used.
* Remove ETableMemoryStore.Matthew Barnes2013-07-024-778/+0
| | | | No longer used.
* ETableConfig: Use ETableColumnSelector.Matthew Barnes2013-07-023-1091/+475
| | | | | The other parts of this UI still look ancient, but this is a good first step. Plus we can remove a number of now-unused ETable-related classes.
* Add ETableColumnSelector.Matthew Barnes2013-07-024-0/+547
| | | | | A new ETable column selection and ordering widget that looks like it was written in the 21st century. Derives from ETreeViewFrame.
* ETreeViewFrame: Fix runtime warning during dispose.Matthew Barnes2013-07-021-6/+2
|
* e_tree_new_from_spec_file: Remove unused "state_fn" parameter.Matthew Barnes2013-07-022-31/+7
|
* 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
|