delete activityView;
activityView = new ListManagerView("ShoppingList.xml", this);
- setCentralWidget(activityView);
// editMenu = new QMenu(tr("&Edit"), this);
addCategoryAction = new QAction(tr("Add category"), this);
connect(addCategoryAction, SIGNAL(triggered()),
this, SLOT(addCategory()));
// editMenu->addAction(addCategoryAction);
-// removeCategoryAction = new QAction(tr("Remove category"), this);
-// connect(removeCategoryAction, SIGNAL(triggered()),
-// this, SLOT(removeRow()));
+ removeCategoryAction = new QAction(tr("Remove category"), this);
+ connect(removeCategoryAction, SIGNAL(triggered()),
+ this, SLOT(removeCategoryOrItem()));
// editMenu->addAction(removeCategoryAction);
-// addItemAction = new QAction(tr("Add item"), this);
-// connect(addItemAction, SIGNAL(triggered()),
-// this, SLOT(insertRow()));
+ addItemAction = new QAction(tr("Add item"), this);
+ connect(addItemAction, SIGNAL(triggered()),
+ this, SLOT(addItem()));
// editMenu->addAction(addItemAction);
-// removeItemAction = new QAction(tr("Remove item"), this);
-// connect(removeItemAction, SIGNAL(triggered()),
-// this, SLOT(removeRow()));
+ removeItemAction = new QAction(tr("Remove item"), this);
+ connect(removeItemAction, SIGNAL(triggered()),
+ this, SLOT(removeCategoryOrItem()));
// editMenu->addAction(removeItemAction);
menuBar()->addAction(addCategoryAction);
+ activityView->addAction(removeCategoryAction);
+ activityView->addAction(addItemAction);
+ activityView->addAction(removeItemAction);
goShoppingAction = new QAction(tr("Go shopping!"), this);
connect(goShoppingAction, SIGNAL(triggered()),
menuBar()->addAction(goShoppingAction);
menuBar()->addAction(aboutAction);
+
+ setCentralWidget(activityView);
update();
}
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
<valuemap type="QVariantMap">
<value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value>
<valuelist key="abstractProcess.Environment" type="QVariantList">
- <value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-q1EKrknBIg,guid=8a525aab18f7fc1a86808b054b97539c</value>
+ <value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-iqFHRyPqvm,guid=241d12b3d6d809e067ef51364b9b7445</value>
<value type="QString">DESKTOP_SESSION=default</value>
<value type="QString">DISPLAY=:0.0</value>
<value type="QString">DM_CONTROL=/var/run/xdmctl</value>
- <value type="QString">GPG_AGENT_INFO=/tmp/gpg-7ScX2l/S.gpg-agent:1982:1</value>
+ <value type="QString">GPG_AGENT_INFO=/tmp/gpg-LITeFz/S.gpg-agent:1975:1</value>
<value type="QString">GS_LIB=/home/onil/.fonts</value>
<value type="QString">GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/home/onil/.gtkrc-2.0:/home/onil/.gtkrc-2.0-kde4:/home/onil/.kde/share/config/gtkrc-2.0</value>
<value type="QString">GTK_RC_FILES=/etc/gtk/gtkrc:/home/onil/.gtkrc::/home/onil/.kde/share/config/gtkrc</value>
<value type="QString">PWD=/home/onil/Documents</value>
<value type="QString">QTDIR=/usr/share/qt4</value>
<value type="QString">QT_PLUGIN_PATH=/home/onil/.kde/lib/kde4/plugins/:/usr/lib/kde4/plugins/</value>
- <value type="QString">SESSION_MANAGER=local/onil-netbook:@/tmp/.ICE-unix/2071,unix/onil-netbook:/tmp/.ICE-unix/2071</value>
+ <value type="QString">SESSION_MANAGER=local/onil-netbook:@/tmp/.ICE-unix/2064,unix/onil-netbook:/tmp/.ICE-unix/2064</value>
<value type="QString">SHELL=/bin/bash</value>
<value type="QString">SHLVL=0</value>
- <value type="QString">SSH_AGENT_PID=1981</value>
- <value type="QString">SSH_AUTH_SOCK=/tmp/ssh-Lrqsxa1931/agent.1931</value>
+ <value type="QString">SSH_AGENT_PID=1974</value>
+ <value type="QString">SSH_AUTH_SOCK=/tmp/ssh-eGIPio1924/agent.1924</value>
<value type="QString">USER=onil</value>
<value type="QString">WINDOWPATH=7</value>
<value type="QString">XCURSOR_THEME=oxy-white</value>
<value type="QString">XDG_DATA_DIRS=/usr/share:/usr/share:/usr/local/share</value>
- <value type="QString">XDG_SESSION_COOKIE=67465ad3dd74e5003d0b02474b126985-1268208539.486626-183142450</value>
+ <value type="QString">XDG_SESSION_COOKIE=67465ad3dd74e5003d0b02474b126985-1268479043.860018-29421785</value>
<value type="QString">XDM_MANAGED=method=classic</value>
</valuelist>
<valuelist key="abstractProcess.arguments" type="QVariantList">
<valuemap type="QVariantMap">
<value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value>
<valuelist key="abstractProcess.Environment" type="QVariantList">
- <value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-q1EKrknBIg,guid=8a525aab18f7fc1a86808b054b97539c</value>
+ <value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-iqFHRyPqvm,guid=241d12b3d6d809e067ef51364b9b7445</value>
<value type="QString">DESKTOP_SESSION=default</value>
<value type="QString">DISPLAY=:0.0</value>
<value type="QString">DM_CONTROL=/var/run/xdmctl</value>
- <value type="QString">GPG_AGENT_INFO=/tmp/gpg-7ScX2l/S.gpg-agent:1982:1</value>
+ <value type="QString">GPG_AGENT_INFO=/tmp/gpg-LITeFz/S.gpg-agent:1975:1</value>
<value type="QString">GS_LIB=/home/onil/.fonts</value>
<value type="QString">GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/home/onil/.gtkrc-2.0:/home/onil/.gtkrc-2.0-kde4:/home/onil/.kde/share/config/gtkrc-2.0</value>
<value type="QString">GTK_RC_FILES=/etc/gtk/gtkrc:/home/onil/.gtkrc::/home/onil/.kde/share/config/gtkrc</value>
<value type="QString">PWD=/home/onil/Documents</value>
<value type="QString">QTDIR=/usr/share/qt4</value>
<value type="QString">QT_PLUGIN_PATH=/home/onil/.kde/lib/kde4/plugins/:/usr/lib/kde4/plugins/</value>
- <value type="QString">SESSION_MANAGER=local/onil-netbook:@/tmp/.ICE-unix/2071,unix/onil-netbook:/tmp/.ICE-unix/2071</value>
+ <value type="QString">SESSION_MANAGER=local/onil-netbook:@/tmp/.ICE-unix/2064,unix/onil-netbook:/tmp/.ICE-unix/2064</value>
<value type="QString">SHELL=/bin/bash</value>
<value type="QString">SHLVL=0</value>
- <value type="QString">SSH_AGENT_PID=1981</value>
- <value type="QString">SSH_AUTH_SOCK=/tmp/ssh-Lrqsxa1931/agent.1931</value>
+ <value type="QString">SSH_AGENT_PID=1974</value>
+ <value type="QString">SSH_AUTH_SOCK=/tmp/ssh-eGIPio1924/agent.1924</value>
<value type="QString">USER=onil</value>
<value type="QString">WINDOWPATH=7</value>
<value type="QString">XCURSOR_THEME=oxy-white</value>
<value type="QString">XDG_DATA_DIRS=/usr/share:/usr/share:/usr/local/share</value>
- <value type="QString">XDG_SESSION_COOKIE=67465ad3dd74e5003d0b02474b126985-1268208539.486626-183142450</value>
+ <value type="QString">XDG_SESSION_COOKIE=67465ad3dd74e5003d0b02474b126985-1268479043.860018-29421785</value>
<value type="QString">XDM_MANAGED=method=classic</value>
</valuelist>
<value key="abstractProcess.IgnoreReturnValue" type="bool">false</value>