Removed the following menu items under View:
Hide Selected Messages
Hide Read Messages
Show Hidden Messages
These options are confusing and don't fit with the rest of the mailer
design.
Hidden messages were tracked by folder in:
~/.evolution/mail/config/hidestate-<<folder-uri>>
So by simply not loading those files any more we reveal all previously
hidden messages and avoid any risk of lost messages.
Also inverted "Hide Deleted Messages" to "Show Deleted Messages".
For express mode:
- Move the search bar up to the toolbar.
- Hide the "filter" combo box and lock down the first item.
- Hide the "scope" combo box and lock down the first item.
(This is the combo box with "Current Folder" only in the mailer.)
- EShellView owns the search bar widget now instead of EShellContent.
- Insert several nasty hacks that will likely come back to bite me.
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.
So Anjal can override what it needs to for its own purpose.
Also makes the EShellWindow design a little cleaner.
Methods added:
GtkWidget * (*construct_menubar) (EShellWindow *shell_window);
GtkWidget * (*construct_toolbar) (EShellWindow *shell_window);
GtkWidget * (*construct_sidebar) (EShellWindow *shell_window);
GtkWidget * (*construct_content) (EShellWindow *shell_window);
GtkWidget * (*construct_taskbar) (EShellWindow *shell_window);
EShellView * (*create_shell_view) (EShellWindow *shell_window,
const gchar *view_name);
Also added some new GObject properties to help decouple actions from
internal EShellWindow widgets created by these methods:
EShellWindow:sidebar-visible
EShellWindow:switcher-visible
EShellWindow:taskbar-visible
EShellWindow:toolbar-visible
Also get mail-to-task working for the message browser window.
Came up with a new technique for managing actions and action groups in
the process. Also gave the EMailReader interface an "update-actions"
signal for plugins to connect to.
Completely rewrite how composer headers are managed. There's now two
sets of headers (with some overlap): one set is for sending an email
message, the other is for posting to a newsgroup. The correct set of
headers is chosen on-the-fly based on the currently selected account
type. The user's "view" preferences for these two sets are stored
separately, so that switching between an email account and a news
account will no longer stomp on your preferences.
This also eliminates the need for the "Post New Message to Folder" and
"Post a Reply" actions, so they've been removed. Usenet users can now
just highlight a newsgroup in the folder tree and click New or Reply,
and the composer window will show the correct set of headers with the
Post-To field filled in automatically.
Comment #6 in the bug discusses other standard news reader behaviors we
still don't get right, particularly the missing "Followup To" header.
These will be dealt with separately.