diff --git a/data/ui/new-calendar-page.ui b/data/ui/new-calendar-page.ui
index 173a55ca..d7d2d5e6 100644
--- a/data/ui/new-calendar-page.ui
+++ b/data/ui/new-calendar-page.ui
@@ -205,7 +205,7 @@
True
True
0
-
+
0
diff --git a/src/gui/calendar-management/gcal-new-calendar-page.c b/src/gui/calendar-management/gcal-new-calendar-page.c
index 8d1162b5..e59b3ce6 100644
--- a/src/gui/calendar-management/gcal-new-calendar-page.c
+++ b/src/gui/calendar-management/gcal-new-calendar-page.c
@@ -26,6 +26,7 @@
#include "gcal-calendar-management-page.h"
#include "gcal-debug.h"
#include "gcal-new-calendar-page.h"
+#include "gcal-utils.h"
#define ENTRY_PROGRESS_TIMEOUT 100 // ms
@@ -680,6 +681,16 @@ on_local_calendar_name_entry_text_changed_cb (GtkEntry *entry,
update_local_source (self);
}
+static void
+on_web_description_label_link_activated_cb (GtkLabel *label,
+ gchar *uri,
+ GcalNewCalendarPage *self)
+{
+ GDBusConnection *connection = g_application_get_dbus_connection (g_application_get_default ());
+
+ gcal_utils_launch_online_accounts_panel (connection, NULL, NULL);
+}
+
/*
* GcalCalendarManagementPage iface
@@ -841,6 +852,7 @@ gcal_new_calendar_page_class_init (GcalNewCalendarPageClass *klass)
gtk_widget_class_bind_template_callback (widget_class, on_file_chooser_button_file_set_cb);
gtk_widget_class_bind_template_callback (widget_class, on_local_calendar_name_entry_text_changed_cb);
gtk_widget_class_bind_template_callback (widget_class, on_url_entry_text_changed_cb);
+ gtk_widget_class_bind_template_callback (widget_class, on_web_description_label_link_activated_cb);
}
static void