summaryrefslogtreecommitdiffstats
path: root/src/ui/widget/font-selector.cpp
diff options
context:
space:
mode:
authorMarc Jeanmougin <marc@jeanmougin.fr>2018-06-14 18:16:30 +0000
committerMarc Jeanmougin <marc@jeanmougin.fr>2018-06-14 18:16:30 +0000
commit3a70f80a739cb2dc9e9ed5b00c2ea10454e94c05 (patch)
treee7d7a510dd21581b047d40235327295737c1b0bc /src/ui/widget/font-selector.cpp
parentMerge branch 'fontmarkup' of gitlab.com:darktrojan/inkscape (diff)
parentIn font list, don't change selection if current font is already selected; oth... (diff)
downloadinkscape-3a70f80a739cb2dc9e9ed5b00c2ea10454e94c05.tar.gz
inkscape-3a70f80a739cb2dc9e9ed5b00c2ea10454e94c05.zip
Merge branch 'fontselection' of gitlab.com:darktrojan/inkscape
Diffstat (limited to 'src/ui/widget/font-selector.cpp')
-rw-r--r--src/ui/widget/font-selector.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/ui/widget/font-selector.cpp b/src/ui/widget/font-selector.cpp
index 59b7311c2..132e9bfdf 100644
--- a/src/ui/widget/font-selector.cpp
+++ b/src/ui/widget/font-selector.cpp
@@ -106,8 +106,6 @@ FontSelector::FontSelector (bool with_size, bool with_variations)
// Initialize font family lists. (May already be done.) Should be done on document change.
font_lister->update_font_list(SP_ACTIVE_DESKTOP->getDocument());
-
- font_lister->connectUpdate(sigc::mem_fun(*this, &FontSelector::update_font));
}
void
@@ -167,8 +165,13 @@ FontSelector::update_font ()
path.push_back(0);
}
- family_treeview.set_cursor (path);
- family_treeview.scroll_to_row (path);
+ Gtk::TreePath currentPath;
+ Gtk::TreeViewColumn *currentColumn;
+ family_treeview.get_cursor(currentPath, currentColumn);
+ if (currentPath.empty() || !font_lister->is_path_for_font(currentPath, family)) {
+ family_treeview.set_cursor (path);
+ family_treeview.scroll_to_row (path);
+ }
// Get font-lister style list for selected family
Gtk::TreeModel::Row row = *(family_treeview.get_model()->get_iter (path));