Simplify active iter processing in PidginPrefCombo

Tue, 17 May 2022 01:58:54 -0500

author
Elliott Sales de Andrade <quantum.analyst@gmail.com>
date
Tue, 17 May 2022 01:58:54 -0500
changeset 41387
146db40a9f24
parent 41386
2bf2cc598a0e
child 41388
4df8fa04b777

Simplify active iter processing in PidginPrefCombo

pidgin/prefs/pidginprefs.c file | annotate | diff | comparison | revisions
--- a/pidgin/prefs/pidginprefs.c	Tue May 17 01:58:54 2022 -0500
+++ b/pidgin/prefs/pidginprefs.c	Tue May 17 01:58:54 2022 -0500
@@ -242,7 +242,6 @@
 	GtkWidget *dropdown = NULL;
 	GtkWidget *label = NULL;
 	GtkListStore *store = NULL;
-	GtkTreeIter iter;
 	GtkTreeIter active;
 	GtkCellRenderer *renderer;
 	gint pref_int_value = 0;
@@ -269,9 +268,7 @@
 
 	for (; menuitems != NULL; menuitems = g_list_next(menuitems)) {
 		const PurpleKeyValuePair *menu_item = menuitems->data;
-		gint int_value = 0;
-		const gchar *str_value = NULL;
-		gboolean bool_value = FALSE;
+		GtkTreeIter iter;
 
 		if (menu_item->key == NULL) {
 			break;
@@ -283,30 +280,25 @@
 		                   -1);
 
 		if (type == PURPLE_PREF_INT) {
-			int_value = GPOINTER_TO_INT(menu_item->value);
-			gtk_list_store_set(store, &iter,
-			                   PREF_DROPDOWN_VALUE, int_value,
-			                   -1);
-		}
-		else if (type == PURPLE_PREF_STRING) {
-			str_value = (const char *)menu_item->value;
-			gtk_list_store_set(store, &iter,
-			                   PREF_DROPDOWN_VALUE, str_value,
-			                   -1);
-		}
-		else if (type == PURPLE_PREF_BOOLEAN) {
-			bool_value = (gboolean)GPOINTER_TO_INT(menu_item->value);
-			gtk_list_store_set(store, &iter,
-			                   PREF_DROPDOWN_VALUE, bool_value,
-			                   -1);
-		}
+			gint value = GPOINTER_TO_INT(menu_item->value);
+			gtk_list_store_set(store, &iter, PREF_DROPDOWN_VALUE, value, -1);
+			if (pref_int_value == value) {
+				active = iter;
+			}
 
-		if ((type == PURPLE_PREF_INT && pref_int_value == int_value) ||
-		    (type == PURPLE_PREF_STRING &&
-		     purple_strequal(pref_str_value, str_value)) ||
-		    (type == PURPLE_PREF_BOOLEAN && (pref_bool_value == bool_value)))
-		{
-			active = iter;
+		} else if (type == PURPLE_PREF_STRING) {
+			const gchar *value = (const gchar *)menu_item->value;
+			gtk_list_store_set(store, &iter, PREF_DROPDOWN_VALUE, value, -1);
+			if (purple_strequal(pref_str_value, value)) {
+				active = iter;
+			}
+
+		} else if (type == PURPLE_PREF_BOOLEAN) {
+			gboolean value = (gboolean)GPOINTER_TO_INT(menu_item->value);
+			gtk_list_store_set(store, &iter, PREF_DROPDOWN_VALUE, value, -1);
+			if (pref_bool_value == value) {
+				active = iter;
+			}
 		}
 	}
 
@@ -419,33 +411,26 @@
 	}
 
 	do {
-		int int_value = 0;
-		const char *str_value = NULL;
-		gboolean bool_value = FALSE;
-
 		if (combo->type == PURPLE_PREF_INT) {
-			gtk_tree_model_get(store, &iter,
-			                   PREF_DROPDOWN_VALUE, &int_value,
-			                   -1);
-			if (pref_int_value == int_value) {
+			gint value = 0;
+			gtk_tree_model_get(store, &iter, PREF_DROPDOWN_VALUE, &value, -1);
+			if (pref_int_value == value) {
 				active = iter;
 				break;
 			}
-		}
-		else if (combo->type == PURPLE_PREF_STRING) {
-			gtk_tree_model_get(store, &iter,
-			                   PREF_DROPDOWN_VALUE, &str_value,
-			                   -1);
-			if (purple_strequal(pref_str_value, str_value)) {
+
+		} else if (combo->type == PURPLE_PREF_STRING) {
+			const gchar *value = NULL;
+			gtk_tree_model_get(store, &iter, PREF_DROPDOWN_VALUE, &value, -1);
+			if (purple_strequal(pref_str_value, value)) {
 				active = iter;
 				break;
 			}
-		}
-		else if (combo->type == PURPLE_PREF_BOOLEAN) {
-			gtk_tree_model_get(store, &iter,
-			                   PREF_DROPDOWN_VALUE, &bool_value,
-			                   -1);
-			if (pref_bool_value == bool_value) {
+
+		} else if (combo->type == PURPLE_PREF_BOOLEAN) {
+			gboolean value = FALSE;
+			gtk_tree_model_get(store, &iter, PREF_DROPDOWN_VALUE, &value, -1);
+			if (pref_bool_value == value) {
 				active = iter;
 				break;
 			}

mercurial