| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
No longer needed.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
As discussed recently on the users mailing list [1], there's a strong
precedent among GTK+ applications for F9 to toggle sidebar visibility.
Examples cited were Nautilus, Evince, Totem, Rhythmbox, File-Roller
and gThumb.
Change the Send/Receive accelerator from F9 to F12, and designate F9
as the accelerator for View->Layout->Show Side Bar.
[1] https://mail.gnome.org/archives/evolution-list/2013-May/msg00194.html
|
|
|
|
|
|
| |
To make Evolution's shared libraries more consistent.
Also rename the documentation module to evolution-shell.
|
|
|
|
|
|
| |
To make Evolution's shared libraries more consistent.
Also rename the documentation module to evolution-util.
|
|
|
|
| |
Convenience function cancels the activity's GCancellable.
|
|
|
|
|
|
|
| |
Log debug messages for outstanding activities during shutdown to
help investigate stuck shutdown issues.
Enable this feature with: G_MESSAGES_DEBUG=evolution-shell
|
|
|
|
|
|
|
| |
Use g_signal_connect_data() to automatically release the EActivity when
the signal handler is disconnected, and keep the handler ID internally.
This is cleaner than using g_signal_handlers_disconnect_by_func().
|
|
|
|
|
|
|
|
|
| |
Mimicing Colin's commit fb9b02e for E-D-S.
We can't do (cd $(srcdir); ...) and inside reference $(top_srcdir)
because that variable uses a *relative* path. Thus we copy the
approach from gnome-shell of explicitly using addprefix to append
the source directory.
|
| |
|
| |
|
|
|
|
|
| |
Returns a GtkSizeGroup used to keep the search bar and sidebar banner
vertically aligned.
|
|
|
|
|
|
|
|
|
| |
Remove the following properties and corresponding get/set functions:
"express-mode"
"filter-visible"
"labels-visible"
"search-visible"
|
| |
|
| |
|
|
|
|
|
|
| |
This removes all traces of Express Mode from all but the contact editor
and calendar appointment editor. Need to evaluate the remaining cases
individually.
|
|
|
|
| |
No longer needed.
|
|
|
|
| |
No longer needed. Use GtkUIManager directly.
|
|
|
|
| |
No longer needed.
|
|
|
|
| |
No longer needed.
|
|
|
|
| |
No longer needed.
|
|
|
|
|
|
| |
The property is always FALSE.
Remove both the property itself and any logic predicated on it.
|
|
|
|
| |
Its preconditions are never TRUE, and is therefore a no-op function.
|
|
|
|
|
|
| |
The property is always FALSE.
Remove both the property itself and any logic predicated on it.
|
|
|
|
| |
No longer used.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This effectively removes Express Mode as a user-selectable feature.
Express Mode was developed for MeeGo by MeeGo developers. Today the
MeeGo project is dead, the MeeGo developers have disappeared, no one
is maintaining Express Mode and the feature is deteriorating.
There's still some bits of Express Mode I'd like to salvage before
we remove it entirely, but henceforth it will have to be enabled at
compile-time.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit ee5671fc fixed mbox-to-Maildir conversion for users upgrading
from Evolution 2.32, who had already migrated to XDG Base Directories.
But turns out, mbox-to-Maildir conversion was still broken for users
coming from Evolution 2.30 or earlier because the logic to move files
into XDG Base Directories was running *after* the conversion routine.
So the conversion routine found nothing to convert, and users were
left with a broken "On This Computer" mail store.
This commit runs the XDG Base Directory migration first on startup,
followed by the mbox-to-Maildir conversion.
|
|
|
|
|
|
|
|
| |
EShellSettings predates GSettings and is no longer necessary.
GSettings allows binding GObject properties to GSettings keys,
with optional mapping functions. That fulfills the purpose of
EShellSettings.
|
|
|
|
|
|
|
|
| |
EShellSettings predates GSettings and is no longer necessary.
GSettings allows binding GObject properties to GSettings keys,
with optional mapping functions. That fulfills the purpose of
EShellSettings.
|
|
|
|
|
|
|
|
| |
EShell's instance of EClientCache gets instantiated before modules are
loaded, so explicitly call e_extensible_load_extensions() on the cache
after modules are loaded.
This requires commit 525fba8 in evolution-data-server to work.
|
|
|
|
|
|
|
|
|
| |
Give EShell its own EClientCache. This should be used throughout
Evolution, wherever an EClient is needed.
New functions:
e_shell_get_client_cache()
|
|
|
|
|
|
| |
GTK+ uses (G_PRIORITY_HIGH_IDLE + 20) for redrawing operations, which is
actually a slightly lower priority than G_PRIORITY_HIGH_IDLE. Therefore
for our purpose, G_PRIORITY_HIGH_IDLE is sufficient.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
This reverts commit 2b507716b257e6ef98dae8463180dbe718eb7b64.
The commit contains not a single comment as to why these custom priority
values are being used. The rationale needs to be documented in the code,
either at each call point or preferrably at a centralized priority value
definition.
|
| |
|
|
|
|
|
| |
Clean up resulting deprecation warnings, which were all related to
GtkOrientable consolidation (e.g. gtk_hbox_new() -> gtk_box_new()).
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
No disrespect to past maintainers, documenters and contributers, but the
Credits section of Evolution's About dialog is a mess and needs a reset.
The list of authors and documenters is YEARS out of date, and it's not
feasible to maintain a complete list of contributors for a project this
large and this old.
Reset the authors list to myself, Milan and Dan and the documenters list
to Andre -- with a nod to past contributers.
|
|
|
|
| |
Make sure EImportHook and EPluginUIHook types are registered at startup.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move the supporting widgets for the contact maps feature alongside
EABContactDisplay. Removing them from libeutil helps isolate our usage
of libchamplain so it's not imposed on the entire application, and even
3rd party software. That libchamplain is an optional dependency only
further complicates the matter.
Ideally I'd like to somehow isolate this feature in an extension module,
but we currently lack sufficient hooks for such an extension. So this
arrangement will have to suffice for now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
As of GTK+ 3.4, GtkApplication now provides session management
support similar to EggSMClient. So drop our copy of EggSMClient.
|
|
|
|
|
|
|
|
| |
I broke contact maps when I removed the settings capplet.
The contact maps feature uses clutter-gtk, so we still need to call
gtk_clutter_init_with_args() instead of gtk_init_with_args() if the
contact maps feature is enabled.
|
|
|
|
| |
Just a workaround until Webkit upstream has that fixed.
|
|
|
|
|
| |
This was useful early in the kill-bonobo project when I was rewriting
EShell from scratch. Nowadays not so much. Drop it.
|
| |
|
|
|
|
|
|
| |
camel_service_get_settings() is now camel_service_ref_settings()
and it returns a new CamelSettings reference which the caller must
release with g_object_unref().
|
|
|
|
|
|
|
|
|
|
|
|
| |
These functions now return new references:
camel_session_add_service()
camel_session_list_services()
These functions have been renamed and also return new references:
camel_session_get_service() -> camel_session_ref_service()
camel_session_get_service_by_url() -> camel_session_ref_service_by_url()
|
|
|
|
|
|
| |
This was another MeeGo feature. MeeGo is dead, the code is starting to
bit rot and crashes on startup, the original author disappeared and the
remaining developers are not interested in maintaining it. So it's out.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Invoke the mbox-to-Maildir conversion directly from main(), just
before the call to e_shell_load_modules().
The reason the code is here and not in the mail module is because
we inform the user at startup of the impending mail conversion by
displaying a popup dialog and waiting for confirmation.
This has to be done before we load modules because some of the
EShellBackends immediately add GMainContext sources that would
otherwise get dispatched during gtk_dialog_run(), and we don't
want then dispatched until after the conversion is complete.
|
|
|
|
|
| |
Convenience function wraps e_source_remote_delete() but handles
user-facing activity and error display.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Save the version after the startup wizard has had a chance to
run. If the user chooses to restore data and settings from a
backup, Evolution will restart and the restored data may need
to be migrated.
If we save the version before the restart, then Evolution will
think it has already migrated data and settings to the current
version and the restored data may not be handled properly.
|
|
|
|
|
|
|
| |
Looks like some ancient development environment script.
I actually use something very similar for my own development
environment, but it doesn't belong in a version control system.
|
|
|
|
|
|
| |
Not the next stable version. If migration needs to occur multiple times
during a development cycle for different reasons, we'll need an accurate
last-used-version stamp.
|
|
|
|
|
|
| |
This is always '0'.
I've never changed it to anything else so it's a useless definition.
|
|
|
|
|
|
|
|
|
| |
AFAICT, this key does nothing useful and only confuses me every time I
read the EShell migration code.
The "version" key records the most recently used Evolution version.
That's all we need for migration. And since downgrading Evolution is
not supported, we can assume this value will only increase over time.
|
|
|
|
|
| |
Evolution is no longer a privileged D-Bus client. Only terminate
Evolution, not the D-Bus services that other clients may be using.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Replace 8-space indentation with tab characters, and various other
automated cleanups.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
libevolution-utils.
|
| |
|
|
|
|
| |
Defaults to e_shell_searchbar_new().
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This is a silly and misleading option. It gives the impression that it
activates extra debugging output, when really it's precisely the same as
"evolution &> LOGFILE" and nothing more.
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Required by GNU Coding Standards.
|
| |
|
| |
|
| |
|
|
|
|
| |
Apply it to all windows with persistent size and/or position.
|
|
|
|
| |
No longer needed.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\ |
|
| | |
|
|\| |
|
| | |
|
|\| |
|
| |
| |
| |
| | |
g_type_init() already calls it, and has for several GLib releases.
|
|\| |
|
| | |
|
| | |
|
|\| |
|
| | |
|
| | |
|
| | |
|
|\| |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
GConf's default value for the version key is an empty string, which
causes "sscanf (string, "%d.%d.%d", major, minor, micro)" to fail and
leaves the major/minor/micro variables uninitialized.
Instead, initialize the up front before reading the GConf key.
|
|\| |
|
| |
| |
| |
| |
| |
| | |
GtkFileChooser in GTK+ 3.2 now keeps track of the last-used-folder
itself, even across applications, so get out of its way and let it
handle it.
|
| |
| |
| |
| |
| | |
GtkEntry in GTK+ 3.2 now provides this functionality through the new
GtkEntry:placeholder-text property.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I pushed a few EShell features up to GtkApplication for GTK+ 3.2,
so we can now trim off the redundancies in EShell.
1) GtkApplication has a new "window-added" signal which replaces
EShell's own "window-created" signal.
2) GtkApplication has a new "window-removed" signal which replaces
EShell's own "window-destroyed" signal.
3) gtk_application_get_windows() now returns a list of windows sorted
by most recently focused, replacing e_shell_get_watched_windows().
4) GtkApplication now provides enough hooks to subclasses that we can
remove e_shell_watch_window() and call gtk_application_add_window()
directly.
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We have a confusing array of nearly-identical CFLAGS/LIBS definitions in
configure.ac. Time to simplify. Instead let's just have one definition
that includes all the libraries provided by Evolution-Data-Server (incl.
Camel). That, in combination with GNOME_PLATFORM, gives us most of what
we need for compliation and linking, and we can sprinkle definitions for
additional library dependencies in Makefile.am's as needed.
|
| |
| |
| |
| | |
Drop all GLIB_CHECK_VERSION macros.
|
| |
| |
| |
| |
| | |
Reducing diff noise so I can see important changes easier when comparing
branches. A few API changes, but nothing that affects functionality.
|
| |
| |
| |
| |
| |
| |
| |
| | |
The EModule, EExtensible and EExtension classes as well as the
e_type_traverse() function have been moved to Evolution-Data-Server's
libebackend library to replace e-data-server-module.c.
Now Evolution-Data-Server modules use the same framework as Evolution.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Work around GLib API churn with regard to registering UNIX signal
callbacks on the main loop. GLib >= 2.29.5 calls the function one
thing, GLib >= 2.29.19 calls it another.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
A signal handler connected to an EFilterRule was passing a GtkDialog
instance as the closure. Eventually, the GtkDialog is destroyed but
we never disconnected the signal handler.
|
| |
| |
| |
| | |
Keeps GTK+ from going crazy with runtime warnings.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Now EMFolderTree has access to both an EShellBackend and an EAlertSink;
everything it needs to build and submit EActivity instances.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is primarily for the GNOME Shell calendar.
If, for example, "evolution --component calendar" is invoked and there
is already an Evolution window opened to the calendar view, present that
window. Otherwise open a new Evolution window to the requested view.
Same behavior applies to all requested views.
|
| |
| |
| |
| |
| | |
This adds a "handle-uris" GAction which takes a string array argument,
so the URIs can be passed to the primary process verbatim.
|
| |
| |
| |
| |
| | |
We can't call anything safely except write() inside a signal handler,
g_unix_signal_add_watch_full() handles this for us nicely.
|
| |
| |
| |
| | |
SIGQUIT is supposed to produce a core dump. We don't want that.
|
| |
| |
| |
| |
| | |
Assume the operating system ships with a system-wide crash catching
service like ABRT or Apport.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Opens a window to manage categories without having to edit a contact or
appointment. Not available in the Mail shell view since it doesn't use
categories.
|
| | |
|
| |
| |
| |
| |
| |
| | |
Yet another s/MOBLIN/MEEGO/
https://bugs.meego.com/show_bug.cgi?id=13756
|
| |
| |
| |
| |
| |
| |
| | |
This plugin was for developers, but no one uses it anymore. Plus the
only profiling hooks left in Evolution were in the MessageList widget,
which performs fine. There's better ways to collect profiling data
these days anyway (sysprof, systemtap, etc.).
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
GApplication calls g_main_loop_quit() immediately when the last window
is destroyed, whereas we do it from an idle callback with an extra ref
on EShell to keep it alive until the idle callback runs. But because
GApplication beats us to the punch, our idle callback never runs and
the EShell reference leaks.
For now, we'll just disable the quit_mainloop() method of GApplication.
If GtkApplication grows a signal equivalent to EShell::window-destroyed,
EShell could drop its window_destroyed() method and let G[tk]Application
handle things normally.
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Requires GTK+ >= 3.0.2 since GTK_STYLE_CLASS_PRIMARY_TOOLBAR is a very
recent addition.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
Opens the Preferences window to the Composer Preferences section.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Easy enough to fake gtk_widget_get_preferred_size() in gtk2 using
gtk_widget_size_request(). Reduces diff noise with gtk3 branch.
|
| | |
|
| |
| |
| |
| |
| |
| | |
An easy way to broadcast application-wide alerts to shell windows.
These alerts will persist in all current and future shell windows
until responded to (either programmatically or by the user).
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
directories
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Work around GLib API churn with regard to registering UNIX signal
callbacks on the main loop. GLib >= 2.29.5 calls the function one
thing, GLib >= 2.29.19 calls it another.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
A signal handler connected to an EFilterRule was passing a GtkDialog
instance as the closure. Eventually, the GtkDialog is destroyed but
we never disconnected the signal handler.
|
| |
| |
| |
| | |
Keeps GTK+ from going crazy with runtime warnings.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Now EMFolderTree has access to both an EShellBackend and an EAlertSink;
everything it needs to build and submit EActivity instances.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is primarily for the GNOME Shell calendar.
If, for example, "evolution --component calendar" is invoked and there
is already an Evolution window opened to the calendar view, present that
window. Otherwise open a new Evolution window to the requested view.
Same behavior applies to all requested views.
|
| |
| |
| |
| |
| | |
This adds a "handle-uris" GAction which takes a string array argument,
so the URIs can be passed to the primary process verbatim.
|
| |
| |
| |
| |
| | |
We can't call anything safely except write() inside a signal handler,
g_unix_signal_add_watch_full() handles this for us nicely.
|
| |
| |
| |
| | |
SIGQUIT is supposed to produce a core dump. We don't want that.
|
| |
| |
| |
| |
| | |
Assume the operating system ships with a system-wide crash catching
service like ABRT or Apport.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Opens a window to manage categories without having to edit a contact or
appointment. Not available in the Mail shell view since it doesn't use
categories.
|
| | |
|
| |
| |
| |
| |
| |
| | |
Yet another s/MOBLIN/MEEGO/
https://bugs.meego.com/show_bug.cgi?id=13756
|
| |
| |
| |
| |
| |
| |
| | |
This plugin was for developers, but no one uses it anymore. Plus the
only profiling hooks left in Evolution were in the MessageList widget,
which performs fine. There's better ways to collect profiling data
these days anyway (sysprof, systemtap, etc.).
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
GApplication calls g_main_loop_quit() immediately when the last window
is destroyed, whereas we do it from an idle callback with an extra ref
on EShell to keep it alive until the idle callback runs. But because
GApplication beats us to the punch, our idle callback never runs and
the EShell reference leaks.
For now, we'll just disable the quit_mainloop() method of GApplication.
If GtkApplication grows a signal equivalent to EShell::window-destroyed,
EShell could drop its window_destroyed() method and let G[tk]Application
handle things normally.
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Requires GTK+ >= 3.0.2 since GTK_STYLE_CLASS_PRIMARY_TOOLBAR is a very
recent addition.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|