diff options
Diffstat (limited to 'plugins/publish-calendar/url-editor-dialog.c')
-rw-r--r-- | plugins/publish-calendar/url-editor-dialog.c | 21 |
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); |