Minor code change according to suggestions

This commit is contained in:
Zheng, Lei
2022-03-06 20:44:52 +08:00
committed by wwmayer
parent 31d77a954b
commit 3f0f5cff99
3 changed files with 9 additions and 29 deletions

View File

@@ -1378,11 +1378,10 @@ struct CmdInfo {
};
static std::vector<CmdInfo> _Commands;
static int _CommandRevision;
static const int CommandNameRole = Qt::UserRole;
class CommandModel : public QAbstractItemModel
{
public:
public:
CommandModel(QObject* parent)
: QAbstractItemModel(parent)
@@ -1450,7 +1449,7 @@ public:
}
return info.tooltip;
case Qt::UserRole:
case CommandNameRole:
return QByteArray(info.cmd->getName());
default:
@@ -1481,9 +1480,7 @@ CommandCompleter::CommandCompleter(QLineEdit *lineedit, QObject *parent)
: QCompleter(parent)
{
this->setModel(new CommandModel(this));
#if QT_VERSION>=QT_VERSION_CHECK(5,2,0)
this->setFilterMode(Qt::MatchContains);
#endif
this->setCaseSensitivity(Qt::CaseInsensitive);
this->setCompletionMode(QCompleter::PopupCompletion);
this->setWidget(lineedit);
@@ -1547,12 +1544,14 @@ bool CommandCompleter::eventFilter(QObject *o, QEvent *ev)
void CommandCompleter::onCommandActivated(const QModelIndex &index)
{
QByteArray name = completionModel()->data(index, Qt::UserRole).toByteArray();
QByteArray name = completionModel()->data(index, CommandNameRole).toByteArray();
Q_EMIT commandActivated(name);
}
void CommandCompleter::onTextChanged(const QString &txt)
{
// Do not activate completer if less than 3 characters for better
// performance.
if (txt.size() < 3 || !widget())
return;

View File

@@ -404,6 +404,8 @@ void ShortcutManager::setTopPriority(const char *cmdName)
void ShortcutManager::onTimer()
{
timer.stop();
QAction *found = nullptr;
int priority = -INT_MAX;
int seq_length = 0;
@@ -427,8 +429,8 @@ void ShortcutManager::onTimer()
if (lastFocus && lastFocus == QApplication::focusWidget()) {
// We are here because we have withheld some previous triggered action.
// We then disabled the action, and faked the same key strokes in order
// to wait for more for potential match of longer key sequence. We use
// a timer to end the wait and triggered the pending action.
// to wait for more potential match of longer key sequence. We use
// a timer to end the wait and trigger the pending action.
//
// However, Qt's internal shorcutmap state machine is still armed with
// our fake key strokes. So we try to fake some more obscure symbol key
@@ -449,7 +451,6 @@ void ShortcutManager::onTimer()
}
}
}
timer.stop();
}
#include "moc_ShortcutManager.cpp"

View File

@@ -311,26 +311,6 @@ void Workbench::setupCustomToolbars(ToolBarItem* root, const Base::Reference<Par
void Workbench::setupCustomShortcuts() const
{
// Now managed by ShortcutManager
#if 0
// Assigns user defined accelerators
ParameterGrp::handle hGrp = WindowParameter::getDefaultParameter();
if (hGrp->HasGroup("Shortcut")) {
hGrp = hGrp->GetGroup("Shortcut");
// Get all user defined shortcuts
const CommandManager& cCmdMgr = Application::Instance->commandManager();
std::vector<std::pair<std::string,std::string> > items = hGrp->GetASCIIMap();
for (const auto & item : items) {
Command* cmd = cCmdMgr.getCommandByName(item.first.c_str());
if (cmd && cmd->getAction()) {
// may be UTF-8 encoded
QString str = QString::fromUtf8(item.second.c_str());
QKeySequence shortcut = str;
cmd->getAction()->setShortcut(shortcut.toString(QKeySequence::NativeText));
cmd->recreateTooltip(item.first.c_str(), cmd->getAction()); // The tooltip has the shortcut in it...
}
}
}
#endif
}
void Workbench::setupContextMenu(const char* recipient,MenuItem* item) const