Commit Graph

530 Commits

Author SHA1 Message Date
ed2bc85f4f Bug #657808 - Copy/move of a single instance should grab whole serie 2013-11-04 21:04:07 +01:00
bc0d5d40ed Bug 710797 - Name all the timeouts added with g_timeout_add() 2013-10-29 15:22:35 -04:00
13d765e074 Remove e_source_selector_set_select_new().
Sets a flag that's no longer used internally by ESourceSelector.
2013-10-25 12:18:27 -04:00
4602a56ed0 Bug 707425 - Inconsistent capitalization in calendar Search menu 2013-09-22 07:09:02 -04:00
3da4948c0f Miscellaneous cleanups. 2013-09-07 19:08:54 -04:00
96c6e7bc26 Add EShellView to E{Calendar,MemoList,TaskList}Selector
https://bugzilla.gnome.org/show_bug.cgi?id=657808
2013-09-05 15:00:59 +02:00
781cd7ccf1 Bug #658164 - Pressing the "Make this Occurrence Movable" changes meeting time 2013-08-27 01:52:02 +02:00
e9c6ceda77 Bug 704861 - Runtime warning in calendar module 2013-07-29 07:12:38 -04:00
8fe17523da Miscellaneous cleanups. 2013-07-27 22:39:37 -04:00
d0ed242a24 ETaskShellView: Disconnect all signal handlers in dispose(). 2013-07-20 09:07:43 -04:00
0ad9e24744 EMemoShellView: Disconnect all signal handlers in dispose(). 2013-07-20 09:07:43 -04:00
3b7efa149a ECalShellView: Disconnect all signal handlers in dispose(). 2013-07-20 09:07:43 -04:00
7a05cf2cf7 Bug #703153 - Forgotten signal callbacks for freed objects 2013-07-19 17:43:46 +02:00
cd76c782bd Miscellaneous cleanups. 2013-07-07 11:39:47 -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
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
033d5013d3 Split CalendarViewFactory into separate classes by view type.
I suspect this will enable us to ditch GalViewFactory entirely once I
rework a few more things.  We'll see though; one step at a time here.
2013-07-05 16:40:50 -04:00
3f5f362e0d Split CalendarView into separate classes by view type.
It's better to have separate classes each with a fixed type code, than
one class with a variable type code.  You'll see why in the next commit.
2013-07-05 16:40:49 -04:00
2b9713656b GalViewFactoryEtable: Remove "specification" property.
No longer needed.

Removed functions:

  gal_view_factory_etable_get_specification()
2013-07-05 16:40:49 -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
f267827d67 ETableSpecification: Implement GInitable.
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()
2013-07-02 10:34:12 -04:00
fd40e93f41 ETaskShellContent: Remove hard-coded default table state.
I don't remember why E_TASK_TABLE_DEFAULT_STATE was needed when
e-calendar-table.etspec already specifies a default ETableState.
Some of the column numbers it was referencing weren't even valid.

Removing it seems to make no difference in Evolution.
2013-07-02 10:34:09 -04:00
56423e3ec2 EMemoShellContent: Remove hard-coded default table state.
I don't remember why E_MEMO_TABLE_DEFAULT_STATE was needed when
e-memo-table.etspec already specifies a default ETableState.

Removing it seems to make no difference in Evolution.
2013-07-02 10:34:09 -04:00
4a101290fd Calendar views inline text edit with Ctrl+C/V/X does not work
The shortcuts Ctrl+C/V/X are used for whole calendar items
copy/paste/cut, not for text when editing event details inline, either
in a day/week view or in a list view. By tracking the is-editing property
of respective cell editor and using it when enabling/disabling clipboard
actions makes the respective text operations work as expected.
2013-06-21 15:56:34 +02:00
54384b7217 ECalShellView: Disconnect "prepare-for-quit" handler on dispose().
This is another source of crashes after creating and destroying a second
shell window.  The signal handler was left connected with the destroyed
shell window as the closure.
2013-06-10 16:43:38 -04:00
243f84d37d ECalShellView cleanups. 2013-06-10 16:43:38 -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
decc4aa9a7 ETaskShellSidebar: Update selector rows after restoring state.
Call e_source_selector_update_all_rows() after connecting to the
selector tree model's "row-changed" signal.  This will ensure the
appropriate ECalClients get loaded into the ECalModel.

This fixes the bug where opening a second Tasks window shows no
content until one of the sidebar items is fiddled with.
2013-06-10 12:46:22 -04:00
4099d7eed5 EMemoShellSidebar: Update selector rows after restoring state.
Call e_source_selector_update_all_rows() after connecting to the
selector tree model's "row-changed" signal.  This will ensure the
appropriate ECalClients get loaded into the ECalModel.

This fixes the bug where opening a second Memos window shows no
content until one of the sidebar items is fiddled with.
2013-06-10 12:46:22 -04:00
b28f6f1d99 ECalShellSidebar: Update selector rows after restoring state.
Call e_source_selector_update_all_rows() after connecting to the
selector tree model's "row-changed" signal.  This will ensure the
appropriate ECalClients get loaded into the ECalModel.

