diff --git a/kutils/kpluginselector.cpp b/kutils/kpluginselector.cpp index 5efbe1f4..e6e7abf9 100644 --- a/kutils/kpluginselector.cpp +++ b/kutils/kpluginselector.cpp @@ -467,6 +467,8 @@ QVariant KPluginSelector::Private::PluginModel::data(const QModelIndex &index, i return pluginEntry->pluginInfo.icon(); case Qt::CheckStateRole: return pluginEntry->checked; + case Qt::ToolTipRole: + return pluginEntry->tooltip; case KCategorizedSortFilterProxyModel::CategoryDisplayRole: // fall through case KCategorizedSortFilterProxyModel::CategorySortRole: return pluginEntry->category; @@ -486,6 +488,9 @@ bool KPluginSelector::Private::PluginModel::setData(const QModelIndex &index, co if (role == Qt::CheckStateRole) { static_cast(index.internalPointer())->checked = value.toBool(); ret = true; + } else if (role == Qt::ToolTipRole) { + static_cast(index.internalPointer())->tooltip = value.toString(); + ret = false; } if (ret) { @@ -689,6 +694,7 @@ void KPluginSelector::Private::PluginDelegate::updateItemWidgets(const QListsetChecked(index.model()->data(index, Qt::CheckStateRole).toBool()); checkBox->setEnabled(index.model()->data(index, IsCheckableRole).toBool()); + checkBox->setToolTip(index.model()->data(index, Qt::ToolTipRole).toString()); configurePushButton->setVisible(index.model()->data(index, ServicesCountRole).toBool()); configurePushButton->setEnabled(index.model()->data(index, Qt::CheckStateRole).toBool()); } diff --git a/kutils/kpluginselector_p.h b/kutils/kpluginselector_p.h index 12ff5723..e55c2ae7 100644 --- a/kutils/kpluginselector_p.h +++ b/kutils/kpluginselector_p.h @@ -91,6 +91,7 @@ public: KConfigGroup cfgGroup; KPluginSelector::PluginLoadMethod pluginLoadMethod; bool isCheckable; + QString tooltip; bool operator==(const PluginEntry &pe) const {