diff options
author | Milan Crha <mcrha@redhat.com> | 2013-06-21 21:56:34 +0800 |
---|---|---|
committer | Milan Crha <mcrha@redhat.com> | 2013-06-21 21:56:34 +0800 |
commit | 4a101290fdb546296f7bc0a9a34ba342e741895a (patch) | |
tree | 3a5cecac900e672a87f2865a8288f30dbeea4c34 /modules/calendar/e-cal-shell-content.c | |
parent | 97c70105b71adc9b7cb9f4db15bf44f98133a82c (diff) | |
download | gsoc2013-evolution-4a101290fdb546296f7bc0a9a34ba342e741895a.tar gsoc2013-evolution-4a101290fdb546296f7bc0a9a34ba342e741895a.tar.gz gsoc2013-evolution-4a101290fdb546296f7bc0a9a34ba342e741895a.tar.bz2 gsoc2013-evolution-4a101290fdb546296f7bc0a9a34ba342e741895a.tar.lz gsoc2013-evolution-4a101290fdb546296f7bc0a9a34ba342e741895a.tar.xz gsoc2013-evolution-4a101290fdb546296f7bc0a9a34ba342e741895a.tar.zst gsoc2013-evolution-4a101290fdb546296f7bc0a9a34ba342e741895a.zip |
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.
Diffstat (limited to 'modules/calendar/e-cal-shell-content.c')
-rw-r--r-- | modules/calendar/e-cal-shell-content.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/modules/calendar/e-cal-shell-content.c b/modules/calendar/e-cal-shell-content.c index 545287dc29..38724aca3e 100644 --- a/modules/calendar/e-cal-shell-content.c +++ b/modules/calendar/e-cal-shell-content.c @@ -316,6 +316,16 @@ gc_get_default_time (ECalModel *model, } static void +cal_shell_content_is_editing_changed_cb (gpointer cal_view_tasks_memos_table, + GParamSpec *param, + EShellView *shell_view) +{ + g_return_if_fail (E_IS_SHELL_VIEW (shell_view)); + + e_shell_view_update_actions (shell_view); +} + +static void cal_shell_content_constructed (GObject *object) { ECalShellContentPrivate *priv; @@ -396,6 +406,9 @@ cal_shell_content_constructed (GObject *object) for (ii = 0; ii < GNOME_CAL_LAST_VIEW; ii++) { calendar_view = gnome_calendar_get_calendar_view (calendar, ii); + g_signal_connect (calendar_view, "notify::is-editing", + G_CALLBACK (cal_shell_content_is_editing_changed_cb), shell_view); + gtk_notebook_append_page ( GTK_NOTEBOOK (container), GTK_WIDGET (calendar_view), NULL); @@ -450,6 +463,9 @@ cal_shell_content_constructed (GObject *object) G_CALLBACK (e_cal_shell_view_taskpad_open_task), shell_view); + g_signal_connect (widget, "notify::is-editing", + G_CALLBACK (cal_shell_content_is_editing_changed_cb), shell_view); + container = priv->vpaned; widget = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); @@ -492,6 +508,9 @@ cal_shell_content_constructed (GObject *object) G_CALLBACK (e_cal_shell_view_memopad_open_memo), shell_view); + g_signal_connect (widget, "notify::is-editing", + G_CALLBACK (cal_shell_content_is_editing_changed_cb), shell_view); + /* Load the view instance. */ view_instance = e_shell_view_new_view_instance (shell_view, NULL); |