| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
No longer needed.
Removed functions:
gal_view_factory_etable_get_specification()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
EShellView now holds a reference to the active GalViewInstance. Where
applicable, the EShellView subclass is responsible for keeping this up
to date when the sidebar selection changes.
Holding a reference allows EShellView to implement common actions like
"Save Current View" directly instead pushing it on to subclasses.
New functions:
e_shell_view_get_view_instance
e_shell_view_set_view_instance
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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()
|
|
|
|
| |
Done as part of bug #700894
|
|
|
|
|
|
| |
To make Evolution's shared libraries more consistent.
Also add an evolution-mail-composer documentation module.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the event of an address book backend abort, EClientCache detects this
and invalidates its cached EClient (if it has one), so a new instance is
created on the next request.
EAddressbookModel is only handed an EClient once, which may become stale
if the backend aborts. And even if the backend is restarted the address
book will remain unresponsive in Evolution.
This commit changes the behavior so that every time an address book is
selected in the side bar, a fresh EClient instance is obtained from the
EClientCache and handed to the EAddressbookModel. If the model already
has that EClient instance, nothing happens. Otherwise the model resets
itself and creates a new EBookClientView.
|
|
|
|
|
|
|
| |
This accidentally got dropped during the "account-mgmt" project.
As much as I loathe EConfig, the "Automatic Contacts" plugin is useless
without its Preferences page in the Contacts section.
|
|
|
|
|
|
| |
The default value for these GSettings keys is an empty string. The
mapping function should handle empty strings by falling back to the
appropriate default ESource.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Basically any place where we use both EClient and ESourceComboBox.
|
|
|
|
| |
Use e_client_selector_get_client() to obtain an EClient.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Instead of e_client_utils_open_new() and e_book_client_new().
|
|
|
|
|
|
| |
Collect all the "config" extensions from the "addressbook", "calendar",
and "mail" modules into one place. These extensions typically just bind
GObject properties of extensible classes to app-specific GSettings keys.
|
|
|
|
|
| |
Clean up resulting deprecation warnings, which were all related to
GtkOrientable consolidation (e.g. gtk_hbox_new() -> gtk_box_new()).
|
|
|
|
| |
I forgot to include this in 3.7.4, but no matter.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Follow the usual GObject conventions.
|
|
|
|
| |
Leftover file from ages past. No longer used.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
EUri is now deprecated.
|
| |
|
|
|
|
|
|
| |
For consistency with the Preferences window. We assume the display
names are server-assigned and not user-assigned, at least not assigned
through Evolution.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
EBookSourceConfig drags in no additional dependencies, and allows us to
delay publishing a libevolution-addressbook.so since 3rd party packages
will need to subclass EBookSourceConfig.
The address book source code will need to be flattened into a single
library before we could publish a libevolution-addressbook.so anyway.
That would be a good thing to do regardless -- Evolution has way too
many internal libraries -- but it's out of scope at the moment.
|
| |
|
| |
|
| |
|
|
|
|
| |
One last time.
|
|
|
|
|
|
|
| |
Drop the "libevolution" prefix so it's not so verbose and also
consistent with upcoming evolution-data-server module libraries.
libevolution-module-foo.so --> module-foo.so
|
| |
|
| |
|
| |
|
|
|
|
| |
libevolution-utils.
|
| |
|
| |
|
| |
|
|
|
|
| |
A follow-up for bug #670073
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
When the esource is created, sync it to avoid loose it.
|
|
|
|
| |
Apply it to all windows with persistent size and/or position.
|
| |
|
| |
|
| |
|
| |
|
|\ |
|
| | |
|
|\| |
|
| | |
|
|/ |
|
| |
|
| |
|
|
|
|
|
| |
Make behavior introduced in bug #636809 optional by adding checkbox
to Preferences->Contacts.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From ccc980da1fd84ebfca25cf8caf9a5d62333099fc Mon Sep 17 00:00:00 2001
From: Paul Menzel <paulepanter@users.sourceforge.net>
Date: Wed, 28 Sep 2011 10:18:18 +0200
Subject: [PATCH] Remove Ctrl + l () character from source files
The following commits
git show aac3f2c8
git show 1510304c
git show 13cabd9e
git show 350a7a33
git show 9b7cc54d
git show e6972011
git show 1d3a7938
git show 934524b9
git show b2954936
git show a7f677b5
git show 4369c400
git show d509f47a
git show a6d5818f
git show c3876df7
git show 4583098b
git show 2831ada5
git show 4e1bce59
git show 1609f699
git show 4e4c1676
git show d6fade43
among others(?) introduced several occurrences of Ctrl + l (). Probably this was caused by the used editor.
These control characters can be searched for using the following command [1].
$ git grep ^L
[1] http://unstableme.blogspot.com/2009/10/grep-and-print-control-characters-in.html
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Remove the clumsy abortfunc and commitfunc callback arguments from
e_config_add_items().
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Mostly dead assignments.
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
As of GLib 2.28 all GObject virtual methods, including constructed(),
are safe to chain up to unconditionally. Remove unnecessary checks.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Add the Bcc destinations instead of setting it.
|
| |
|
|
|
|
|
|
| |
GObject now does property bindings itself.
Requires GLib >= 2.26.
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Similar to e_load_book_source_async() in libedataserverui (and may wind
up there eventually). This replaces e_auth_new_cal_from_source().
void e_load_cal_source_async (ESource *source,
ECalSourceType source_type,
icaltimezone *default_zone,
GtkWindow *parent,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
ECal * e_load_cal_source_finish (ESource *source,
GAsyncResult *result,
GError **error);
|
|
|
|
| |
For handling "new-contact" and "new-contact-list" actions.
|
|
|
|
|
|
| |
It's easier to use than addressbook_load() but requires starting with
an ESource rather than an EBook, and there's a couple places left where
that's not so easy. I'll spend more time on it later.
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
Found similar bugs in EShellMemoContent and EShellTaskContent.
|
|
|
|
|
|
|
|
|
| |
Remove redundant logic (we call e_source_list_ensure_group() and then
proceed to do the same thing it just did), and use "local:" as the base
URI for the "On This Computer" group.
This requires commit 9e0845207b39f256f7e81d388741ed30a764ea7b in
Evolution-Data-Server to work properly.
|
| |
|
| |
|
|
|
|
|
| |
This gives EShellSearchbar something concrete to call to direct focus
away from itself instead of tabbing forward and hoping for the best.
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
are created
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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".
|
|
|
|
| |
Also, let EShellSearchbar handle search state persistence.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Use Shift+Ctrl+F as the accelerator for consistency with the mailer.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The changes are mainly including the e-alert-header.h header instead of just
e-alert.h. This allows us to include e-alert.h in non-UI situations when
necessary.
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
This should be everything now.
https://bugzilla.gnome.org/show_bug.cgi?id=602963
|
| |
|
| |
|
|
|
|
| |
This is a partial solution to bug #600397.
|
| |
|
|
|
|
|
| |
This was mistakenly finalizing EDestinations handed off to the
composer, causing the composer to crash.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Bumps the GtkHtml dependency to 3.29.2 for gtk_html_unselect_all().
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
And select page in Edit->Preferences based on the active view.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Also make it more fault-tolerant by warning about non-existent
property names instead of just crashing.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Move calendar search logic to ECalShellView.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
The contact and contact-list editors now demonstrate this part of the
shutdown protocol. They listen for the "quit-requested" signal from the
shell and prompt to save changes, discard changes or cancel. If the user
cancels, the editor calls e_shell_cancel_quit() to do just that.
|
|
|
|
|
| |
The shutdown protocol is modelled after online/offline preparation.
Session management code is copied from libegg. Not yet used.
|
| |
|
|
- 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.
|