Commit a84d6fe
Case insensitive search in overview
Changed files (3)
modifiedlibbirdfont/CharDatabaseParser.valamodifiedlibbirdfont/OverView.valamodifiedresources/ucd.sqlite
Diff
@@ -102,9 +102,10 @@ public class CharDatabaseParser : GLib.Object { public void insert_lookup (int64 character, string word) { string? errmsg;+ string w = word.down (); string query = """ INSERT INTO Words (unicode, word)- VALUES (""" + @"$((int64) character)" + """, '""" + word.replace ("'", "''") + "');";+ VALUES (""" + @"$((int64) character)" + """, '""" + w.replace ("'", "''") + "');"; int ec = db.exec (query, null, out errmsg); if (ec != Sqlite.OK) { stderr.printf (query);@@ -163,7 +164,6 @@ public class CharDatabaseParser : GLib.Object { unicode_hex = e[0].up (); ch = Font.to_unichar ("U+" + unicode_hex.down ());- stdout.printf ("Adding " + (!) ch.to_string () + "\n"); insert_entry ((int64) ch, data); utf8.add_single (ch); @@ -217,9 +217,7 @@ public class CharDatabaseParser : GLib.Object { add_entry (description); transaction_number++; - if (transaction_number >= 1000) {- print ("Write to database\n");- + if (transaction_number >= 1000) { ec = db.exec ("END TRANSACTION", null, out errmsg); if (ec != Sqlite.OK) { warning ("Error: %s\n", (!) errmsg);@@ -214,7 +214,13 @@ public class OverView : FontDisplay { listener.signal_submit.connect (() => { OverView o = MainWindow.get_overview ();- GlyphRange r = CharDatabase.search (o.search_query);+ string q = o.search_query;+ + if (q.char_count () > 1) {+ q = q.down ();+ }+ + GlyphRange r = CharDatabase.search (q); o.set_current_glyph_range (r); TabContent.hide_text_input (); MainWindow.get_tab_bar ().select_tab_name ("Overview");Binary files a/resources/ucd.sqlite and b/resources/ucd.sqlite differ