| 758 "activate-link", |
758 "activate-link", |
| 759 G_CALLBACK(linkbutton_activate_link), |
759 G_CALLBACK(linkbutton_activate_link), |
| 760 data); |
760 data); |
| 761 } |
761 } |
| 762 gtk_button_set_label(GTK_BUTTON(button), args->label); |
762 gtk_button_set_label(GTK_BUTTON(button), args->label); |
| |
763 #if GTK_CHECK_VERSION(4, 0, 0) |
| 763 gtk_button_set_can_shrink(GTK_BUTTON(button), TRUE); |
764 gtk_button_set_can_shrink(GTK_BUTTON(button), TRUE); |
| |
765 #elif GTK_MAJOR_VERSION == 3 |
| |
766 GtkWidget *child = gtk_bin_get_child(GTK_BIN(button)); |
| |
767 gtk_label_set_ellipsize(GTK_LABEL(child), PANGO_ELLIPSIZE_END); |
| |
768 #endif |
| 764 g_object_set_data(G_OBJECT(button), "ui_linkbutton", data); |
769 g_object_set_data(G_OBJECT(button), "ui_linkbutton", data); |
| 765 g_signal_connect( |
770 g_signal_connect( |
| 766 button, |
771 button, |
| 767 "destroy", |
772 "destroy", |
| 768 G_CALLBACK(ui_destroy_linkbutton), |
773 G_CALLBACK(ui_destroy_linkbutton), |
| 805 void ui_linkbutton_set(UiString *s, const char *str) { |
810 void ui_linkbutton_set(UiString *s, const char *str) { |
| 806 linkbutton_apply_value(s->obj, str); |
811 linkbutton_apply_value(s->obj, str); |
| 807 if(s->value.free) { |
812 if(s->value.free) { |
| 808 s->value.free(s->value.ptr); |
813 s->value.free(s->value.ptr); |
| 809 } |
814 } |
| |
815 #if GTK_MAJOR_VERSION == 3 |
| |
816 UiLinkButton *data = s->obj; |
| |
817 GtkWidget *child = gtk_bin_get_child(GTK_BIN(data->widget)); |
| |
818 gtk_label_set_ellipsize(GTK_LABEL(child), PANGO_ELLIPSIZE_END); |
| |
819 #endif |
| 810 } |
820 } |
| 811 |
821 |
| 812 |
822 |
| 813 void ui_linkbutton_value_set(UiString *str, const char *label, const char *uri) { |
823 void ui_linkbutton_value_set(UiString *str, const char *label, const char *uri) { |
| 814 char *value = create_linkbutton_jsonvalue(label, uri, TRUE, FALSE, TRUE); |
824 char *value = create_linkbutton_jsonvalue(label, uri, TRUE, FALSE, TRUE); |