# # # patch "guitone/res/forms/databaseview.ui" # from [d46272be614eb7366175802476e860a80c1e0a70] # to [83cd8982e45cf1eb56391e1d23ca7ac00bf2d066] # # patch "guitone/res/i18n/guitone_de.ts" # from [0bd422795e62b7f403f9a501f0839722ad1792a3] # to [18cb7220ff9be6fc8d2646d61bd0bb825917958d] # # patch "guitone/src/model/ChangesetModel.cpp" # from [ba63a6b4eb42db3ffff17780570c99b50646831a] # to [2a4cebeca509ccde439e1cc141a5e206bb1a755a] # # patch "guitone/src/model/ChangesetModel.h" # from [6b17d0d77c2f00d99bddeb36fe969d2b819956ab] # to [b86d41dac3d68175c8564c926a922528eaab8823] # # patch "guitone/src/model/GetBranchLog.cpp" # from [30e7376a241fda04656713dfe6d688cf67ea2558] # to [73ca4a607d8a2a2c4cb9190d9ec12411a794906a] # # patch "guitone/src/view/dialogs/DatabaseView.cpp" # from [64cbbd32827b21df92a79e5f1fcd9a4d11af84a2] # to [46f48c4b9060cb37cb8a28f6b652a599e131ffa9] # # patch "guitone/src/view/dialogs/DatabaseView.h" # from [1ea140cf0e3f1a8784561918c17481726df9b9c1] # to [2fe4b0ac68c5906fda0c4a69dbea8581b97cc0ce] # ============================================================ --- guitone/res/forms/databaseview.ui d46272be614eb7366175802476e860a80c1e0a70 +++ guitone/res/forms/databaseview.ui 83cd8982e45cf1eb56391e1d23ca7ac00bf2d066 @@ -92,13 +92,6 @@ - - - Update All Branches - - - - Qt::Horizontal ============================================================ --- guitone/res/i18n/guitone_de.ts 0bd422795e62b7f403f9a501f0839722ad1792a3 +++ guitone/res/i18n/guitone_de.ts 18cb7220ff9be6fc8d2646d61bd0bb825917958d @@ -138,23 +138,18 @@ Revision ID - Revisions-ID + Revisions-ID Date - Datum + Datum Author - Autor + Autor - - - Changelog - - ContentDiff @@ -189,20 +184,20 @@ Update All Branches - Alle Zweige aktualisieren + Alle Zweige aktualisieren - + All Changesets Alle Änderungen - + 50 More Changesets 50 weitere Änderungen - + Done Beenden ============================================================ --- guitone/src/model/ChangesetModel.cpp ba63a6b4eb42db3ffff17780570c99b50646831a +++ guitone/src/model/ChangesetModel.cpp 2a4cebeca509ccde439e1cc141a5e206bb1a755a @@ -29,18 +29,21 @@ ChangesetModel::~ChangesetModel() {} ChangesetModel::~ChangesetModel() {} -void ChangesetModel::receiveRevisions() +void ChangesetModel::receiveRevisions(bool all) { - //FIXME: Make it read only 50 items. But not yet until it works properly. int i = branchMap[currentBranch].certsRead; - //int to = i + revPerReceive; - int to = rowCount(QModelIndex()); - while(i < to) + int to = branchMap[currentBranch].revisions.count(); + int c = 0; + while(i < to && (c < revPerReceive || all)) { - QModelIndex index = this->index(i, 0, QModelIndex()); QString revision = branchMap[currentBranch].revisions[i]; - ChangesetCerts *certs = new ChangesetCerts(currentBranch, revision, index, this); - certs->readCerts(revision); + + if(changesetMap[revision] == NULL) + { + ChangesetCerts *certs = new ChangesetCerts(currentBranch, revision, i, this); + certs->readCerts(revision); + c++; + } i++; } } @@ -63,8 +66,7 @@ void ChangesetModel::branchLogRead(GetBr branchMap[branch].revisions << glog->getRevisions(); if(branch == currentBranch) { - receiveRevisions(); - reset(); + receiveRevisions(false); } delete glog; } @@ -99,8 +101,10 @@ void ChangesetModel::changesetCertReady( } Changeset *set = new Changeset(cert->getRevision(), date, author, changelog); changesetMap[cert->getRevision()] = set; - QModelIndex idx = cert->getIndex(); - dataChanged(index(idx.row(), 0, QModelIndex()), index(idx.row(), 3, QModelIndex())); + int idx = cert->getIndex(); + branchMap[currentBranch].certsRead = idx; + beginInsertRows(QModelIndex(), idx, idx); + endInsertRows(); delete cert; } @@ -131,16 +135,14 @@ QVariant ChangesetModel::data(const QMod { int col = index.column(); QString rev = branchMap[currentBranch].revisions[row]; + if(changesetMap[rev] == NULL) return QVariant(); switch(col) { case(0): - if(changesetMap[rev] == NULL) break; return QVariant(changesetMap[rev]->getDate()); case(1): - if(changesetMap[rev] == NULL) break; return QVariant(changesetMap[rev]->getAuthor()); case(2): - if(changesetMap[rev] == NULL) break; return QVariant(changesetMap[rev]->getChangelogFlat()); case(3): return QVariant(rev); @@ -181,8 +183,10 @@ int ChangesetModel::rowCount(const QMode int ChangesetModel::rowCount(const QModelIndex& parent) const { + int i = branchMap[currentBranch].certsRead; if (!parent.isValid()) - return branchMap[currentBranch].revisions.count(); + if(branchMap[currentBranch].revisions.count() != 0) + return i; return 0; } ============================================================ --- guitone/src/model/ChangesetModel.h 6b17d0d77c2f00d99bddeb36fe969d2b819956ab +++ guitone/src/model/ChangesetModel.h b86d41dac3d68175c8564c926a922528eaab8823 @@ -38,7 +38,7 @@ public: { Q_OBJECT public: - ChangesetCerts(QString branch, QString revision, QModelIndex index, QObject *parent) : Certs(parent) + ChangesetCerts(QString branch, QString revision, int index, QObject *parent) : Certs(parent) { this->revision = revision; this->idx = index; @@ -56,7 +56,7 @@ public: return revision; } - QModelIndex getIndex() + int getIndex() { return idx; } @@ -71,7 +71,7 @@ private: private: QString revision; - QModelIndex idx; + int idx; QString branch; private slots: @@ -93,8 +93,8 @@ public: ChangesetModel(QObject *parent = 0); ~ChangesetModel(); - void setBranch(QString branch); - void receiveRevisions(); + void setBranch(QString branch); + void receiveRevisions(bool all); // needed Qt Model methods QVariant data(const QModelIndex&, int) const; ============================================================ --- guitone/src/model/GetBranchLog.cpp 30e7376a241fda04656713dfe6d688cf67ea2558 +++ guitone/src/model/GetBranchLog.cpp 73ca4a607d8a2a2c4cb9190d9ec12411a794906a @@ -61,7 +61,7 @@ void GetBranchLog::selectionReady() { heads << selectModel->data(selectModel->index(i, 0, QModelIndex()), Qt::DisplayRole).toString(); } - + revisions << heads; ancestorModel->readAncestors(heads); } ============================================================ --- guitone/src/view/dialogs/DatabaseView.cpp 64cbbd32827b21df92a79e5f1fcd9a4d11af84a2 +++ guitone/src/view/dialogs/DatabaseView.cpp 46f48c4b9060cb37cb8a28f6b652a599e131ffa9 @@ -47,8 +47,22 @@ DatabaseView::DatabaseView(QWidget *pare changesetModel = new ChangesetModel(this); changesets->setModel(changesetModel); changesets->setRootIsDecorated(false); + + connect(pushAll, SIGNAL(clicked()), + this, SLOT(receiveAll())); + connect(pushMore, SIGNAL(clicked()), + this, SLOT(receiveMore())); } +void DatabaseView::receiveAll() +{ + changesetModel->receiveRevisions(true); +} +void DatabaseView::receiveMore() +{ + changesetModel->receiveRevisions(false); +} + DatabaseView::~DatabaseView() { Settings::setBool("DatabaseViewTree", tree); ============================================================ --- guitone/src/view/dialogs/DatabaseView.h 1ea140cf0e3f1a8784561918c17481726df9b9c1 +++ guitone/src/view/dialogs/DatabaseView.h 2fe4b0ac68c5906fda0c4a69dbea8581b97cc0ce @@ -43,6 +43,8 @@ private slots: void branchesClicked(QModelIndex idx); void branchesRead(); void toggleTree(); + void receiveAll(); + void receiveMore(); private: bool tree;