--- ../../evolution-2.30.3/calendar/gui/alarm-notify//alarm-notify-dialog.c	2010-06-20 14:14:56.000000000 +0200
+++ calendar/gui/alarm-notify/alarm-notify-dialog.c	2011-01-09 19:08:19.878729066 +0100
@@ -63,10 +63,12 @@
 	GtkWidget *dialog;
 	GtkWidget *snooze_time_min;
 	GtkWidget *snooze_time_hrs;
+	GtkWidget *snooze_time_days;
 	GtkWidget *snooze_btn;
 	GtkWidget *dismiss_btn;
 	GtkWidget *minutes_label;
 	GtkWidget *hrs_label;
+	GtkWidget *days_label;
 	GtkWidget *description;
 	GtkWidget *location;
 	GtkWidget *treeview;
@@ -120,6 +122,21 @@
 }
 
 static void
+an_update_days_label (GtkSpinButton *sb, gpointer data)
+{
+	AlarmNotify *an;
+	gchar *new_label;
+	gint snooze_timeout_days;
+
+	an = (AlarmNotify *) data;
+
+	snooze_timeout_days  = gtk_spin_button_get_value_as_int (sb);
+	new_label = g_strdup (ngettext ("days", "days", snooze_timeout_days));
+	gtk_label_set_text (GTK_LABEL (an->days_label), new_label);
+	g_free (new_label);
+}
+
+static void
 dialog_response_cb (GtkDialog *dialog, guint response_id, gpointer user_data)
 {
 	AlarmNotify *an = user_data;
@@ -186,6 +203,7 @@
 
 	snooze_timeout = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (an->snooze_time_min));
 	snooze_timeout += 60 * (gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (an->snooze_time_hrs)));
+	snooze_timeout += 60 * 24 * (gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (an->snooze_time_days)));
 	if (!snooze_timeout)
 		snooze_timeout = DEFAULT_SNOOZE_MINS;
 	(* funcinfo->func) (ALARM_NOTIFY_SNOOZE, snooze_timeout, funcinfo->func_data);
@@ -261,6 +279,8 @@
 	an->minutes_label = e_builder_get_widget (an->builder, "minutes-label");
 	an->snooze_time_hrs = e_builder_get_widget (an->builder, "snooze-time-hrs");
 	an->hrs_label = e_builder_get_widget (an->builder, "hrs-label");
+	an->snooze_time_days = e_builder_get_widget (an->builder, "snooze-time-days");
+	an->days_label = e_builder_get_widget (an->builder, "days-label");
 	an->description = e_builder_get_widget (an->builder, "description-label");
 	an->location = e_builder_get_widget (an->builder, "location-label");
 	an->treeview = e_builder_get_widget (an->builder, "appointments-treeview");
@@ -270,7 +290,8 @@
 	an->dismiss_btn = e_builder_get_widget (an->builder, "dismiss-button");
 	edit_btn = e_builder_get_widget (an->builder, "edit-button");
 
-	if (!(an->dialog && an->scrolledwindow && an->treeview && an->snooze_time_min && an->snooze_time_hrs
+	if (!(an->dialog && an->scrolledwindow && an->treeview 
+	      && an->snooze_time_min && an->snooze_time_hrs && an->snooze_time_days
 	      && an->description && an->location && edit_btn && snooze_btn && an->dismiss_btn)) {
 		g_warning ("alarm_notify_dialog(): Could not find all widgets in alarm-notify.ui file!");
 		g_object_unref (an->builder);
@@ -327,6 +348,10 @@
 	g_signal_connect (G_OBJECT (an->snooze_time_hrs), "value_changed",
 			G_CALLBACK (an_update_hrs_label), an);
 
+	/* Set callback for updating the snooze "days" label */
+	g_signal_connect (G_OBJECT (an->snooze_time_days), "value_changed",
+			G_CALLBACK (an_update_days_label), an);
+
 	na = g_new0 (AlarmNotificationsDialog, 1);
 
 	na->treeview = an->treeview;
--- ../../evolution-2.30.3/calendar/gui/alarm-notify//alarm-notify.ui	2010-03-18 15:13:58.000000000 +0100
+++ calendar/gui/alarm-notify/alarm-notify.ui	2011-01-09 20:30:39.562729259 +0100
@@ -2,7 +2,6 @@
 <!--*- mode: xml -*-->
 <interface>
   <object class="GtkAdjustment" id="adjustment1">
-    <property name="upper">12</property>
     <property name="lower">0</property>
     <property name="page_increment">5</property>
     <property name="step_increment">1</property>
@@ -10,7 +9,6 @@
     <property name="value">0</property>
   </object>
   <object class="GtkAdjustment" id="adjustment2">
-    <property name="upper">59</property>
     <property name="lower">0</property>
     <property name="page_increment">10</property>
     <property name="step_increment">1</property>
@@ -255,6 +253,48 @@
                                 <property name="homogeneous">False</property>
                                 <property name="spacing">6</property>
                                 <child>
+                                  <object class="GtkSpinButton" id="snooze-time-days">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="climb_rate">1</property>
+                                    <property name="digits">0</property>
+                                    <property name="numeric">False</property>
+                                    <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+                                    <property name="snap_to_ticks">False</property>
+                                    <property name="wrap">False</property>
+                                    <property name="adjustment">adjustment1</property>
+                                  </object>
+                                  <packing>
+                                    <property name="padding">0</property>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkLabel" id="days-label">
+                                    <property name="visible">True</property>
+                                    <property name="label" translatable="yes">hours</property>
+                                    <property name="use_underline">False</property>
+                                    <property name="use_markup">False</property>
+                                    <property name="justify">GTK_JUSTIFY_LEFT</property>
+                                    <property name="wrap">False</property>
+                                    <property name="selectable">False</property>
+                                    <property name="xalign">0.5</property>
+                                    <property name="yalign">0.5</property>
+                                    <property name="xpad">0</property>
+                                    <property name="ypad">0</property>
+                                    <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+                                    <property name="width_chars">-1</property>
+                                    <property name="single_line_mode">False</property>
+                                    <property name="angle">0</property>
+                                  </object>
+                                  <packing>
+                                    <property name="padding">0</property>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                  </packing>
+                                </child>
+                                <child>
                                   <object class="GtkSpinButton" id="snooze-time-hrs">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
