void ShortcutsWidget::loadShortcuts(const QSettings &settings) { MenuItems items = menuItems(); ::loadShortcuts(&items, settings); m_actions.clear(); m_shortcuts.clear(); QTableWidget *table = ui->tableWidget; while (table->rowCount() > 0) table->removeRow(0); for (const auto &item : items) { MenuAction action; action.iconName = item.iconName; action.iconId = item.iconId; action.text = item.text; action.settingsKey = item.settingsKey; addShortcutRow(action); action.shortcutButton->setDefaultShortcut(item.defaultShortcut); for (const auto &shortcut : item.shortcuts) action.shortcutButton->addShortcut(shortcut); } addCommands( loadAllCommands() ); addCommands( predefinedCommands() ); }
AddCommandDialog::AddCommandDialog(const QVector<Command> &pluginCommands, QWidget *parent) : QDialog(parent) , ui(new Ui::AddCommandDialog) , m_filterModel(new QSortFilterProxyModel(this)) { ui->setupUi(this); connect(ui->filterLineEdit, &Utils::FilterLineEdit::filterChanged, this, &AddCommandDialog::onFilterLineEditFilterChanged); connect(ui->listViewCommands, &QListView::activated, this, &AddCommandDialog::onListViewCommandsActivated); ui->filterLineEdit->loadSettings(); QAbstractItemModel *model = new CommandModel(predefinedCommands() + pluginCommands, m_filterModel); m_filterModel->setSourceModel(model); ui->listViewCommands->setModel(m_filterModel); ui->listViewCommands->setCurrentIndex(m_filterModel->index(0, 0)); WindowGeometryGuard::create(this); }