X-Git-Url: https://git.street.me.uk/andy/viking.git/blobdiff_plain/cdcaf41c6bb6275fb40f59ad1b32a4485525c489..ab4553c3321e7d41330252da08d42a4c3b558110:/src/vikradiogroup.c?ds=sidebyside diff --git a/src/vikradiogroup.c b/src/vikradiogroup.c index 12d25d32..666d65ba 100644 --- a/src/vikradiogroup.c +++ b/src/vikradiogroup.c @@ -20,6 +20,7 @@ */ #include +#include #include "vikradiogroup.h" @@ -83,7 +84,7 @@ GtkWidget *vik_radio_group_new ( GList *options ) vrg = VIK_RADIO_GROUP ( g_object_new ( VIK_RADIO_GROUP_TYPE, NULL ) ); label = g_list_nth_data(options, 0); - t = gtk_radio_button_new_with_label ( NULL, label ); + t = gtk_radio_button_new_with_label ( NULL, gettext(label) ); gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON(t), TRUE ); gtk_box_pack_start ( GTK_BOX(vrg), t, FALSE, FALSE, 0 ); @@ -93,7 +94,8 @@ GtkWidget *vik_radio_group_new ( GList *options ) while ( ( option = g_list_next(option) ) != NULL ) { label = option->data; - t = gtk_radio_button_new_with_label_from_widget ( GTK_RADIO_BUTTON(vrg->radios->data), label ); + t = gtk_radio_button_new_with_label_from_widget ( + GTK_RADIO_BUTTON(vrg->radios->data), gettext(label)); vrg->radios = g_slist_append( vrg->radios, t ); gtk_box_pack_start ( GTK_BOX(vrg), GTK_WIDGET(t), FALSE, FALSE, 0 ); vrg->options_count++; @@ -102,6 +104,35 @@ GtkWidget *vik_radio_group_new ( GList *options ) return GTK_WIDGET(vrg); } +GtkWidget *vik_radio_group_new_static ( const gchar **options ) +{ + VikRadioGroup *vrg; + GtkWidget *t; + + if ( ! *options ) + return NULL; + + vrg = VIK_RADIO_GROUP ( g_object_new ( VIK_RADIO_GROUP_TYPE, NULL ) ); + + t = gtk_radio_button_new_with_label ( NULL, options[0] ); + gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON(t), TRUE ); + gtk_box_pack_start ( GTK_BOX(vrg), t, FALSE, FALSE, 0 ); + + vrg->radios = g_slist_append ( NULL, t ); + vrg->options_count = 1; + + for ( options++ ; *options ; options++ ) + { + t = gtk_radio_button_new_with_label_from_widget ( GTK_RADIO_BUTTON(vrg->radios->data), *options ); + vrg->radios = g_slist_append( vrg->radios, t ); + gtk_box_pack_start ( GTK_BOX(vrg), GTK_WIDGET(t), FALSE, FALSE, 0 ); + vrg->options_count++; + } + + return GTK_WIDGET(vrg); +} + + void vik_radio_group_set_selected ( VikRadioGroup *vrg, guint8 i ) { if ( i < vrg->options_count )