child = child.nextSiblingElement("item");\r
}\r
\r
+\r
+ connect(rootItem, SIGNAL(childInserted(ShoppingTreeItem*)), this,\r
+ SLOT(registerInsertedChild(ShoppingTreeItem*)));\r
+ connect(rootItem, SIGNAL(childRemoved(ShoppingTreeItem*)), this,\r
+ SLOT(deleteRemovedChild(ShoppingTreeItem*)));\r
+\r
QHashIterator<ShoppingTreeItem*,QDomElement> i(m_domElementForItem);\r
while(i.hasNext())\r
{\r
if (!this->insertRow(parent.row()+1, parent))\r
return false;\r
\r
- for(int column = 0; column < this->columnCount(parent); ++column)\r
- {\r
- QModelIndex child = this->index(parent.row()+1, column, parent);\r
- ShoppingTreeItem* item = this->getItem(child);\r
- item->setItemType(ShoppingTreeItem::Category);\r
- this->setData(child, QVariant(name), Qt::EditRole);\r
- }\r
+ int column = 0;\r
+ QModelIndex child = this->index(parent.row()+1, column, parent);\r
+ ShoppingTreeItem* item = this->getItem(child);\r
+ item->setItemType(ShoppingTreeItem::Category);\r
+ this->setData(child, QVariant(name), Qt::EditRole);\r
return true;\r
}\r
\r
if (!this->insertRow(position, parent))\r
return false;\r
\r
- for(int column = 0; column < this->columnCount(parent); ++column)\r
- {\r
- QModelIndex child = this->index(parent.row()+1, column, parent);\r
- ShoppingTreeItem* item = this->getItem(child);\r
- item->setItemType(ShoppingTreeItem::Item);\r
- this->setData(child, QVariant(name), Qt::EditRole);\r
- }\r
+ int column = 0;\r
+ QModelIndex child = this->index(parent.row()+1, column, parent);\r
+ ShoppingTreeItem* item = this->getItem(child);\r
+ item->setItemType(ShoppingTreeItem::Item);\r
+ this->setData(child, QVariant(name), Qt::EditRole);\r
+\r
return true;\r
}\r
\r
/*******************************************************************/\r
int ShoppingTreeModel::columnCount(const QModelIndex &parent) const\r
{\r
- return rootItem->columnCount();\r
+ if(parent.isValid())\r
+ return getItem(parent)->columnCount();\r
+ else\r
+ return rootItem->columnCount();\r
}\r
\r
/*******************************************************************/\r
if(element.isNull())\r
return false;\r
\r
- bool success;\r
- switch(column)/*******************************************************************/\r
+ bool success = false;\r
+ switch(column)\r
{\r
case 0:\r
{\r
success = false;\r
}\r
\r
+ QDomElement oldDateElement = element.firstChildElement("lastModified");\r
+ if(!oldDateElement.isNull())\r
+ {\r
+ QDomElement newDateElement = m_document.createElement("lastModified");\r
+\r
+ QDomText newDateText = m_document.createTextNode(\r
+ QDateTime::currentDateTime().toString("dd/MM/yyyy-hh:mm:ss"));\r
+ newDateElement.appendChild(newDateText);\r
+\r
+ element.replaceChild(newDateElement, oldDateElement);\r
+ }\r
+\r
updateXmlFile();\r
\r
return success;\r