Mercurial > hg > easyhg
comparison historywidget.cpp @ 128:fcaf09ee825d
* Show tags and current working copy parents in history graph
author | Chris Cannam |
---|---|
date | Mon, 29 Nov 2010 20:09:58 +0000 |
parents | 3afa1ce339ec |
children | 4986642800f0 |
comparison
equal
deleted
inserted
replaced
127:758471b71721 | 128:fcaf09ee825d |
---|---|
49 void HistoryWidget::clearChangesets() | 49 void HistoryWidget::clearChangesets() |
50 { | 50 { |
51 foreach (Changeset *cs, m_changesets) delete cs; | 51 foreach (Changeset *cs, m_changesets) delete cs; |
52 m_changesets.clear(); | 52 m_changesets.clear(); |
53 } | 53 } |
54 | |
55 void HistoryWidget::setCurrent(QStringList ids) | |
56 { | |
57 if (m_currentIds == ids) return; | |
58 DEBUG << "HistoryWidget::setCurrent: " << ids.size() << " ids" << endl; | |
59 m_currentIds = ids; | |
60 updateCurrentItems(); | |
61 } | |
62 | |
63 void HistoryWidget::showUncommittedChanges(bool show) | |
64 { | |
65 //!!! implement! | |
66 } | |
54 | 67 |
55 void HistoryWidget::parseNewLog(QString log) | 68 void HistoryWidget::parseNewLog(QString log) |
56 { | 69 { |
57 DEBUG << "HistoryWidget::parseNewLog: log has " << log.length() << " chars" << endl; | 70 DEBUG << "HistoryWidget::parseNewLog: log has " << log.length() << " chars" << endl; |
58 Changesets csets = Changeset::parseChangesets(log); | 71 Changesets csets = Changeset::parseChangesets(log); |
97 m_panned->setScene(scene); | 110 m_panned->setScene(scene); |
98 m_panner->setScene(scene); | 111 m_panner->setScene(scene); |
99 | 112 |
100 if (oldScene) delete oldScene; | 113 if (oldScene) delete oldScene; |
101 if (tipItem) tipItem->ensureVisible(); | 114 if (tipItem) tipItem->ensureVisible(); |
115 | |
116 updateCurrentItems(); | |
102 } | 117 } |
103 | 118 |
104 void HistoryWidget::setChangesetParents() | 119 void HistoryWidget::setChangesetParents() |
105 { | 120 { |
106 for (int i = 0; i+1 < m_changesets.size(); ++i) { | 121 for (int i = 0; i+1 < m_changesets.size(); ++i) { |
114 list.push_back(m_changesets[i+1]->id()); | 129 list.push_back(m_changesets[i+1]->id()); |
115 cs->setParents(list); | 130 cs->setParents(list); |
116 } | 131 } |
117 } | 132 } |
118 } | 133 } |
134 | |
135 void HistoryWidget::updateCurrentItems() | |
136 { | |
137 QGraphicsScene *scene = m_panned->scene(); | |
138 if (!scene) return; | |
139 QList<QGraphicsItem *> items = scene->items(); | |
140 foreach (QGraphicsItem *it, items) { | |
141 ChangesetItem *csit = dynamic_cast<ChangesetItem *>(it); | |
142 if (csit) { | |
143 QString id = csit->getChangeset()->id(); | |
144 bool current = m_currentIds.contains(id); | |
145 if (current) { | |
146 DEBUG << "id " << id << " is current" << endl; | |
147 } | |
148 csit->setCurrent(current); | |
149 } | |
150 } | |
151 } | |
152 |