diff --git a/src/gcal-source-dialog.c b/src/gcal-source-dialog.c index 7aac5f9b..4563dd42 100644 --- a/src/gcal-source-dialog.c +++ b/src/gcal-source-dialog.c @@ -105,6 +105,8 @@ static void calendar_file_selected (GtkFileChooserButton *b static void setup_source_details (GcalSourceDialog *dialog, ESource *source); +static gboolean pulse_web_entry (GcalSourceDialog *dialog); + static void url_entry_text_changed (GObject *object, GParamSpec *pspec, gpointer user_data); @@ -418,6 +420,25 @@ setup_source_details (GcalSourceDialog *dialog, gtk_widget_show_all (priv->details_frame); } +/** + * pulse_web_entry: + * + * Update the url's entry with a pulse fraction. + * + * Returns: FALSE + */ +static gboolean +pulse_web_entry (GcalSourceDialog *dialog) +{ + GcalSourceDialogPrivate *priv = dialog->priv; + + gtk_entry_progress_pulse (GTK_ENTRY (priv->calendar_address_entry)); + + priv->calendar_address_id = g_timeout_add (ENTRY_PROGRESS_TIMEOUT, (GSourceFunc) pulse_web_entry, dialog); + + return FALSE; +} + /** * url_entry_text_changed: * @@ -499,6 +520,9 @@ validate_url_cb (GcalSourceDialog *dialog) if (host == NULL || !uri_valid) goto out; + // Pulse the entry while it performs the check + priv->calendar_address_id = g_timeout_add (ENTRY_PROGRESS_TIMEOUT, (GSourceFunc) pulse_web_entry, dialog); + /** * Create the new source and add the needed * extensions.