feat: check conflict shortcuts before saving

This commit is contained in:
2024-11-03 00:46:21 +08:00
parent d0bdc71cf5
commit 8cce48e6b0
4 changed files with 27 additions and 12 deletions

View File

@ -33,6 +33,7 @@ ShortcutEditor::ShortcutEditor(ShortcutEdit * shortcutEdit, QWidget * parent)
reloadShortcuts();
}
});
connect(shortcutEdit, &ShortcutEdit::shortcutsChanged, this, &ShortcutEditor::reloadShortcuts);
setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Minimum);
@ -81,12 +82,11 @@ void ShortcutEditor::applyShortcuts()
{
QList<QKeySequence> shortcuts;
for (const QKeySequenceEdit * keyseqEdit : m_keySequenceEdits) {
if (!keyseqEdit->keySequence().isEmpty()) {
if (!keyseqEdit->keySequence().isEmpty() && !shortcuts.contains(keyseqEdit->keySequence())) {
shortcuts.append(keyseqEdit->keySequence());
}
}
m_shortcutEdit->setShortcuts(shortcuts);
reloadShortcuts();
emit m_shortcutEdit->applyShortcutsRequested(shortcuts);
}
// ----------------------------------------