aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/publish-calendar/url-editor-dialog.c
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2009-05-04 22:31:12 +0800
committerMilan Crha <mcrha@redhat.com>2009-05-04 22:31:12 +0800
commitb73ed1d9ffd6975d94638364b6a7fcd7f29a6c23 (patch)
tree8d4629a4e1e88fbd807e115667bcad514e81c378 /plugins/publish-calendar/url-editor-dialog.c
parent62085ae755dcd578448ffb35be6cb911c58a89e7 (diff)
downloadgsoc2013-evolution-b73ed1d9ffd6975d94638364b6a7fcd7f29a6c23.tar
gsoc2013-evolution-b73ed1d9ffd6975d94638364b6a7fcd7f29a6c23.tar.gz
gsoc2013-evolution-b73ed1d9ffd6975d94638364b6a7fcd7f29a6c23.tar.bz2
gsoc2013-evolution-b73ed1d9ffd6975d94638364b6a7fcd7f29a6c23.tar.lz
gsoc2013-evolution-b73ed1d9ffd6975d94638364b6a7fcd7f29a6c23.tar.xz
gsoc2013-evolution-b73ed1d9ffd6975d94638364b6a7fcd7f29a6c23.tar.zst
gsoc2013-evolution-b73ed1d9ffd6975d94638364b6a7fcd7f29a6c23.zip
BUGFIX: 547414 - Publish Free/Busy calendar for configurable time
Allow user define time duration for the Free/Busy calendar information in the publish-calendar plugin.
Diffstat (limited to 'plugins/publish-calendar/url-editor-dialog.c')
-rw-r--r--plugins/publish-calendar/url-editor-dialog.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/plugins/publish-calendar/url-editor-dialog.c b/plugins/publish-calendar/url-editor-dialog.c
index 8e1c735dc3..ea03320ae8 100644
--- a/plugins/publish-calendar/url-editor-dialog.c
+++ b/plugins/publish-calendar/url-editor-dialog.c
@@ -90,6 +90,9 @@ create_uri (UrlEditorDialog *dialog)
g_free (username);
g_free (password);
}
+
+ uri->fb_duration_value = gtk_spin_button_get_value (GTK_SPIN_BUTTON (dialog->fb_duration_spin));
+ uri->fb_duration_type = gtk_combo_box_get_active (GTK_COMBO_BOX (dialog->fb_duration_combo));
}
static void
@@ -101,6 +104,16 @@ check_input (UrlEditorDialog *dialog)
uri = dialog->uri;
+ if (gtk_combo_box_get_active (GTK_COMBO_BOX (dialog->type_selector)) == 1) {
+ gtk_widget_show (dialog->fb_duration_label);
+ gtk_widget_show (dialog->fb_duration_spin);
+ gtk_widget_show (dialog->fb_duration_combo);
+ } else {
+ gtk_widget_hide (dialog->fb_duration_label);
+ gtk_widget_hide (dialog->fb_duration_spin);
+ gtk_widget_hide (dialog->fb_duration_combo);
+ }
+
if (GTK_WIDGET_IS_SENSITIVE (dialog->events_selector)) {
sources = e_source_selector_get_selection (E_SOURCE_SELECTOR (dialog->events_selector));
n += g_slist_length (sources);
@@ -329,8 +342,11 @@ url_editor_dialog_construct (UrlEditorDialog *dialog)
dialog->gui = gui;
#define GW(name) ((dialog->name) = glade_xml_get_widget (dialog->gui, #name))
- GW(publish_frequency);
GW(type_selector);
+ GW(fb_duration_label);
+ GW(fb_duration_spin);
+ GW(fb_duration_combo);
+ GW(publish_frequency);
GW(events_swin);
@@ -429,6 +445,9 @@ url_editor_dialog_construct (UrlEditorDialog *dialog)
}
}
+ gtk_spin_button_set_value (GTK_SPIN_BUTTON (dialog->fb_duration_spin), uri->fb_duration_value);
+ gtk_combo_box_set_active (GTK_COMBO_BOX (dialog->fb_duration_combo), uri->fb_duration_type);
+
g_signal_connect (G_OBJECT (dialog->publish_service), "changed", G_CALLBACK (publish_service_changed), dialog);
g_signal_connect (G_OBJECT (dialog->type_selector), "changed", G_CALLBACK (type_selector_changed), dialog);
g_signal_connect (G_OBJECT (dialog->publish_frequency), "changed", G_CALLBACK (frequency_changed_cb), dialog);