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.
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()
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.
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.
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.
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.
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
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.
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.
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.
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().
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().
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.
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.
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.
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.