|
|
|
@ -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);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|