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;
|
QString displayName;
|
||||||
/* extra information displayed in light-gray in a second column (optional) */
|
/* extra information displayed in light-gray in a second column (optional) */
|
||||||
QString extraInfo;
|
QString extraInfo;
|
||||||
|
/* additional tooltip */
|
||||||
|
QString toolTip;
|
||||||
/* can be used by the filter to save more information about the entry */
|
/* can be used by the filter to save more information about the entry */
|
||||||
QVariant internalData;
|
QVariant internalData;
|
||||||
/* icon to display along with the entry */
|
/* icon to display along with the entry */
|
||||||
|
|||||||
@@ -51,6 +51,7 @@ void LocatorFiltersFilter::prepareSearch(const QString &entry)
|
|||||||
{
|
{
|
||||||
m_filterShortcutStrings.clear();
|
m_filterShortcutStrings.clear();
|
||||||
m_filterDisplayNames.clear();
|
m_filterDisplayNames.clear();
|
||||||
|
m_filterDescriptions.clear();
|
||||||
if (!entry.isEmpty())
|
if (!entry.isEmpty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -65,6 +66,7 @@ void LocatorFiltersFilter::prepareSearch(const QString &entry)
|
|||||||
if (!filter->shortcutString().isEmpty() && !filter->isHidden() && filter->isEnabled()) {
|
if (!filter->shortcutString().isEmpty() && !filter->isHidden() && filter->isEnabled()) {
|
||||||
m_filterShortcutStrings.append(filter->shortcutString());
|
m_filterShortcutStrings.append(filter->shortcutString());
|
||||||
m_filterDisplayNames.append(filter->displayName());
|
m_filterDisplayNames.append(filter->displayName());
|
||||||
|
m_filterDescriptions.append(filter->description());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -81,6 +83,7 @@ QList<LocatorFilterEntry> LocatorFiltersFilter::matchesFor(QFutureInterface<Loca
|
|||||||
i,
|
i,
|
||||||
m_icon);
|
m_icon);
|
||||||
filterEntry.extraInfo = m_filterDisplayNames.at(i);
|
filterEntry.extraInfo = m_filterDisplayNames.at(i);
|
||||||
|
filterEntry.toolTip = m_filterDescriptions.at(i);
|
||||||
entries.append(filterEntry);
|
entries.append(filterEntry);
|
||||||
}
|
}
|
||||||
return entries;
|
return entries;
|
||||||
|
|||||||
@@ -55,6 +55,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
QStringList m_filterShortcutStrings;
|
QStringList m_filterShortcutStrings;
|
||||||
QStringList m_filterDisplayNames;
|
QStringList m_filterDisplayNames;
|
||||||
|
QStringList m_filterDescriptions;
|
||||||
QIcon m_icon;
|
QIcon m_icon;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -197,13 +197,15 @@ QVariant LocatorModel::data(const QModelIndex &index, int role) const
|
|||||||
else if (index.column() == ExtraInfoColumn)
|
else if (index.column() == ExtraInfoColumn)
|
||||||
return mEntries.at(index.row()).extraInfo;
|
return mEntries.at(index.row()).extraInfo;
|
||||||
break;
|
break;
|
||||||
case Qt::ToolTipRole:
|
case Qt::ToolTipRole: {
|
||||||
if (mEntries.at(index.row()).extraInfo.isEmpty())
|
const LocatorFilterEntry &entry = mEntries.at(index.row());
|
||||||
return QVariant(mEntries.at(index.row()).displayName);
|
QString toolTip = entry.displayName;
|
||||||
else
|
if (!entry.extraInfo.isEmpty())
|
||||||
return QVariant(mEntries.at(index.row()).displayName
|
toolTip += "\n\n" + entry.extraInfo;
|
||||||
+ "\n\n" + mEntries.at(index.row()).extraInfo);
|
if (!entry.toolTip.isEmpty())
|
||||||
break;
|
toolTip += "\n\n" + entry.toolTip;
|
||||||
|
return QVariant(toolTip);
|
||||||
|
}
|
||||||
case Qt::DecorationRole:
|
case Qt::DecorationRole:
|
||||||
if (index.column() == DisplayNameColumn) {
|
if (index.column() == DisplayNameColumn) {
|
||||||
LocatorFilterEntry &entry = mEntries[index.row()];
|
LocatorFilterEntry &entry = mEntries[index.row()];
|
||||||
|
|||||||
Reference in New Issue
Block a user