diff options
Diffstat (limited to 'calendar/gui/dialogs/task-details-page.c')
-rw-r--r-- | calendar/gui/dialogs/task-details-page.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/calendar/gui/dialogs/task-details-page.c b/calendar/gui/dialogs/task-details-page.c index 7fb3bd1672..bde17af2fe 100644 --- a/calendar/gui/dialogs/task-details-page.c +++ b/calendar/gui/dialogs/task-details-page.c @@ -32,6 +32,7 @@ #include <gal/widgets/e-unicode.h> #include <widgets/misc/e-dateedit.h> #include "e-util/e-dialog-widgets.h" +#include "../e-timezone-entry.h" #include "comp-editor-util.h" #include "task-details-page.h" @@ -49,6 +50,8 @@ struct _TaskDetailsPagePrivate { GtkWidget *date_time; GtkWidget *completed_date; + GtkWidget *completed_timezone; + GtkWidget *url; gboolean updating; @@ -65,6 +68,7 @@ static void task_details_page_fill_widgets (CompEditorPage *page, CalComponent * static void task_details_page_fill_component (CompEditorPage *page, CalComponent *comp); static void task_details_page_set_summary (CompEditorPage *page, const char *summary); static void task_details_page_set_dates (CompEditorPage *page, CompEditorPageDates *dates); +static void task_details_page_set_cal_client (CompEditorPage *page, CalClient *client); static CompEditorPageClass *parent_class = NULL; @@ -120,6 +124,7 @@ task_details_page_class_init (TaskDetailsPageClass *class) editor_page_class->fill_component = task_details_page_fill_component; editor_page_class->set_summary = task_details_page_set_summary; editor_page_class->set_dates = task_details_page_set_dates; + editor_page_class->set_cal_client = task_details_page_set_cal_client; object_class->destroy = task_details_page_destroy; } @@ -139,6 +144,7 @@ task_details_page_init (TaskDetailsPage *tdpage) priv->summary = NULL; priv->date_time = NULL; priv->completed_date = NULL; + priv->completed_timezone = NULL; priv->url = NULL; priv->updating = FALSE; @@ -303,6 +309,18 @@ task_details_page_set_dates (CompEditorPage *page, CompEditorPageDates *dates) dates->complete); } +static void +task_details_page_set_cal_client (CompEditorPage *page, CalClient *client) +{ + TaskDetailsPage *tdpage; + TaskDetailsPagePrivate *priv; + + tdpage = TASK_DETAILS_PAGE (page); + priv = tdpage->priv; + + e_timezone_entry_set_cal_client (E_TIMEZONE_ENTRY (priv->completed_timezone), client); +} + /* Gets the widgets from the XML file and returns if they are all available. */ @@ -324,6 +342,8 @@ get_widgets (TaskDetailsPage *tdpage) priv->date_time = GW ("date-time"); priv->completed_date = GW ("completed-date"); + priv->completed_timezone = GW ("completed-timezone"); + priv->url = GW ("url"); #undef GW @@ -331,6 +351,7 @@ get_widgets (TaskDetailsPage *tdpage) return (priv->summary && priv->date_time && priv->completed_date + && priv->completed_timezone && priv->url); } @@ -385,6 +406,9 @@ init_widgets (TaskDetailsPage *tdpage) gtk_signal_connect (GTK_OBJECT (priv->completed_date), "changed", GTK_SIGNAL_FUNC (date_changed_cb), tdpage); + gtk_signal_connect (GTK_OBJECT (priv->completed_timezone), "changed", + GTK_SIGNAL_FUNC (field_changed_cb), tdpage); + /* URL */ gtk_signal_connect (GTK_OBJECT (priv->url), "changed", GTK_SIGNAL_FUNC (field_changed_cb), tdpage); |