Tue, 05 May 2026 20:27:58 +0200
add ui_open_link
| ui/gtk/button.c | file | annotate | diff | comparison | revisions | |
| ui/gtk/toolkit.c | file | annotate | diff | comparison | revisions | |
| ui/ui/toolkit.h | file | annotate | diff | comparison | revisions |
--- a/ui/gtk/button.c Sat May 02 18:13:39 2026 +0200 +++ b/ui/gtk/button.c Tue May 05 20:27:58 2026 +0200 @@ -921,16 +921,7 @@ static void linkbutton_clicked(GtkWidget *widget, UiLinkButton *data) { linkbutton_callback(widget, data); if(data->link) { -#if GTK_CHECK_VERSION(4, 0, 0) - GtkUriLauncher *launcher = gtk_uri_launcher_new (data->link); - gtk_uri_launcher_launch (launcher, NULL, NULL, NULL, NULL); - g_object_unref (launcher); -#elif GTK_CHECK_VERSION(3, 22, 0) - GError *error = NULL; - gtk_show_uri_on_window(NULL, data->link, GDK_CURRENT_TIME, &error); -#elif - // TODO: call xdg-open -#endif + ui_open_uri(data->link); } }
--- a/ui/gtk/toolkit.c Sat May 02 18:13:39 2026 +0200 +++ b/ui/gtk/toolkit.c Tue May 05 20:27:58 2026 +0200 @@ -572,3 +572,16 @@ ui_set_visible(widget, FALSE); } } + +void ui_open_uri(const char *uri) { +#if GTK_CHECK_VERSION(4, 0, 0) + GtkUriLauncher *launcher = gtk_uri_launcher_new(uri); + gtk_uri_launcher_launch(launcher, NULL, NULL, NULL, NULL); + g_object_unref(launcher); +#elif GTK_CHECK_VERSION(3, 22, 0) + GError *error = NULL; + gtk_show_uri_on_window(NULL, uri, GDK_CURRENT_TIME, &error); +#elif + // TODO: call xdg-open +#endif +}