diff options
Diffstat (limited to 'src/ui/dialog')
| -rw-r--r-- | src/ui/dialog/dialog.cpp | 8 | ||||
| -rw-r--r-- | src/ui/dialog/inkscape-preferences.cpp | 10 | ||||
| -rw-r--r-- | src/ui/dialog/objects.cpp | 8 | ||||
| -rw-r--r-- | src/ui/dialog/xml-tree.cpp | 8 |
4 files changed, 10 insertions, 24 deletions
diff --git a/src/ui/dialog/dialog.cpp b/src/ui/dialog/dialog.cpp index 0f4f30ac0..9037e8377 100644 --- a/src/ui/dialog/dialog.cpp +++ b/src/ui/dialog/dialog.cpp @@ -287,13 +287,7 @@ bool Dialog::_onEvent(GdkEvent *event) bool Dialog::_onKeyPress(GdkEventKey *event) { unsigned int shortcut; - shortcut = Inkscape::UI::Tools::get_group0_keyval(event) | - ( event->state & GDK_SHIFT_MASK ? - SP_SHORTCUT_SHIFT_MASK : 0 ) | - ( event->state & GDK_CONTROL_MASK ? - SP_SHORTCUT_CONTROL_MASK : 0 ) | - ( event->state & GDK_MOD1_MASK ? - SP_SHORTCUT_ALT_MASK : 0 ); + shortcut = sp_shortcut_get_for_event((GdkEventKey*)event); return sp_shortcut_invoke(shortcut, SP_ACTIVE_DESKTOP); } diff --git a/src/ui/dialog/inkscape-preferences.cpp b/src/ui/dialog/inkscape-preferences.cpp index 5ebad0746..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)); @@ -1676,7 +1676,7 @@ void InkscapePreferences::onKBTreeEdited (const Glib::ustring& path, guint accel return; } - unsigned int const new_shortcut_id = sp_gdkmodifier_to_shortcut(accel_key, accel_mods, hardware_keycode); + unsigned int const new_shortcut_id = sp_shortcut_get_from_gdk_event(accel_key, accel_mods, hardware_keycode); if (new_shortcut_id) { // Delete current shortcut if it existed @@ -1812,7 +1812,7 @@ void InkscapePreferences::onKBListKeyboardShortcuts() if (shortcut_id != GDK_KEY_VoidSymbol) { gchar* str = sp_shortcut_get_label(shortcut_id); if (str) { - shortcut_label = str; + shortcut_label = Glib::Markup::escape_text(str); g_free(str); str = 0; } @@ -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"))); } diff --git a/src/ui/dialog/objects.cpp b/src/ui/dialog/objects.cpp index a28c75514..dd8879dc1 100644 --- a/src/ui/dialog/objects.cpp +++ b/src/ui/dialog/objects.cpp @@ -704,13 +704,7 @@ bool ObjectsPanel::_handleKeyEvent(GdkEventKey *event) return false; unsigned int shortcut; - shortcut = Inkscape::UI::Tools::get_group0_keyval(event) | - ( event->state & GDK_SHIFT_MASK ? - SP_SHORTCUT_SHIFT_MASK : 0 ) | - ( event->state & GDK_CONTROL_MASK ? - SP_SHORTCUT_CONTROL_MASK : 0 ) | - ( event->state & GDK_MOD1_MASK ? - SP_SHORTCUT_ALT_MASK : 0 ); + shortcut = sp_shortcut_get_for_event(event); switch (shortcut) { // how to get users key binding for the action “start-interactive-search” ?? diff --git a/src/ui/dialog/xml-tree.cpp b/src/ui/dialog/xml-tree.cpp index d39a4cb8d..83c0de45b 100644 --- a/src/ui/dialog/xml-tree.cpp +++ b/src/ui/dialog/xml-tree.cpp @@ -347,13 +347,7 @@ void XmlTree::attr_reset_context(gint attr) bool XmlTree::sp_xml_tree_key_press(GdkEventKey *event) { - unsigned int shortcut = Inkscape::UI::Tools::get_group0_keyval (event) | - ( event->state & GDK_SHIFT_MASK ? - SP_SHORTCUT_SHIFT_MASK : 0 ) | - ( event->state & GDK_CONTROL_MASK ? - SP_SHORTCUT_CONTROL_MASK : 0 ) | - ( event->state & GDK_MOD1_MASK ? - SP_SHORTCUT_ALT_MASK : 0 ); + unsigned int shortcut = sp_shortcut_get_for_event((GdkEventKey*)event); /* fixme: if you need to add more xml-tree-specific callbacks, you should probably upgrade * the sp_shortcut mechanism to take into account windows. */ |
