Commit Graph

2724 Commits

Author SHA1 Message Date
3da4948c0f Miscellaneous cleanups. 2013-09-07 19:08:54 -04:00
7afed37074 EShellSearchbar: Put focus on search results after changing filter.
Direct the focus away from the filter combo box so the next keyboard
event doesn't change the selected filter.  The user is probably trying
to navigate search results.
2013-08-22 10:14:44 -04:00
b7e728dd46 Bug #682277 - Multiselect of messages causes slow UI update 2013-08-20 11:25:06 +02:00
9e7f8f13ff Update Authors list in About dialog. 2013-08-11 09:47:51 -04:00
161df81dd9 Bug 704440 - Close shell window alerts with Escape key
This adds a "close-alert" signal to EShellWindow, which is bound to
GDK_KEY_Escape.  The default handler closes view-specific alerts first,
then global alerts.
2013-08-10 17:20:35 -04:00
82cf893305 Remove unused e_shell_window_get_menu_bar_box(). 2013-08-10 17:20:35 -04:00
5c866713c7 Remove ESEvent.
Nudging EPlugin closer to full removal.

Nothing in Evolution uses this anymore and 3rd-party plugins should be
using EShell's "event::ready-to-start" signal or else GApplication's
"startup" signal.
2013-07-07 20:37:43 -04:00
cd76c782bd Miscellaneous cleanups. 2013-07-07 11:39:47 -04:00
682328cded Add e_activity_get_last_known_text().
Evolution is still occasionally getting stuck on shutdown, and although
the evolution-shell log domain shows debug messages for activities that
are preventing shutdown, they frequently look like this:

(evolution:13534): evolution-shell-DEBUG: 5 active 'mail' activities:
(evolution:13534): evolution-shell-DEBUG: * (no description)
(evolution:13534): evolution-shell-DEBUG: * (no description)
(evolution:13534): evolution-shell-DEBUG: * (no description)
(evolution:13534): evolution-shell-DEBUG: * (no description)
(evolution:13534): evolution-shell-DEBUG: * (no description)

I think the lack of descriptions is from CamelOperations popping all
their pushed messages, which is correct behavior but doesn't help us
debug the problem.

e_activity_get_last_known_text() returns the most recent _non-empty_
text value set on the EActivity.  So our debug message can fall back
to that if the EActivity has no description at shutdown:

(evolution:13534): evolution-shell-DEBUG: * (was "blah, blah, blah")
2013-07-06 11:57:57 -04:00
61a773db49 GalViewCollection: Load files during instance initialization.
gal_view_collection_new() now takes system and user directory arguments
and loads GalViews during instance initialization.

Removed functions:

  gal_view_collection_set_storage_directories()
  gal_view_collection_load()
  gal_view_collection_loaded()
2013-07-05 16:40:51 -04:00
df1dc37704 EShellView can load the GalViewCollection itself now.
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.
2013-07-05 16:40:50 -04:00
562c54612f GalViewCollection: Remove "title" member.
It's set by EShellView but not actually used for anything.

Removed functions:

  gal_view_collection_set_title()
2013-07-05 16:40:50 -04:00
8b8c95ab50 Replace "Define Views..." menu item with "Delete Current View".
The "Define Views" dialog is nearly useless.  Replace it with a "Delete
Current View" menu item which is only visible for custom views that have
been explicitly saved under a new name.

There's actually no loss of functionality with this commit.  Although
some view management tasks now require more clicks, view management in
general is a seldom-used feature and I doubt the dialog's absence will
even be noticed by users, much less missed.
2013-07-05 16:40:48 -04:00
31b5261fdb EShellView: Add a "view-instance" property.
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
2013-07-05 16:40:48 -04:00
7d6027be1a EShell-related cleanups. 2013-07-05 16:40:48 -04:00
d7d08dc168 EShellContent: Remove dangling function declarations.
The e_shell_content_get_view_id() and e_shell_content_set_view_id()
header file declarations have no implementation.
2013-07-03 11:29:03 -04:00
4f7b4d81e7 Reimplement the main toolbar's "prefer-item" feature.
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
2013-06-10 15:47:13 -04:00
af21783349 Remove e_shell_view_[un]block_update_actions().
No longer needed.
2013-06-01 06:33:22 -04:00
afdbd662d1 EShell: Check cookie before calling gtk_application_uninhibit(). 2013-05-31 10:34:41 -04:00
4860654335 Use F9 to toggle sidebar visibility.
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
2013-05-29 08:09:53 -04:00
70a9fcdf9c Rename libeshell to libevolution-shell.
To make Evolution's shared libraries more consistent.

