diff options
author | Damon Chaplin <damon@ximian.com> | 2001-06-19 13:23:16 +0800 |
---|---|---|
committer | Damon Chaplin <damon@src.gnome.org> | 2001-06-19 13:23:16 +0800 |
commit | 84dc93b8de0c5944982f66559bfc1cc74edb19db (patch) | |
tree | 92a9e795070ea5eec32eed0bae87020c98f85245 /calendar/gui/dialogs/task-page.c | |
parent | 15d3afd9d6efcc62264d8de14f2272b41c1f6891 (diff) | |
download | gsoc2013-evolution-84dc93b8de0c5944982f66559bfc1cc74edb19db.tar gsoc2013-evolution-84dc93b8de0c5944982f66559bfc1cc74edb19db.tar.gz gsoc2013-evolution-84dc93b8de0c5944982f66559bfc1cc74edb19db.tar.bz2 gsoc2013-evolution-84dc93b8de0c5944982f66559bfc1cc74edb19db.tar.lz gsoc2013-evolution-84dc93b8de0c5944982f66559bfc1cc74edb19db.tar.xz gsoc2013-evolution-84dc93b8de0c5944982f66559bfc1cc74edb19db.tar.zst gsoc2013-evolution-84dc93b8de0c5944982f66559bfc1cc74edb19db.zip |
added timezone fields. Also moved the 'All Day' flag into an alignment so
2001-06-19 Damon Chaplin <damon@ximian.com>
* gui/dialogs/task-details-page.glade:
* gui/dialogs/task-page.glade:
* gui/dialogs/event-page.glade: added timezone fields. Also moved the
'All Day' flag into an alignment so it doesn't mess up the height of
the other widgets.
* gui/dialogs/task-details-page.c:
* gui/dialogs/task-page.c:
* gui/dialogs/event-page.c: added code to handle the timezone fields.
This still needs to be hooked up when the libical code is finished.
* gui/dialogs/e-timezone-dialog.c (on_map_leave): new function to
clear the preview label and turn off the highlighted point on the
map when you move the mouse outside it.
(find_selected_point): new function to try to find the point
corresponding to the text in the combo.
(on_combo_changed): call the above function to update the selected
point.
(on_map_leave): turn off the preview point & label when the mouse
leaves the map.
(e_timezone_dialog_set_cal_client): changed it so that selecting "None"
clears the entry.
* gui/dialogs/comp-editor-page.[hc]: added set_cal_client() virtual
method since some pages need to access the CalClient to get timezone
information. Also added comp_editor_page_set_cal_client() to call
the virtual method.
* gui/dialogs/comp-editor.c (comp_editor_set_cal_client): called
comp_editor_page_set_cal_client() on each page.
* gui/calendar-config.c: added functions to get & set the timezone.
svn path=/trunk/; revision=10285
Diffstat (limited to 'calendar/gui/dialogs/task-page.c')
-rw-r--r-- | calendar/gui/dialogs/task-page.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/calendar/gui/dialogs/task-page.c b/calendar/gui/dialogs/task-page.c index 6b02ab884b..340281dd59 100644 --- a/calendar/gui/dialogs/task-page.c +++ b/calendar/gui/dialogs/task-page.c @@ -36,6 +36,7 @@ #include <gal/widgets/e-categories.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-page.h" @@ -53,6 +54,8 @@ struct _TaskPagePrivate { GtkWidget *due_date; GtkWidget *start_date; + GtkWidget *due_timezone; + GtkWidget *start_timezone; GtkWidget *percent_complete; @@ -116,6 +119,7 @@ static void task_page_fill_widgets (CompEditorPage *page, CalComponent *comp); static void task_page_fill_component (CompEditorPage *page, CalComponent *comp); static void task_page_set_summary (CompEditorPage *page, const char *summary); static void task_page_set_dates (CompEditorPage *page, CompEditorPageDates *dates); +static void task_page_set_cal_client (CompEditorPage *page, CalClient *client); static CompEditorPageClass *parent_class = NULL; @@ -170,6 +174,7 @@ task_page_class_init (TaskPageClass *class) editor_page_class->fill_component = task_page_fill_component; editor_page_class->set_summary = task_page_set_summary; editor_page_class->set_dates = task_page_set_dates; + editor_page_class->set_cal_client = task_page_set_cal_client; object_class->destroy = task_page_destroy; } @@ -189,6 +194,8 @@ task_page_init (TaskPage *tpage) priv->summary = NULL; priv->due_date = NULL; priv->start_date = NULL; + priv->due_timezone = NULL; + priv->start_timezone = NULL; priv->percent_complete = NULL; priv->status = NULL; priv->description = NULL; @@ -600,6 +607,19 @@ task_page_set_dates (CompEditorPage *page, CompEditorPageDates *dates) priv->updating = FALSE; } +static void +task_page_set_cal_client (CompEditorPage *page, CalClient *client) +{ + TaskPage *tpage; + TaskPagePrivate *priv; + + tpage = TASK_PAGE (page); + priv = tpage->priv; + + e_timezone_entry_set_cal_client (E_TIMEZONE_ENTRY (priv->due_timezone), client); + e_timezone_entry_set_cal_client (E_TIMEZONE_ENTRY (priv->start_timezone),client); +} + /* Gets the widgets from the XML file and returns if they are all available. */ @@ -621,6 +641,8 @@ get_widgets (TaskPage *tpage) priv->due_date = GW ("due-date"); priv->start_date = GW ("start-date"); + priv->due_timezone = GW ("due-timezone"); + priv->start_timezone = GW ("start-timezone"); priv->percent_complete = GW ("percent-complete"); @@ -644,6 +666,8 @@ get_widgets (TaskPage *tpage) return (priv->summary && priv->due_date && priv->start_date + && priv->due_timezone + && priv->start_timezone && priv->percent_complete && priv->status && priv->priority @@ -855,6 +879,11 @@ init_widgets (TaskPage *tpage) gtk_signal_connect (GTK_OBJECT (priv->due_date), "changed", GTK_SIGNAL_FUNC (date_changed_cb), tpage); + gtk_signal_connect (GTK_OBJECT (priv->due_timezone), "changed", + GTK_SIGNAL_FUNC (field_changed_cb), tpage); + gtk_signal_connect (GTK_OBJECT (priv->start_timezone), "changed", + GTK_SIGNAL_FUNC (field_changed_cb), tpage); + /* Connect signals. The Status, Percent Complete & Date Completed properties are closely related so whenever one changes we may need to update the other 2. */ |