aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove e_table_column_specification_load_from_node().Matthew Barnes2013-07-023-36/+0
| | | | No longer used.
* Remove e_table_specification_load_from_node().Matthew Barnes2013-07-023-97/+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-023-0/+236
| | | | New parser implementation that uses GMarkupParser instead of libxml2.
* Add e_table_sort_info_parse_context_push/pop().Matthew Barnes2013-07-023-0/+218
| | | | New parser implementation that uses GMarkupParser instead of libxml2.
* ETableSortInfo: Rework API to avoid exposing ETableSortColumn.Matthew Barnes2013-07-0210-396/+549
| | | | | | | | 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-024-10/+25
|
* 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-024-9/+126
| | | | | | | | | | 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-023-0/+16
|
* ETableSortInfo cleanups.Matthew Barnes2013-07-023-202/+204
|
* ETaskShellContent: Remove hard-coded default table state.Matthew Barnes2013-07-021-15/+0
| | | | | | | | I don't remember why E_TASK_TABLE_DEFAULT_STATE was needed when e-calendar-table.etspec already specifies a default ETableState. Some of the column numbers it was referencing weren't even valid. Removing it seems to make no difference in Evolution.
* EMemoShellContent: Remove hard-coded default table state.Matthew Barnes2013-07-021-14/+0
| | | | | | | I don't remember why E_MEMO_TABLE_DEFAULT_STATE was needed when e-memo-table.etspec already specifies a default ETableState. Removing it seems to make no difference in Evolution.
* 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-023-0/+36
| | | | Will eventually replace e_table_header_get_column_by_col_idx().
* ETableCol: Embed an ETableColumnSpecification.Matthew Barnes2013-07-0216-240/+147
| | | | Eliminates a few redundant fields.
* Add e_table_specification_get_column_index().Matthew Barnes2013-07-023-0/+45
| | | | | 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-023-0/+32
| | | | | 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-023-0/+17
|
* Add e_table_specification_ref_columns().Matthew Barnes2013-07-023-1/+31
|
* ETableState: Add a "specification" construct-only property.Matthew Barnes2013-07-028-50/+145
| | | | | | | | | | 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-023-2/+30
|
* e-table-sorting-utils.c cleanups.Matthew Barnes2013-07-022-54/+101
|
* ETableGroupContainer cleanups.Matthew Barnes2013-07-021-13/+22
|
* Bug #689640 - Print Preview of composer text is emptyMilan Crha2013-07-021-0/+26
|
* Bug #703194 - Custom alarm message is REMINDERFabiano Fidêncio2013-07-021-0/+9
|
* Contacts view: Add 'Refresh' into books context menuMilan Crha2013-07-016-1/+92
| | | | Done as part of bug #700894
* Fix typo: appointmenet -> appointmentFabiano Fidêncio2013-06-291-1/+1
|
* Updated Czech translationMarek Černocký2013-06-291-998/+984
|
* Bug #703053 - Error on setting reminder 'after start of appointment'Fabiano Fidêncio2013-06-282-71/+90
| | | | | Check if the client supports setting 'after start' reminder and disable it if necessary (and also disabling 'before end of appoint')
* Bug 703181 - Asked for password which is never usedDavid Woodhouse2013-06-281-9/+27
| | | | | | | When the SASL mechanism reports that it can try an "empty password", give it the opportunity to do so before we demand that the user provide one. (Patch mostly by mbarnes; thanks)
* Bug #699576 - Mail reader frame is black (in the mail view)Milan Crha2013-06-281-2/+7
|
* Set network-available on a CamelSession when going onlineMilan Crha2013-06-271-0/+1
| | | | | | | The network-available property was unset when going offline, but never set again, which caused download of messages for offline use broken, because it downloads for offline only if the network-available is set.
* Remove unused e_table_sort_info_freeze/thaw().Matthew Barnes2013-06-263-62/+2
|
* Remove unused e_table_column_specification_save_to_node().Matthew Barnes2013-06-263-34/+0
|
* Remove unused e_table_specification_save_to_node().Matthew Barnes2013-06-263-68/+0
|
* Remove unused e_table_specification_save_to_string().Matthew Barnes2013-06-263-34/+0
|
* Remove unused e_table_specification_duplicate().Matthew Barnes2013-06-263-30/+0
|
* Remove unused e_table_specification_save_to_file().Matthew Barnes2013-06-263-36/+0
|
* ETableState cleanups.Matthew Barnes2013-06-262-53/+40
|
* ETableSpecification cleanups.Matthew Barnes2013-06-262-112/+107
|
* Updated Spanish translationDaniel Mustieles2013-06-261-37/+38
|
* EMailPrintConfigHeaders: Derive from ETreeViewFrame.Matthew Barnes2013-06-262-423/+55
| | | | | EMailPrintConfigHeaders is pretty simple now that we delegate most of the meat and potatoes tree view handling to our new parent class.
* Add ETreeViewFrame.Matthew Barnes2013-06-268-0/+1723
| | | | | | | | | | | | 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
* Updated Spanish translationDaniel Mustieles2013-06-251-195/+140
|
* Bug #641711 - Crash in remove_queued_alarmMilan Crha2013-06-251-7/+23
|
* Updated Spanish translationDaniel Mustieles2013-06-241-597/+801
|
* Updated Spanish translationDaniel Mustieles2013-06-241-487/+479
|
* 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.
* User docs: Uncomment and update debugging filters as per bug 669471 comment 11Andre Klapper2013-06-241-6/+2
|
* 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-245-85/+42
| | | | | | | | 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
|
* More consistent error messages for missing opt dependencies.Matthew Barnes2013-06-231-48/+77
|
* User docs: Add license file legal.xml to Makefile.amAndre Klapper2013-06-231-0/+1
|
* User docs: Add useful section link titles for sections of the "account ↵Andre Klapper2013-06-2310-14/+155
| | | | | | | | management" guides This avoids having ten undistinguishable links to with exactly the same names in the 'More Information' section at the bottom of the Yelp help browser for all those Account Management topic pages. Instead they know mention which account type they specifically link to. Thanks to Kat and Shaun for the help.
* User docs: Use IMAP+ instead of IMAP for consistencyAndre Klapper2013-06-231-3/+3
|
* User docs: Add useful section link title for IMAP Advanced Mail Management ↵Andre Klapper2013-06-231-1/+4
| | | | so you don't only see 'IMAP' as link title at the bottom of the 'IMAP Subscriptions' page
* User docs: Fix typo in IDAndre Klapper2013-06-231-1/+1
|
* User docs: Remove whitespace at end of fileAndre Klapper2013-06-231-5/+0
|
* User docs: Section IDs must be unique project-wide, not only per fileAndre Klapper2013-06-2310-20/+20
|
* User docs: Fix validation in intro-application.pageDavid King2013-06-231-1/+1
| | | | Inline link elements do not have a type attribute.
* User docs: Do not use plus character in IDs so it validatesAndre Klapper2013-06-231-2/+2
|
* User docs: Make IDs uniqueAndre Klapper2013-06-231-3/+3
|
* User docs: Make IDs uniqueAndre Klapper2013-06-231-2/+2
|
* User docs: Make IDs uniqueAndre Klapper2013-06-231-12/+12
|
* User docs: Fix markupAndre Klapper2013-06-231-2/+2
|
* Add useful section link title for help pageEkaterina Gerasimova2013-06-231-1/+4
|
* User docs: Add missing markupAndre Klapper2013-06-221-2/+2
|
* User docs: Embed the license from legal.xml instead of having it manually ↵Andre Klapper2013-06-22208-621/+629
| | | | written in the file
* User docs: Embed account type configuration instructions on First Run Wizard ↵Andre Klapper2013-06-2212-81/+177
| | | | | | | | page. The instructions per account are collapsed by default and expandable in clients that support ui: (like recent Yelp versions). This requires turning the <list> of account types on intro-first-run.page into <section>s as ui:expandable is not supported inside of <list> elements. Embedding directly does not require users to follow "Click here for configuration instructions for this account" links anymore, that we get rid of "Click here to get to next step if you came from the First Run Wizard help page" sections at the bottom of each account type configuration page.
* User docs: Rephrase section headings so the links at the bottom of Yelp are ↵Andre Klapper2013-06-221-3/+3
| | | | descriptive
* User docs: Use unordered list for SMTP configuration steps as for receiving ↵Andre Klapper2013-06-221-5/+5
| | | | types
* User docs: Remove duplicated hintAndre Klapper2013-06-221-3/+2
|
* EMFolderTreeModel: Listen for "folder-info-stale" signals.Matthew Barnes2013-06-222-0/+20
| | | | | The signal indicates the folder tree for a particular store needs to be reconstructed. We do this by calling em_folder_tree_model_add_store().
* EMFolderTreeModel cleanups.Matthew Barnes2013-06-222-50/+73
|
* Bug 702710 - MessageList: Delay state capture for regen.Matthew Barnes2013-06-222-94/+127
| | | | | | | | Delay capturing MessageList state for a regen operation until the idle callback, so the caller has a chance to configure the MessageList first. Also, move the CamelFolderThread into the private structure and provide thread-safe internal accessor functions for it.
* MessageList cleanups.Matthew Barnes2013-06-221-29/+36
|
* Fix typo in org.gnome.evolution.mail.gschema.xml.in.Matthew Barnes2013-06-221-1/+1
|
* Bug 702664 - Settings migration issue from "headers" to "show-headers"Matthew Barnes2013-06-213-3/+10
| | | | | Give the "show-headers" key a proper default value, and watch out for an empty "headers" key, which is supposed to imply that default value.
* Calendar views inline text edit with Ctrl+C/V/X does not workMilan Crha2013-06-2128-22/+559
| | | | | | | | 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.
* extended_g_node_insert_before: Small correction.Matthew Barnes2013-06-211-0/+1
|
* Bug 702796 - Work around GNode's O(N) tail insertionsMatthew Barnes2013-06-211-5/+117
|
* User docs: Embed expandable instructions on how to restore from backup ↵Andre Klapper2013-06-211-3/+13
| | | | directly in first-run page instead of making users click to go to 'Backup/Restore' page. Hey, it's 2013.
* User docs: Use XInclude for one more occasion of the same stringsAndre Klapper2013-06-211-5/+3
|
* User docs: Use descriptive links, avoid 'click here'Andre Klapper2013-06-211-2/+2
|
* User docs: Add TODO that screenshot is likely outdated; add seealso link to ↵Andre Klapper2013-06-211-1/+3
| | | | calendar alarms page
* User docs: Rephrase to make clearer that file covers adding address booksAndre Klapper2013-06-211-3/+3
|
* User docs: Remove detail information unneeded at this stageAndre Klapper2013-06-211-5/+9
|
* ETableSorter: Further cleanups.Matthew Barnes2013-06-212-359/+347
|
* ESorterArray: Further cleanups.Matthew Barnes2013-06-213-164/+145
|
* Convert ESorter to an interface.Matthew Barnes2013-06-217-294/+232
|
* Update ETree API documentation.Matthew Barnes2013-06-211-9/+9
|
* Remove e_tree_view_to_model_row().Matthew Barnes2013-06-213-14/+0
| | | | Now that ETree no longer has an ESorter, this function is silly.
* Remove e_sorter_new().Matthew Barnes2013-06-214-21/+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-213-91/+0
|
* Remove unused e_tree_get_tooltip().Matthew Barnes2013-06-213-11/+0
|
* Remove unused e_tree_model_to_view_row().Matthew Barnes2013-06-213-15/+0
|
* Remove unused e_tree_get_prev_row().Matthew Barnes2013-06-213-21/+0
|
* Remove unused e_tree_get_next_row().Matthew Barnes2013-06-213-30/+0
|
* Remove unused e_tree_get_printable().Matthew Barnes2013-06-213-10/+0
|
* Remove unused e_tree_load_state().Matthew Barnes2013-06-213-29/+0
|
* Remove unused e_tree_set_search_column().Matthew Barnes2013-06-213-26/+0
|
* Remove unused e_tree_save_state().Matthew Barnes2013-06-213-22/+0
|
* Remove e_tree_row_count().Matthew Barnes2013-06-214-57/+67
| | | | | | | 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-214-19/+9
| | | | | | | 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-214-18/+3
| | | | | | | 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-214-12/+6
| | | | | | | 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-214-14/+5
| | | | | | | 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-214-13/+4
| | | | | | | 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-213-12/+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-213-10/+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-214-15/+7
| | | | | | | 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-214-19/+8
| | | | | | | 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-214-17/+6
| | | | | | | 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-213-15/+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-213-14/+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-214-20/+13
| | | | | | | 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-213-10/+0
|
* Remove unused e_tree_drag_unhighlight().Matthew Barnes2013-06-213-14/+0
|
* Remove unused e_tree_drag_highlight().Matthew Barnes2013-06-213-66/+0
|
* Remove unused e_tree_drag_get_data().Matthew Barnes2013-06-213-26/+0
| | | | It just calls gtk_drag_get_data() anyway.
* Remove unused e_tree_drag_dest_unset().Matthew Barnes2013-06-213-19/+0
| | | | It just calls gtk_drag_dest_unset() anyway.
* Remove unused e_tree_drag_dest_set_proxy().Matthew Barnes2013-06-213-20/+0
| | | | It just calls gtk_drag_dest_set_proxy() anyway.
* Remove e_tree_drag_dest_set().Matthew Barnes2013-06-214-27/+7
| | | | Reducing API bloat. Call gtk_drag_dest_set() directly instead.
* Remove e_tree_selected_path_foreach().Matthew Barnes2013-06-214-19/+6
| | | | | | | 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-214-18/+3
| | | | | | | 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
|
* Bug #693216 - Email type is changed to other after mergingMilan Crha2013-06-201-72/+112
|
* Updated Norwegian bokmål translationKjartan Maraas2013-06-201-757/+783
|
* Make is_node_selectable() easier to debug.Matthew Barnes2013-06-201-4/+5
|
* build_tree: Fix indentation.Matthew Barnes2013-06-201-21/+22
|
* Remove unused e_bit_array_invert_selection().Matthew Barnes2013-06-203-22/+0
|
* Remove unused e_selection_model_invert_selection().Matthew Barnes2013-06-205-74/+0
|
* Remove unused e_table_invert_selection().Matthew Barnes2013-06-203-16/+0
|
* Remove unused message_list_invert_selection().Matthew Barnes2013-06-202-17/+0
|
* MessageList: Fix an unused variable warning.Matthew Barnes2013-06-201-1/+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-204-0/+34
| | | | | Returns the total number of nodes in the tree model, including hidden nodes in collapsed tree branches.
* Bug #386113 - Show custom alarm message in pop-up alertsMilan Crha2013-06-191-2/+36
|
* Update evolution-util API docs.Matthew Barnes2013-06-191-4/+4
|
* ETreeTableAdapter cleanups.Matthew Barnes2013-06-193-285/+471
| | | | | | | | | | | | | 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-1920-295/+415
| | | | Similar to what was recently done to ETreeModel.
* ETable-related cleanups.Matthew Barnes2013-06-1934-2681/+2752
|
* Remove unused ETableMemoryCallbacks.Matthew Barnes2013-06-197-413/+25
|
* Remove unused ETableMemoryStoreCustomColumn.Matthew Barnes2013-06-192-13/+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
|
* Bug 702454 - EMailBrowser fails to show messageMatthew Barnes2013-06-171-37/+44
| | | | | | | | | | | | | | This reworks the MessageList regen scheduling to be a little more intuitive, at least to me. We now set the RegenData immediately, but start the actual regen operation from an idle callback. That way the caller has the remainder of this main loop iteration to make further MessageList changes without triggering additional regens. I think what was happening before was we were triggering multiple regen operations as we were configuring the EMailBrowser, with each new regen cancelling the previous, and the message UID to select wound up getting paired with one of the cancelled regen operations. This resulted in no message UID ever getting selected in the EMailBrowser.
* MessageList: Move more RegenData initialization into regen_data_new().Matthew Barnes2013-06-171-45/+53
|
* Updated German translationBenjamin Steinwender2013-06-171-2187/+2179
|
* Post-release version bump.Matthew Barnes2013-06-161-1/+1
|
* NEWS update for 3.9.3 release.EVOLUTION_3_9_3Matthew Barnes2013-06-161-0/+43
|
* Remove e_tree_model_node_is_editable().Matthew Barnes2013-06-165-43/+1
| | | | It always returned FALSE.
* Remove e_tree_model_set_value_at().Matthew Barnes2013-06-165-38/+1
| | | | Was never called.
* Remove e_tree_model_has_get_node_by_id().Matthew Barnes2013-06-166-39/+5
| | | | It always returned TRUE.
* Remove e_tree_model_has_save_id().Matthew Barnes2013-06-167-37/+2
| | | | It always returned TRUE.
* Remove e_tree_model_icon_at().Matthew Barnes2013-06-165-73/+3
| | | | It always returned NULL.
* Convert ETreeModel to an interface.Matthew Barnes2013-06-1614-1857/+950
| | | | | | | | | | | | | | | | 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-165-35/+15
| | | | | | 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-164-34/+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-153-15/+0
|
* Remove unused e_tree_model_node_request_collapse().Matthew Barnes2013-06-154-53/+0
|
* Remove unused e_tree_model_node_col_changed().Matthew Barnes2013-06-155-78/+0
|
* Remove unused e_tree_model_no_change().Matthew Barnes2013-06-155-56/+0
|
* Remove unused e_tree_model_node_traverse_preorder().Matthew Barnes2013-06-153-41/+0
|
* Remove unused e_tree_model_node_get_prev().Matthew Barnes2013-06-154-37/+0
|
* Remove unused e_tree_model_node_get_last_child().Matthew Barnes2013-06-154-38/+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-153-15/+0
|
* Remove unused e_tree_memory_construct().Matthew Barnes2013-06-153-13/+0
|
* Remove unused e_tree_memory_set_node_destroy_func().Matthew Barnes2013-06-153-19/+0
|
* Remove unused e_tree_memory_sort_node().Matthew Barnes2013-06-153-88/+0
|
* Remove unused e_tree_memory_node_insert_before().Matthew Barnes2013-06-153-41/+0
|
* Remove unused e_tree_memory_node_insert_id().Matthew Barnes2013-06-153-16/+0
|
* Remove unused ETreeSorted.Matthew Barnes2013-06-157-1568/+0
|
* Remove em_utils_uids_free().Matthew Barnes2013-06-153-35/+0
| | | | No longer used. We actually had this defined in two places.
* Remove em_utils_uids_copy().Matthew Barnes2013-06-152-27/+0
| | | | No longer used.
* Avoid em_utils_uids_free() in other places.Matthew Barnes2013-06-152-4/+5
|
* message_list_get_selected: Give the returned array a free func.Matthew Barnes2013-06-1511-89/+58
| | | | | | The returned UID array now has a built-in "free" function for its elements and should be released by callers with g_ptr_array_unref() rather than em_utils_uids_free() or some equivalent.
* MessageList: Further cleanups.Matthew Barnes2013-06-151-295/+358
|
* Remove unused message_list_get_uids().Matthew Barnes2013-06-152-23/+0
|
* mdn: Fix a runtime warning.Matthew Barnes2013-06-151-4/+4
|
* Add e_mail_reader_ref_folder().Matthew Barnes2013-06-1513-240/+377
| | | | Replaces e_mail_reader_get_folder().
* MessageList: Add a "group-by-threads" property.Matthew Barnes2013-06-153-47/+99
| | | | | | | | | Bind this to EMailReader's "group-by-threads" property. New functions: message_list_get_group_by_threads() message_list_set_group_by_threads()
* MessageList: Remove public 'hidejunk' and 'hidedeleted' flags.Matthew Barnes2013-06-153-76/+91
| | | | | | | | | Add internal functions to compute these as needed based on a given CamelFolder. Removed functions: message_list_set_hidedeleted()
* MessageList: Add a "show-deleted" property.Matthew Barnes2013-06-153-0/+61
| | | | | | | | | Bind this to the "show-deleted" GSettings key. New functions: message_list_get_show_deleted() message_list_set_show_deleted()
* MessageList: Add a "folder" property.Matthew Barnes2013-06-155-119/+279
| | | | | | | | Also move the CamelFolder pointer into the private structure. New functions: message_list_ref_folder()
* MessageList: Add a "thread-latest" property.Matthew Barnes2013-06-143-6/+56
| | | | Bind this to the "thread-latest" GSettings key.
* ESettingsMessageList: Apply the "thread-expanded" setting.Matthew Barnes2013-06-142-28/+31
|
* MessageList: Add a "thread-subject" property.Matthew Barnes2013-06-143-14/+67
| | | | Bind this to the "thread-subject" GSettings key.
* Make MessageList extensible.Matthew Barnes2013-06-145-0/+172
| | | | | | Also add a placeholder ESettingsMessageList extension. Going to clean out some of the direct GSettings usage in MessageList by adding GObject properties and binding them to GSettings keys from the extension.
* Remove global "shell_builtin_backend" variable.Matthew Barnes2013-06-143-16/+0
| | | | No longer used. Always nice to remove a dirty hack on a dirty hack.
* em_utils_is_re_in_subject: Remove unused 'shell' parameter.Matthew Barnes2013-06-144-17/+11
|
* message_list_regen_done_cb: Fix a runtime warning.Matthew Barnes2013-06-141-11/+9
| | | | | | | Make sure we're using our own RegenData structure. Still clear the reference on the private structure if it matches what we get from our GSimpleAsyncResult. The idea is to ensure we have exclusive access to it so we don't have to worry about locking, etc.
* message_list_set_folder: Remove unused "outgoing" parameter.Matthew Barnes2013-06-133-21/+6
|
* Remove unused MESSAGE_LIST_LOCK / MESSAGE_LOCK_UNLOCK macros.Matthew Barnes2013-06-131-3/+0
| | | | Whatever those macros were once used for was surely evil.
* Remove message_list_ensure_message().Matthew Barnes2013-06-132-25/+1
| | | | No longer used. Looks like a relic of some nasty hack.
* Reimplement mail_regen_list().Matthew Barnes2013-06-131-400/+654
| | | | | Reimplement the function to use an EActivity and GSimpleAsyncResult instead of the legacy async framework in mail-mt.c.
* MessageList: Move regen-related members into private struct.Matthew Barnes2013-06-132-46/+54
|
* MessageList: Remove dead code.Matthew Barnes2013-06-131-307/+9
| | | | | | BROKEN_ETREE is defined and SMART_ADDRESS_COMPARE is not defined. That's not going to change, so remove the dead conditional code. Also remove "#if 0" chunks that lack a comment explaining why.
* Updated Lithuanian translationAurimas Černius2013-06-131-2172/+2205
|
* Updated Spanish translationDaniel Mustieles2013-06-121-237/+266
|
* ECalShellView: Disconnect "prepare-for-quit" handler on dispose().Matthew Barnes2013-06-113-1/+16
| | | | | | This is another source of crashes after creating and destroying a second shell window. The signal handler was left connected with the destroyed shell window as the closure.
* ECalShellView cleanups.Matthew Barnes2013-06-111-55/+57
|
* Reimplement the main toolbar's "prefer-item" feature.Matthew Barnes2013-06-115-126/+52
| | | | | | | | | | | | | | | | This fixes a bug in the old implementation where the application could crash after a second shell window was created and destroyed, because a signal handler with the destroyed shell window as the closure was left connected. But moreover this simplifies the implementation by using a property binding plus transform function instead of juggling signal handlers, and also adds code comments where things get a little tricky. Removed (now unused) functions: e_shell_window_get_toolbar_new_prefer_item e_shell_window_set_toolbar_new_prefer_item
* EMenuToolButton cleanups.Matthew Barnes2013-06-112-33/+38
|
* ETaskShellSidebar: Update selector rows after restoring state.Matthew Barnes2013-06-111-0/+6
| | | | | | | | | Call e_source_selector_update_all_rows() after connecting to the selector tree model's "row-changed" signal. This will ensure the appropriate ECalClients get loaded into the ECalModel. This fixes the bug where opening a second Tasks window shows no content until one of the sidebar items is fiddled with.
* EMemoShellSidebar: Update selector rows after restoring state.Matthew Barnes2013-06-111-0/+6
| | | | | | | | | Call e_source_selector_update_all_rows() after connecting to the selector tree model's "row-changed" signal. This will ensure the appropriate ECalClients get loaded into the ECalModel. This fixes the bug where opening a second Memos window shows no content until one of the sidebar items is fiddled with.
* ECalShellSidebar: Update selector rows after restoring state.Matthew Barnes2013-06-111-0/+6
| | | | | | | | | Call e_source_selector_update_all_rows() after connecting to the selector tree model's "row-changed" signal. This will ensure the appropriate ECalClients get loaded into the ECalModel. This fixes the bug where opening a second Calendar window shows no content until one of the sidebar items is fiddled with.
* Add e_source_selector_update_all_rows().Matthew Barnes2013-06-113-0/+34
| | | | | Calls e_source_selector_update_row() for each ESource being shown by the ESourceSelector, according to the "extension-name" property.
* Updated Galician translationsFran Diéguez2013-06-101-205/+233
|
* Bug 701669 - Bad assumption in prefer-plain moduleMatthew Barnes2013-06-081-2/+7
| | | | | | | | | | | | | | | For messages with a base MIME type of multipart/alternative, we were hiding text/plain subparts based on the number of alternate subparts. This assumption of course broke on a message with the following body structure and a Plain Text Mode preference of "Show HTML if present": multipart/alternative text/plain text/plain Instead, note when we've actually seen a text/html subpart and use that to decide whether to hide the text/plain parts.
* EMailParserPreferPlain cleanups.Matthew Barnes2013-06-081-24/+31
|
* EMailFormatter: Remove the header API.Matthew Barnes2013-06-084-385/+2
| | | | Use the EMailPartHeaders API instead.
* EMailFormatterQuoteHeaders: Avoid EMailFormatter header API.Matthew Barnes2013-06-081-27/+19
| | | | | Use e_mail_part_headers_dup_default_headers() to extract specific headers to show in the desired order.
* EMailFormatterHeaders: Avoid EMailFormatter header API.Matthew Barnes2013-06-081-66/+67
| | | | | Use e_mail_part_headers_dup_default_headers() to extract specific headers to show in the desired order.
* Add EMailPrintConfigHeaders.Matthew Barnes2013-06-086-530/+810
| | | | | | | | | | | | | | | | This splits the print dialog's "Headers" tab into a separate widget. EMailPrintConfigHeaders takes an EMailPartHeaders and displays its print model, which is a representation of all message headers (except subject) with an on/off flag for each. The headers can be toggled and reordered, and the changes are written back to the print model. During printing, EMailFormatterPrintHeaders uses the same print model to determine which headers to show and in what order (except subject). This approach is much saner than the old method, which was trying to manipulate WebKitWebView DOM directly to toggle and reorder headers. This approach also happens to work, whereas the old method did not.
* Add e_mail_part_headers_ref_print_model().Matthew Barnes2013-06-083-0/+166
| | | | | | | | Returns a GtkTreeModel of header names and values and visibility flags, built from the CamelMimeMessage. The tree model rows can be reordered and toggled prior to printing. Also add e_mail_part_headers_is_default() as a handy helper.
* EMailPartHeaders: Add a "default-headers" property.Matthew Barnes2013-06-088-2/+341
| | | | | | | | | This will replace the headers API in EMailFormatter. Need a more permanent place for headers since EMailFormatter is too disposable. Also add an ESettingsMailPartHeaders class, which binds the new property to the "show-headers" setting with a suitable mapping function to filter out disabled header names.
* Make EMailPart and its subclasses extensible.Matthew Barnes2013-06-081-2/+14
|
* EMailFormatterQuoteHeaders cleanups.Matthew Barnes2013-06-081-27/+57
|
* EMailFormatterHeaders cleanups.Matthew Barnes2013-06-082-43/+58
|
* e_mail_formatter_format_header: Split the header param.Matthew Barnes2013-06-074-36/+41
| | | | | | Split the _camel_header_raw struct parameter into separate "header_name" and "header_value" string parameters, which is all the function actually needs to work.
* e_mail_formatter_format_header: Remove unused CamelMedium param.Matthew Barnes2013-06-074-15/+8
|
* Bug #555130 - Redesign task editorMilan Crha2013-06-068-1430/+884
|
* Updated Spanish translationDaniel Mustieles2013-06-061-37/+56
|
* Updated Galician translationsFran Diéguez2013-06-061-387/+425
|
* Updated Spanish translationDaniel Mustieles2013-06-061-142/+176
|
* EMailPart: Add "part-list" property.Matthew Barnes2013-06-064-2/+64
| | | | | | | | | | This is a weak reference to the EMailPartList to which the EMailPart has been added. The property is set by e_mail_part_list_add_part(). New functions: e_mail_part_ref_part_list() e_mail_part_set_part_list()
* Remove EMailReaderHeader struct.Matthew Barnes2013-06-062-122/+0
| | | | | | | | | | No longer used. Also remove related helper functions: e_mail_reader_header_from_xml() e_mail_reader_header_to_xml() e_mail_reader_header_free()
* Add "show-headers" settings key.Matthew Barnes2013-06-064-100/+243
| | | | | | | Replaces the "headers" key. Whereas "headers" is an array of XML blobs, the "show-headers" key is an array of string/boolean pairs. Also update the appropriate places to get/set the new key.
* ESettingsDeprecated: Fix missing handler ID assignment.Matthew Barnes2013-06-061-0/+1
|