forked from qt-creator/qt-creator
Core: Show keyboard sequence for navigation widgets
Fixes: QTCREATORBUG-26293 Change-Id: Ifc1df96b063365ee5b27684cb4efb33be2608582 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
@@ -26,8 +26,9 @@
|
||||
#include "navigationsubwidget.h"
|
||||
#include "navigationwidget.h"
|
||||
|
||||
#include "inavigationwidgetfactory.h"
|
||||
#include "actionmanager/actionmanager.h"
|
||||
#include "actionmanager/command.h"
|
||||
#include "inavigationwidgetfactory.h"
|
||||
|
||||
#include <coreplugin/icore.h>
|
||||
|
||||
@@ -148,7 +149,15 @@ void NavigationSubWidget::populateSplitMenu()
|
||||
int count = factoryModel->rowCount();
|
||||
for (int i = 0; i < count; ++i) {
|
||||
QModelIndex index = factoryModel->index(i, 0);
|
||||
QAction *action = m_splitMenu->addAction(factoryModel->data(index).toString());
|
||||
const Id id = factoryModel->data(index, NavigationWidget::FactoryActionIdRole).value<Id>();
|
||||
Command *command = ActionManager::command(id);
|
||||
const QString factoryName = factoryModel->data(index).toString();
|
||||
const QString displayName = command->keySequence().isEmpty()
|
||||
? factoryName
|
||||
: QString("%1 (%2)").arg(factoryName,
|
||||
command->keySequence().toString(
|
||||
QKeySequence::NativeText));
|
||||
QAction *action = m_splitMenu->addAction(displayName);
|
||||
connect(action, &QAction::triggered, this, [this, i]() { emit splitMe(i); });
|
||||
}
|
||||
}
|
||||
|
@@ -263,6 +263,7 @@ void NavigationWidget::setFactories(const QList<INavigationWidgetFactory *> &fac
|
||||
QStandardItem *newRow = new QStandardItem(factory->displayName());
|
||||
newRow->setData(QVariant::fromValue(factory), FactoryObjectRole);
|
||||
newRow->setData(QVariant::fromValue(factory->id()), FactoryIdRole);
|
||||
newRow->setData(QVariant::fromValue(actionId), FactoryActionIdRole);
|
||||
newRow->setData(factory->priority(), FactoryPriorityRole);
|
||||
d->m_factoryModel->appendRow(newRow);
|
||||
}
|
||||
|
@@ -82,6 +82,7 @@ public:
|
||||
enum FactoryModelRoles {
|
||||
FactoryObjectRole = Qt::UserRole,
|
||||
FactoryIdRole,
|
||||
FactoryActionIdRole,
|
||||
FactoryPriorityRole
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user