summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEduard Braun <eduard.braun2@gmx.de>2017-07-09 14:54:40 +0000
committerEduard Braun <eduard.braun2@gmx.de>2017-07-09 14:54:40 +0000
commit326dc8bbfbc2faea900b6c1705c341cf6a92e9e2 (patch)
tree4360796684f835d2c8cf791b2f6f5614c692c8ec /src
parentAdd Super, Hyper and Meta keys to get in sync with d79cc2caf65007ac9d1d598867... (diff)
downloadinkscape-326dc8bbfbc2faea900b6c1705c341cf6a92e9e2.tar.gz
inkscape-326dc8bbfbc2faea900b6c1705c341cf6a92e9e2.zip
Only update shortcuts tree view once after updating (significantly reduces the time it takes to switch shortcut files or even set a shortcut)
Diffstat (limited to 'src')
-rw-r--r--src/ui/dialog/inkscape-preferences.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/ui/dialog/inkscape-preferences.cpp b/src/ui/dialog/inkscape-preferences.cpp
index b9f1f40b2..13729cf0f 100644
--- a/src/ui/dialog/inkscape-preferences.cpp
+++ b/src/ui/dialog/inkscape-preferences.cpp
@@ -1535,7 +1535,7 @@ void InkscapePreferences::initKeyboardShortcuts(Gtk::TreeModel::iterator iter_ui
_page_keyshortcuts.add_line( false, _("Search:"), _kb_search, "", "", true);
_kb_store = Gtk::TreeStore::create( _kb_columns );
- _kb_store->set_sort_column (_kb_columns.id, Gtk::SORT_ASCENDING );
+ _kb_store->set_sort_column ( GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID, Gtk::SORT_ASCENDING ); // only sort in onKBListKeyboardShortcuts()
_kb_filter = Gtk::TreeModelFilter::create(_kb_store);
_kb_filter->set_visible_func (sigc::mem_fun(*this, &InkscapePreferences::onKBSearchFilter));
@@ -1833,6 +1833,10 @@ void InkscapePreferences::onKBListKeyboardShortcuts()
}
}
+ // re-order once after updating (then disable ordering again to increase performance)
+ _kb_store->set_sort_column (_kb_columns.id, Gtk::SORT_ASCENDING );
+ _kb_store->set_sort_column ( GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID, Gtk::SORT_ASCENDING );
+
if (selected_id.empty()) {
_kb_tree.expand_to_path(_kb_store->get_path(_kb_store->get_iter("0:1")));
}