This fixes the bug where opening a second Calendar window shows no
content until one of the sidebar items is fiddled with.
2013-06-10 12:46:22 -04:00
52feeacf8d Minor efficiency tweak in task_shell_view_model_row_appended_cb().
Call e_task_shell_sidebar_add_client() instead of add_source().

No point asynchronously obtaining the client if we already have it.
2013-06-01 10:08:23 -04:00
7f914de290 Minor efficiency tweak in memo_shell_view_model_row_appended_cb().
Call e_memo_shell_sidebar_add_client() instead of add_source().

No point asynchronously obtaining the client if we already have it.
2013-06-01 10:08:23 -04:00
585745a2bf Minor efficiency tweak in cal_shell_view_user_created_cb().
Call e_cal_shell_sidebar_add_client() instead of add_source().

No point asynchronously obtaining the client if we already have it.
2013-06-01 10:08:23 -04:00
2aa759bc58 Add a boolean return to e_cal_model_remove_client().
The function now returns TRUE if the ECalClient was actually removed
from the model, or FALSE if the model did not have the ECalClient.

Use this to avoid an unnecessary gnome_calendar_update_query() call
in cal_shell_view_selector_client_removed().
2013-06-01 10:08:23 -04:00
6477dd6570 Add a boolean return to e_cal_model_add_client().
The function now returns TRUE if the ECalClient was actually added
to the model, or FALSE if the model already had the ECalClient.

Use this to avoid an unnecessary gnome_calendar_update_query() call
in cal_shell_view_selector_client_added_cb().
2013-06-01 09:10:16 -04:00
1047848935 GnomeCalendar: Get rid of the async message dispatcher.
Obtain calendar views asynchronously and concurrently, and update the
task and memo pads synchronously (they don't block as best I can tell).

Get rid of the whole thread-pool message dispatching thing, which I
think I myself wrote years ago (calendar had no async API back then).

Consequently I'm seeing calendar events show up noticably quicker.
2013-06-01 06:33:22 -04:00
ef5795c3fd Bug #700812 - Search in Calendar view is broken 2013-05-30 17:48:11 +02: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
9058c6f85d Make EAttachment a little more thread-safe.
EAttachment is now used from worker threads by EMailFormatterAttachment,
so add some thread-safe accessor functions to eliminate potential races.

Added thread-safe functions:

    e_attachment_dup_disposition()
    e_attachment_ref_file()
    e_attachment_ref_file_info()
    e_attachment_ref_icon()
    e_attachment_ref_mime_part()
    e_attachment_dup_description()
    e_attachment_dup_thumbnail_path()

Renamed functions:

    e_attachment_get_mime_type() -> e_attachment_dup_mime_type()

Removed non-thread-safe functions:

    e_attachment_get_file()
    e_attachment_get_file_info()
    e_attachment_get_icon()
    e_attachment_get_mime_part()
    e_attachment_get_description()
    e_attachment_get_thumbnail_path()
2013-05-23 16:36:02 -04:00
256422cab2 Attachment-related cleanups. 2013-05-23 16:36:01 -04:00
16bf152272 Bug #699980 - Calendar delete does not remove events from view 2013-05-14 12:00:17 +02:00
58ef547151 Coding style and whitespace cleanup. 2013-05-08 08:28:09 -04:00
80fb526936 ETaskShellSidebar: Remove unused "status-message" signal. 2013-04-25 11:42:04 -04:00
532e24fe11 ETaskShellSidebar: Submit an EActivity when obtaining an EClient.
Remove this status message nonsense that I came up with during the
kill-bonoto rewrite.  Instead submit a real EActivity to the shell
backend.  Mismanagement of the status message seems to be blocking
application shut down in some cases.
2013-04-25 11:42:04 -04:00
afe1d97399 EMemoShellSidebar: Remove unused "status-message" signal. 2013-04-25 11:42:04 -04:00
d4ae41915c EMemoShellSidebar: Submit an EActivity when obtaining an EClient.
Remove this status message nonsense that I came up with during the
kill-bonobo rewrite.  Instead submit a real EActivity to the shell
backend.  Mismanagement of the status message sesms to be blocking
application shut down in some cases.
2013-04-25 11:42:04 -04:00
3a0b447047 ECalShellSidebar: Remove unused "status-message" signal. 2013-04-25 11:42:04 -04:00
d39a6e1402 ECalShellSidebar: Submit an EActivity when obtaining an EClient.
Remove this status message nonsense that I came up with during the
kill-bonobo rewrite.  Instead submit a real EActivity to the shell
backend.  Mismanagement of the status message seems to be blocking
application shut down in some cases.
2013-04-25 11:42:04 -04:00
3573cab310 ETaskShellSidebar: Remove some unnecessary #includes. 2013-04-25 11:42:04 -04:00