| 919 } |
919 } |
| 920 |
920 |
| 921 static void linkbutton_clicked(GtkWidget *widget, UiLinkButton *data) { |
921 static void linkbutton_clicked(GtkWidget *widget, UiLinkButton *data) { |
| 922 linkbutton_callback(widget, data); |
922 linkbutton_callback(widget, data); |
| 923 if(data->link) { |
923 if(data->link) { |
| 924 #if GTK_CHECK_VERSION(4, 0, 0) |
924 ui_open_uri(data->link); |
| 925 GtkUriLauncher *launcher = gtk_uri_launcher_new (data->link); |
|
| 926 gtk_uri_launcher_launch (launcher, NULL, NULL, NULL, NULL); |
|
| 927 g_object_unref (launcher); |
|
| 928 #elif GTK_CHECK_VERSION(3, 22, 0) |
|
| 929 GError *error = NULL; |
|
| 930 gtk_show_uri_on_window(NULL, data->link, GDK_CURRENT_TIME, &error); |
|
| 931 #elif |
|
| 932 // TODO: call xdg-open |
|
| 933 #endif |
|
| 934 } |
925 } |
| 935 } |
926 } |
| 936 |
927 |
| 937 static gboolean linkbutton_activate_link(GtkLinkButton *self, UiLinkButton *data) { |
928 static gboolean linkbutton_activate_link(GtkLinkButton *self, UiLinkButton *data) { |
| 938 linkbutton_callback(data->widget, data); |
929 linkbutton_callback(data->widget, data); |