|
|
|
@ -66,20 +66,21 @@ void ConfigureHotkeys::Populate(const HotkeyRegistry& registry) { |
|
|
|
} |
|
|
|
|
|
|
|
void ConfigureHotkeys::Configure(QModelIndex index) { |
|
|
|
if (index.parent() == QModelIndex()) |
|
|
|
if (!index.parent().isValid()) { |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
index = index.sibling(index.row(), 1); |
|
|
|
auto* model = ui->hotkey_list->model(); |
|
|
|
auto previous_key = model->data(index); |
|
|
|
|
|
|
|
auto* hotkey_dialog = new SequenceDialog; |
|
|
|
int return_code = hotkey_dialog->exec(); |
|
|
|
auto* const model = ui->hotkey_list->model(); |
|
|
|
const auto previous_key = model->data(index); |
|
|
|
|
|
|
|
auto key_sequence = hotkey_dialog->GetSequence(); |
|
|
|
SequenceDialog hotkey_dialog{this}; |
|
|
|
|
|
|
|
if (return_code == QDialog::Rejected || key_sequence.isEmpty()) |
|
|
|
const int return_code = hotkey_dialog.exec(); |
|
|
|
const auto key_sequence = hotkey_dialog.GetSequence(); |
|
|
|
if (return_code == QDialog::Rejected || key_sequence.isEmpty()) { |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
if (IsUsedKey(key_sequence) && key_sequence != QKeySequence(previous_key.toString())) { |
|
|
|
QMessageBox::critical(this, tr("Error in inputted key"), |
|
|
|
@ -90,7 +91,7 @@ void ConfigureHotkeys::Configure(QModelIndex index) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
bool ConfigureHotkeys::IsUsedKey(QKeySequence key_sequence) { |
|
|
|
bool ConfigureHotkeys::IsUsedKey(QKeySequence key_sequence) const { |
|
|
|
return GetUsedKeyList().contains(key_sequence); |
|
|
|
} |
|
|
|
|
|
|
|
|