aboutsummaryrefslogtreecommitdiffstats
path: root/modules/mail/e-mail-shell-view-private.c
Commit message (Collapse)AuthorAgeFilesLines
* EShellView can load the GalViewCollection itself now.Matthew Barnes2013-07-061-5/+1
| | | | | | | | EShellView no longer needs help from subclasses other than getting the needed GalView subclasses registered. A nice side-effect of this is EShellView subclasses can now use the G_DEFINE_DYNAMIC_TYPE macro.
* Remove gal_view_collection_add_factory().Matthew Barnes2013-07-061-16/+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.
* GalViewFactoryEtable: Remove "specification" property.Matthew Barnes2013-07-061-18/+1
| | | | | | | | No longer needed. Removed functions: gal_view_factory_etable_get_specification()
* ETableSpecification: Implement GInitable.Matthew Barnes2013-07-021-6/+10
| | | | | | | | | | | | | | | | 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()
* message_list_get_selected: Give the returned array a free func.Matthew Barnes2013-06-151-1/+1
| | | | | | 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.
* Add e_mail_reader_ref_folder().Matthew Barnes2013-06-151-13/+18
| | | | Replaces e_mail_reader_get_folder().
* MessageList: Add a "folder" property.Matthew Barnes2013-06-151-6/+7
| | | | | | | | Also move the CamelFolder pointer into the private structure. New functions: message_list_ref_folder()
* Bug #271262 - Allow Send/Receive of local stores in offlineMilan Crha2013-04-091-0/+20
|
* Fix for typing in ITIP comments when some keys triggered actions.Tomas Popela2013-03-281-0/+2
|
* EMailShellView: Use g_clear_object() in dispose().Matthew Barnes2013-02-161-6/+5
|
* Consolidate base utility libraries into libeutil.Matthew Barnes2012-12-131-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Evolution consists of entirely too many small utility libraries, which increases linking and loading time, places a burden on higher layers of the application (e.g. modules) which has to remember to link to all the small in-tree utility libraries, and makes it difficult to generate API documentation for these utility libraries in one Gtk-Doc module. Merge the following utility libraries under the umbrella of libeutil, and enforce a single-include policy on libeutil so we can reorganize the files as desired without disrupting its pseudo-public API. libemail-utils/libemail-utils.la libevolution-utils/libevolution-utils.la filter/libfilter.la widgets/e-timezone-dialog/libetimezonedialog.la widgets/menus/libmenus.la widgets/misc/libemiscwidgets.la widgets/table/libetable.la widgets/text/libetext.la This also merges libedataserverui from the Evolution-Data-Server module, since Evolution is its only consumer nowadays, and I'd like to make some improvements to those APIs without concern for backward-compatibility. And finally, start a Gtk-Doc module for libeutil. It's going to be a project just getting all the symbols _listed_ much less _documented_. But the skeletal structure is in place and I'm off to a good start.
* Bug #315317 - Add option to expunge messages on folder leaveMilan Crha2012-12-051-1/+1
|
* Avoid using GdkEventButton directly in certain places.Matthew Barnes2012-11-301-6/+5
| | | | | | | | | | | | Prefer dealing with GdkEvent pointers and using accessor functions like gdk_event_get_button(). This is complicated by the fact that some GtkWidget method declarations still use GdkEventButton pointers, and synthesizing button events pretty much requires direct GdkEventButton access. But GDK seems to be nudging itself toward sealing the GdkEvent union. Likely to happen in GDK4. Mainly clean up signal handlers and leave method overrides alone for now.
* Coding style and whitespace cleanup.Matthew Barnes2012-11-111-5/+5
|
* Bug #683877 - No more contextual menus for linksMilan Crha2012-11-091-9/+3
|
* Bug #686325 - Preview message window keyboard use severely limitedMilan Crha2012-11-081-27/+66
|
* Bug #687442 - Magic spacebar avoids iTip formatter comment writeMilan Crha2012-11-021-1/+33
|
* Coding style and whitespace cleanup.Matthew Barnes2012-08-201-11/+15
|
* Bug #678635 - File->Send/Receive lists too many sourcesMilan Crha2012-07-251-70/+138
|
* Adapt modules/mail to the new ESource API.Matthew Barnes2012-06-031-288/+164
|
* Bug #564820 - Search filter persists when changing foldersMilan Crha2012-04-231-1/+6
|
* WebKit port - port formatter and mail moduleDan Vrátil2012-03-291-87/+13
|
* Coding style and whitespace cleanup.Matthew Barnes2012-02-201-1/+1
|
* Introduce libemail-engine and libemail-utils.Matthew Barnes2012-01-191-1/+2
| | | | | | | These libraries are bound for E-D-S so they live at the lowest layer of Evolution for now -- even libeutil can link to them (but please don't). This is the first step toward moving mail handing to a D-Bus service.
* Do not auto-mark-as-seen when changing filter typeMilan Crha2012-01-111-0/+24
|
* Move EMailLabelListStore to EMailSession.Matthew Barnes2011-12-251-8/+9
| | | | | Access the EMailLabelListStore through EMailSession instead of EShellSettings, which was a quick hack of mine during kill-bonobo.
* Avoid passing EMailBackend as much as possible.Matthew Barnes2011-12-161-8/+6
| | | | | | | | | | | | | | | More mail API churn... reversing some previous API decisions. I've made some key API changes to EMailSession on the account-mgmt branch which should allow for this, and will hopefully also benefit the "email-factory" branch. EMailBackend barely needs to exist anymore, except as the owner of EMailSession. For several low-level functions, we replace its EMailBackend parameter with EMailSession and EAlertSink parameters; the latter so it can still pass user alerts up the chain.
* mail-send-recv.c: Avoid using EAccount and CamelURL if possible.Matthew Barnes2011-12-161-10/+18
| | | | | | EAccount is deprecated and mail URLs are being phased out. Use EMailAccountStore and CamelService instead.
* Reorder accounts by drag-and-drop.Matthew Barnes2011-12-111-4/+6
| | | | | | | | | | | | | | | | | | | | | This implements https://bugzilla.gnome.org/show_bug.cgi?id=663527#c3. Account reordering is now done by drag-and-drop instead of up/down buttons. Turned out to be a wee bit more complicated than I initially thought. This scraps EAccountManager and EAccountTreeView and replaces them with new classes centered around EMailAccountStore, which EMailSession owns. EMailAccountStore is the model behind the account list in Preferences. The folder tree model now uses it to sort its own top-level rows using gtk_tree_path_compare(). It also broadcasts account operations through signals so we don't have to rely so heavily on EAccountList signals, since EAccountList is going away soon. Also as part of this work, the e-mail-local.h and e-mail-store.h APIs have been merged into EMailSession and MailFolderCache.
* Miscellaneous EShellView-related cleanups.Matthew Barnes2011-12-081-1/+2
|
* Adapt to CamelFolderSummary API changesMilan Crha2011-10-061-5/+5
|
* Miscellaneous cleanups from the account-mgmt branch.Matthew Barnes2011-09-271-7/+9
| | | | | Reducing diff noise so I can see important changes easier when comparing branches. A few API changes, but nothing that affects functionality.
* Coding style and whitespace cleanup.Matthew Barnes2011-09-041-3/+3
|
* Do not leak memory on each mail folder changeMilan Crha2011-08-011-0/+1
|
* Bug #646109 - Fix use of include <config.h> to make sure translations workMilan Crha2011-05-271-0/+4
|
* Coding style and whitespace cleanup.Matthew Barnes2011-05-221-3/+5
|
* Bug 650587 - Hide Search Folder actions when Search Folders are disabledMatthew Barnes2011-05-211-0/+1
| | | | | | | | | | | | | | | | Add an action group for Search Folders to EMailReader. The action group's visibility is bound to the "mail-enable-search-folders" setting, so that menu items related to Search Folders are hidden when Search Folders are disabled in GConf. Affected menu items are: Edit -> Search Folders Message -> Create Rule -> Search Folder from Subject... Message -> Create Rule -> Search Folder from Sender... Message -> Create Rule -> Search Folder from Recipients... Message -> Create Rule -> Search Folder from Mailing List... Search -> Create Search Folder From Search...
* Bug #601541 - Add 'Copy Image' Option On Inline Email ImagesMilan Crha2011-05-161-1/+6
|
* GN-bug #649935 - Check folder validity before asking for its URIMilan Crha2011-05-131-2/+5
|
* EMailShellView: Remove some unused utility functions.Matthew Barnes2011-05-131-153/+0
| | | | | I guess I meant to move these to EMailReader but forgot to delete the original versions.
* Keep forgetting to add prefixes to EAlert tags.Matthew Barnes2011-05-131-1/+1
|
* Miscellaneous cleanups.Matthew Barnes2011-05-131-19/+23
|
* Add e_mail_reader_new_activity().Matthew Barnes2011-05-131-13/+6
| | | | | | | | | | | | | | | | Configuring and submitting an EActivity for every mail operation is getting tedious. This function helps reduce boilerplate code by: * Creating a new EActivity instance. * Installing an EAlertSink using e_mail_reader_get_alert_sink(). * Installing a GCancellable (which is really a CamelOperation). * Submitting the activity via e_shell_backend_add_activity(). I'm considering adding a similar function (or class method) for EShellView. Not sure yet...
* Add e_activity_handle_cancellation().Matthew Barnes2011-05-121-2/+1
| | | | | | | | Convenience function for use in GAsyncReadyCallback functions. This acknowledges the cancellation, so that the activity's description changes from "(cancelling)" to "(cancelled)" and the description appears crossed out in the UI for a moment before disappearing.
* Adapt to CamelFolder:name -> display-name.Matthew Barnes2011-05-071-1/+1
|
* Remove e_mail_reader_get_folder_uri().Matthew Barnes2011-05-041-16/+14
| | | | | Instead call e_mail_reader_get_folder() and, if you really need to, generate the folder URI with e_mail_folder_uri_from_folder().
* Fix compiler warnings.Matthew Barnes2011-05-031-4/+0
| | | | Mostly dead assignments.
* Drop 'folder_uri' param from em_utils_folder_is_outbox().Matthew Barnes2011-05-031-2/+2
|
* Drop 'folder_uri' param from em_utils_folder_is_sent().Matthew Barnes2011-05-031-2/+2
|
* Drop 'folder_uri' param from em_utils_folder_is_drafts().Matthew Barnes2011-05-031-1/+1
|
* EMailShellView: Open the selected folder ourselves.Matthew Barnes2011-05-031-12/+107
| | | | | | | | | | | | | | | | | This one's a little involved: - EMailShellView now obtains a CamelFolder itself in response to EMFolderTree::folder-selected signals. Uses EActivity to do so. - Revise EMFolderTree::folder-selected signal arguments to be more useful: emit a CamelStore object instead of a folder URI. - Also revise EMFolderTree::folder-activiated signal arguments the same way while we're at it. - Remove the "folder_uri" argument from e_mail_reader_set_folder(). If you have a CamelFolder object you can obtain the URI string by calling camel_folder_get_uri().
* Adapt to CamelService changes.Matthew Barnes2011-04-211-7/+1
|
* Bug #614480 - Avoid using G_TYPE_INSTANCE_GET_PRIVATE repeatedlyMilan Crha2011-02-251-1/+1
|
* Coding style and whitespace cleanup.Matthew Barnes2011-01-301-67/+184
|
* Bug #633788 - Mail plugin's update-actions handler is never calledMilan Crha2011-01-191-0/+19
|
* Bug #637162 - May not add toolbar Send/Receive button multiple timesMilan Crha2010-12-141-22/+29
|
* Bug #631568 - Scheduling Meetings with CalDAV calendarsMilan Crha2010-12-081-0/+4
|
* Bug 636265 - Trash is untranslated in the window titleMatthew Barnes2010-12-041-10/+16
|
* Bug #207580 - Allow new mail check on individual accountsMilan Crha2010-11-261-0/+357
|
* Replace EBinding with GBinding.Matthew Barnes2010-10-141-4/+8
| | | | | | GObject now does property bindings itself. Requires GLib >= 2.26.
* Give MailSession a permanent home.Matthew Barnes2010-10-131-2/+32
| | | | | | | | | | | Global variables in shared libraries are a bad idea. EMailBackend now owns the MailSession instance, which is actually now EMailSession. Move the blocking utility functions in mail-tools.c to e-mail-session.c and add asynchronous variants. Same approach as Camel. Replace EMailReader.get_shell_backend() with EMailReader.get_backend(), which returns an EMailBackend. Easier access to the EMailSession.
* Use new GDK keysym names if available.Matthew Barnes2010-09-181-8/+8
| | | | | | | In GTK+ 2.21.8, the keysym names were renamed from GDK_* to GDK_KEY_*. I've added backward-compatibility macors to gtk-compat.h, which can be dumped as soon as we require GTK+ >= 2.22.0.
* Adapt to CamelOperation API changes.Matthew Barnes2010-09-151-1/+1
|
* Bug 628141 - Duplicate signal connections in EMailReaderMatthew Barnes2010-08-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | EMailShellContent implements the EMailReader interface but acts as a proxy for EMailPanedView, from which it obtains MessageList and EWebView widgets. The problem was both classes call e_mail_reader_init_private() which connects to signals emitted from the MessageList and EWebView widgets. But since EMailShellContent is a proxy for EMailPanedView, the signals were being connected twice. This commit does away with e_mail_reader_init_private(), instead adding options to e_mail_reader_init() to control what parts of initialization to run. It's an ugly and temporary hack. I'm beginning to realize EMailReader is too bloated and needs rethought. EMailReader should just manage actions. EMailView should own and manage the widgets, and EMailReader should just have a get_mail_view() method so it has access to those widgets. That way the EMailView subclasses won't have to implement EMailReader themselves and wind up allocating a bunch of duplicate, unused actions. It's too close to a stable release to rip these interfaces apart and reorganize them. I'll try to do that for 2.33 to help make the design more intuitive.
* Mail module + EMailView cleanups.Matthew Barnes2010-08-271-23/+77
|
* Fix more non-removal of signals on user_data object distruction byMichael Meeks2010-08-211-52/+52
| | | | using g_signal_connect_object in many places; fixes bgo#627525#
* More code cleanup.Matthew Barnes2010-07-271-4/+4
|
* Drop the "quote-from-selection" property.Matthew Barnes2010-07-261-6/+0
| | | | | David's solution is simpler: check if the HTML widget is mapped. Avoids having to propagate the property to Srini's new classes.
* Coding style and whitespace cleanup.Matthew Barnes2010-07-261-1/+1
|
* Fix right click issues.Srinivasa Ragavan2010-07-261-8/+63
|
* Rewrite the content piece of evolution.Srinivasa Ragavan2010-07-261-11/+11
|
* Bug 624285 - When replying, ignore text selection if preview is hiddenMatthew Barnes2010-07-141-0/+6
|
* Bug 616724 - Initialize message window with threaded state of main windowMatthew Barnes2010-06-191-1/+1
|
* Bug 620602 - Next/prev shortcuts should focus message listMatthew Barnes2010-06-061-5/+2
|
* Keep chipping away at direct GtkHTML usage.Matthew Barnes2010-06-011-3/+3
| | | | | | | | | | EMFormatHTML now holds a sealed EWebView instead of a public GtkHTML, accessible through em_format_html_get_web_view(). Rename e_mail_reader_get_html_display() to e_mail_reader_get_formatter() and have it return an EMFormatHTML instead of an EMFormatHTMLDisplay, since that's usually the type you want (or else an EMFormat, but never an EMFormatHTMLDisplay).
* Use EWebView functions whenever possible.Matthew Barnes2010-05-311-1/+4
|
* Adapt to Camel API changes.Matthew Barnes2010-04-301-12/+11
|
* Camel is now GObject-based.Matthew Barnes2010-04-241-2/+2
|
* Bug #615331 - Message list/Folder tree focus policy has changedMilan Crha2010-04-191-0/+1
|
* Miscellaneous cleanup bits from WebKit branch.Matthew Barnes2010-04-021-15/+4
|
* Some more directories relocated on windowsFridrich Strba2010-03-111-0/+2
|
* Bug 587014 - Magic space does not work as expectedMatthew Barnes2010-02-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Neither ETree::key-press nor ETableItem::key-press signal definitions specify a GSignalAccumulator that terminates the signal emission when a handler returns TRUE, and Evolution 2.29 connects multiple handlers to ETree::key-press. When the space key is pressed, the first handler implements the magic space bar behavior and returns TRUE, which should terminate signal emission but doesn't because there's no accumulator function on the signal. So the second handler runs and checks for other keys besides space. It returns FALSE since it didn't handle the key press. End result: emission site gets back FALSE (from the second handler) as the return value, so it thinks the key press was not handled at all and invokes the fallback handler -- e_selection_model_toggle_single_row() -- which -unselects- the newly selected row, making it appear the next unread message was never selected. Several other ETable-related signals that return "handled" flags also lack GSignalAccumulator functions. I've made a note to myself to fix those as well.
* Bug 604542 - Skip non-system rules when building quick search menuMatthew Barnes2010-02-111-0/+2
|
* Implement account-wide search scope in mail.Matthew Barnes2010-02-071-4/+55
| | | | Also, let EShellSearchbar handle search state persistence.
* Bug #606666 - Cannot move cursor with arrows in preview with caret modeMilan Crha2010-01-251-1/+1
|
* Introduce ESelectable and EFocusTracker.Matthew Barnes2009-12-261-0/+1
| | | | | | | | | | | | | | | | | | EFocusTracker tracks the input focus within a window and helps keep the sensitivity of "selectable" actions in the main menu up-to-date. Selectable actions include Cut, Copy, Paste, Select All and Delete. EFocusTracker has built-in support for widgets that implement the GtkEditable interface such as GtkEntry and GtkTextView. It also supports custom widgets that implement the ESelectable interface, which is a subset of GtkEditable and can apply to anything that displays selectable content (esp. tree views and ETables). This commit integrates EFocusTracker with EShellWindow, CompEditor, EMsgComposer, and ESignatureManager. It also bumps the GtkHTML requirement to 2.29.5 to utilize the new GtkhtmlEditor:html constructor property.
* Remove some obsolete GConf keys.Matthew Barnes2009-12-191-70/+0
| | | | | | | | | /apps/evolution/mail/display/show_preview /apps/evolution/mail/display/thread_list These keys are no longer needed since we're storing the settings by folder now in ~/.evolution/mail/config/state. To simplify things we use hard-coded defaults: TRUE for PreviewVisible, FALSE for GroupByThreads.
* Refactor the EShell search API.Matthew Barnes2009-12-191-7/+7
| | | | | | | | | | | | | | | | | Move the search interface to a new widget: EShellSearchbar The current search rule is now stored in EShellView, and the search context in EShellViewClass similar to GalViewCollection (since it's class-specific, not instance-specific). Also add a couple new signals to EShellView: "clear-search" and "custom-search" ("custom" refers to an advanced search or a saved search -- something more complex than a quick search). Still working out a few kinks. The search entry is clearly trying to be too many things. We need a different way of indicating that you're looking at search results. Perhaps a search results banner similar to Nautilus.
* Bug #596967 - Per-folder setting for threading and preview panelMilan Crha2009-12-191-0/+70
|
* Kill ETreeScrolled.Matthew Barnes2009-12-081-3/+7
| | | | | | | Kill ETreeScrolled and convert MessageList to an ETree subclass. ETreeScrolled is nothing but a GtkScrolledWindow containing an ETree. It adds nothing of value and actually makes customizing ETree harder.
* Expand the EMailReader interface so it's easier to use.Matthew Barnes2009-12-021-40/+36
| | | | | | | | Adds the following methods: CamelFolder * (*get_folder) (EMailReader *reader); const gchar * (*get_folder_uri) (EMailReader *reader); GPtrArray * (*get_selected_uids) (EMailReader *reader);
* Kill message_list_free_uids().Matthew Barnes2009-12-021-1/+1
| | | | Use em_utils_uids_free() instead.
* Bug 602844 - Flags not saved to IMAP account on exitMatthew Barnes2009-11-251-0/+54
|
* Don't update the message list when right-clicking on a folder.Matthew Barnes2009-10-281-1/+40
| | | | | | After the folder's context menu closes the folder tree selection jumps back to the folder whose contents are showing in the message list. Suggested by Philippe LeCavalier on evolution-list.
* Cleanup and rename filter classes.Matthew Barnes2009-10-271-7/+7
|
* Bug 594543 - Crash on folder/message changeMatthew Barnes2009-09-241-5/+5
| | | | Based on a patch by Milan Crha.
* Bug 595687 - Message list popup menu not activated by menu keyMatthew Barnes2009-09-201-0/+16
|
* Bug 594863 - Message body doesn't allow right click pop up menuMatthew Barnes2009-09-131-5/+40
|
* Fix a runtime warning.Matthew Barnes2009-09-051-1/+3
|
* Copy folder tree state of 1st window when opening new windows.Matthew Barnes2009-09-041-0/+5
|
* Introduce an EShellView::execute-search signal.Matthew Barnes2009-09-031-244/+0
| | | | | | | | | | | | This addresses bug #593896 but is also a cleaner design than before. It introduces an EShellView::execute-search signal and renames the "search-execute" action to "search-quick" to clarify that it's only meant for the "quick" search bar in the main window. Shell view subclasses should implement the execute_search() method to actually execute a search. e_shell_view_execute_search() emits the new signal.
* Bug 579598 - Change in view types (from Menu) is not workingMilan Crha2009-09-011-1/+1
|
* Bug 593685 - Insensitive actions after startMatthew Barnes2009-09-011-0/+2
|
* Merge branch 'master' into kill-bonoboMatthew Barnes2009-07-011-0/+50
|
* Partial fix for bug #587014.Matthew Barnes2009-06-271-0/+54
| | | | Cursor now moves to the correct row, but row is not selected.
* Radically reorganize source code.Matthew Barnes2009-06-251-0/+905
- Collect all shell modules into a new top-level 'modules' directory: $(top_srcdir)/modules/addressbook $(top_srcdir)/modules/calendar $(top_srcdir)/modules/mail Nothing is allowed to link to these, not plugins nor other modules. THIS SOLVES BUG #571275 AND OPENS THE DOOR TO PORTING TO MAC OS X. - Mimic the libevolution-mail-shared library from master (except drop the "shared" suffix) and have libevolution-mail-importers and all mail-related plugins link to it. - Discard the a11y subdirectories and have the files live alongside their counterpart widgets.