- const gchar *copyright = "Copyright \302\251 2010 Michael Orlitzky";
-
- gtk_about_dialog_set_url_hook(hdaps_url_handler, NULL, NULL);
- gtk_about_dialog_set_email_hook(hdaps_mailto_handler, NULL, NULL);
-
- gtk_show_about_dialog(NULL,
- "authors", authors,
- "copyright", copyright,
- "destroy-with-parent", TRUE,
- "license", LICENSE_GPL3,
- "logo-icon-name", PACKAGE_NAME,
- "icon-name", PACKAGE_NAME,
- "name", PACKAGE_NAME,
- "version", PACKAGE_VERSION,
- "website", PLUGIN_WEBSITE,
- "website-label", "xfce4-hdaps homepage",
- NULL);
+ const gchar *copyright = "Copyright \302\251 2019 Michael Orlitzky";
+
+ GtkAboutDialog *about = GTK_ABOUT_DIALOG(gtk_about_dialog_new());
+
+ gtk_about_dialog_set_authors(about, authors);
+ gtk_about_dialog_set_copyright(about, copyright);
+ gtk_about_dialog_set_program_name(about, PACKAGE_NAME);
+ gtk_about_dialog_set_logo_icon_name(about, PACKAGE_NAME);
+ gtk_about_dialog_set_license(about, LICENSE_AGPL3);
+ gtk_about_dialog_set_version(about, PACKAGE_VERSION);
+ gtk_about_dialog_set_website(about, PLUGIN_WEBSITE);
+ gtk_about_dialog_set_website_label(about, "xfce4-hdaps homepage");
+
+ /* Use a custom URI handler for http(s):// and mailto:// URIs. The
+ default behavior apparently needs gio/gvfs to work, so we want
+ to add some fallbacks. */
+ g_signal_connect(about,
+ "activate-link",
+ G_CALLBACK(hdaps_uri_handler),
+ NULL);
+
+ /* To close the dialog when "close" is clicked, we have to connect
+ * the response signal to a handler that actually does it.
+ */
+ g_signal_connect(about,
+ "response",
+ G_CALLBACK(hdaps_close_handler),
+ NULL);
+ gtk_widget_show(GTK_WIDGET(about));
+ return;