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
+}