| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
| |
This uses the new gtk_assistant_commit() I had added to GTK+ for our
EImportAssistant progress page.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
This reverts commit 0cdd9484fec0b1fec0801df7d7e0b05c6544ba9b.
Causes the Mail window to erroneously switch to Contacts when opening
the Contacts window in express mode.
|
|\ |
|
| | |
|
| |\ |
|
| | | |
|
| | |
| | |
| | |
| | | |
to be used by windows default application setting dialogue
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Defaults" dialogue and use quoted string instead of short path, since
this is how the "Hotmail" e-mail provider is doing it (unlike what
documentation says)
|
| |\ \ |
|
| | |\| |
|
| | | |
| | | |
| | | |
| | | | |
mailto handler.
|
| | | |
| | | |
| | | |
| | | | |
setting Evolution comme defaut mail application on windows.
|
| |/ /
| | |
| | |
| | | |
some transience issues in the calendar dialog re-layout.
|
| | |
| | |
| | |
| | | |
setting Evolution comme defaut mail application on windows.
|
| |\| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Exclude print settings that should not persist. This topic has a lot of
grey areas and GTK+ offers no help, so we'll do this by popular demand.
For starters, I'm excluding settings that have messed -me- up in the past:
GTK_PRINT_SETTINGS_N_COPIES
GTK_PRINT_SETTINGS_PAGE_RANGES
GTK_PRINT_SETTINGS_PAGE_SET
GTK_PRINT_SETTINGS_PRINT_PAGES
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The EConfig code that creates widgets based on .eplug descriptions will
already hide sections that end up containing no child widgets.
Here we also make that code hide sections that end up containing
only invisible child widgets. We will use this from the actual
plugins, so that if they decide not to show any widgets in Express
mode, then the corresponding configuration sections will not
show up in the preferences dialog.
EConfig types 'section' and 'section-table' have an internal factory function,
which doesn't return the actual GtkFrame that they create. Instead, they return
a GtkContainer which is the actual vbox or table used to insert child widgets.
Here we modify the internal factory function to also return the actual GtkFrame
that it creates, so that the calling code can hide *that* frame properly.
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.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This introduces a simple means of extending Evolution objects.
Any GObject subclass wishing to be extensible need only call
g_type_add_interface_static (type, E_TYPE_EXTENSIBLE, NULL);
when registering its GType, and then at some point during initialization
call e_extensible_load_extensions() to load extensions for that subclass.
Extensions are implemented by subclassing EExtension, setting the GType
being extended in EExtensionClass, and making sure its own GType gets
registered at startup. This usually done while loading a GTypeModule.
e_extension_get_extensible() provides extensions access to the object
being extended.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Introduce e_extensible_list_extensions(), which provides extensible
objects access to their own extensions, or a subset of them.
Convert EShellBackend to an abstract EExtension subtype. EShell will
load its extensions with e_extensible_load_extensions(), and then obtain
a list of EShellBackend extensions as follows:
shell_backends = e_extensible_list_extensions (
E_EXTENSIBLE (shell), E_TYPE_SHELL_BACKEND);
Because EShellBackend is abstract, its GType is skipped while traversing
the GType hierarchy to find EShell extensions.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
The mechanism here is simple but hard to explain without leaning heavily
on object-oriented jargon. Consider this a rough draft. Illustrations
would certainly help clarify.
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This introduces a simple means of extending Evolution objects.
Any GObject subclass wishing to be extensible need only call
g_type_add_interface_static (type, E_TYPE_EXTENSIBLE, NULL);
when registering its GType, and then at some point during initialization
call e_extensible_load_extensions() to load extensions for that subclass.
Extensions are implemented by subclassing EExtension, setting the GType
being extended in EExtensionClass, and making sure its own GType gets
registered at startup. This usually done while loading a GTypeModule.
e_extension_get_extensible() provides extensions access to the object
being extended.
|
| |
| |
| |
| | |
avoids the need for intltool changes.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
to be used by windows default application setting dialogue
|
| | |
|
| |
| |
| |
| |
| |
| | |
Defaults" dialogue and use quoted string instead of short path, since
this is how the "Hotmail" e-mail provider is doing it (unlike what
documentation says)
|
| |
| |
| |
| | |
mailto handler.
|
| |
| |
| |
| |
| | |
This also removes the boxed CamelObject GType, since CamelObject is an
honest-to-goodness GObject now.
|
| | |
|
| | |
|
| |
| |
| |
| | |
setting Evolution comme defaut mail application on windows.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Exclude print settings that should not persist. This topic has a lot of
grey areas and GTK+ offers no help, so we'll do this by popular demand.
For starters, I'm excluding settings that have messed -me- up in the past:
GTK_PRINT_SETTINGS_N_COPIES
GTK_PRINT_SETTINGS_PAGE_RANGES
GTK_PRINT_SETTINGS_PAGE_SET
GTK_PRINT_SETTINGS_PRINT_PAGES
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Still remaining:
GtkAccessible::widget
GtkAssistant::forward
GtkAssistant::back
GtkObject::flags
GtkTreeStore::stamp
The GtkAssistant fields are related to bug #596428. We don't
need accessor functions so much as the enhancement described
there implemented.
https://bugzilla.gnome.org/show_bug.cgi?id=615613
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Remove old ChangeLog files that predate our switch to git.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
MessageList is the only thing still using it.
EMemPool is gone now, so it uses CamelMemPool instead (same thing).
|
| |
| |
| |
| |
| |
| |
| | |
There's too much ancient, crufty code there that we can't realistically
support anymore. A workaround for those poor users still on 1.x is to
upgrade to some 2.x release first, then upgrade again to 3.x. An error
dialog explaining this will be shown at startup.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
avoids the need for intltool changes.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Introduce e_extensible_list_extensions(), which provides extensible
objects access to their own extensions, or a subset of them.
Convert EShellBackend to an abstract EExtension subtype. EShell will
load its extensions with e_extensible_load_extensions(), and then obtain
a list of EShellBackend extensions as follows:
shell_backends = e_extensible_list_extensions (
E_EXTENSIBLE (shell), E_TYPE_SHELL_BACKEND);
Because EShellBackend is abstract, its GType is skipped while traversing
the GType hierarchy to find EShell extensions.
|
| | |
|
| |
| |
| |
| |
| |
| | |
The mechanism here is simple but hard to explain without leaning heavily
on object-oriented jargon. Consider this a rough draft. Illustrations
would certainly help clarify.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This introduces a simple means of extending Evolution objects.
Any GObject subclass wishing to be extensible need only call
g_type_add_interface_static (type, E_TYPE_EXTENSIBLE, NULL);
when registering its GType, and then at some point during initialization
call e_extensible_load_extensions() to load extensions for that subclass.
Extensions are implemented by subclassing EExtension, setting the GType
being extended in EExtensionClass, and making sure its own GType gets
registered at startup. This usually done while loading a GTypeModule.
e_extension_get_extensible() provides extensions access to the object
being extended.
|
|
|
|
|
|
|
|
|
| |
We can't require the use of EUIManager everywhere because we don't
control all the UI manager instances -- the most compelling example
being the composer, whose UI manager comes from GtkhtmlEditor.
Instead, EPluginUI will check the instance type and pick an appropriate
"load_from_string" function.
|
|
|
|
|
|
| |
Add G_GNUC_NULL_TERMINATED to EAlert functions with variable-length
parameter lists and drop the unnecessary "arg0" parameter so the
function attribute works correctly.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.)
|
|
|
|
|
|
| |
Allow plugins to disable chunks of their UI - *NB* requires patched intltool,
that doesn't elide comments in XML
Remove some debug
|
|
|
|
|
| |
extend them to plugins - use a simple one-off boolean on the UI Manager
instead of exhaustively trying to propagate this information everywhere.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Finally found the bug in GConfBridge...
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To avoid another case like bug #587014, add GSignalAccumulator functions
to all ETable and ETree signals that return a flag to indicate the signal
has been handled.
See commit e9dc381d3ace3404d0eafe94eb6da3b9a843abb8 for an example of
the kind of problems not having a GSignalAccumulator can cause.
Signals changed:
ETree::click
ETree::right-click
ETree::white-space-event
ETable::click
ETable::key-press
ETable::right-click
ETable::start-drag
ETable::white-space-event
ETableItem::click
ETableItem::right-click
ETableItem::start-drag
ETableGroup::click
ETableGroup::key-press
ETableGroup::right-click
ETableGroup::start-drag
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
EAlertDialog wants the primary and secondary strings escaped for use in
markup text, EActivityProxy does not use markup. So make it an explicit
part of the EAlert API.
|
| |
|
|
|
|
| |
Also, start fixing some Gtk-Doc warnings. There's a lot.
|
| |
|
|
|
|
|
|
| |
Avoid listing calendar and directory targets explicitly, so that
e-selection.c contains the one and only master list. Still need
to figure out how to centralize "text/x-source-vcard".
|
| |
|
| |
|
| |
|
|
|
|
| |
Add UTF-16 to UTF-8 conversion to e_selection_data_get_html().
|
| |
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=607804
|
| |
|
|
|
|
| |
Caught by the Clang Static Analyzer.
|
|
|
|
| |
Caught by the Clang Static Analyzer.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Drop all alert titles to be found in *.error.xml. HIG suggests alerts
do not have a title.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Previously I was just using G_TYPE_POINTER. Use the boxed camel object type
from e-util.h instead. When camel-gobject lands, we'll use G_TYPE_OBJECT
instead.
|
|
|
|
|
|
|
|
|
| |
Yes, this signal is kind of an ugly monster. I'm not sure how to improve this
significantly. But this commit removes the last EMFolderTreeModel and EShell
dependencies from MailFolderCache, which is a big step towards splitting off
the backend.
https://bugzilla.gnome.org/show_bug.cgi?id=604627
|
|
|
|
|
|
|
|
|
|
|
| |
This will allow us to decouple ourselves from some of the current dependencies,
such as the folder treemodel, the shell, etc. This just defines the signals,
the next step is to refactor things and actually make other classes use them.
We need one additional signal yet related to indicating the new unread emails,
but that one will require a little more thought I think.
https://bugzilla.gnome.org/show_bug.cgi?id=604627
|
|
|
|
|
|
|
|
| |
previously we were storing the EAlert's primary and secondary text in the dialog
object (using g_object_set_data_full). Since EAlertDialog encapsulates an
EAlert and we have access to the underlying EAlert object, we can just use the
EAlert API to get the primary and secondary text rather than storing duplicates
copies of it in the dialog.
|
|
|
|
| |
Fix another minor regression from my EAlert refactoring
|
| |
|
|
|
|
|
|
| |
Some error definitions don't specify a title or secondary text. Handle these
situations properly. This was a regression caused by my refactoring. Fixes
bug #604085.
|
|
|
|
|
| |
Make it obvious that this does not need to be freed like the other things that
use get_* (e.g. e_alert_get_title)
|
|
|
|
|
| |
This is a proper implementation of the various alert dialog helper functions.
It is a proper subclass of GtkDialog, etc.
|
|
|
|
|
|
| |
This encapsulates things a bit better and will be useful in the future since it
will probably need to be a GObject if we want to communicate EAlerts between the
front- and back-ends
|
| |
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=602963
|
|
|
|
|
|
|
|
|
|
| |
The EError mechanism is used both for error dialogs as well as basic alerts or
user prompts, so we should give it a more general name which matches this use.
This patch also cleans up a few includes of e-alert.h (formerly e-error.h) that
were not actually being used.
https://bugzilla.gnome.org/show_bug.cgi?id=602963
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, Most things reported errors directly. This is evidenced by the fact
that e_error_new() returns a GtkDialog*. This patch attempts to de-couple
error-reporting from the UI. It introduces a simple stuct (EError) that
describes the error which is returned much like a GError by passing it as an
output parameter to a function.
e_error_new() now returns a newly-allocated EError*, but the function signature
has changed to no longer accept a parent GtkWidget, so the API change should be
detected at compile time. I kept the convenience dialog functions, but renamed
them slightly:
- e_error_new() -> e_error_new_dialog()
- e_error_run() -> e_error_run_dialog()
Build is currently broken because nothing has been ported to use this new API
yet.
https://bugzilla.gnome.org/show_bug.cgi?id=602963
|
| |
|
|
|
|
|
|
|
|
|
| |
This is step two of the new --force-shutdown implementation.
Read Evolution's PID from ~/.evolution/.running, then invoke Evolution
with --quit to ask it to shutdown gracefully, then wait up to X seconds
for notification of process termination. If the process still has not
terminated, -then- we will kill it.
|
| |
|
|
|
|
|
| |
GTK+ already does this. Eliminates e_icon_factory_init() and
e_icon_factory_shutdown().
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This introduces e-shell-utils for miscellaneous utility functions
that integrate with the shell or shell settings. First function
is e_shell_run_save_dialog(), which automatically remembers the
selected folder in the file chooser dialog.
Also, kill some redundant save dialog functions, as well as some
write-this-string-to-disk functions that block.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rename e-fsutils to e-file-utils. This is where we'll add asynchronous
functions for common file I/O operations with EActivity integration.
Start with e_file_replace_contents_async() (and corresponding finish()
function). This is a simple wrapper for g_file_replace_contents_async()
which also returns an EActivity. It replaces e_write_file_uri().
Also redesign EIOActivity to -contain- a GAsyncResult rather than
implement the interface for itself. This is easier for now but I may
change my mind again when I figure out how to tie centralized error
reporting into the EActivity framework.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
EIOActivity implements the GAsyncResult interface, and the idea is to
use this instead of GSimpleAsyncResult. In addition to the features
offered by EActivity, it also contains GAsyncReadyCallback information
and a GCancellable.
- Calling e_activity_cancel() triggers the GCancellable.
- Calling e_activity_complete() triggers the GAsyncReadyCallback.
Functions that follow GIO's asynchronous pattern should return an
EIOActivity (cast as an EActivity) instead of 'void', so it can be
handed to an EShellBackend or whatever else dispatches activities.
This is not yet feature-complete. It's missing API for storing result
values and GErrors. I don't have a complete picture of the final API in
my head yet, so I'll copy things over from GSimpleAsyncResult as needed.
|
|
|
|
|
| |
Planning to write some asynchronous utility functions in e-util that
return EActivity objects.
|
|
|
|
|
| |
Use g_filename_to_uri() instead of e_util_filename_to_uri().
Use g_filename_from_uri() instead of e_util_uri_to_filename().
|
| |
|
| |
|
|
|
|
|
|
| |
Requires eplug files to supply <item type="section"> or
<item type="section_table"> for this to work. The container widget's
"visible" property gets bound to the plugin's "enabled" property.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Drop useless generic dialog titles:
- "Evolution Information"
- "Evolution Warning"
- "Evolution Query"
- "Evolution Error"
HIG suggests alerts (for which these titles are only used as far as I
know) do not have a title anyway.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This drops support for the GNOME22_USER_DIR environment variable,
but I don't imagine that's widely used these days anyway.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Fix as many cases that relied on it as I could find, but there may be
more cases out there. They should be fixed too. Passing a NULL parent
window to e_error_new() is illegal and will emit a runtime warning.
|
| |
|
|
|
|
|
| |
Also make it more fault-tolerant by warning about non-existent
property names instead of just crashing.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add an optional "callback" attribute to <ui-manager> elements.
This is useful when extending the UI of multiple GtkUIManager IDs from a
single plugin. If the "callback" attribute is not given, it defaults to
"e_plugin_ui_init".
For example:
<hook class="org.gnome.evolution.ui:1.0">
<ui-manager id="org.gnome.evolution.foo" callback="init_foo">
...
</ui-manager>
<ui-manager id="org.gnome.evolution.bar" callback="init_bar">
...
</ui-manager>
</hook>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There were a number of problems:
- Walk the GType tree to find EPluginHook subclasses, instead of
just registering the immediate children.
- Some EConfig and EEvent subclasses were not being configured
properly (particularly the mail and calendar subclasses).
- Add preference window pages after the main loop starts to make
sure all plugins and plugin hooks are installed first.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Require all EPlugin and EPluginHook subtypes be registered before
loading plugins. This drastically simplifies the EPlugin/EPluginHook
negotiation.
- Turn most EPluginHook subtypes into GTypeModules and register their
types from an e_module_load() function (does not include shell hooks).
- Convert EPluginLib and the Mono and Python bindings to GTypeModules
and register their types from an e_module_load() function, and kill
EPluginTypeHook.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\ |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
EPluginUI had a bug were given the following UI definition
<ui-manager id="...">
<top-level-widget-a>
<top-level-widget-b>
<top-level-widget-c>
</ui-manager>
it would only read <top-level-widget-a>. The siblings were ignored.
This doesn't affect any plugins currently using EPluginUI, but does
affect several on the "kill-bonobo" branch.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Wrote a new widget (ECharsetComboBox) to replace e-charset-picker.c.
The widget provides a "charset" string property that allows us to bind
to GConf keys (via EShellSettings). Moved e_charset_add_radio_actions()
to e-util/e-charset.c. Updated Glade files, #include lines, etc.
|
| | |
|
| |
| |
| |
| |
| | |
This one was more challenging. It exposed some flaws in the new shell
design and in EPluginUI, which is good because they're fixed now.
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
composer/e-composer-header-table.h
composer/e-composer-header.c
composer/e-composer-private.c
configure.ac
mail/em-account-editor.c
po/POTFILES.in
po/or.po
widgets/misc/e-search-bar.c
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
This fixes bug 584304.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
A test patch, maybe not fixing the bug fully, but let's try it.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Each EShellView now maintains a GKeyFile for recording disposable widget
state such as tree view path expansion, scroll bar positions, combo box
selections, etc. The EShellView records changes to the key file to
~/.evolution/<shell-backend>/config/state, and automatically restores
the GKeyFile at startup.
Currently only the mailer uses the key file, but it's intended to serve
all shell views. It replaces the use of Camel "cmeta" files, as well as
"et-expanded-*" and "folder-tree-expand-state.xml" files.
Also, the mailer's folder tree model now includes a column for tracking
which sidebar folders are expanded. Folder tree widgets appearing in
dialog windows can copy the sidebar's expanded state using
em_folder_tree_clone_expanded().
|
| | |
|
| | |
|
| |
| |
| |
| | |
This fixes bug 584304.
|
| | |
|
| | |
|
| |
| |
| |
| | |
A test patch, maybe not fixing the bug fully, but let's try it.
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
a11y/widgets/ea-combo-button.c
a11y/widgets/ea-combo-button.h
addressbook/gui/component/addressbook-component.c
addressbook/gui/component/addressbook-component.h
addressbook/gui/component/addressbook-view.c
addressbook/gui/component/addressbook-view.h
addressbook/gui/component/component-factory.c
addressbook/gui/widgets/e-addressbook-view.c
addressbook/gui/widgets/eab-contact-display.c
addressbook/gui/widgets/eab-gui-util.h
addressbook/gui/widgets/eab-menu.c
addressbook/gui/widgets/eab-menu.h
addressbook/gui/widgets/eab-popup-control.c
addressbook/gui/widgets/eab-popup-control.h
addressbook/gui/widgets/eab-popup.c
addressbook/gui/widgets/eab-popup.h
calendar/gui/cal-search-bar.c
calendar/gui/calendar-commands.c
calendar/gui/calendar-component.c
calendar/gui/comp-editor-factory.c
calendar/gui/comp-editor-factory.h
calendar/gui/control-factory.c
calendar/gui/dialogs/comp-editor.c
calendar/gui/e-cal-component-memo-preview.c
calendar/gui/e-cal-component-memo-preview.h
calendar/gui/e-calendar-table.c
calendar/gui/e-memo-table.c
calendar/gui/e-memos.c
calendar/gui/e-tasks.c
calendar/gui/gnome-cal.c
calendar/gui/gnome-cal.h
calendar/gui/itip-bonobo-control.c
calendar/gui/itip-bonobo-control.h
calendar/gui/main.c
calendar/gui/memos-component.c
calendar/gui/memos-control.c
calendar/gui/memos-control.h
calendar/gui/migration.c
calendar/gui/migration.h
calendar/gui/tasks-component.c
calendar/gui/tasks-control.c
calendar/importers/main.c
composer/Makefile.am
composer/e-composer-header-table.c
composer/e-composer-header.c
composer/e-composer-header.h
composer/e-composer-name-header.c
composer/e-composer-private.c
composer/e-composer-text-header.c
composer/e-msg-composer.c
composer/e-msg-composer.h
e-util/e-corba-utils.h
e-util/e-logger.c
e-util/e-logger.h
e-util/e-util-labels.c
e-util/e-util-labels.h
em-format/em-format.c
mail/Makefile.am
mail/e-mail-shell-migrate.c
mail/em-account-editor.c
mail/em-account-editor.h
mail/em-composer-prefs.c
mail/em-composer-utils.c
mail/em-composer-utils.h
mail/em-folder-browser.c
mail/em-folder-tree-model.c
mail/em-folder-tree.c
mail/em-folder-tree.h
mail/em-folder-utils.c
mail/em-folder-utils.h
mail/em-folder-view.c
mail/em-format-html-display.c
mail/em-format-html.c
mail/em-mailer-prefs.c
mail/em-mailer-prefs.h
mail/em-message-browser.c
mail/em-message-browser.h
mail/em-network-prefs.h
mail/em-popup.c
mail/em-utils.c
mail/importers/Makefile.am
mail/mail-component-factory.c
mail/mail-component.c
mail/mail-config-factory.c
mail/mail-config-factory.h
mail/mail-config.c
mail/mail-dialogs.glade
mail/mail-types.h
plugins/calendar-weather/calendar-weather.c
plugins/mail-account-disable/mail-account-disable.c
plugins/select-one-source/select-one-source.c
po/POTFILES.in
shell/e-component-registry.c
shell/e-component-registry.h
shell/e-component-view.c
shell/e-component-view.h
shell/e-corba-config-page.c
shell/e-corba-config-page.h
shell/e-shell-constants.h
shell/e-shell-settings-dialog.c
shell/e-shell-settings-dialog.h
shell/e-shell-window-commands.c
shell/e-shell-window.c
shell/e-shell.h
shell/e-sidebar.c
shell/e-sidebar.h
shell/e-user-creatable-items-handler.c
shell/e-user-creatable-items-handler.h
shell/es-menu.c
shell/es-menu.h
shell/evolution-component.h
shell/evolution-config-control.c
shell/evolution-config-control.h
shell/evolution-listener.c
shell/evolution-listener.h
shell/evolution-shell-component-utils.c
shell/evolution-shell-component-utils.h
shell/importer/evolution-importer-client.c
shell/importer/evolution-importer-client.h
shell/importer/evolution-importer-listener.c
shell/importer/evolution-importer-listener.h
shell/importer/evolution-importer.c
shell/importer/evolution-importer.h
shell/importer/evolution-intelligent-importer.c
shell/importer/evolution-intelligent-importer.h
shell/importer/intelligent.c
shell/main.c
shell/test/evolution-test-component.c
shell/test/evolution-test-component.h
widgets/menus/gal-view-instance.c
widgets/menus/gal-view-menus.c
widgets/menus/gal-view-menus.h
widgets/misc/Makefile.am
widgets/misc/e-activity-handler.c
widgets/misc/e-activity-handler.h
widgets/misc/e-charset-picker.c
widgets/misc/e-combo-button.c
widgets/misc/e-combo-button.h
widgets/misc/e-config-page.h
widgets/misc/e-dropdown-button.c
widgets/misc/e-dropdown-button.h
widgets/misc/e-filter-bar.c
widgets/misc/e-info-label.c
widgets/misc/e-info-label.h
widgets/misc/e-multi-config-dialog.c
widgets/misc/e-multi-config-dialog.h
widgets/misc/e-search-bar.c
widgets/misc/e-search-bar.h
widgets/misc/e-task-bar.c
widgets/misc/e-task-bar.h
widgets/misc/e-task-widget.c
widgets/misc/e-task-widget.h
widgets/misc/test-dropdown-button.c
widgets/misc/test-error.c
widgets/misc/test-info-label.c
widgets/table/e-table-example-1.c
|
| |/ |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
There still left two things opened, search for KILL-BONOBO to find them.
One is in calendar's Makefile.am, one in composer.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Split the GTypeModule loader out of EShellModule as EModule, and rename
EShellModule to EShellBackend. Backends (formerly modules) should now
subclass EShellBackend.
This commit converts EShell but breaks all the shell backends.
|
|\|
| |
| |
| |
| | |
Conflicts:
shell/e-shell-window-commands.c
|
| |
| |
| |
| |
| | |
Remove unnecessary <libgnomeui/gnome-dateedit.h> includes, and kill the
unused e_dialog_dateedit_set() and e_dialog_dateedit_get() functions.
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
addressbook/gui/Makefile.am
addressbook/gui/widgets/Makefile.am
addressbook/gui/widgets/eab-popup-control.c
calendar/gui/e-meeting-time-sel.c
calendar/gui/migration.c
calendar/modules/e-memo-shell-module-migrate.h
e-util/e-logger.c
mail/e-mail-attachment-bar.c
mail/em-composer-utils.c
mail/em-format-html-display.c
plugins/mail-account-disable/Makefile.am
plugins/select-one-source/Makefile.am
po/es.po
shell/Makefile.am
shell/e-shell-common.h
shell/e-shell-nm.c
shell/e-shell-window-commands.c
shell/e-shell-window.c
shell/e-sidebar.c
shell/e-user-creatable-items-handler.c
shell/importer/Makefile.am
shell/test/Makefile.am
widgets/misc/test-error.c
widgets/misc/test-info-label.c
widgets/misc/test-multi-config-dialog.c
|
| |
| |
| |
| |
| |
| | |
According to https://wiki.ubuntu.com/SavingTheWorld (and of course according to
the gtk docs) using g_timeout_add_seconds is preferred over g_timeout_add if a
timeout in seconds is desired.
|