aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--calendar/ChangeLog16
-rw-r--r--calendar/gui/dialogs/alarm-list-dialog.c31
-rw-r--r--calendar/gui/dialogs/alarm-list-dialog.glade19
3 files changed, 63 insertions, 3 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog
index 592e4133ef..5cfe74f80e 100644
--- a/calendar/ChangeLog
+++ b/calendar/ChangeLog
@@ -1,3 +1,19 @@
+2006-01-18 Johnny Jacob <johnnyjacob@gmail.com>
+
+ Fixes #225816
+ * gui/dialogs/alatm-list-dialog.glade : Added edit button.
+ * gui/dialogs/alarm-list-dialog.c (init_widgets), (get_widgets) :
+ Get and connect signals for edit button.
+ (sensitize_buttons) : Handle the sesitivity of edit button.
+ (edit_clicked_cb) : Added. Handle edit button click event.
+ * gui/dialogs/alarm-dialogs.c (populate_widgets) : Added. Extract data
+ from alarm and fill in the widgets.
+ (alarm_to_repeat_widgets): Added. Alarm data to repeat widgets.
+ (alarm_to_aalarm_widgets): Added. Alarm data to audio alarm widgets.
+ (alarm_to_dalarm_widgets): Added. Alarm data to display alarm widgets.
+ (alarm_to_palarm_widgets): Added. Alarm data to procedure alarm widgets.
+ (alarm_to_dialog): call populate_widgets.
+
2006-01-28 Rajeev ramanathan <rajeevramanathan_2004@yahoo.co.in>
** Fixes Bug #327347
diff --git a/calendar/gui/dialogs/alarm-list-dialog.c b/calendar/gui/dialogs/alarm-list-dialog.c
index f1cacfa159..9b365ca6a3 100644
--- a/calendar/gui/dialogs/alarm-list-dialog.c
+++ b/calendar/gui/dialogs/alarm-list-dialog.c
@@ -65,6 +65,7 @@ typedef struct {
GtkWidget *list;
GtkWidget *add;
+ GtkWidget *edit;
GtkWidget *delete;
GtkWidget *box;
@@ -83,12 +84,14 @@ get_widgets (Dialog *dialog)
dialog->box = GW ("vbox53");
dialog->list = GW ("list");
dialog->add = GW ("add");
+ dialog->edit = GW ("edit");
dialog->delete = GW ("delete");
#undef GW
return (dialog->list
&& dialog->add
+ && dialog->edit
&& dialog->delete);
}
@@ -114,6 +117,7 @@ sensitize_buttons (Dialog *dialog)
else
gtk_widget_set_sensitive (dialog->add, TRUE);
gtk_widget_set_sensitive (dialog->delete, have_selected && !read_only);
+ gtk_widget_set_sensitive (dialog->edit, have_selected && !read_only);
}
/* Callback used for the "add reminder" button */
@@ -146,6 +150,31 @@ add_clicked_cb (GtkButton *button, gpointer data)
sensitize_buttons (dialog);
}
+/* Callback used for the "edit reminder" button */
+static void
+edit_clicked_cb (GtkButton *button, gpointer data)
+{
+ Dialog *dialog = data;
+ GtkTreeSelection *selection;
+ GtkTreeIter iter;
+ GtkTreePath *path;
+ ECalComponentAlarm *alarm;
+ GtkTreeView *view;
+
+ view = GTK_TREE_VIEW (dialog->list);
+
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (dialog->list));
+ if (!gtk_tree_selection_get_selected (selection, NULL, &iter)) {
+ g_warning ("Could not get a selection to delete.");
+ return;
+ }
+
+ alarm = e_alarm_list_get_alarm (dialog->list_store, &iter);
+
+ if (alarm_dialog_run (dialog->toplevel, dialog->ecal, alarm))
+ gtk_tree_selection_select_iter (gtk_tree_view_get_selection (view), &iter);
+}
+
/* Callback used for the "delete reminder" button */
static void
delete_clicked_cb (GtkButton *button, gpointer data)
@@ -211,6 +240,8 @@ init_widgets (Dialog *dialog)
G_CALLBACK (add_clicked_cb), dialog);
g_signal_connect (dialog->delete, "clicked",
G_CALLBACK (delete_clicked_cb), dialog);
+ g_signal_connect (dialog->edit, "clicked",
+ G_CALLBACK (edit_clicked_cb), dialog);
g_signal_connect (gtk_tree_view_get_selection (GTK_TREE_VIEW (dialog->list)), "changed",
G_CALLBACK (selection_changed_cb), dialog);
diff --git a/calendar/gui/dialogs/alarm-list-dialog.glade b/calendar/gui/dialogs/alarm-list-dialog.glade
index 7a0f9e75b9..779a30071a 100644
--- a/calendar/gui/dialogs/alarm-list-dialog.glade
+++ b/calendar/gui/dialogs/alarm-list-dialog.glade
@@ -94,9 +94,6 @@
<property name="rules_hint">False</property>
<property name="reorderable">False</property>
<property name="enable_search">True</property>
- <property name="fixed_height_mode">False</property>
- <property name="hover_selection">False</property>
- <property name="hover_expand">False</property>
</widget>
</child>
</widget>
@@ -148,6 +145,10 @@
<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>
</widget>
<packing>
<property name="padding">0</property>
@@ -198,6 +199,18 @@
<property name="focus_on_click">True</property>
</widget>
</child>
+
+ <child>
+ <widget class="GtkButton" id="edit">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-edit</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ </widget>
+ </child>
</widget>
<packing>
<property name="padding">0</property>