# HG changeset patch # User John W. Eaton # Date 1713294406 14400 # Node ID 3cf213d5b479bd08ed9fb4f5177ee757489c78f8 # Parent 48c2df4bb2072cf49beb497ae20c8c17b5ab563b# Parent 370a2de931a0e015a60ffcc57575cc163f6eaea5 maint: merge stable to default diff -r 48c2df4bb207 -r 3cf213d5b479 libgui/src/gui-settings.cc diff -r 48c2df4bb207 -r 3cf213d5b479 libgui/src/shortcuts-tree-widget.cc --- a/libgui/src/shortcuts-tree-widget.cc Tue Apr 16 12:36:15 2024 -0400 +++ b/libgui/src/shortcuts-tree-widget.cc Tue Apr 16 15:06:46 2024 -0400 @@ -290,6 +290,9 @@ // Note that m_settings_key doesn't begin with the sc_group prefix. QString my_section = get_shortcut_section (m_settings_key); + if (my_section.contains ('_')) // get top level section + my_section = my_section.section ('_', 0, 0, QString::SectionSkipEmpty); + QString actual_text = m_edit_actual->text (); bool conflict = false; @@ -298,7 +301,7 @@ gui_settings settings; settings.beginGroup (sc_group); - const QStringList shortcut_settings_keys = settings.allKeys (); + const QStringList shortcut_settings_keys = all_shortcut_preferences::keys (); settings.endGroup (); for (const auto& settings_key : shortcut_settings_keys) @@ -307,11 +310,16 @@ continue; QString section = get_shortcut_section (settings_key); + if (section.contains ('_')) // get top level section + section = section.section ('_', 0, 0, QString::SectionSkipEmpty); - if (section == my_section || section.startsWith ("main_")) + if (section == my_section || section == "main") { - QString shortcut_text - = settings.value (sc_group + "/" + settings_key).toString (); + const sc_pref scpref = all_shortcut_preferences::value (settings_key); + QString shortcut_text = settings.sc_value (scpref); + + if (shortcut_text.isEmpty ()) + continue; if (shortcut_text == actual_text) {