comparison 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
comparison
equal deleted inserted replaced
121:6ce2ceb2c3a5 122:c3e8342d2de9
53 } 53 }
54 54
55 void HistoryWidget::parseNewLog(QString log) 55 void HistoryWidget::parseNewLog(QString log)
56 { 56 {
57 DEBUG << "HistoryWidget::parseNewLog: log has " << log.length() << " chars" << endl; 57 DEBUG << "HistoryWidget::parseNewLog: log has " << log.length() << " chars" << endl;
58 Changesets csets = parseChangeSets(log); 58 Changesets csets = Changeset::parseChangesets(log);
59 DEBUG << "HistoryWidget::parseNewLog: log has " << csets.size() << " changesets" << endl; 59 DEBUG << "HistoryWidget::parseNewLog: log has " << csets.size() << " changesets" << endl;
60 clearChangesets(); 60 clearChangesets();
61 m_changesets = csets; 61 m_changesets = csets;
62 layoutAll(); 62 layoutAll();
63 } 63 }
64 64
65 void HistoryWidget::parseIncrementalLog(QString log) 65 void HistoryWidget::parseIncrementalLog(QString log)
66 { 66 {
67 DEBUG << "HistoryWidget::parseIncrementalLog: log has " << log.length() << " chars" << endl; 67 DEBUG << "HistoryWidget::parseIncrementalLog: log has " << log.length() << " chars" << endl;
68 Changesets csets = parseChangeSets(log); 68 Changesets csets = Changeset::parseChangesets(log);
69 DEBUG << "HistoryWidget::parseIncrementalLog: log has " << csets.size() << " changesets" << endl; 69 DEBUG << "HistoryWidget::parseIncrementalLog: log has " << csets.size() << " changesets" << endl;
70 if (!csets.empty()) { 70 if (!csets.empty()) {
71 m_changesets << csets; 71 csets << m_changesets;
72 m_changesets = csets;
72 layoutAll(); 73 layoutAll();
73 } 74 }
74 } 75 }
75 76
76 void HistoryWidget::layoutAll() 77 void HistoryWidget::layoutAll()
77 { 78 {
79 setChangesetParents();
80
78 ChangesetScene *scene = new ChangesetScene(); 81 ChangesetScene *scene = new ChangesetScene();
79 ChangesetItem *tipItem = 0; 82 ChangesetItem *tipItem = 0;
80 83
81 if (!m_changesets.empty()) { 84 if (!m_changesets.empty()) {
82 Grapher g(scene); 85 Grapher g(scene);
96 99
97 if (oldScene) delete oldScene; 100 if (oldScene) delete oldScene;
98 if (tipItem) tipItem->ensureVisible(); 101 if (tipItem) tipItem->ensureVisible();
99 } 102 }
100 103
101 Changesets HistoryWidget::parseChangeSets(QString changeSetsStr) 104 void HistoryWidget::setChangesetParents()
102 { 105 {
103 Changesets csets = Changeset::parseChangesets(changeSetsStr); 106 for (int i = 0; i+1 < m_changesets.size(); ++i) {
104 for (int i = 0; i+1 < csets.size(); ++i) { 107 Changeset *cs = m_changesets[i];
105 Changeset *cs = csets[i];
106 if (cs->parents().empty()) { 108 if (cs->parents().empty()) {
107 QStringList list; 109 QStringList list;
108 list.push_back(csets[i+1]->id()); 110 list.push_back(m_changesets[i+1]->id());
109 cs->setParents(list); 111 cs->setParents(list);
110 } 112 }
111 } 113 }
112 return csets;
113 } 114 }