forked from qt-creator/qt-creator
Locator: Add descriptions to "locator filters" filter's tooltip
Change-Id: Ib29cef34465e60a66cae6fb75765f1530b8b224a Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -85,6 +85,8 @@ struct LocatorFilterEntry
|
||||
QString displayName;
|
||||
/* extra information displayed in light-gray in a second column (optional) */
|
||||
QString extraInfo;
|
||||
/* additional tooltip */
|
||||
QString toolTip;
|
||||
/* can be used by the filter to save more information about the entry */
|
||||
QVariant internalData;
|
||||
/* icon to display along with the entry */
|
||||
|
||||
@@ -51,6 +51,7 @@ void LocatorFiltersFilter::prepareSearch(const QString &entry)
|
||||
{
|
||||
m_filterShortcutStrings.clear();
|
||||
m_filterDisplayNames.clear();
|
||||
m_filterDescriptions.clear();
|
||||
if (!entry.isEmpty())
|
||||
return;
|
||||
|
||||
@@ -65,6 +66,7 @@ void LocatorFiltersFilter::prepareSearch(const QString &entry)
|
||||
if (!filter->shortcutString().isEmpty() && !filter->isHidden() && filter->isEnabled()) {
|
||||
m_filterShortcutStrings.append(filter->shortcutString());
|
||||
m_filterDisplayNames.append(filter->displayName());
|
||||
m_filterDescriptions.append(filter->description());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -81,6 +83,7 @@ QList<LocatorFilterEntry> LocatorFiltersFilter::matchesFor(QFutureInterface<Loca
|
||||
i,
|
||||
m_icon);
|
||||
filterEntry.extraInfo = m_filterDisplayNames.at(i);
|
||||
filterEntry.toolTip = m_filterDescriptions.at(i);
|
||||
entries.append(filterEntry);
|
||||
}
|
||||
return entries;
|
||||
|
||||
@@ -55,6 +55,7 @@ public:
|
||||
private:
|
||||
QStringList m_filterShortcutStrings;
|
||||
QStringList m_filterDisplayNames;
|
||||
QStringList m_filterDescriptions;
|
||||
QIcon m_icon;
|
||||
};
|
||||
|
||||
|
||||
@@ -197,13 +197,15 @@ QVariant LocatorModel::data(const QModelIndex &index, int role) const
|
||||
else if (index.column() == ExtraInfoColumn)
|
||||
return mEntries.at(index.row()).extraInfo;
|
||||
break;
|
||||
case Qt::ToolTipRole:
|
||||
if (mEntries.at(index.row()).extraInfo.isEmpty())
|
||||
return QVariant(mEntries.at(index.row()).displayName);
|
||||
else
|
||||
return QVariant(mEntries.at(index.row()).displayName
|
||||
+ "\n\n" + mEntries.at(index.row()).extraInfo);
|
||||
break;
|
||||
case Qt::ToolTipRole: {
|
||||
const LocatorFilterEntry &entry = mEntries.at(index.row());
|
||||
QString toolTip = entry.displayName;
|
||||
if (!entry.extraInfo.isEmpty())
|
||||
toolTip += "\n\n" + entry.extraInfo;
|
||||
if (!entry.toolTip.isEmpty())
|
||||
toolTip += "\n\n" + entry.toolTip;
|
||||
return QVariant(toolTip);
|
||||
}
|
||||
case Qt::DecorationRole:
|
||||
if (index.column() == DisplayNameColumn) {
|
||||
LocatorFilterEntry &entry = mEntries[index.row()];
|
||||
|
||||
Reference in New Issue
Block a user