Mercurial > hg > easyhg
diff historywidget.cpp @ 122:c3e8342d2de9
* Further fix to incremental log (put new changesets on the correct end of the list!)
author | Chris Cannam |
---|---|
date | Mon, 29 Nov 2010 11:14:29 +0000 |
parents | c92f5859c707 |
children | 3afa1ce339ec |
line wrap: on
line diff
--- a/historywidget.cpp Mon Nov 29 11:04:52 2010 +0000 +++ b/historywidget.cpp Mon Nov 29 11:14:29 2010 +0000 @@ -55,7 +55,7 @@ void HistoryWidget::parseNewLog(QString log) { DEBUG << "HistoryWidget::parseNewLog: log has " << log.length() << " chars" << endl; - Changesets csets = parseChangeSets(log); + Changesets csets = Changeset::parseChangesets(log); DEBUG << "HistoryWidget::parseNewLog: log has " << csets.size() << " changesets" << endl; clearChangesets(); m_changesets = csets; @@ -65,16 +65,19 @@ void HistoryWidget::parseIncrementalLog(QString log) { DEBUG << "HistoryWidget::parseIncrementalLog: log has " << log.length() << " chars" << endl; - Changesets csets = parseChangeSets(log); + Changesets csets = Changeset::parseChangesets(log); DEBUG << "HistoryWidget::parseIncrementalLog: log has " << csets.size() << " changesets" << endl; if (!csets.empty()) { - m_changesets << csets; + csets << m_changesets; + m_changesets = csets; layoutAll(); } } void HistoryWidget::layoutAll() { + setChangesetParents(); + ChangesetScene *scene = new ChangesetScene(); ChangesetItem *tipItem = 0; @@ -98,16 +101,14 @@ if (tipItem) tipItem->ensureVisible(); } -Changesets HistoryWidget::parseChangeSets(QString changeSetsStr) +void HistoryWidget::setChangesetParents() { - Changesets csets = Changeset::parseChangesets(changeSetsStr); - for (int i = 0; i+1 < csets.size(); ++i) { - Changeset *cs = csets[i]; + for (int i = 0; i+1 < m_changesets.size(); ++i) { + Changeset *cs = m_changesets[i]; if (cs->parents().empty()) { QStringList list; - list.push_back(csets[i+1]->id()); + list.push_back(m_changesets[i+1]->id()); cs->setParents(list); } } - return csets; }