# # # patch "guitone/res/forms/databaseview.ui" # from [d46272be614eb7366175802476e860a80c1e0a70] # to [83cd8982e45cf1eb56391e1d23ca7ac00bf2d066] # # patch "guitone/src/model/ChangesetModel.cpp" # from [1eeb1d0cd367926b0f946012836eb80e910970e3] # to [5494ec9656dae94eb43b99c75b724b6598b86007] # # patch "guitone/src/model/ChangesetModel.h" # from [6b17d0d77c2f00d99bddeb36fe969d2b819956ab] # to [14785176cfc7df6e10a90ea48a0c8e4b8f4a820d] # # patch "guitone/src/view/dialogs/DatabaseView.cpp" # from [3d3f969a6aaedf2b06dbef25c2333e9933c40f12] # to [b82ba8e2f9a8bd04da12927281866ad3967d2eff] # # 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/src/model/ChangesetModel.cpp 1eeb1d0cd367926b0f946012836eb80e910970e3 +++ guitone/src/model/ChangesetModel.cpp 5494ec9656dae94eb43b99c75b724b6598b86007 @@ -27,19 +27,23 @@ 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 c = 0; + while(i < to && (c < revPerReceive || all)) { QModelIndex index = this->index(i, 0, QModelIndex()); QString revision = branchMap[currentBranch].revisions[i]; - if(changesetMap[revision] != NULL) break; - ChangesetCerts *certs = new ChangesetCerts(currentBranch, revision, index, this); - certs->readCerts(revision); + + if(changesetMap[revision] == NULL) + { + ChangesetCerts *certs = new ChangesetCerts(currentBranch, revision, index, this); + certs->readCerts(revision); + c++; + } i++; } } @@ -62,7 +66,7 @@ void ChangesetModel::branchLogRead(GetBr branchMap[branch].revisions << glog->getRevisions(); if(branch == currentBranch) { - receiveRevisions(); + receiveRevisions(false); reset(); } delete glog; ============================================================ --- guitone/src/model/ChangesetModel.h 6b17d0d77c2f00d99bddeb36fe969d2b819956ab +++ guitone/src/model/ChangesetModel.h 14785176cfc7df6e10a90ea48a0c8e4b8f4a820d @@ -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/view/dialogs/DatabaseView.cpp 3d3f969a6aaedf2b06dbef25c2333e9933c40f12 +++ guitone/src/view/dialogs/DatabaseView.cpp b82ba8e2f9a8bd04da12927281866ad3967d2eff @@ -44,8 +44,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;