Also rename the documentation module to evolution-shell.
2013-05-28 09:56:30 -04:00
6c9a3243c9 Rename libeutil to libevolution-util.
To make Evolution's shared libraries more consistent.

Also rename the documentation module to evolution-util.
2013-05-28 09:56:30 -04:00
8b245838de Add e_activity_cancel().
Convenience function cancels the activity's GCancellable.
2013-04-25 11:42:04 -04:00
fd6ff38fbd EShellBackend: Log outstanding activities during shutdown.
Log debug messages for outstanding activities during shutdown to
help investigate stuck shutdown issues.

Enable this feature with: G_MESSAGES_DEBUG=evolution-shell
2013-04-18 15:53:06 -04:00
7a2673a359 EShellBackend: Rework shutdown delay.
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().
2013-04-18 15:52:47 -04:00
7dec65de1a build: Fix srcdir != builddir from git
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.
2013-04-18 11:30:24 -04:00
1c5f6313c5 Bug #681837 - Make enum type registration thread safe 2013-04-12 09:50:06 +02:00
2361285121 Bug 677300 - Add 3 px padding above and below the searchbar 2013-04-08 23:23:02 -04:00
e17db00f41 Add e_shell_view_get_size_group().
Returns a GtkSizeGroup used to keep the search bar and sidebar banner
vertically aligned.
2013-04-08 23:21:54 -04:00
a74acbf197 EShellSearchbar: Remove more Express Mode leftovers.
Remove the following properties and corresponding get/set functions:

    "express-mode"
    "filter-visible"
    "labels-visible"
    "search-visible"
2013-04-08 22:36:20 -04:00
c3acac90ea EShellSearchbar cleanups. 2013-04-08 22:18:07 -04:00
721fef2d96 Update copyright year on About dialog. 2013-04-08 22:11:22 -04:00
018018fabe Remove more Express Mode hacks.
This removes all traces of Express Mode from all but the contact editor
and calendar appointment editor.  Need to evaluate the remaining cases
individually.
2013-03-31 12:10:54 -04:00
85fac87782 Remove e_shell_hide_widgets_for_express_mode().
No longer needed.
2013-03-31 12:10:54 -04:00
0494d4c3c6 Remove EUIManager.
No longer needed.  Use GtkUIManager directly.
2013-03-31 12:10:54 -04:00
440ea8e3a0 Remove e_shell_configure_ui_manager().
No longer needed.
2013-03-31 12:10:54 -04:00
7c63fc5f31 Remove e_shell_set_startup_view().
No longer needed.
2013-03-31 12:10:54 -04:00
7c38b34f20 Remove e_shell_get_startup_view().
No longer needed.
2013-03-31 12:10:54 -04:00
6a5767cbd1 EShell: Remove "meego-mode" property.
The property is always FALSE.

Remove both the property itself and any logic predicated on it.
2013-03-31 12:10:54 -04:00
f8f89b0bfd Remove e_shell_adapt_window_size().
Its preconditions are never TRUE, and is therefore a no-op function.
2013-03-31 12:10:54 -04:00
50b164637f EShell: Remove "small-screen-mode" property.
The property is always FALSE.

Remove both the property itself and any logic predicated on it.
2013-03-31 12:10:54 -04:00
ff76ff2a2a Remove e_shell_detect_meego().
No longer used.
2013-03-31 12:10:53 -04:00
174ddee9b9 Remove --express command-line option.
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.
2013-03-31 12:10:53 -04:00
4b03f11c4c Bug #696173 - Various memory leaks 2013-03-25 14:57:01 +01:00
1723ee0912 Fix mbox-to-Maildir conversion... again.
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.
2013-03-24 20:06:49 -04:00
7ec9a50ee0 Remove 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.
2013-03-17 08:49:12 -04:00
2e87aa81fc Remove EMailShellSettings.
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.
2013-03-17 08:49:12 -04:00
9551d47dd1 e_shell_load_modules: Explicitly load EClientCache extensions.
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.
2013-02-16 18:57:09 -05:00
208d779b00 EShell: Add a read-only "client-cache" property.
Give EShell its own EClientCache.  This should be used throughout
Evolution, wherever an EClient is needed.

New functions:

    e_shell_get_client_cache()
2013-02-16 18:57:09 -05:00
60d1c3054a G_PRIORITY_HIGH_IDLE is sufficient to beat GTK+ redraws.
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.
2013-02-08 14:21:42 -05:00