| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Remove the clumsy abortfunc and commitfunc callback arguments from
e_config_add_items().
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We now have a proper junk mail filtering API. All junk filtering
extensions must subclass EMailJunkFilter for user preferences and
availability testing, and implement the CamelJunkFilter interface
for the actual junk filtering and learning operations.
The bogofilter module should be feature-equivalent to its former
EPlugin. The spamassassin module is far more complex. It's nearly
feature-equivalent to its former EPlugin, but I ditched the spamd
respawning code since it seemed unnecessary for a mail client to
have to deal with. If there's a huge outcry from users about it
I'll reluctantly put it back, but I don't expect one.
This gets us a step closer to killing off EConfig, and eventually
the EPlugin framework itself.
|
|
|
|
|
|
|
|
|
| |
When a stream is obviously a file or memory stream (both of which
implement the GSeekable interface), use g_seekable_seek() instead of
camel_stream_reset().
This is helping me discover if it's safe to remove camel_stream_reset().
We want to eventually move to GIO streams, which have no reset method.
|
| |
|
|
|
|
|
|
|
| |
The GTK+ patch in bug 653705 is also required for the Account Assistant
to work properly under the new GtkAssistant design in GTK+ 3.1.
This commit only deals with sidebar ordering issues.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
We'll query the accounts to get display names for the combo box,
but that's it. Use CamelStores instead.
|
|
|
|
|
| |
Use em_folder_tree_model_list_stores() to determine whether to enable
the folder subscription editor.
|
| |
|
|
|
|
|
|
| |
There were a few places where we were accessing the folder tree model
directly to get the selected store + folder name, or were asking for the
selected URI only to parse back into its store + folder name components.
|
|
|
|
|
| |
Now EMFolderTree has access to both an EShellBackend and an EAlertSink;
everything it needs to build and submit EActivity instances.
|
|
|
|
|
|
|
|
| |
All this so EMFolderTree can submit EActivity instances for async ops.
You can obtain an EMailSession from an EMailBackend, but not vice versa.
Creates lots of pretty ripples in the mail code, but ultimately reduces
complexity. So it's a code cleanup of sorts.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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...
|
|
|
|
|
|
| |
Use an enum type to request different action groups. For now we just
have E_MAIL_READER_ACTION_GROUP_STANDARD. EMailReader implementations
should map the enum value to an appropriate GtkActionGroup.
|
|
|
|
| |
Use e_mail_folder_remove() instead.
|
|
|
|
| |
Use e_mail_store_prepare_for_offline() instead.
|
|
|
|
|
|
|
|
| |
This starts up the EMailShellBackend whenever a new composer window is
created. Normally this happens when switching to the Mail shell view,
but if trying to send a message from a different shell view before the
Mail shell view is ever activated, the mail accounts were not getting
loaded and sending or saving the message to a mail folder would fail.
|
| |
|
| |
|
|
|
|
|
| |
I guess I meant to move these to EMailReader but forgot to delete the
original versions.
|
| |
|
| |
|
|
|
|
|
| |
No more fetching a message itself. Oh, and stop unreffing the message.
Those kinds of insane semantics are what lead to crashes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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...
|
|
|
|
|
| |
Now uses camel_store_get_folder() and camel_folder_get_quota_info(),
although I need to rewrite the quota function to be asynchronous.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Now uses e_mail_folder_build_attachment() and
e_mail_folder_get_multiple_messages().
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Take a folder URI string instead of a CamelFolderInfo, and swap places
with the GtkWindow parameter.
|
|
|
|
| |
Take a folder URI string instead of a CamelFolderInfo.
|
|
|
|
|
| |
I have no idea what this was used for, but it looks way too convoluted
to be useful anymore.
|
|
|
|
|
| |
Instead call e_mail_reader_get_folder() and, if you really need to,
generate the folder URI with e_mail_folder_uri_from_folder().
|
|
|
|
|
| |
Pass CamelFolder objects instead, which are already available at almost
every call site.
|
|
|
|
| |
Mostly dead assignments.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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().
|
|
|
|
| |
Comes in handy for a few EMailShellView actions.
|
| |
|
| |
|
| |
|
|
|
|
| |
No longer used.
|
|
|
|
| |
Prefer the newer GtkAction "set" functions over g_object_set().
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With lockdown settings available through GSettings, widgets can handle
lockdown integration themselves without having to use EShellSettings.
Also fixed a few places where printing or save-to-disk actions were
either not properly wired up or not responding to lockdown settings,
but much more work needs done. Attachments, for example, are not
honoring the disable-save-to-disk setting at all.
This too requires the recently-added gsettings-desktop-schemas
dependency.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Lockdown keys have moved to gsettings-desktop-schemas, so disable
lockdown integration until we're ready for GSettings.
|
|
|
|
|
| |
As of GLib 2.28 all GObject virtual methods, including constructed(),
are safe to chain up to unconditionally. Remove unnecessary checks.
|
|
|
|
| |
GCC learned how to find dead assignments.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
If the migration phase has to show a dialog the idle callback for
intializing mail stores will run too soon. Instead, hook it onto
the EShellBackend start() method.
Migration code can initialize mail stores early if it needs to.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
As a follow-up for bug #633949
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Use e_mail_session_unsubscribe_folder() instead.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With unintrusive error dialogs gone, we can cut some unnecessary bits
out of EActivity.
I'm also adding a new enum property called "state", which is one of:
E_ACTIVITY_RUNNING
E_ACTIVITY_WAITING
E_ACTIVITY_CANCELLED
E_ACTIVITY_COMPLETED
The state of an activity must be explicitly changed. In particular,
when the user cancels an activity the state should be set only after
confirming the operation has been cancelled and not when cancellation
is requested (e.g. after receiving a G_IO_ERROR_CANCELLED, not when
the GCancellable emits "cancelled"). EActivityBar and EActivityProxy
widgets have been updated to make this distinction clearer in the UI.
E_ACTIVITY_WAITING will be used when activities have to be queued and
dispatched in sequence, which I haven't written yet.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To reduce GConf usage in em-composer-utils.c:
- Relevant functions in em-composer-utils.c now take arguments for
reply and forward styles.
- Redundant forwarding functions were removed:
em_utils_forward_attached()
em_utils_forward_inline()
em_utils_forward_quoted()
- EMailReader now has "forward-style" and "reply-style" properties,
which get bound to the appropriate EShellSettings properties in
modules/mail/e-mail-config-reader.c. These same EShellSettings
properties are bound to the combo boxes in Composer Preferences.
|
|
|
|
|
|
| |
So we don't have to access GConf directly from EMFolderTree. The
property gets bound to an EShellSettings property, which is in turn
bound to the "no_folder_dots" GConf key by way of a transform function.
|
|
|
|
|
|
|
|
|
| |
And generate GTypes for each of them in e-mail-enumtypes.[ch].
Also, the glib-gen.mak script forced me to add a <mail/e-mail.h>
top-level header, which really isn't a bad idea anyway.
TODO: We should do this for calendar and addressbook too.
|
| |
|
| |
|
|
|
|
|
|
| |
This marks the end of unintrusive error dialogs, which were too
unintrusive. We now show errors directly in the main window using
the EAlert / EAlertSink framework.
|
| |
|
|
|
|
|
|
| |
GObject now does property bindings itself.
Requires GLib >= 2.26.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Listen for "prepare-for-quit" signals from the shell and inhibit
shutdown until all the activities we're tracking are finalized.
Also, add a couple supporting functions:
gboolean e_shell_backend_is_busy (EShellBackend *shell_backend);
void e_shell_backend_cancel_all (EShellBackend *shell_backend);
These will eventually replace mail_msg_active() and mail_cancel_all().
|
|
|
|
| |
Use camel_folder_get_uri() instead.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Redesign the "Folder Subscriptions" dialog and use Camel's async API
instead of the MailMsg infrastructure to simplify the implementation.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
All this time I never realized the subject-thread plugin was nothing
more than a stupid checkbox. The actual thread-by-subject code lives
in the core mail library.
|
|
|
|
| |
EConfig and EMAccountEditor are very, very brittle.
|
|
|
|
|
|
| |
- Fix GtkVBox orientations.
- Reduce container widgets.
- Remove unused widgets.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove some options from Mail Preferences that aren't worth the screen
real estate they take up. For now, the corresponding GConf keys still
remain and are honored by Evolution. These same options were already
removed for Express mode.
Options removed are:
[ ] Mark messages as read after XXX seconds
[ ] Do not display messages when text size exceeds XXX KB
[ ] Shrink To / Cc / Bcc headers to XXX addresses
[ ] Enable Magic Spacebar
[ ] Enable Search Folders
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Given the way the autosave feature was awkwardly bolted on to the
composer, an EExtension seemed like a natural fit. And it helped
clean up some object lifecycle hacks (and bugs).
What we have now is a new module consisting of two EExtensions:
EComposerAutosave extends EMsgComposer and determines when to
kick off an asynchronous autosave operation.
EComposerRegistry extends EShell and offers to restore orphaned
autosave files on startup (which is also asynchronous now).
e-autosave-utils.c holds the actual asynchronous functions and a few
other miscellaneous utility functions.
Source code for the new module lives in /modules/composer-autosave.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
Prefer thread-safe G_DEFINE_TYPE and G_DEFINE_INTERFACE macros over
manual GType registration.
This is just a start... lots more to do.
|
|
|
|
| |
using g_signal_connect_object in many places; fixes bgo#627525#
|
| |
|
| |
|
|
|
|
| |
Reduce the composer's dependency on e_shell_get_default().
|
|
|
|
|
|
|
|
|
| |
e_preferences_window to take factory callbacks and store a reference
to the shell. - This makes start-up substantially faster, particularly
on Atom (eg.).
Remove a number of idle handlers used to create these UIs in the
first instance, cleaning the code.
|
| |
|
|
|
|
|
| |
David's solution is simpler: check if the HTML widget is mapped.
Avoids having to propagate the property to Srini's new classes.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
...with a dropdown menu like the Forward button, and configuration for
whether it tries to do 'Reply to List' by default.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This gives EShellSearchbar something concrete to call to direct focus
away from itself instead of tabbing forward and hoping for the best.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Convert the "startup-wizard" EPlugin to an EExtension, and fix up the
importing UI a bit (but it still needs a lot more love). Importing
progress is now shown directly in the GtkAssistant window.
Define a new EConfigItem type (E_CONFIG_PAGE_PROGRESS) for creating
progress pages in a GtkAssistant.
Also, change EMAccountEditor semantics slightly: you now have to call
e_config_create_window() manually after creating a new EMAccountEditor
instance. This allows extra EConfigItems (specifications for the window
content) to be added manually before the window is created.
|
|
|
|
|
|
|
|
|
|
| |
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).
|
| |
|
|
|
|
|
|
|
| |
Converted size restoration of all preview panes to be triggered by
EShellWindow::shell-view-created signal. The signal is emitted when
the view is fully initialized and visible. Shell views can use that
as a trigger for restoring pane sizes from GConf.
|
|
|
|
|
|
|
| |
This reverts commit 43e2c871a418b560b391af00df2b10896055026c.
Correct icon name is "mail-mark-notjunk". The previous fix got
clobbered by the express2 merge.
|
| |
|
|\ |
|
| | |
|
| |\ |
|
| | | |
|
| |\| |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit edf6286a38279e6db82dee4da50e94c587f06e02.
gnome-icon-theme got it wrong, not us. See bug #616954.
|
| | | |
|
| | |
| | |
| | |
| | | |
mail-mark-notjunk -> mail-mark-not-junk
|
| | | |
|
| | |
| | |
| | |
| | | |
mail-mark-notjunk -> mail-mark-not-junk
|
| | |
| | |
| | |
| | |
| | |
| | | |
That was just for development. Now we hardcode the lists of widgets.
Signed-off-by: Federico Mena Quintero <federico@novell.com>
|
| |\| |
|
| | | |
|
| | | |
|
| |\ \ |
|
| | |\|
| | | |
| | | |
| | | |
| | | |
| | | | |
Note that express2 got some documentation for EExtensible and friends,
and that documentation is not in gnome-2-30 yet. We need to cherry-pick
those commits into gnome-2-30 and elsewhere.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Federico Mena Quintero <federico@novell.com>
|
| |/ /
| | |
| | |
| | | |
Signed-off-by: Federico Mena Quintero <federico@novell.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Composer and signature editor always default to HTML in Express mode.
Hide the corresponding composer preference. This will not affect the
user preference in normal mode.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
Conflicts:
doc/reference/shell/eshell-sections.txt
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Make EWebView extensible and register an extension to automatically
bind every EWebView instance to the appropriate EShellSettings.
Conflicts:
widgets/misc/e-web-view.c
|
| |/
| |
| |
| |
| | |
Make EMFormatHTML extensible and register an extension to automatically
bind every EMFormatHTML instance to the appropriate EShellSettings.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
We measure a sample string, and then clamp this to one fourth of the
screen's width; we do some voodoo to guess the monitor we are in.
Signed-off-by: Federico Mena Quintero <federico@novell.com>
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
This reverts commit edf6286a38279e6db82dee4da50e94c587f06e02.
gnome-icon-theme got it wrong, not us. See bug #616954.
|
| | |
|
| | |
|
| |
| |
| |
| | |
mail-mark-notjunk -> mail-mark-not-junk
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Composer and signature editor always default to HTML in Express mode.
Hide the corresponding composer preference. This will not affect the
user preference in normal mode.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
We just clamp this to one fourth of the screen's width; we do
some voodoo to guess the monitor we are in.
Signed-off-by: Federico Mena Quintero <federico@novell.com>
|
| | |
|
| |
| |
| |
| | |
Signed-off-by: Federico Mena Quintero <federico@novell.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We do this by measuring a template string, which contains a sample name for an email account.
This is what normally gets displayed in the folder tree, so such a sample string
should give a reasonable width.
Signed-off-by: Federico Mena Quintero <federico@novell.com>
Conflicts:
modules/mail/e-mail-shell-sidebar.c
|
| |
| |
| |
| | |
Signed-off-by: Federico Mena Quintero <federico@novell.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
We do this by measuring a template string, which contains a sample name for an email account.
This is what normally gets displayed in the folder tree, so such a sample string
should give a reasonable width.
Signed-off-by: Federico Mena Quintero <federico@novell.com>
|
| |
| |
| |
| |
| | |
Make EWebView extensible and register an extension to automatically
bind every EWebView instance to the appropriate EShellSettings.
|
| | |
|
|/
|
|
|
| |
Make EMFormatHTML extensible and register an extension to automatically
bind every EMFormatHTML instance to the appropriate EShellSettings.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace the EVO_EXPRESS environment variable with an --express command
line option. (Note, this adds a new translatable string for --help.)
Add an EUIManager class with an "express-mode" property and custom load
functions that use our new "express" preprocessor. This replaces the UI
manager functions in e-utils.c.
(Also going to see if I can get GTK+ to add an "add_ui_from_string"
method to GtkUIManagerClass that we can override. Then we could just
call gtk_ui_manager_add_ui_from_string() and the preprocessor would
automatically do its thing and chain up.)
Add an "express-mode" read-only GObject property to EShell.
Add e_shell_configure_ui_manager() to e-shell-utils.c. For now this
just creates a one-way property binding:
EShell:express-mode -> EUIManager:express-mode
Call this immediately after e_ui_manager_new(). (EUIManager can't do
this itself because it lives too low in the dependency hierarchy and
doesn't know about EShell.)
|
|
|
|
|
| |
extend them to plugins - use a simple one-off boolean on the UI Manager
instead of exhaustively trying to propagate this information everywhere.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
| |
Also, let EShellSearchbar handle search state persistence.
|
| |
|
|
|
|
| |
offline mode
|
| |
|
|
|
|
| |
Use Shift+Ctrl+F as the accelerator for consistency with the mailer.
|
| |
|
|
|
|
| |
Several GtkWidget macros were recently deprecated.
|
| |
|
| |
|
|
|
|
|
| |
The function is trivial and was only used from ETableHeaderItem.
This also eliminates widgets/misc/e-gui-utils.[ch].
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
| |
/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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|