ayatana-commits team mailing list archive
-
ayatana-commits team
-
Mailing list archive
-
Message #00900
[Branch ~agateau/plasma-widget-message-indicator/trunk] Rev 110: Avoid emitting sizeChanged() multiple times
------------------------------------------------------------
revno: 110
committer: Aurelien Gateau <aurelien.gateau@xxxxxxxxxxxxx>
branch nick: plasma-widget-message-indicator
timestamp: Thu 2010-02-11 18:01:25 +0100
message:
Avoid emitting sizeChanged() multiple times
modified:
src/view.cpp
src/view.h
--
lp:plasma-widget-message-indicator
https://code.launchpad.net/~agateau/plasma-widget-message-indicator/trunk
Your team ayatana-commits is subscribed to branch lp:plasma-widget-message-indicator.
To unsubscribe from this branch go to https://code.launchpad.net/~agateau/plasma-widget-message-indicator/trunk/+edit-subscription.
=== modified file 'src/view.cpp'
--- src/view.cpp 2009-10-08 14:12:08 +0000
+++ src/view.cpp 2010-02-11 17:01:25 +0000
@@ -19,7 +19,11 @@
ExpandedTreeView::ExpandedTreeView(QWidget* parent)
: QTreeView(parent)
+, mAdjustSizeTimer(new QTimer(this))
{
+ connect(mAdjustSizeTimer, SIGNAL(timeout()), SLOT(adjustSizeTightly()));
+ mAdjustSizeTimer->setSingleShot(true);
+ mAdjustSizeTimer->setInterval(0);
}
/**
@@ -68,19 +72,19 @@
setUpRootIndex(row);
}
}
- QTimer::singleShot(0, this, SLOT(adjustSizeTightly()));
+ mAdjustSizeTimer->start();
}
void ExpandedTreeView::rowsAboutToBeRemoved(const QModelIndex& parent, int start, int end)
{
QTreeView::rowsAboutToBeRemoved(parent, start, end);
- QTimer::singleShot(0, this, SLOT(adjustSizeTightly()));
+ mAdjustSizeTimer->start();
}
void ExpandedTreeView::dataChanged(const QModelIndex& topLeft, const QModelIndex& bottomRight)
{
QTreeView::dataChanged(topLeft, bottomRight);
- QTimer::singleShot(0, this, SLOT(adjustSizeTightly()));
+ mAdjustSizeTimer->start();
}
void ExpandedTreeView::reset()
@@ -89,7 +93,7 @@
for (int row = 0; row < model()->rowCount(); ++row) {
setUpRootIndex(row);
}
- QTimer::singleShot(0, this, SLOT(adjustSizeTightly()));
+ mAdjustSizeTimer->start();
}
void ExpandedTreeView::drawTree(QPainter*, const QRegion&) const
=== modified file 'src/view.h'
--- src/view.h 2009-10-08 14:12:08 +0000
+++ src/view.h 2010-02-11 17:01:25 +0000
@@ -14,6 +14,8 @@
// Qt
#include <QTreeView>
+class QTimer;
+
/**
* A tree view which is always fully expanded
*/
@@ -49,6 +51,8 @@
private:
void setUpRootIndex(int row);
QSize sizeHintForIndexAndChildren(const QModelIndex& parent, int depth) const;
+
+ QTimer* mAdjustSizeTimer;
};
#endif /* VIEW_H */