30
30
#include < iostream>
31
31
#include < QtConcurrent/QtConcurrentRun>
32
32
33
+ #include < QDebug>
34
+
33
35
QPoint gPoint ;
34
36
35
37
TreeViewPackagesItemDelegate::TreeViewPackagesItemDelegate (QObject *parent):
@@ -43,6 +45,8 @@ TreeViewPackagesItemDelegate::TreeViewPackagesItemDelegate(QObject *parent):
43
45
bool TreeViewPackagesItemDelegate::helpEvent ( QHelpEvent *event, QAbstractItemView*,
44
46
const QStyleOptionViewItem&, const QModelIndex &index )
45
47
{
48
+ static QString lastShownPackage;
49
+
46
50
if (this ->parent ()->objectName () == QLatin1String (" tvPackages" ))
47
51
{
48
52
QTreeView* tvPackages = qobject_cast<QTreeView*>(this ->parent ());
@@ -64,10 +68,18 @@ bool TreeViewPackagesItemDelegate::helpEvent ( QHelpEvent *event, QAbstractItemV
64
68
pkgDesc.description = package->description ;
65
69
pkgDesc.isForeign = (package->status == ectn_FOREIGN || package->status == ectn_FOREIGN_OUTDATED);
66
70
67
- disconnect (&g_fwToolTip, SIGNAL (finished ()), this , SLOT (execToolTip ()));
68
- f = QtConcurrent::run (showPackageDescriptionExt, pkgDesc);
69
- g_fwToolTip.setFuture (f);
70
- connect (&g_fwToolTip, SIGNAL (finished ()), this , SLOT (execToolTip ()));
71
+ if (lastShownPackage != package->name )
72
+ {
73
+ // QDateTime now = QDateTime::currentDateTime();
74
+ // qDebug() << now.time().toString(QLatin1String("hh:mm:ss.zzz")) << ": Tooltip for " << package->name;
75
+
76
+ disconnect (&g_fwToolTip, SIGNAL (finished ()), this , SLOT (execToolTip ()));
77
+ f = QtConcurrent::run (showPackageDescriptionExt, pkgDesc);
78
+ g_fwToolTip.setFuture (f);
79
+ connect (&g_fwToolTip, SIGNAL (finished ()), this , SLOT (execToolTip ()));
80
+ }
81
+
82
+ lastShownPackage = package->name ;
71
83
}
72
84
else return false ;
73
85
}
@@ -100,10 +112,10 @@ bool TreeViewPackagesItemDelegate::helpEvent ( QHelpEvent *event, QAbstractItemV
100
112
pkgDesc.description = package->description ;
101
113
pkgDesc.isForeign = (package->status == ectn_FOREIGN || package->status == ectn_FOREIGN_OUTDATED);
102
114
103
- if (si->icon ().pixmap (22 , 22 ).toImage () ==
115
+ if (lastShownPackage != package-> name && ( si->icon ().pixmap (22 , 22 ).toImage () ==
104
116
IconHelper::getIconInstallItem ().pixmap (22 , 22 ).toImage () ||
105
117
si->icon ().pixmap (22 , 22 ).toImage () ==
106
- IconHelper::getIconRemoveItem ().pixmap (22 , 22 ).toImage ())
118
+ IconHelper::getIconRemoveItem ().pixmap (22 , 22 ).toImage ()))
107
119
{
108
120
gPoint = tvTransaction->mapToGlobal (event->pos ());
109
121
QFuture<QString> f;
@@ -116,6 +128,8 @@ bool TreeViewPackagesItemDelegate::helpEvent ( QHelpEvent *event, QAbstractItemV
116
128
{
117
129
QToolTip::hideText ();
118
130
}
131
+
132
+ lastShownPackage = package->name ;
119
133
}
120
134
}
121
135
0 commit comments