Mercurial > geeqie
diff src/compat.c @ 457:5e9c24d3b3a8
Add a replacement for gtk_radio_action_set_current_value() which
require GTK+ >= 2.10.
Two new files were added, compat.h and compat.c.
author | zas_ |
---|---|
date | Sun, 20 Apr 2008 23:17:35 +0000 |
parents | |
children | 48c8e49b571c |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/compat.c Sun Apr 20 23:17:35 2008 +0000 @@ -0,0 +1,36 @@ +/* + * Geeqie + * + * Authors: Vladimir Nadvornik / Laurent Monin + * + * This software is released under the GNU General Public License (GNU GPL). + * Please read the included file COPYING for more information. + * This software comes with no warranty of any kind, use at your own risk! + */ + +#include "main.h" +#include "compat.h" + +/* gtk_radio_action_set_current_value() replacement for GTK+ < 2.10 */ +void radio_action_set_current_value(GtkRadioAction *action, gint current_value) +{ +#if GTK_CHECK_VERSION(2, 10, 0) + gtk_radio_action_set_current_value(action, current_value); +#else + GSList *group; + gint value; + + group = gtk_radio_action_get_group(action); + while (group) + { + action = GTK_RADIO_ACTION(group->data); + g_object_get(G_OBJECT(action), "value", &value, NULL); + if (value == current_value) + { + gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), TRUE); + return; + } + group = g_slist_next(group); + } +#endif +}