diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2023-01-31 14:58:44 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2023-01-31 18:38:28 +0100 |
commit | 8eba5fc5addffe15b883f6693e1b7902b28d77d2 (patch) | |
tree | bab723f8a9a73d8bc17fa322c94602cb843cd0b9 | |
parent | 4b7c85dd81d96592d1c691c4bbce814f34002472 (diff) | |
download | qttools-8eba5fc5addffe15b883f6693e1b7902b28d77d2.tar.gz |
Qt Designer: Add tool tip with file name and date to the plugin dialog
This comes in handy when developing custom plugins.
Pick-to: 6.5
Change-Id: I2b98c69ec1f898f264e28957387fbab5a24d6764
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
-rw-r--r-- | src/designer/src/lib/shared/plugindialog.cpp | 13 | ||||
-rw-r--r-- | src/designer/src/lib/shared/plugindialog_p.h | 4 |
2 files changed, 12 insertions, 5 deletions
diff --git a/src/designer/src/lib/shared/plugindialog.cpp b/src/designer/src/lib/shared/plugindialog.cpp index 5dfd10476..dda523b7c 100644 --- a/src/designer/src/lib/shared/plugindialog.cpp +++ b/src/designer/src/lib/shared/plugindialog.cpp @@ -22,6 +22,7 @@ # include <QtGui/QClipboard> #endif +#include <QtCore/qdir.h> #include <QtCore/qfileinfo.h> #include <QtCore/qpluginloader.h> @@ -84,7 +85,7 @@ void PluginDialog::populateTreeWidget() QPluginLoader loader(fileName); const QFileInfo fileInfo(fileName); - QTreeWidgetItem *pluginItem = setPluginItem(topLevelItem, fileInfo.fileName(), boldFont); + QTreeWidgetItem *pluginItem = setPluginItem(topLevelItem, fileInfo, boldFont); if (QObject *plugin = loader.instance()) { if (const QDesignerCustomWidgetCollectionInterface *c = qobject_cast<QDesignerCustomWidgetCollectionInterface*>(plugin)) { @@ -108,7 +109,7 @@ void PluginDialog::populateTreeWidget() const QString htmlFailureReason = QLatin1String("<html><head/><body><p>") + failureReason.toHtmlEscaped() + QLatin1String("</p></body></html>"); - QTreeWidgetItem *pluginItem = setPluginItem(topLevelItem, plugin, boldFont); + QTreeWidgetItem *pluginItem = setPluginItem(topLevelItem, QFileInfo(plugin), boldFont); auto errorItem = setItem(pluginItem, failureReason, htmlFailureReason, QString(), QIcon()); errorItem->setData(0, ErrorItemRole, QVariant(true)); @@ -138,11 +139,15 @@ QTreeWidgetItem* PluginDialog::setTopLevelItem(const QString &itemName) } QTreeWidgetItem* PluginDialog::setPluginItem(QTreeWidgetItem *topLevelItem, - const QString &itemName, const QFont &font) + const QFileInfo &file, const QFont &font) { QTreeWidgetItem *pluginItem = new QTreeWidgetItem(topLevelItem); + QString toolTip = QDir::toNativeSeparators(file.absoluteFilePath()); + if (file.exists()) + toolTip += u'\n' + file.lastModified().toString(); pluginItem->setFont(0, font); - pluginItem->setText(0, itemName); + pluginItem->setText(0, file.fileName()); + pluginItem->setToolTip(0, toolTip); pluginItem->setExpanded(true); pluginItem->setIcon(0, style()->standardPixmap(QStyle::SP_DirOpenIcon)); diff --git a/src/designer/src/lib/shared/plugindialog_p.h b/src/designer/src/lib/shared/plugindialog_p.h index 99d44cfa1..cbdad6019 100644 --- a/src/designer/src/lib/shared/plugindialog_p.h +++ b/src/designer/src/lib/shared/plugindialog_p.h @@ -19,6 +19,8 @@ QT_BEGIN_NAMESPACE +class QFileInfo; + class QDesignerFormEditorInterface; namespace qdesigner_internal { @@ -37,7 +39,7 @@ private: void populateTreeWidget(); QTreeWidgetItem* setTopLevelItem(const QString &itemName); QTreeWidgetItem* setPluginItem(QTreeWidgetItem *topLevelItem, - const QString &itemName, const QFont &font); + const QFileInfo &file, const QFont &font); QTreeWidgetItem *setItem(QTreeWidgetItem *pluginItem, const QString &name, const QString &toolTip, const QString &whatsThis, const QIcon &icon); |