Commit Graph

36 Commits

Author SHA1 Message Date
4f02ea569b Bug 738283 - Use-after-free with categories filter 2014-10-13 15:15:40 +02:00
8752647eca Make Calendar, Memos and Tasks views non-UI-blocking
The Calendar, Memos and Tasks views use to do D-Bus calls to
the backends on the main (UI) thread, which could result in UI
freezes, until the operation was done on the backend (and server)
side. This commit fixes that by invoking the operations in
a dedicated thread. It has few additional advantages too:
- operations can be cancelled
- proper error reporting to a user
- less code duplication between the views for common operations

There had been fixed some performance issues when selecting/unselecting
sources in the source selector as well.
2014-10-06 12:33:03 +02:00
61b4bacf9a e-util: Port to thread-safe ECategories API
This ports the following two function calls throughout Evolution:
 • e_categories_get_list() to e_categories_dup_list()
 • e_categories_get_icon_file_for() to e_categories_dup_icon_file_for()

It necessarily changes some internal e-util API:
 • e_util_get_searchable_categories() to
   e_util_dup_searchable_categories()

This bumps the EDS requirement to 3.13.1.

https://bugzilla.gnome.org/show_bug.cgi?id=727221
2014-03-28 10:44:44 +00:00
b21733d067 Bug 721545 - License text contains obsolete FSF postal address 2014-01-07 16:05:51 -05: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
7bb795b299 Remove gal_view_collection_add_factory().
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.
2013-07-05 16:40:50 -04:00
2c4ae5e768 Coding style and whitespace cleanup. 2012-11-10 15:54:43 -05:00
4fedf14c7b Enable "delete" action for remote-deletable sources. 2012-08-03 11:40:13 -04:00
6c05b09be1 Do not call g_object_notify() when property didn't change 2012-06-18 15:35:44 +02:00
1489dc4fd8 Disable 'Rename' if source is a collection member.
For consistency with the Preferences window.  We assume the display
names are server-assigned and not user-assigned, at least not assigned
through Evolution.
2012-06-15 11:32:27 -04:00
26e7480340 Adapt modules/calendar to the new ESource API. 2012-06-02 23:00:40 -04:00
a01525c931 Miscellaneous EShellView-related cleanups. 2011-12-07 22:11:21 -05:00
756c8abcb8 Bug #646109 - Fix use of include <config.h> to make sure translations work 2011-05-27 15:23:07 +02:00
63c26d5712 Miscellaneous GtkAction-related cleanups.
Prefer the newer GtkAction "set" functions over g_object_set().
2011-03-27 18:38:39 -04:00
c6fd77460f Coding style and whitespace cleanup. 2011-03-05 12:34:28 -05:00
1301cf02ef Bug #614480 - Avoid using G_TYPE_INSTANCE_GET_PRIVATE repeatedly 2011-02-25 16:20:41 +01:00
1b25ab52f7 Bug #639483 - Category list includes weather information 2011-02-18 15:13:06 +01:00
9675f18d91 Coding style and whitespace cleanup. 2010-10-03 13:29:20 -04:00
6ec1118c92 Bug #629462 - Tasks 'Due' filters don't work properly 2010-09-29 11:39:26 +02:00
39ee1b7890 Give all preview panes a search bar.
Use Shift+Ctrl+F as the accelerator for consistency with the mailer.
2010-01-17 23:54:06 -05:00
cae22334fa Remove dead assignments found by clang. 2010-01-15 21:50:05 -05:00
6a074300e5 Rename ECalendarTable to ETaskTable.
Since ECalendarTable was only used for tasks anyway, and ETaskTable
pairs nicely with EMemoTable.
2009-12-26 12:25:48 -05:00
abc0e4c694 Introduce ESelectable and EFocusTracker.
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.
2009-12-25 15:42:17 -05:00
4cbbdedf52 Refactor the EShell search API.
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.
2009-12-18 22:38:00 -05:00
0b1658ed7a Bug 494394 - No way for the user to refresh a calendar 2009-11-30 12:31:31 +05:30
e2ca6f7753 Bug #591330 - Do not clear task preview every minute 2009-11-26 15:15:17 +01:00
aa813bd7ca Bug #579599 - Let the Advanced Search work again 2009-11-19 15:40:50 +01:00
72861cffee Disallow renaming a non-deletable ESource.
This is a partial solution to bug #600397.
2009-11-19 07:40:54 -05:00
bb1653f64c Bug 600397 - Delete option enabled for undeletable ESource 2009-11-14 10:42:02 -05:00
3d4b38c997 Bug 601785 - Menu glitches in memo and task view 2009-11-13 16:12:49 -05:00
872a31a00c Bug 600402 - Clear search is always enabled in calendar/contact/task 2009-11-03 23:57:17 -06:00
2b16aef841 Cleanup and rename filter classes. 2009-10-27 09:25:01 -04:00
fa9051e040 Finish killing Bonobo. 2009-09-08 14:53:45 -04:00
53268d5516 Introduce an EShellView::execute-search signal.
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.
2009-09-02 15:26:49 -04:00
de85e3c786 Replace more "config" classes with property bindings. 2009-08-05 16:13:02 -04:00
f0d3f3afdf Radically reorganize source code.
- 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.
2009-06-24 18:29:22 -04:00