#
#
# patch "guitone/res/dialogs/databaseview.ui"
# from [033d93acb666be19b972b3cf7f7b6caaadc050d0]
# to [60721fa4ec6ecba2a4dba1823954291a24b5fc4e]
#
# patch "guitone/res/i18n/guitone_de.ts"
# from [4ff395425b4aa13bd7f4dfa33ea2ef093dc34ec4]
# to [baf70459803acb6ee6557e27a7c184c242bab19a]
#
# patch "guitone/src/util/TreeBuilder.cpp"
# from [34967a320368a1959472126b6a4468cf9ca55ccb]
# to [67c5514e55da9fecaacc0262bb82a63df1d0fc90]
#
# patch "guitone/src/util/TreeBuilder.h"
# from [4950399cb259f614b5f4aea4b44b457bc0c4a549]
# to [3cd7b826e492b8bd22cc4f7d8eed1ac239c09b97]
#
# patch "guitone/src/view/dialogs/DatabaseView.cpp"
# from [85f97f2b60acc4db900c51a3b077413e2d6601f3]
# to [4e20a37e9b2bb57976cbed6d2edac3f317b78f4d]
#
# patch "guitone/src/view/dialogs/DatabaseView.h"
# from [4e85bfefeefe42181f42158aefdbed56141b422d]
# to [d58a7df6429d44d7d8a0abc9fb3e250cd0ee4a21]
#
============================================================
--- guitone/res/dialogs/databaseview.ui 033d93acb666be19b972b3cf7f7b6caaadc050d0
+++ guitone/res/dialogs/databaseview.ui 60721fa4ec6ecba2a4dba1823954291a24b5fc4e
@@ -20,7 +20,7 @@
6
-
-
+
Qt::NonModal
@@ -45,11 +45,26 @@
6
+
-
+
+
+ Qt::Horizontal
+
+
+
+
+ Qt::Vertical
+
+
+
+
+
+
-
-
+
QFrame::NoFrame
@@ -64,7 +79,7 @@
6
-
-
+
Update All Branches
@@ -84,21 +99,21 @@
-
-
+
All Changesets
-
-
+
50 More Changesets
-
-
+
Done
@@ -114,7 +129,7 @@
- PushOk
+ pushOk
clicked()
DatabaseView
accept()
============================================================
--- guitone/res/i18n/guitone_de.ts 4ff395425b4aa13bd7f4dfa33ea2ef093dc34ec4
+++ guitone/res/i18n/guitone_de.ts baf70459803acb6ee6557e27a7c184c242bab19a
@@ -166,28 +166,33 @@
- Datenbank
+ Datenbank
-
+
- Alle Zweige aktualisieren
+ Alle Zweige aktualisieren
-
+
- Alle Ãnderungen
+ Alle Ãnderungen
-
+
- 50 weitere Ãnderungen
+ 50 weitere Ãnderungen
-
+
- Beenden
+ Beenden
+
+
+
+ Zweige
+
FileDiffDialog
@@ -478,7 +483,7 @@
- Daten&bank
+ Daten&bank
============================================================
--- guitone/src/util/TreeBuilder.cpp 34967a320368a1959472126b6a4468cf9ca55ccb
+++ guitone/src/util/TreeBuilder.cpp 67c5514e55da9fecaacc0262bb82a63df1d0fc90
@@ -10,7 +10,7 @@
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
-* GNU General Public License for more details. *
+* GNU General Public License for more details. QStandardItem *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
@@ -20,69 +20,68 @@
#include "TreeBuilder.h"
-TreeBuilder::TreeBuilder(QTreeWidgetItem *root, QObject *parent) : QObject(parent)
+TreeBuilder::TreeBuilder(QStandardItem *root, QObject *parent) : QObject(parent)
{
TreeBuilder::root = root;
}
-QTreeWidgetItem* TreeBuilder::add(const QString &branch)
+QStandardItem* TreeBuilder::add(const QString &branch)
{
- if(branch != ";")
+ if(branch != "")
return add(branch, root);
else
return NULL;
}
-void TreeBuilder::addData(QTreeWidgetItem *child)
+void TreeBuilder::addData(QStandardItem *child)
{
QString branch;
- QTreeWidgetItem* item = child;
+ QStandardItem* item = child;
while(item)
{
- branch = item->text(0) + branch;
+ branch = item->text() + branch;
item = item->parent();
}
if(branch.right(1) == ".")
branch = branch + "*";
- else
- branch = branch.mid(0, branch.length() - 1);
- child->setData(0, Qt::ToolTipRole, branch.mid(1));
+
+ child->setData(branch.mid(1), Qt::ToolTipRole);
}
-QTreeWidgetItem* TreeBuilder::add(const QString &branch, QTreeWidgetItem *parent)
+QStandardItem* TreeBuilder::add(const QString &branch, QStandardItem *parent)
{
if(branch == "") return NULL;
- int len = parent->childCount();
+ int len = parent->rowCount();
for(int index = 0; index < len; index++)
{
- int pos = overlap(parent->child(index)->text(0), branch) + 1;
+ int pos = overlap(parent->child(index)->text(), branch) + 1;
if(pos)
{
- if(pos == parent->child(index)->text(0).length())
+ if(pos == parent->child(index)->text().length())
{
return add(branch.mid(pos), parent->child(index));
}
else
{
- QTreeWidgetItem *newparent = new QTreeWidgetItem(parent);
- newparent->setText(0, branch.left(pos));
- parent->addChild(newparent);
- QTreeWidgetItem* ret;
+ QStandardItem *newparent = new QStandardItem(branch.left(pos));
+ parent->appendRow(newparent);
+ QStandardItem* ret;
- ret = add(parent->child(index)->text(0).mid(pos), newparent);
- ret->addChildren(parent->child(index)->takeChildren());
+ ret = add(parent->child(index)->text().mid(pos), newparent);
+ QList row = parent->takeRow(index);
+ row.removeFirst();
+ ret->appendRow(row);
+ ret->removeRow(index);
add(branch.mid(pos), newparent);
- delete parent->takeChild(index);
addData(newparent);
return newparent;
}
}
}
- QTreeWidgetItem *it = new QTreeWidgetItem(parent);
- it->setText(0, branch);
- parent->addChild(it);
+ QStandardItem *it = new QStandardItem(branch);
+ parent->appendRow(it);
addData(it);
return it;
}
@@ -107,5 +106,5 @@ void TreeBuilder::addList(const QString
QStringListIterator iterator(branchList);
while(iterator.hasNext())
- add(iterator.next() + ";");
+ add(iterator.next());
}
============================================================
--- guitone/src/util/TreeBuilder.h 4950399cb259f614b5f4aea4b44b457bc0c4a549
+++ guitone/src/util/TreeBuilder.h 3cd7b826e492b8bd22cc4f7d8eed1ac239c09b97
@@ -28,15 +28,15 @@ public:
Q_OBJECT
public:
- TreeBuilder(QTreeWidgetItem *root, QObject *parent = 0);
- QTreeWidgetItem* add(const QString &branch);
- QTreeWidgetItem* add(const QString &branch, QTreeWidgetItem *parent);
+ TreeBuilder(QStandardItem *root, QObject *parent = 0);
+ QStandardItem* add(const QString &branch);
+ QStandardItem* add(const QString &branch, QStandardItem *parent);
void addList(const QString &branches);
private:
- void addData(QTreeWidgetItem *item);
+ void addData(QStandardItem *item);
int overlap(const QString &a, const QString &b);
- QTreeWidgetItem *root;
+ QStandardItem *root;
};
#endif //TREEBUILDER_H
============================================================
--- guitone/src/view/dialogs/DatabaseView.cpp 85f97f2b60acc4db900c51a3b077413e2d6601f3
+++ guitone/src/view/dialogs/DatabaseView.cpp 4e20a37e9b2bb57976cbed6d2edac3f317b78f4d
@@ -28,40 +28,35 @@ DatabaseView::DatabaseView(QWidget *pare
this->setWindowFlags(this->windowFlags() | Qt::WindowMinimizeButtonHint);
setupSplitterGUI(parent);
-
initTreeWidget();
readBranches();
}
DatabaseView::~DatabaseView()
{
- delete root;
+ delete branchModel;
delete builder;
}
-void DatabaseView::branchSelectionChanged()
+void DatabaseView::branchesClicked(QModelIndex idx)
{
- QString branch = branches.selectedItems()[0]->data(0, Qt::ToolTipRole).toString();
-
+ QString branch = branchModel->itemFromIndex(idx)->data(Qt::ToolTipRole).toString();
readChangesets(branch);
}
void DatabaseView::initTreeWidget()
{
- root = new QTreeWidgetItem(&branches);
- root->setText(0, "*");
+ QStandardItem *root = new QStandardItem("*");
+ root->setData("*", Qt::ToolTipRole);
+ branchModel = new QStandardItemModel(this);
+ branchModel->appendRow(root);
+ branchModel->setHorizontalHeaderItem(0, new QStandardItem(tr("Branches")));
- connect(&branches, SIGNAL(itemSelectionChanged()), this, SLOT(branchSelectionChanged()));
-
- branches.setAnimated(true);
- branches.setRootIsDecorated(false);
- branches.setColumnCount(1);
- branches.setHeaderLabel("Branches");
-
- branches.insertTopLevelItem(0, root);
-
builder = new TreeBuilder(root, this);
- root->setExpanded(true);
+ branches->setModel(branchModel);
+ connect(branches, SIGNAL(clicked(QModelIndex)),
+ this, SLOT(branchesClicked(QModelIndex)));
+
}
void DatabaseView::readChangesets(const QString &branch)
@@ -82,17 +77,7 @@ void DatabaseView::setupSplitterGUI(QWid
void DatabaseView::setupSplitterGUI(QWidget *parent)
{
- QSplitter *splitterOuter = new QSplitter(parent);
- QSplitter *splitterInner = new QSplitter(Qt::Vertical, parent);
- splitterOuter->addWidget(&branches);
-
- splitterInner->addWidget(&changesets);
- splitterInner->addWidget(&changesetView);
-
- splitterOuter->addWidget(splitterInner);
- this->Content->layout()->addWidget(splitterOuter);
-
- splitterOuter->setSizes(QList() << 200 << 422);
- splitterInner->setSizes(QList() << 200 << 400);
+ outerSplitter->setSizes(QList() << 200 << 422);
+ innerSplitter->setSizes(QList() << 200 << 400);
}
============================================================
--- guitone/src/view/dialogs/DatabaseView.h 4e85bfefeefe42181f42158aefdbed56141b422d
+++ guitone/src/view/dialogs/DatabaseView.h d58a7df6429d44d7d8a0abc9fb3e250cd0ee4a21
@@ -31,14 +31,12 @@ public:
Q_OBJECT
public:
+ QStandardItemModel *branchModel;
DatabaseView(QWidget *parent = 0);
- QListWidget changesets;
- QTreeWidget branches;
- QTextBrowser changesetView;
~DatabaseView();
public slots:
- void branchSelectionChanged();
+ void branchesClicked(QModelIndex idx);
private:
void setupSplitterGUI(QWidget *parent);
@@ -46,7 +44,6 @@ private:
void initTreeWidget();
void readChangesets(const QString &branch);
Monotone *mtn;
- QTreeWidgetItem *root;
TreeBuilder *builder;
};