aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/dialogs
diff options
context:
space:
mode:
authorDamon Chaplin <damon@ximian.com>2001-10-28 10:26:21 +0800
committerDamon Chaplin <damon@src.gnome.org>2001-10-28 10:26:21 +0800
commit70708440caf29c52e8d2a07872304a4874590fbe (patch)
tree58df4f77409063261c3e1dcadd8ac47685f24714 /calendar/gui/dialogs
parent27c2d8fee607bab0431bc5673d092d30bc9a4a76 (diff)
downloadgsoc2013-evolution-70708440caf29c52e8d2a07872304a4874590fbe.tar
gsoc2013-evolution-70708440caf29c52e8d2a07872304a4874590fbe.tar.gz
gsoc2013-evolution-70708440caf29c52e8d2a07872304a4874590fbe.tar.bz2
gsoc2013-evolution-70708440caf29c52e8d2a07872304a4874590fbe.tar.lz
gsoc2013-evolution-70708440caf29c52e8d2a07872304a4874590fbe.tar.xz
gsoc2013-evolution-70708440caf29c52e8d2a07872304a4874590fbe.tar.zst
gsoc2013-evolution-70708440caf29c52e8d2a07872304a4874590fbe.zip
when the week start day is set to Sunday, we have to be careful to make
2001-10-27 Damon Chaplin <damon@ximian.com> * gui/print.c (print_week_view): (range_selector_new): when the week start day is set to Sunday, we have to be careful to make sure we print the correct week, since the previous Saturday is actually printed first. Fixes bug #13687. (print_week_summary): always set compress_weekend to true if multi_week_view is FALSE (i.e. we are printing the week view). Fixes bug #13688. * gui/e-itip-control.c (send_freebusy): use the timezones from the DTSTART and DTEND. (write_label_piece): output the date-time and the timezone after it. Note that we may want to convert it to the current timezone and display that as well. Also converted COMPLETED to the current timezone. And fixed all uses of old timezone functions. * gui/dialogs/comp-editor.c (commit_all_fields): added function to set the focus in the window to NULL, so all fields lose their focus, so they emit "changed" signals and update their values if needed. We call this when most menu commands are used, e.g. 'Save and Close', 'Print' etc. Fixes bug #11434. In future we should also check fields are valid and show dialogs if they are not. * gui/calendar-model.c (get_completed): use the completed value properly. Fixes bug #13694. * cal-util/timeutil.c (icaltimetype_to_tm_with_zone): don't check from_zone and to_zone != NULL. A NULL zone is valid, it is for floating times. svn path=/trunk/; revision=14266
Diffstat (limited to 'calendar/gui/dialogs')
-rw-r--r--calendar/gui/dialogs/comp-editor.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/calendar/gui/dialogs/comp-editor.c b/calendar/gui/dialogs/comp-editor.c
index dc7d01cbde..4f83b02dc4 100644
--- a/calendar/gui/dialogs/comp-editor.c
+++ b/calendar/gui/dialogs/comp-editor.c
@@ -1008,12 +1008,27 @@ comp_editor_focus (CompEditor *editor)
raise_and_focus (priv->window);
}
+/* This sets the focus to the toplevel, so any field being edited is committed.
+ FIXME: In future we may also want to check some of the fields are valid,
+ e.g. the EDateEdit fields. */
+static void
+commit_all_fields (CompEditor *editor)
+{
+ CompEditorPrivate *priv;
+
+ priv = editor->priv;
+
+ gtk_window_set_focus (GTK_WINDOW (priv->window), NULL);
+}
+
/* Menu Commands */
static void
save_cmd (GtkWidget *widget, gpointer data)
{
CompEditor *editor = COMP_EDITOR (data);
+ commit_all_fields (editor);
+
save_comp_with_send (editor);
}
@@ -1022,6 +1037,8 @@ save_close_cmd (GtkWidget *widget, gpointer data)
{
CompEditor *editor = COMP_EDITOR (data);
+ commit_all_fields (editor);
+
if (save_comp_with_send (editor))
close_dialog (editor);
}
@@ -1091,6 +1108,8 @@ save_as_cmd (GtkWidget *widget, gpointer data)
priv = editor->priv;
+ commit_all_fields (editor);
+
fs = GTK_FILE_SELECTION (gtk_file_selection_new (_("Save As...")));
path = g_strdup_printf ("%s/", g_get_home_dir ());
gtk_file_selection_set_filename (fs, path);
@@ -1131,6 +1150,8 @@ print_cmd (GtkWidget *widget, gpointer data)
CompEditor *editor = COMP_EDITOR (data);
CalComponent *comp;
+ commit_all_fields (editor);
+
comp = comp_editor_get_current_comp (editor);
print_comp (comp, editor->priv->client, FALSE);
gtk_object_unref (GTK_OBJECT (comp));
@@ -1142,6 +1163,8 @@ print_preview_cmd (GtkWidget *widget, gpointer data)
CompEditor *editor = COMP_EDITOR (data);
CalComponent *comp;
+ commit_all_fields (editor);
+
comp = comp_editor_get_current_comp (editor);
print_comp (comp, editor->priv->client, TRUE);
gtk_object_unref (GTK_OBJECT (comp));
@@ -1163,6 +1186,8 @@ close_cmd (GtkWidget *widget, gpointer data)
{
CompEditor *editor = COMP_EDITOR (data);
+ commit_all_fields (editor);
+
if (prompt_to_save_changes (editor, TRUE))
close_dialog (editor);
}