aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/eventedit.c
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/gui/eventedit.c')
-rw-r--r--calendar/gui/eventedit.c90
1 files changed, 33 insertions, 57 deletions
diff --git a/calendar/gui/eventedit.c b/calendar/gui/eventedit.c
index dca6178c17..e65db4e3da 100644
--- a/calendar/gui/eventedit.c
+++ b/calendar/gui/eventedit.c
@@ -11,9 +11,7 @@
#include "calendar.h"
#include "eventedit.h"
#include "main.h"
-#include "alarm.h"
#include "cal-util/timeutil.h"
-#include "cal-client/cal-client-alarm.h"
static void event_editor_class_init (EventEditorClass *class);
@@ -21,9 +19,9 @@ static void event_editor_init (EventEditor *ee);
static void event_editor_destroy (GtkObject *object);
GtkWidget* make_spin_button (int val, int low, int high);
-void ee_create_ae (GtkTable *table, char *str, CalendarAlarmUI *alarm, enum AlarmType type,
+void ee_create_ae (GtkTable *table, char *str, CalendarAlarm *alarm, enum AlarmType type,
int y, gboolean control_sens, GtkSignalFunc dirty_func);
-void ee_store_alarm (CalendarAlarmUI *alarm, enum AlarmType type);
+void ee_store_alarm (CalendarAlarm *alarm, enum AlarmType type);
/* Note: do not i18n these strings, they are part of the vCalendar protocol */
static char *class_names [] = { "PUBLIC", "PRIVATE", "CONFIDENTIAL" };
@@ -306,25 +304,19 @@ timesel_new (void)
* Set the sensitive state depending on whether the alarm enabled flag.
*/
static void
-ee_alarm_setting (CalendarAlarmUI *alarm, int sensitive)
+ee_alarm_setting (CalendarAlarm *alarm, int sensitive)
{
- enum AlarmType type;
-
gtk_widget_set_sensitive (GTK_WIDGET (alarm->w_count), sensitive);
gtk_widget_set_sensitive (GTK_WIDGET (alarm->w_timesel), sensitive);
- type = cal_client_alarm_get_type (alarm->alarm_handle);
-
- if (type == ALARM_PROGRAM || type == ALARM_MAIL){
- gtk_widget_set_sensitive (GTK_WIDGET (alarm->w_entry),
- sensitive);
- gtk_widget_set_sensitive (GTK_WIDGET (alarm->w_label),
- sensitive);
+ if (alarm->type == ALARM_PROGRAM || alarm->type == ALARM_MAIL){
+ gtk_widget_set_sensitive (GTK_WIDGET (alarm->w_entry), sensitive);
+ gtk_widget_set_sensitive (GTK_WIDGET (alarm->w_label), sensitive);
}
}
static void
-alarm_toggle (GtkToggleButton *toggle, CalendarAlarmUI *alarm)
+alarm_toggle (GtkToggleButton *toggle, CalendarAlarm *alarm)
{
ee_alarm_setting (alarm, toggle->active);
}
@@ -333,13 +325,13 @@ alarm_toggle (GtkToggleButton *toggle, CalendarAlarmUI *alarm)
#define FS (GTK_FILL | GTK_SHRINK)
void
-ee_create_ae (GtkTable *table, char *str, CalendarAlarmUI *alarm, enum AlarmType type, int y, gboolean control_sens, GtkSignalFunc dirty_func)
+ee_create_ae (GtkTable *table, char *str, CalendarAlarm *alarm, enum AlarmType type, int y, gboolean control_sens, GtkSignalFunc dirty_func)
{
GtkWidget *entry;
alarm->w_enabled = gtk_check_button_new_with_label (str);
gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON (alarm->w_enabled),
- cal_client_alarm_get_enabled (alarm->alarm_handle));
+ alarm->enabled);
if (control_sens)
gtk_signal_connect (GTK_OBJECT (alarm->w_enabled), "toggled",
GTK_SIGNAL_FUNC (alarm_toggle), alarm);
@@ -348,9 +340,7 @@ ee_create_ae (GtkTable *table, char *str, CalendarAlarmUI *alarm, enum AlarmType
GTK_SIGNAL_FUNC (dirty_func), NULL);
gtk_table_attach (table, alarm->w_enabled, 0, 1, y, y+1, FS, FS, 0, 0);
- alarm->w_count =
- make_spin_button (cal_client_alarm_get_count (alarm->alarm_handle),
- 0, 10000);
+ alarm->w_count = make_spin_button (alarm->count, 0, 10000);
if (dirty_func)
gtk_signal_connect (GTK_OBJECT (alarm->w_count), "changed",
GTK_SIGNAL_FUNC (dirty_func), NULL);
@@ -358,8 +348,7 @@ ee_create_ae (GtkTable *table, char *str, CalendarAlarmUI *alarm, enum AlarmType
alarm->w_timesel = timesel_new ();
/* is there a "changed" signal which we can connect to? */
- gtk_option_menu_set_history (GTK_OPTION_MENU (alarm->w_timesel),
- cal_client_alarm_get_units (alarm->alarm_handle));
+ gtk_option_menu_set_history (GTK_OPTION_MENU (alarm->w_timesel), alarm->units);
gtk_table_attach (table, alarm->w_timesel, 2, 3, y, y+1, FS, FS, 0, 0);
switch (type){
@@ -369,8 +358,7 @@ ee_create_ae (GtkTable *table, char *str, CalendarAlarmUI *alarm, enum AlarmType
gtk_table_attach (table, alarm->w_label, 3, 4, y, y+1, FS, FS, 0, 0);
alarm->w_entry = gtk_entry_new ();
gtk_table_attach (table, alarm->w_entry, 4, 5, y, y+1, FXS, FS, 0, 0);
- gtk_entry_set_text (GTK_ENTRY (alarm->w_entry),
- cal_client_alarm_get_data (alarm->alarm_handle));
+ gtk_entry_set_text (GTK_ENTRY (alarm->w_entry), alarm->data ? alarm->data : "");
if (dirty_func)
gtk_signal_connect (GTK_OBJECT (alarm->w_entry),
"changed",
@@ -384,8 +372,7 @@ ee_create_ae (GtkTable *table, char *str, CalendarAlarmUI *alarm, enum AlarmType
gtk_table_attach (table, alarm->w_label, 3, 4, y, y+1, FS, FS, 0, 0);
alarm->w_entry = gnome_file_entry_new ("alarm-program", _("Select program to run at alarm time"));
entry = gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (alarm->w_entry));
- gtk_entry_set_text (GTK_ENTRY (entry),
- cal_client_alarm_get_data (alarm->alarm_handle));
+ gtk_entry_set_text (GTK_ENTRY (entry), alarm->data ? alarm->data : "");
gtk_table_attach (table, alarm->w_entry, 4, 5, y, y+1, FXS, FS, 0, 0);
if (dirty_func)
gtk_signal_connect (GTK_OBJECT (entry),
@@ -399,8 +386,7 @@ ee_create_ae (GtkTable *table, char *str, CalendarAlarmUI *alarm, enum AlarmType
}
if (control_sens)
- ee_alarm_setting (alarm,
- cal_client_alarm_get_enabled (alarm->alarm_handle));
+ ee_alarm_setting (alarm, alarm->enabled);
else
ee_alarm_setting (alarm, TRUE);
}
@@ -421,14 +407,10 @@ ee_alarm_widgets (EventEditor *ee)
mailto = gtk_label_new (_("Mail to:"));
mailte = gtk_entry_new ();
- ee_create_ae (GTK_TABLE (table), _("Display"),
- &ee->dalarmui, ALARM_DISPLAY, 1, TRUE, NULL);
- ee_create_ae (GTK_TABLE (table), _("Audio"),
- &ee->aalarmui, ALARM_AUDIO, 2, TRUE, NULL);
- ee_create_ae (GTK_TABLE (table), _("Program"),
- &ee->palarmui, ALARM_PROGRAM, 3, TRUE, NULL);
- ee_create_ae (GTK_TABLE (table), _("Mail"),
- &ee->malarmui, ALARM_MAIL, 4, TRUE, NULL);
+ ee_create_ae (GTK_TABLE (table), _("Display"), &ee->ical->dalarm, ALARM_DISPLAY, 1, TRUE, NULL);
+ ee_create_ae (GTK_TABLE (table), _("Audio"), &ee->ical->aalarm, ALARM_AUDIO, 2, TRUE, NULL);
+ ee_create_ae (GTK_TABLE (table), _("Program"), &ee->ical->palarm, ALARM_PROGRAM, 3, TRUE, NULL);
+ ee_create_ae (GTK_TABLE (table), _("Mail"), &ee->ical->malarm, ALARM_MAIL, 4, TRUE, NULL);
return l;
}
@@ -466,36 +448,31 @@ ee_classification_widgets (EventEditor *ee)
}
/*
- * Retrieves the information from the CalendarAlarmUI widgets and stores them
- * on the CalendarAlarmUI generic values
+ * Retrieves the information from the CalendarAlarm widgets and stores them
+ * on the CalendarAlarm generic values
*/
void
-ee_store_alarm (CalendarAlarmUI *alarm, enum AlarmType type)
+ee_store_alarm (CalendarAlarm *alarm, enum AlarmType type)
{
GtkWidget *item;
GtkMenu *menu;
GList *child;
int idx;
-
- /*
+
if (alarm->data){
g_free (alarm->data);
alarm->data = 0;
}
- */
- cal_client_alarm_set_enabled (alarm->alarm_handle,
- GTK_TOGGLE_BUTTON (alarm->w_enabled)->active);
+ alarm->enabled = GTK_TOGGLE_BUTTON (alarm->w_enabled)->active;
- if (! cal_client_alarm_get_enabled (alarm->alarm_handle))
+ if (!alarm->enabled)
return;
if (type == ALARM_PROGRAM)
- cal_client_alarm_set_data (alarm->alarm_handle,
- gtk_entry_get_text (GTK_ENTRY (gnome_file_entry_gtk_entry (alarm->w_entry))));
+ alarm->data = g_strdup (gtk_entry_get_text (GTK_ENTRY (gnome_file_entry_gtk_entry (alarm->w_entry))));
if (type == ALARM_MAIL)
- cal_client_alarm_set_data (alarm->alarm_handle,
- gtk_entry_get_text (GTK_ENTRY (alarm->w_entry)));
+ alarm->data = g_strdup (gtk_entry_get_text (GTK_ENTRY (alarm->w_entry)));
/* Find out the index */
menu = GTK_MENU (GTK_OPTION_MENU (alarm->w_timesel)->menu);
@@ -504,10 +481,9 @@ ee_store_alarm (CalendarAlarmUI *alarm, enum AlarmType type)
for (idx = 0, child = GTK_MENU_SHELL (menu)->children; child->data != item; child = child->next)
idx++;
-
- cal_client_alarm_set_units (alarm->alarm_handle, idx);
- cal_client_alarm_set_count (alarm->alarm_handle,
- gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (alarm->w_count)));
+
+ alarm->units = idx;
+ alarm->count = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (alarm->w_count));
}
static void
@@ -528,10 +504,10 @@ ee_store_general_values_to_ical (EventEditor *ee)
ical->summary = gtk_editable_get_chars (GTK_EDITABLE (ee->general_summary), 0, -1);
- ee_store_alarm (&ee->dalarmui, ALARM_DISPLAY);
- ee_store_alarm (&ee->aalarmui, ALARM_AUDIO);
- ee_store_alarm (&ee->palarmui, ALARM_PROGRAM);
- ee_store_alarm (&ee->malarmui, ALARM_MAIL);
+ ee_store_alarm (&ical->dalarm, ALARM_DISPLAY);
+ ee_store_alarm (&ical->aalarm, ALARM_AUDIO);
+ ee_store_alarm (&ical->palarm, ALARM_PROGRAM);
+ ee_store_alarm (&ical->malarm, ALARM_MAIL);
for (idx = 2; list; list = list->next) {
if (GTK_TOGGLE_BUTTON (list->data)->active)