From bc6905ac9361640557ade723dad00ea4d117a173 Mon Sep 17 00:00:00 2001 From: buliabyak Date: Mon, 11 Aug 2008 00:14:32 +0000 Subject: [PATCH] patch from bug 169004 --- src/libnrtype/font-lister.h | 16 +++++++++++++++- src/widgets/toolbox.cpp | 5 ++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/libnrtype/font-lister.h b/src/libnrtype/font-lister.h index b2d2a3ecf..13611caf7 100644 --- a/src/libnrtype/font-lister.h +++ b/src/libnrtype/font-lister.h @@ -59,8 +59,22 @@ namespace Inkscape } }; + /* Case-insensitive < compare for standard strings */ + class StringLessThan + { + public: + bool operator () (std::string str1, std::string str2) const + { + std::string s1=str1; // Can't transform the originals! + std::string s2=str2; + std::transform(s1.begin(), s1.end(), s1.begin(), (int(*)(int)) toupper); + std::transform(s2.begin(), s2.end(), s2.begin(), (int(*)(int)) toupper); + return s1 IterMapType; + typedef std::map IterMapType; /** Returns the ListStore with the font names * diff --git a/src/widgets/toolbox.cpp b/src/widgets/toolbox.cpp index a27e3906c..a7591608f 100644 --- a/src/widgets/toolbox.cpp +++ b/src/widgets/toolbox.cpp @@ -5175,12 +5175,15 @@ sp_text_toolbox_family_changed (GtkTreeSelection *selection, gtk_widget_grab_focus (GTK_WIDGET(desktop->canvas)); } +/* This is where execution comes when the contents of the font family box have been completed + by the press of the return key */ void sp_text_toolbox_family_entry_activate (GtkEntry *entry, GObject *tbl) { - const char *family = gtk_entry_get_text (entry); + const char *family = gtk_entry_get_text (entry); // Fetch the requested font family +// Try to match that to a known font. If not, then leave current font alone and remain focused on text box try { Gtk::TreePath path = Inkscape::FontLister::get_instance()->get_row_for_font (family); GtkTreeSelection *selection = GTK_TREE_SELECTION (g_object_get_data (G_OBJECT(tbl), "family-tree-selection")); -- 2.30.2