Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | ETableSortInfo: Add a "specification" construct-only property. | Matthew Barnes | 2013-07-02 | 4 | -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 Barnes | 2013-07-02 | 3 | -0/+16 |
| | |||||
* | ETableSortInfo cleanups. | Matthew Barnes | 2013-07-02 | 3 | -202/+204 |
| | |||||
* | ETaskShellContent: Remove hard-coded default table state. | Matthew Barnes | 2013-07-02 | 1 | -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 Barnes | 2013-07-02 | 1 | -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 Barnes | 2013-07-02 | 6 | -116/+170 |
| | |||||
* | Add e_table_header_get_column_by_spec(). | Matthew Barnes | 2013-07-02 | 3 | -0/+36 |
| | | | | Will eventually replace e_table_header_get_column_by_col_idx(). | ||||
* | ETableCol: Embed an ETableColumnSpecification. | Matthew Barnes | 2013-07-02 | 16 | -240/+147 |
| | | | | Eliminates a few redundant fields. | ||||
* | Add e_table_specification_get_column_index(). | Matthew Barnes | 2013-07-02 | 3 | -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 Barnes | 2013-07-02 | 3 | -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 Barnes | 2013-07-02 | 3 | -10/+5 |
| | |||||
* | ETableSpecification: Make the columns array private. | Matthew Barnes | 2013-07-02 | 5 | -80/+133 |
| | | | | Use e_table_specification_ref_columns() to access column specs. | ||||
* | ETableSpecification: Add a private section. | Matthew Barnes | 2013-07-02 | 3 | -0/+17 |
| | |||||
* | Add e_table_specification_ref_columns(). | Matthew Barnes | 2013-07-02 | 3 | -1/+31 |
| | |||||
* | ETableState: Add a "specification" construct-only property. | Matthew Barnes | 2013-07-02 | 8 | -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 Barnes | 2013-07-02 | 3 | -2/+30 |
| | |||||
* | e-table-sorting-utils.c cleanups. | Matthew Barnes | 2013-07-02 | 2 | -54/+101 |
| | |||||
* | ETableGroupContainer cleanups. | Matthew Barnes | 2013-07-02 | 1 | -13/+22 |
| | |||||
* | Bug #689640 - Print Preview of composer text is empty | Milan Crha | 2013-07-02 | 1 | -0/+26 |
| | |||||
* | Bug #703194 - Custom alarm message is REMINDER | Fabiano Fidêncio | 2013-07-02 | 1 | -0/+9 |
| | |||||
* | Contacts view: Add 'Refresh' into books context menu | Milan Crha | 2013-07-01 | 6 | -1/+92 |
| | | | | Done as part of bug #700894 | ||||
* | Fix typo: appointmenet -> appointment | Fabiano Fidêncio | 2013-06-29 | 1 | -1/+1 |
| | |||||
* | Updated Czech translation | Marek Černocký | 2013-06-29 | 1 | -998/+984 |
| | |||||
* | Bug #703053 - Error on setting reminder 'after start of appointment' | Fabiano Fidêncio | 2013-06-28 | 2 | -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 used | David Woodhouse | 2013-06-28 | 1 | -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 Crha | 2013-06-28 | 1 | -2/+7 |
| | |||||
* | Set network-available on a CamelSession when going online | Milan Crha | 2013-06-27 | 1 | -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 Barnes | 2013-06-26 | 3 | -62/+2 |
| | |||||
* | Remove unused e_table_column_specification_save_to_node(). | Matthew Barnes | 2013-06-26 | 3 | -34/+0 |
| | |||||
* | Remove unused e_table_specification_save_to_node(). | Matthew Barnes | 2013-06-26 | 3 | -68/+0 |
| | |||||
* | Remove unused e_table_specification_save_to_string(). | Matthew Barnes | 2013-06-26 | 3 | -34/+0 |
| | |||||
* | Remove unused e_table_specification_duplicate(). | Matthew Barnes | 2013-06-26 | 3 | -30/+0 |
| | |||||
* | Remove unused e_table_specification_save_to_file(). | Matthew Barnes | 2013-06-26 | 3 | -36/+0 |
| | |||||
* | ETableState cleanups. | Matthew Barnes | 2013-06-26 | 2 | -53/+40 |
| | |||||
* | ETableSpecification cleanups. | Matthew Barnes | 2013-06-26 | 2 | -112/+107 |
| | |||||
* | Updated Spanish translation | Daniel Mustieles | 2013-06-26 | 1 | -37/+38 |
| | |||||
* | EMailPrintConfigHeaders: Derive from ETreeViewFrame. | Matthew Barnes | 2013-06-26 | 2 | -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 Barnes | 2013-06-26 | 8 | -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 translation | Daniel Mustieles | 2013-06-25 | 1 | -195/+140 |
| | |||||
* | Bug #641711 - Crash in remove_queued_alarm | Milan Crha | 2013-06-25 | 1 | -7/+23 |
| | |||||
* | Updated Spanish translation | Daniel Mustieles | 2013-06-24 | 1 | -597/+801 |
| | |||||
* | Updated Spanish translation | Daniel Mustieles | 2013-06-24 | 1 | -487/+479 |
| | |||||
* | Notify user about question dialogs | Milan Crha | 2013-06-24 | 1 | -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 11 | Andre Klapper | 2013-06-24 | 1 | -6/+2 |
| | |||||
* | EUrlEntry: Try harder to recognize a valid URL. | Matthew Barnes | 2013-06-24 | 1 | -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 Barnes | 2013-06-24 | 5 | -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 Barnes | 2013-06-24 | 2 | -90/+76 |
| | |||||
* | More consistent error messages for missing opt dependencies. | Matthew Barnes | 2013-06-23 | 1 | -48/+77 |
| | |||||
* | User docs: Add license file legal.xml to Makefile.am | Andre Klapper | 2013-06-23 | 1 | -0/+1 |
| | |||||
* | User docs: Add useful section link titles for sections of the "account ↵ | Andre Klapper | 2013-06-23 | 10 | -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 consistency | Andre Klapper | 2013-06-23 | 1 | -3/+3 |
| | |||||
* | User docs: Add useful section link title for IMAP Advanced Mail Management ↵ | Andre Klapper | 2013-06-23 | 1 | -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 ID | Andre Klapper | 2013-06-23 | 1 | -1/+1 |
| | |||||
* | User docs: Remove whitespace at end of file | Andre Klapper | 2013-06-23 | 1 | -5/+0 |
| | |||||
* | User docs: Section IDs must be unique project-wide, not only per file | Andre Klapper | 2013-06-23 | 10 | -20/+20 |
| | |||||
* | User docs: Fix validation in intro-application.page | David King | 2013-06-23 | 1 | -1/+1 |
| | | | | Inline link elements do not have a type attribute. | ||||
* | User docs: Do not use plus character in IDs so it validates | Andre Klapper | 2013-06-23 | 1 | -2/+2 |
| | |||||
* | User docs: Make IDs unique | Andre Klapper | 2013-06-23 | 1 | -3/+3 |
| | |||||
* | User docs: Make IDs unique | Andre Klapper | 2013-06-23 | 1 | -2/+2 |
| | |||||
* | User docs: Make IDs unique | Andre Klapper | 2013-06-23 | 1 | -12/+12 |
| | |||||
* | User docs: Fix markup | Andre Klapper | 2013-06-23 | 1 | -2/+2 |
| | |||||
* | Add useful section link title for help page | Ekaterina Gerasimova | 2013-06-23 | 1 | -1/+4 |
| | |||||
* | User docs: Add missing markup | Andre Klapper | 2013-06-22 | 1 | -2/+2 |
| | |||||
* | User docs: Embed the license from legal.xml instead of having it manually ↵ | Andre Klapper | 2013-06-22 | 208 | -621/+629 |
| | | | | written in the file | ||||
* | User docs: Embed account type configuration instructions on First Run Wizard ↵ | Andre Klapper | 2013-06-22 | 12 | -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 Klapper | 2013-06-22 | 1 | -3/+3 |
| | | | | descriptive | ||||
* | User docs: Use unordered list for SMTP configuration steps as for receiving ↵ | Andre Klapper | 2013-06-22 | 1 | -5/+5 |
| | | | | types | ||||
* | User docs: Remove duplicated hint | Andre Klapper | 2013-06-22 | 1 | -3/+2 |
| | |||||
* | EMFolderTreeModel: Listen for "folder-info-stale" signals. | Matthew Barnes | 2013-06-22 | 2 | -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 Barnes | 2013-06-22 | 2 | -50/+73 |
| | |||||
* | Bug 702710 - MessageList: Delay state capture for regen. | Matthew Barnes | 2013-06-22 | 2 | -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 Barnes | 2013-06-22 | 1 | -29/+36 |
| | |||||
* | Fix typo in org.gnome.evolution.mail.gschema.xml.in. | Matthew Barnes | 2013-06-22 | 1 | -1/+1 |
| | |||||
* | Bug 702664 - Settings migration issue from "headers" to "show-headers" | Matthew Barnes | 2013-06-21 | 3 | -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 work | Milan Crha | 2013-06-21 | 28 | -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 Barnes | 2013-06-21 | 1 | -4/+9 |
| | | | | ETree does not provide one anymore. | ||||
* | extended_g_node_insert_before: Small correction. | Matthew Barnes | 2013-06-21 | 1 | -0/+1 |
| | |||||
* | Bug 702796 - Work around GNode's O(N) tail insertions | Matthew Barnes | 2013-06-21 | 1 | -5/+117 |
| | |||||
* | User docs: Embed expandable instructions on how to restore from backup ↵ | Andre Klapper | 2013-06-21 | 1 | -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 strings | Andre Klapper | 2013-06-21 | 1 | -5/+3 |
| | |||||
* | User docs: Use descriptive links, avoid 'click here' | Andre Klapper | 2013-06-21 | 1 | -2/+2 |
| | |||||
* | User docs: Add TODO that screenshot is likely outdated; add seealso link to ↵ | Andre Klapper | 2013-06-21 | 1 | -1/+3 |
| | | | | calendar alarms page | ||||
* | User docs: Rephrase to make clearer that file covers adding address books | Andre Klapper | 2013-06-21 | 1 | -3/+3 |
| | |||||
* | User docs: Remove detail information unneeded at this stage | Andre Klapper | 2013-06-21 | 1 | -5/+9 |
| | |||||
* | ETableSorter: Further cleanups. | Matthew Barnes | 2013-06-21 | 2 | -359/+347 |
| | |||||
* | ESorterArray: Further cleanups. | Matthew Barnes | 2013-06-21 | 3 | -164/+145 |
| | |||||
* | Convert ESorter to an interface. | Matthew Barnes | 2013-06-21 | 7 | -294/+232 |
| | |||||
* | Update ETree API documentation. | Matthew Barnes | 2013-06-21 | 1 | -9/+9 |
| | |||||
* | Remove e_tree_view_to_model_row(). | Matthew Barnes | 2013-06-21 | 3 | -14/+0 |
| | | | | Now that ETree no longer has an ESorter, this function is silly. | ||||
* | Remove e_sorter_new(). | Matthew Barnes | 2013-06-21 | 4 | -21/+1 |
| | | | | | | ESorter itself does nothing useful, so there's no reason to create one. ESorter should really be an interface. | ||||
* | ESorter cleanups. | Matthew Barnes | 2013-06-21 | 2 | -79/+72 |
| | |||||
* | Remove unused e_tree_find_next(). | Matthew Barnes | 2013-06-21 | 3 | -91/+0 |
| | |||||
* | Remove unused e_tree_get_tooltip(). | Matthew Barnes | 2013-06-21 | 3 | -11/+0 |
| | |||||
* | Remove unused e_tree_model_to_view_row(). | Matthew Barnes | 2013-06-21 | 3 | -15/+0 |
| | |||||
* | Remove unused e_tree_get_prev_row(). | Matthew Barnes | 2013-06-21 | 3 | -21/+0 |
| | |||||
* | Remove unused e_tree_get_next_row(). | Matthew Barnes | 2013-06-21 | 3 | -30/+0 |
| | |||||
* | Remove unused e_tree_get_printable(). | Matthew Barnes | 2013-06-21 | 3 | -10/+0 |
| | |||||
* | Remove unused e_tree_load_state(). | Matthew Barnes | 2013-06-21 | 3 | -29/+0 |
| | |||||
* | Remove unused e_tree_set_search_column(). | Matthew Barnes | 2013-06-21 | 3 | -26/+0 |
| | |||||
* | Remove unused e_tree_save_state(). | Matthew Barnes | 2013-06-21 | 3 | -22/+0 |
| | |||||
* | Remove e_tree_row_count(). | Matthew Barnes | 2013-06-21 | 4 | -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 Barnes | 2013-06-21 | 4 | -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 Barnes | 2013-06-21 | 4 | -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 Barnes | 2013-06-21 | 4 | -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 Barnes | 2013-06-21 | 4 | -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 Barnes | 2013-06-21 | 4 | -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 Barnes | 2013-06-21 | 3 | -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 Barnes | 2013-06-21 | 3 | -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 Barnes | 2013-06-21 | 4 | -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 Barnes | 2013-06-21 | 4 | -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 Barnes | 2013-06-21 | 4 | -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 Barnes | 2013-06-21 | 3 | -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 Barnes | 2013-06-21 | 3 | -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 Barnes | 2013-06-21 | 4 | -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 Barnes | 2013-06-21 | 3 | -10/+0 |
| | |||||
* | Remove unused e_tree_drag_unhighlight(). | Matthew Barnes | 2013-06-21 | 3 | -14/+0 |
| | |||||
* | Remove unused e_tree_drag_highlight(). | Matthew Barnes | 2013-06-21 | 3 | -66/+0 |
| | |||||
* | Remove unused e_tree_drag_get_data(). | Matthew Barnes | 2013-06-21 | 3 | -26/+0 |
| | | | | It just calls gtk_drag_get_data() anyway. | ||||
* | Remove unused e_tree_drag_dest_unset(). | Matthew Barnes | 2013-06-21 | 3 | -19/+0 |
| | | | | It just calls gtk_drag_dest_unset() anyway. | ||||
* | Remove unused e_tree_drag_dest_set_proxy(). | Matthew Barnes | 2013-06-21 | 3 | -20/+0 |
| | | | | It just calls gtk_drag_dest_set_proxy() anyway. | ||||
* | Remove e_tree_drag_dest_set(). | Matthew Barnes | 2013-06-21 | 4 | -27/+7 |
| | | | | Reducing API bloat. Call gtk_drag_dest_set() directly instead. | ||||
* | Remove e_tree_selected_path_foreach(). | Matthew Barnes | 2013-06-21 | 4 | -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 Barnes | 2013-06-21 | 4 | -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 Barnes | 2013-06-21 | 2 | -869/+843 |
| | |||||
* | Bug #693216 - Email type is changed to other after merging | Milan Crha | 2013-06-20 | 1 | -72/+112 |
| | |||||
* | Updated Norwegian bokmål translation | Kjartan Maraas | 2013-06-20 | 1 | -757/+783 |
| | |||||
* | Make is_node_selectable() easier to debug. | Matthew Barnes | 2013-06-20 | 1 | -4/+5 |
| | |||||
* | build_tree: Fix indentation. | Matthew Barnes | 2013-06-20 | 1 | -21/+22 |
| | |||||
* | Remove unused e_bit_array_invert_selection(). | Matthew Barnes | 2013-06-20 | 3 | -22/+0 |
| | |||||
* | Remove unused e_selection_model_invert_selection(). | Matthew Barnes | 2013-06-20 | 5 | -74/+0 |
| | |||||
* | Remove unused e_table_invert_selection(). | Matthew Barnes | 2013-06-20 | 3 | -16/+0 |
| | |||||
* | Remove unused message_list_invert_selection(). | Matthew Barnes | 2013-06-20 | 2 | -17/+0 |
| | |||||
* | MessageList: Fix an unused variable warning. | Matthew Barnes | 2013-06-20 | 1 | -1/+0 |
| | |||||
* | Bug 702006 - Select All does not select collapsed threads | Matthew Barnes | 2013-06-20 | 1 | -6/+29 |
| | |||||
* | ETreeTableAdapter: Further cleanups. | Matthew Barnes | 2013-06-20 | 1 | -45/+62 |
| | |||||
* | Add e_tree_model_node_get_n_nodes(). | Matthew Barnes | 2013-06-20 | 4 | -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 alerts | Milan Crha | 2013-06-19 | 1 | -2/+36 |
| | |||||
* | Update evolution-util API docs. | Matthew Barnes | 2013-06-19 | 1 | -4/+4 |
| | |||||
* | ETreeTableAdapter cleanups. | Matthew Barnes | 2013-06-19 | 3 | -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 Barnes | 2013-06-19 | 20 | -295/+415 |
| | | | | Similar to what was recently done to ETreeModel. | ||||
* | ETable-related cleanups. | Matthew Barnes | 2013-06-19 | 34 | -2681/+2752 |
| | |||||
* | Remove unused ETableMemoryCallbacks. | Matthew Barnes | 2013-06-19 | 7 | -413/+25 |
| | |||||
* | Remove unused ETableMemoryStoreCustomColumn. | Matthew Barnes | 2013-06-19 | 2 | -13/+3 |
| | |||||
* | Remove unused E_TABLE_MEMORY_STORE_COLUMN_TYPE_OBJECT. | Matthew Barnes | 2013-06-19 | 2 | -22/+1 |
| | |||||
* | Remove unused E_TABLE_MEMORY_STORE_COLUMN_TYPE_CUSTOM. | Matthew Barnes | 2013-06-19 | 2 | -12/+0 |
| | |||||
* | ETreeSelectionModel: Further cleanups. | Matthew Barnes | 2013-06-18 | 1 | -179/+195 |
| | |||||
* | ETreeSelectionModel: Modernize GHashTable usage. | Matthew Barnes | 2013-06-18 | 1 | -61/+36 |
| | |||||
* | Bug 702454 - EMailBrowser fails to show message | Matthew Barnes | 2013-06-17 | 1 | -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 Barnes | 2013-06-17 | 1 | -45/+53 |
| | |||||
* | Updated German translation | Benjamin Steinwender | 2013-06-17 | 1 | -2187/+2179 |
| | |||||
* | Post-release version bump. | Matthew Barnes | 2013-06-16 | 1 | -1/+1 |
| | |||||
* | NEWS update for 3.9.3 release.EVOLUTION_3_9_3 | Matthew Barnes | 2013-06-16 | 1 | -0/+43 |
| | |||||
* | Remove e_tree_model_node_is_editable(). | Matthew Barnes | 2013-06-16 | 5 | -43/+1 |
| | | | | It always returned FALSE. | ||||
* | Remove e_tree_model_set_value_at(). | Matthew Barnes | 2013-06-16 | 5 | -38/+1 |
| | | | | Was never called. | ||||
* | Remove e_tree_model_has_get_node_by_id(). | Matthew Barnes | 2013-06-16 | 6 | -39/+5 |
| | | | | It always returned TRUE. | ||||
* | Remove e_tree_model_has_save_id(). | Matthew Barnes | 2013-06-16 | 7 | -37/+2 |
| | | | | It always returned TRUE. | ||||
* | Remove e_tree_model_icon_at(). | Matthew Barnes | 2013-06-16 | 5 | -73/+3 |
| | | | | It always returned NULL. | ||||
* | Convert ETreeModel to an interface. | Matthew Barnes | 2013-06-16 | 14 | -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 Barnes | 2013-06-16 | 5 | -35/+15 |
| | | | | | | Replaces e_tree_memory_get_children(). The "paths" output parameter was unused, and was a bad idea anyway. | ||||
* | Simplify ETreeMemory. | Matthew Barnes | 2013-06-16 | 2 | -186/+56 |
| | | | | Instead of reinventing GNode, use GNode. | ||||
* | Remove e_tree_model_has_change_pending(). | Matthew Barnes | 2013-06-16 | 4 | -34/+0 |
| | | | | ETreeMemory does not implement this, so it's always FALSE. | ||||
* | ETreeModel: Further cleanups. | Matthew Barnes | 2013-06-15 | 2 | -152/+163 |
| | |||||
* | Remove unused e_tree_model_new(). | Matthew Barnes | 2013-06-15 | 3 | -15/+0 |
| | |||||
* | Remove unused e_tree_model_node_request_collapse(). | Matthew Barnes | 2013-06-15 | 4 | -53/+0 |
| | |||||
* | Remove unused e_tree_model_node_col_changed(). | Matthew Barnes | 2013-06-15 | 5 | -78/+0 |
| | |||||
* | Remove unused e_tree_model_no_change(). | Matthew Barnes | 2013-06-15 | 5 | -56/+0 |
| | |||||
* | Remove unused e_tree_model_node_traverse_preorder(). | Matthew Barnes | 2013-06-15 | 3 | -41/+0 |
| | |||||
* | Remove unused e_tree_model_node_get_prev(). | Matthew Barnes | 2013-06-15 | 4 | -37/+0 |
| | |||||
* | Remove unused e_tree_model_node_get_last_child(). | Matthew Barnes | 2013-06-15 | 4 | -38/+0 |
| | |||||
* | e_tree_model_node_find: Remove "forward_direction" parameter. | Matthew Barnes | 2013-06-15 | 3 | -44/+14 |
| | | | | It's always TRUE. | ||||
* | ETreeMemory: Further cleanups. | Matthew Barnes | 2013-06-15 | 2 | -134/+137 |
| | |||||
* | ETreeMemory: Remove unused "fill-in-children" signal. | Matthew Barnes | 2013-06-15 | 2 | -68/+0 |
| | |||||
* | Remove unused e_tree_memory_new(). | Matthew Barnes | 2013-06-15 | 3 | -15/+0 |
| | |||||
* | Remove unused e_tree_memory_construct(). | Matthew Barnes | 2013-06-15 | 3 | -13/+0 |
| | |||||
* | Remove unused e_tree_memory_set_node_destroy_func(). | Matthew Barnes | 2013-06-15 | 3 | -19/+0 |
| | |||||
* | Remove unused e_tree_memory_sort_node(). | Matthew Barnes | 2013-06-15 | 3 | -88/+0 |
| | |||||
* | Remove unused e_tree_memory_node_insert_before(). | Matthew Barnes | 2013-06-15 | 3 | -41/+0 |
| | |||||
* | Remove unused e_tree_memory_node_insert_id(). | Matthew Barnes | 2013-06-15 | 3 | -16/+0 |
| | |||||
* | Remove unused ETreeSorted. | Matthew Barnes | 2013-06-15 | 7 | -1568/+0 |
| | |||||
* | Remove em_utils_uids_free(). | Matthew Barnes | 2013-06-15 | 3 | -35/+0 |
| | | | | No longer used. We actually had this defined in two places. | ||||
* | Remove em_utils_uids_copy(). | Matthew Barnes | 2013-06-15 | 2 | -27/+0 |
| | | | | No longer used. | ||||
* | Avoid em_utils_uids_free() in other places. | Matthew Barnes | 2013-06-15 | 2 | -4/+5 |
| | |||||
* | message_list_get_selected: Give the returned array a free func. | Matthew Barnes | 2013-06-15 | 11 | -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 Barnes | 2013-06-15 | 1 | -295/+358 |
| | |||||
* | Remove unused message_list_get_uids(). | Matthew Barnes | 2013-06-15 | 2 | -23/+0 |
| | |||||
* | mdn: Fix a runtime warning. | Matthew Barnes | 2013-06-15 | 1 | -4/+4 |
| | |||||
* | Add e_mail_reader_ref_folder(). | Matthew Barnes | 2013-06-15 | 13 | -240/+377 |
| | | | | Replaces e_mail_reader_get_folder(). | ||||
* | MessageList: Add a "group-by-threads" property. | Matthew Barnes | 2013-06-15 | 3 | -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 Barnes | 2013-06-15 | 3 | -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 Barnes | 2013-06-15 | 3 | -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 Barnes | 2013-06-15 | 5 | -119/+279 |
| | | | | | | | | Also move the CamelFolder pointer into the private structure. New functions: message_list_ref_folder() | ||||
* | MessageList: Add a "thread-latest" property. | Matthew Barnes | 2013-06-14 | 3 | -6/+56 |
| | | | | Bind this to the "thread-latest" GSettings key. | ||||
* | ESettingsMessageList: Apply the "thread-expanded" setting. | Matthew Barnes | 2013-06-14 | 2 | -28/+31 |
| | |||||
* | MessageList: Add a "thread-subject" property. | Matthew Barnes | 2013-06-14 | 3 | -14/+67 |
| | | | | Bind this to the "thread-subject" GSettings key. | ||||
* | Make MessageList extensible. | Matthew Barnes | 2013-06-14 | 5 | -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 Barnes | 2013-06-14 | 3 | -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 Barnes | 2013-06-14 | 4 | -17/+11 |
| | |||||
* | message_list_regen_done_cb: Fix a runtime warning. | Matthew Barnes | 2013-06-14 | 1 | -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 Barnes | 2013-06-13 | 3 | -21/+6 |
| | |||||
* | Remove unused MESSAGE_LIST_LOCK / MESSAGE_LOCK_UNLOCK macros. | Matthew Barnes | 2013-06-13 | 1 | -3/+0 |
| | | | | Whatever those macros were once used for was surely evil. | ||||
* | Remove message_list_ensure_message(). | Matthew Barnes | 2013-06-13 | 2 | -25/+1 |
| | | | | No longer used. Looks like a relic of some nasty hack. | ||||
* | Reimplement mail_regen_list(). | Matthew Barnes | 2013-06-13 | 1 | -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 Barnes | 2013-06-13 | 2 | -46/+54 |
| | |||||
* | MessageList: Remove dead code. | Matthew Barnes | 2013-06-13 | 1 | -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 translation | Aurimas Černius | 2013-06-13 | 1 | -2172/+2205 |
| | |||||
* | Updated Spanish translation | Daniel Mustieles | 2013-06-12 | 1 | -237/+266 |
| | |||||
* | ECalShellView: Disconnect "prepare-for-quit" handler on dispose(). | Matthew Barnes | 2013-06-11 | 3 | -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 Barnes | 2013-06-11 | 1 | -55/+57 |
| | |||||
* | Reimplement the main toolbar's "prefer-item" feature. | Matthew Barnes | 2013-06-11 | 5 | -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 Barnes | 2013-06-11 | 2 | -33/+38 |
| | |||||
* | ETaskShellSidebar: Update selector rows after restoring state. | Matthew Barnes | 2013-06-11 | 1 | -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 Barnes | 2013-06-11 | 1 | -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 Barnes | 2013-06-11 | 1 | -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 Barnes | 2013-06-11 | 3 | -0/+34 |
| | | | | | Calls e_source_selector_update_row() for each ESource being shown by the ESourceSelector, according to the "extension-name" property. | ||||
* | Updated Galician translations | Fran Diéguez | 2013-06-10 | 1 | -205/+233 |
| | |||||
* | Bug 701669 - Bad assumption in prefer-plain module | Matthew Barnes | 2013-06-08 | 1 | -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 Barnes | 2013-06-08 | 1 | -24/+31 |
| | |||||
* | EMailFormatter: Remove the header API. | Matthew Barnes | 2013-06-08 | 4 | -385/+2 |
| | | | | Use the EMailPartHeaders API instead. | ||||
* | EMailFormatterQuoteHeaders: Avoid EMailFormatter header API. | Matthew Barnes | 2013-06-08 | 1 | -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 Barnes | 2013-06-08 | 1 | -66/+67 |
| | | | | | Use e_mail_part_headers_dup_default_headers() to extract specific headers to show in the desired order. | ||||
* | Add EMailPrintConfigHeaders. | Matthew Barnes | 2013-06-08 | 6 | -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 Barnes | 2013-06-08 | 3 | -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 Barnes | 2013-06-08 | 8 | -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 Barnes | 2013-06-08 | 1 | -2/+14 |
| | |||||
* | EMailFormatterQuoteHeaders cleanups. | Matthew Barnes | 2013-06-08 | 1 | -27/+57 |
| | |||||
* | EMailFormatterHeaders cleanups. | Matthew Barnes | 2013-06-08 | 2 | -43/+58 |
| | |||||
* | e_mail_formatter_format_header: Split the header param. | Matthew Barnes | 2013-06-07 | 4 | -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 Barnes | 2013-06-07 | 4 | -15/+8 |
| | |||||
* | Bug #555130 - Redesign task editor | Milan Crha | 2013-06-06 | 8 | -1430/+884 |
| | |||||
* | Updated Spanish translation | Daniel Mustieles | 2013-06-06 | 1 | -37/+56 |
| | |||||
* | Updated Galician translations | Fran Diéguez | 2013-06-06 | 1 | -387/+425 |
| | |||||
* | Updated Spanish translation | Daniel Mustieles | 2013-06-06 | 1 | -142/+176 |
| | |||||
* | EMailPart: Add "part-list" property. | Matthew Barnes | 2013-06-06 | 4 | -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 Barnes | 2013-06-06 | 2 | -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 Barnes | 2013-06-06 | 4 | -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 Barnes | 2013-06-06 | 1 | -0/+1 |
| | |||||
* | Updated Marathi Translations | Sandeep Sheshrao Shedmake | 2013-06-05 | 1 | -5434/+5771 |
| | |||||
* | Updated Greek translation | Dimitris Spingos | 2013-06-05 | 1 | -1041/+1051 |
| | |||||
* | Added Aragonese translation | Jorge Pérez Pérez | 2013-06-05 | 2 | -0/+21404 |
| | |||||
* | Bug 684302 - Prompt to close message window on reply should be inline | Matthew Barnes | 2013-06-05 | 3 | -48/+88 |
| | | | | | Pop-up dialog is far too intrusive. Instead ask the question as an inline alert in the message window, which does not interrupt the user. | ||||
* | EMailBrowser: Add "close-on-reply-policy" property. | Matthew Barnes | 2013-06-05 | 8 | -29/+303 |
| | | | | | | | | | | | Mainly to avoid accessing GSettings directly from EMailBrowser. Also add a "browser-close-on-reply-policy" GSettings key that replaces "prompt-on-reply-close-browser", the difference being the new key uses an enum definition compatible with EAutomaticActionPolicy instead of a free-form string value. And finally add an ESettingsMailBrowser class to glue things together. | ||||
* | EMailDisplay cleanups. | Matthew Barnes | 2013-06-05 | 3 | -67/+83 |
| | |||||
* | EMailBrowser cleanups. | Matthew Barnes | 2013-06-05 | 2 | -102/+118 |
| | |||||
* | Define GEnumClass types for mail formatter/parser enums. | Matthew Barnes | 2013-06-05 | 9 | -69/+129 |
| | |||||
* | Add EAutomaticActionPolicy enum. | Matthew Barnes | 2013-06-05 | 2 | -0/+21 |
| | | | | To have a proper GEnumClass registered for ask/always/never choices. | ||||
* | Updated Slovenian translation | Matej Urbančič | 2013-06-04 | 1 | -868/+859 |
| | |||||
* | Bug #250046 - Empty group address as recipient prevents message send | Milan Crha | 2013-06-04 | 4 | -0/+49 |
| | | | | | | | Empty group addresses were left as-is when sending an email directly, not through Outbox, which could cause a send error through SMTP. Expanding group addresses, or removing empty groups, from a list or recipients before sending the message fixes the issue. | ||||
* | Updated Spanish translation | Daniel Mustieles | 2013-06-03 | 1 | -284/+278 |
| | |||||
* | Updated Norwegian bokmål translation | Kjartan Maraas | 2013-06-03 | 1 | -283/+247 |
| | |||||
* | Remove deleted file | Kjartan Maraas | 2013-06-03 | 1 | -1/+0 |
| |