diff options
author | Benjamin Otte <otte@redhat.com> | 2011-09-16 10:14:15 +0200 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2011-09-19 22:11:05 +0200 |
commit | 824aeb77c60f380f6d90c69c34f5044b11d21d27 (patch) | |
tree | f8e30d473b8da5c5809df4b822573c6e2c621250 /gtk/gtkfontchooserwidget.c | |
parent | 7a34a5971efff66e217e7ccd406923375be033d9 (diff) | |
download | gtk+-824aeb77c60f380f6d90c69c34f5044b11d21d27.tar.gz |
fontchooserwidget: Simplify function
- Don't do unnecessary casts
- Fix weird variable declaration indenting
- Fix loop indentation
- Use a for loop for iterating over a list, instead of a while loop
- Casefold font name only once, instead of every iteration
- Remove needless true_var = true_var && TRUE assignment
Diffstat (limited to 'gtk/gtkfontchooserwidget.c')
-rw-r--r-- | gtk/gtkfontchooserwidget.c | 37 |
1 files changed, 15 insertions, 22 deletions
diff --git a/gtk/gtkfontchooserwidget.c b/gtk/gtkfontchooserwidget.c index af4bda5dfc..c62582b9c1 100644 --- a/gtk/gtkfontchooserwidget.c +++ b/gtk/gtkfontchooserwidget.c @@ -835,16 +835,15 @@ visible_func (GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { + GtkFontChooserWidgetPrivate *priv = user_data; gboolean result = TRUE; - GtkFontChooserWidgetPrivate *priv = (GtkFontChooserWidgetPrivate*)user_data; - - const gchar *search_text = (const gchar*)gtk_entry_get_text (GTK_ENTRY (priv->search_entry)); - gchar *font_name; - gchar *term; - gchar **split_terms; - gint n_terms = 0; + const gchar *search_text; + gchar **split_terms; + gchar *font_name, *font_name_casefold, *term_casefold; + guint i; /* If there's no filter string we show the item */ + search_text = gtk_entry_get_text (GTK_ENTRY (priv->search_entry)); if (strlen (search_text) == 0) return TRUE; @@ -856,25 +855,19 @@ visible_func (GtkTreeModel *model, return FALSE; split_terms = g_strsplit (search_text, " ", 0); - term = split_terms[0]; - - while (term && result) - { - gchar* font_name_casefold = g_utf8_casefold (font_name, -1); - gchar* term_casefold = g_utf8_casefold (term, -1); + font_name_casefold = g_utf8_casefold (font_name, -1); - if (g_strrstr (font_name_casefold, term_casefold)) - result = result && TRUE; - else - result = FALSE; + for (i = 0; split_terms[i] && result; i++) + { + gchar* term_casefold = g_utf8_casefold (split_terms[i], -1); - n_terms++; - term = split_terms[n_terms]; + if (!strstr (font_name_casefold, term_casefold)) + result = FALSE; - g_free (term_casefold); - g_free (font_name_casefold); - } + g_free (term_casefold); + } + g_free (font_name_casefold); g_free (font_name); g_strfreev (split_terms); |