From 971a53bec2bf2ced267f94d1799fa288e08e8c28 Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Thu, 15 Oct 2009 18:34:57 +0200 Subject: Bug #562512 - Make hyperlinks clickable in Memos, Tasks and Calendar --- calendar/gui/alarm-notify/alarm-notify-dialog.c | 4 ++++ calendar/gui/dialogs/event-page.c | 8 ++++++++ calendar/gui/dialogs/memo-page.c | 4 ++++ calendar/gui/dialogs/task-page.c | 5 +++++ 4 files changed, 21 insertions(+) (limited to 'calendar') diff --git a/calendar/gui/alarm-notify/alarm-notify-dialog.c b/calendar/gui/alarm-notify/alarm-notify-dialog.c index e499e4332f..4efc863b1a 100644 --- a/calendar/gui/alarm-notify/alarm-notify-dialog.c +++ b/calendar/gui/alarm-notify/alarm-notify-dialog.c @@ -33,6 +33,7 @@ #include "config-data.h" #include "util.h" #include "e-util/e-util-private.h" +#include "misc/e-buffer-tagger.h" enum { ALARM_DISPLAY_COLUMN, @@ -286,6 +287,8 @@ notified_alarms_dialog_new (void) return NULL; } + e_buffer_tagger_connect (GTK_TEXT_VIEW (an->description)); + gtk_tree_view_set_model (GTK_TREE_VIEW(an->treeview), model); gtk_window_set_keep_above (GTK_WINDOW (an->dialog), TRUE); @@ -443,6 +446,7 @@ fill_in_labels (AlarmNotify *an, const gchar *summary, const gchar *description, gtk_text_buffer_set_text (buffer, description, -1); gtk_text_view_set_buffer (GTK_TEXT_VIEW (an->description), buffer); gtk_label_set_text (GTK_LABEL (an->location), location); + e_buffer_tagger_update_tags (GTK_TEXT_VIEW (an->description)); g_object_unref (table); g_object_unref (buffer); } diff --git a/calendar/gui/dialogs/event-page.c b/calendar/gui/dialogs/event-page.c index 5a9b8ec47a..83f783a365 100644 --- a/calendar/gui/dialogs/event-page.c +++ b/calendar/gui/dialogs/event-page.c @@ -41,6 +41,7 @@ #include "e-util/e-dialog-widgets.h" #include "misc/e-dateedit.h" #include "misc/e-send-options.h" +#include "misc/e-buffer-tagger.h" #include #include "../calendar-config.h" #include "../e-timezone-entry.h" @@ -484,6 +485,7 @@ clear_widgets (EventPage *epage) e_dialog_editable_set (priv->summary, NULL); e_dialog_editable_set (priv->location, NULL); gtk_text_buffer_set_text (gtk_text_view_get_buffer (GTK_TEXT_VIEW (priv->description)), "", 0); + e_buffer_tagger_update_tags (GTK_TEXT_VIEW (priv->description)); /* Start and end times */ g_signal_handlers_block_matched (priv->start_time, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, epage); @@ -972,8 +974,12 @@ event_page_fill_widgets (CompEditorPage *page, ECalComponent *comp) dtext = l->data; gtk_text_buffer_set_text (gtk_text_view_get_buffer (GTK_TEXT_VIEW (priv->description)), dtext->value ? dtext->value : "", -1); + } else { + gtk_text_buffer_set_text (gtk_text_view_get_buffer (GTK_TEXT_VIEW (priv->description)), + "", 0); } e_cal_component_free_text_list (l); + e_buffer_tagger_update_tags (GTK_TEXT_VIEW (priv->description)); e_cal_get_cal_address (client, &backend_addr, NULL); set_subscriber_info_string (epage, backend_addr); @@ -2762,6 +2768,8 @@ init_widgets (EventPage *epage) gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (priv->description), GTK_WRAP_WORD); + e_buffer_tagger_connect (GTK_TEXT_VIEW (priv->description)); + /* Start and end times */ g_signal_connect((priv->start_time), "changed", G_CALLBACK (start_date_changed_cb), epage); diff --git a/calendar/gui/dialogs/memo-page.c b/calendar/gui/dialogs/memo-page.c index 595a0e409e..6e51196a09 100644 --- a/calendar/gui/dialogs/memo-page.c +++ b/calendar/gui/dialogs/memo-page.c @@ -40,6 +40,7 @@ #include #include #include +#include "misc/e-buffer-tagger.h" #include "common/authentication.h" #include "e-util/e-dialog-widgets.h" @@ -124,6 +125,7 @@ clear_widgets (MemoPage *mpage) view = GTK_TEXT_VIEW (mpage->priv->memo_content); buffer = gtk_text_view_get_buffer (view); gtk_text_buffer_set_text (buffer, "", 0); + e_buffer_tagger_update_tags (view); /* Classification */ editor = comp_editor_page_get_editor (COMP_EDITOR_PAGE (mpage)); @@ -228,6 +230,7 @@ memo_page_fill_widgets (CompEditorPage *page, "", 0); } e_cal_component_free_text_list (l); + e_buffer_tagger_update_tags (GTK_TEXT_VIEW (priv->memo_content)); /* Start Date. */ e_cal_component_get_dtstart (comp, &d); @@ -969,6 +972,7 @@ init_widgets (MemoPage *mpage) view = GTK_TEXT_VIEW (priv->memo_content); buffer = gtk_text_view_get_buffer (view); gtk_text_view_set_wrap_mode (view, GTK_WRAP_WORD); + e_buffer_tagger_connect (view); /* Categories button */ g_signal_connect( diff --git a/calendar/gui/dialogs/task-page.c b/calendar/gui/dialogs/task-page.c index 2f0c258f3a..2b49192036 100644 --- a/calendar/gui/dialogs/task-page.c +++ b/calendar/gui/dialogs/task-page.c @@ -37,6 +37,7 @@ #include #include #include +#include "misc/e-buffer-tagger.h" #include #include "common/authentication.h" #include "e-util/e-dialog-widgets.h" @@ -263,6 +264,7 @@ clear_widgets (TaskPage *tpage) /* Summary, description */ e_dialog_editable_set (priv->summary, NULL); gtk_text_buffer_set_text (gtk_text_view_get_buffer (GTK_TEXT_VIEW (priv->description)), "", 0); + e_buffer_tagger_update_tags (GTK_TEXT_VIEW (priv->description)); /* Start, due times */ e_date_edit_set_time (E_DATE_EDIT (priv->start_date), 0); @@ -514,6 +516,7 @@ task_page_fill_widgets (CompEditorPage *page, ECalComponent *comp) "", 0); } e_cal_component_free_text_list (l); + e_buffer_tagger_update_tags (GTK_TEXT_VIEW (priv->description)); default_zone = calendar_config_get_icaltimezone (); @@ -1789,6 +1792,8 @@ init_widgets (TaskPage *tpage) gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (priv->description), GTK_WRAP_WORD); + e_buffer_tagger_connect (GTK_TEXT_VIEW (priv->description)); + /* Dates */ g_signal_connect((priv->start_date), "changed", G_CALLBACK (date_changed_cb), tpage); -- cgit