Mercurial > hg > easyhg
diff historywidget.cpp @ 154:6bcb4a4d6521
* Try to reduce unnecessary history updates; add --new-branch option on push
author | Chris Cannam |
---|---|
date | Thu, 02 Dec 2010 18:04:21 +0000 |
parents | 70fe12873106 |
children | 4bad3c5c053a |
line wrap: on
line diff
--- a/historywidget.cpp Thu Dec 02 17:55:21 2010 +0000 +++ b/historywidget.cpp Thu Dec 02 18:04:21 2010 +0000 @@ -28,7 +28,9 @@ #include <QGridLayout> -HistoryWidget::HistoryWidget() +HistoryWidget::HistoryWidget() : + m_showUncommitted(false), + m_refreshNeeded(false) { m_panned = new Panned; m_panner = new Panner; @@ -78,7 +80,7 @@ m_currentIds.push_back(id); } - layoutAll(); + m_refreshNeeded = true; } void HistoryWidget::parseNewLog(QString log) @@ -87,7 +89,7 @@ Changesets csets = Changeset::parseChangesets(log); DEBUG << "HistoryWidget::parseNewLog: log has " << csets.size() << " changesets" << endl; replaceChangesets(csets); - layoutAll(); + m_refreshNeeded = true; } void HistoryWidget::parseIncrementalLog(QString log) @@ -97,8 +99,8 @@ DEBUG << "HistoryWidget::parseIncrementalLog: log has " << csets.size() << " changesets" << endl; if (!csets.empty()) { addChangesets(csets); - layoutAll(); } + m_refreshNeeded = true; } void HistoryWidget::replaceChangesets(Changesets csets) @@ -142,8 +144,17 @@ m_changesets = csets; } +void HistoryWidget::update() +{ + if (m_refreshNeeded) { + layoutAll(); + } +} + void HistoryWidget::layoutAll() { + m_refreshNeeded = false; + setChangesetParents(); ChangesetScene *scene = new ChangesetScene();