aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/dialogs/task-details-page.c
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/gui/dialogs/task-details-page.c')
-rw-r--r--calendar/gui/dialogs/task-details-page.c24
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);