# # # patch "guitone/src/util/TreeBuilder.cpp" # from [67c5514e55da9fecaacc0262bb82a63df1d0fc90] # to [45c9d6b4cd5a25d8c9a4ee72b606a24757118d49] # ============================================================ --- guitone/src/util/TreeBuilder.cpp 67c5514e55da9fecaacc0262bb82a63df1d0fc90 +++ guitone/src/util/TreeBuilder.cpp 45c9d6b4cd5a25d8c9a4ee72b606a24757118d49 @@ -37,15 +37,20 @@ void TreeBuilder::addData(QStandardItem { QString branch; QStandardItem* item = child; + QString text = child->data().toString(); + if(text.right(1) == ".") + text = text.left(text.length() - 1) + "*"; + child->setText(text); + while(item) { - branch = item->text() + branch; + branch = item->data().toString() + branch; item = item->parent(); } + if(branch.right(1) == ".") - branch = branch + "*"; - - child->setData(branch.mid(1), Qt::ToolTipRole); + branch = branch.left(branch.length() - 1) + "*"; + child->setData(branch, Qt::ToolTipRole); } QStandardItem* TreeBuilder::add(const QString &branch, QStandardItem *parent) @@ -55,20 +60,21 @@ QStandardItem* TreeBuilder::add(const QS int len = parent->rowCount(); for(int index = 0; index < len; index++) { - int pos = overlap(parent->child(index)->text(), branch) + 1; + int pos = overlap(parent->child(index)->data().toString(), branch) + 1; if(pos) { - if(pos == parent->child(index)->text().length()) + if(pos == parent->child(index)->data().toString().length()) { return add(branch.mid(pos), parent->child(index)); } else { - QStandardItem *newparent = new QStandardItem(branch.left(pos)); + QStandardItem *newparent = new QStandardItem(); + newparent->setData(branch.left(pos)); parent->appendRow(newparent); QStandardItem* ret; - ret = add(parent->child(index)->text().mid(pos), newparent); + ret = add(parent->child(index)->data().toString().mid(pos), newparent); QList row = parent->takeRow(index); row.removeFirst(); ret->appendRow(row); @@ -80,7 +86,8 @@ QStandardItem* TreeBuilder::add(const QS } } - QStandardItem *it = new QStandardItem(branch); + QStandardItem *it = new QStandardItem(); + it->setData(branch); parent->appendRow(it); addData(it); return it;