git-svn-id: file:///svnroot/family-shop-mgr@19 26eb2498-383b-47a6-be48-5d6f36779e85
authoronil <u.irigoyen@gmail.com>
Sat, 6 Feb 2010 18:05:07 +0000 (18:05 +0000)
committeronil <u.irigoyen@gmail.com>
Sat, 6 Feb 2010 18:05:07 +0000 (18:05 +0000)
code/family-shop-mgr/FamilyShoppingManagerMainWindow.cpp
code/family-shop-mgr/FamilyShoppingManagerMainWindow.h
code/family-shop-mgr/ShoppingTreeModel.cpp
code/family-shop-mgr/family-shop-mgr.pro.user

index 0e6308c..bb4a8c9 100644 (file)
@@ -29,6 +29,8 @@
 FamilyShoppingManagerMainWindow::FamilyShoppingManagerMainWindow(QWidget *parent)
     : QMainWindow(parent), activityView(NULL)
 {
 FamilyShoppingManagerMainWindow::FamilyShoppingManagerMainWindow(QWidget *parent)
     : QMainWindow(parent), activityView(NULL)
 {
+    showListManager();
+
     editMenu = new QMenu(tr("&Edit"), this);
     editMenu->addAction(tr("Add category"));
     editMenu->addAction(tr("Remove category"));
     editMenu = new QMenu(tr("&Edit"), this);
     editMenu->addAction(tr("Add category"));
     editMenu->addAction(tr("Remove category"));
@@ -36,11 +38,15 @@ FamilyShoppingManagerMainWindow::FamilyShoppingManagerMainWindow(QWidget *parent
     editMenu->addAction(tr("Remove item"));
     menuBar()->addMenu(editMenu);
 
     editMenu->addAction(tr("Remove item"));
     menuBar()->addMenu(editMenu);
 
+    goShoppingAction = new QAction(tr("Go shopping!"), this);
+    connect(goShoppingAction, SIGNAL(triggered()),
+            this, SLOT(showGoShopping()));
+    menuBar()->addAction(goShoppingAction);
+
     aboutAction = new QAction(tr("&About"), this);
     connect(aboutAction, SIGNAL(triggered()), this, SLOT(showAbout()));
     menuBar()->addAction(aboutAction);
 
     aboutAction = new QAction(tr("&About"), this);
     connect(aboutAction, SIGNAL(triggered()), this, SLOT(showAbout()));
     menuBar()->addAction(aboutAction);
 
-    showListManager();
     setCentralWidget(activityView);
     update();
 }
     setCentralWidget(activityView);
     update();
 }
@@ -52,14 +58,49 @@ FamilyShoppingManagerMainWindow::~FamilyShoppingManagerMainWindow()
 
 void FamilyShoppingManagerMainWindow::showListManager()
 {
 
 void FamilyShoppingManagerMainWindow::showListManager()
 {
+    menuBar()->clear();
+    (showCheckedItemsAction) ? delete showCheckedItemsAction:;
+    (endShoppingAction) ? delete endShoppingAction:;
+
     delete activityView;
     activityView = new ListManagerView("ShoppingList.xml", this);
     delete activityView;
     activityView = new ListManagerView("ShoppingList.xml", this);
+
+    editMenu = new QMenu(tr("&Edit"), this);
+    editMenu->addAction(tr("Add category"));
+    editMenu->addAction(tr("Remove category"));
+    editMenu->addAction(tr("Add item"));
+    editMenu->addAction(tr("Remove item"));
+    menuBar()->addMenu(editMenu);
+
+    goShoppingAction = new QAction(tr("Go shopping!"), this);
+    connect(goShoppingAction, SIGNAL(triggered()),
+            this, SLOT(showGoShopping()));
+    menuBar()->addAction(goShoppingAction);
+
+    menuBar()->addAction(aboutAction);
 }
 
 void FamilyShoppingManagerMainWindow::showGoShopping()
 {
 }
 
 void FamilyShoppingManagerMainWindow::showGoShopping()
 {
+    menuBar()->clear();
+    delete editMenu;
+    delete goShoppingAction;
+
     delete activityView;
     activityView = new GoShoppingView("ShoppingList.xml", this);
     delete activityView;
     activityView = new GoShoppingView("ShoppingList.xml", this);
+
+    showCheckedItemsAction = new QAction(tr("&Show checked"), this);
+    showCheckedItemsAction->setCheckable(true);
+    connect(showCheckedItemsAction, SIGNAL(toggled(bool)),
+            activityView, SLOT(showChecked(bool)));
+    menuBar()->addAction(showCheckedItemsAction);
+
+    endShoppingAction = new QAction(tr("&End shopping"), this);
+    connect(endShoppingAction, SIGNAL(triggered()),
+            this, SLOT(showListManager()));
+    menuBar()->addAction(endShoppingAction);
+
+    menuBar()->addAction(aboutAction);
 }
 
 void FamilyShoppingManagerMainWindow::showAbout()
 }
 
 void FamilyShoppingManagerMainWindow::showAbout()
index 16546b7..dbcae1a 100644 (file)
@@ -41,6 +41,9 @@ private:
     QWidget *activityView;
 
     QMenu *editMenu;
     QWidget *activityView;
 
     QMenu *editMenu;
+    QAction *showCheckedItemsAction;
+    QAction *goShoppingAction;
+    QAction *endShoppingAction;
     QAction *aboutAction;
 };
 
     QAction *aboutAction;
 };
 
index 4a485e8..0a65d9d 100644 (file)
@@ -314,7 +314,8 @@ void ShoppingTreeModel::parseCategoryElement(const QDomElement &element,
         parentItem = rootItem;\r
 \r
     ShoppingTreeItem *item;\r
         parentItem = rootItem;\r
 \r
     ShoppingTreeItem *item;\r
-    QString title = element.firstChildElement("title").text();\r
+    QDomElement child = element.firstChildElement("title");\r
+    QString title = child.text();\r
     if(!title.isEmpty())\r
     {\r
         parentItem->insertChildren(parentItem->childCount(), 1,\r
     if(!title.isEmpty())\r
     {\r
         parentItem->insertChildren(parentItem->childCount(), 1,\r
@@ -334,7 +335,7 @@ void ShoppingTreeModel::parseCategoryElement(const QDomElement &element,
     }\r
 \r
     // add each sub category and item to the tree\r
     }\r
 \r
     // add each sub category and item to the tree\r
-    QDomElement child = element.firstChildElement();\r
+    child = child.nextSiblingElement();\r
     while(!child.isNull())\r
     {\r
         if(child.tagName() == "category")\r
     while(!child.isNull())\r
     {\r
         if(child.tagName() == "category")\r
index e7b4303..244ccc4 100644 (file)
   <valuemap type="QVariantMap">
    <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString">Debug</value>
    <valuelist key="abstractProcess.Environment" 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-wQ2ScvWU3G,guid=8b21ab67206236c5c7975e424b6d31c6</value>
+    <value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-KgyjHUaC1G,guid=106bbfc436dd497d5877374a4b6d90b9</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">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-rKitZ6/S.gpg-agent:1958:1</value>
+    <value type="QString">GPG_AGENT_INFO=/tmp/gpg-yzdzjF/S.gpg-agent:1952: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">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">KDE_SESSION_UID=1000</value>
     <value type="QString">KDE_SESSION_VERSION=4</value>
     <value type="QString">LANG=fr_FR.UTF-8</value>
     <value type="QString">KDE_SESSION_UID=1000</value>
     <value type="QString">KDE_SESSION_VERSION=4</value>
     <value type="QString">LANG=fr_FR.UTF-8</value>
-    <value type="QString">LANGUAGE=</value>
     <value type="QString">LD_LIBRARY_PATH=/usr/lib/qtcreator:</value>
     <value type="QString">LOGNAME=onil</value>
     <value type="QString">PATH=/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games</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">LD_LIBRARY_PATH=/usr/lib/qtcreator:</value>
     <value type="QString">LOGNAME=onil</value>
     <value type="QString">PATH=/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games</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/2049,unix/onil-netbook:/tmp/.ICE-unix/2049</value>
+    <value type="QString">SESSION_MANAGER=local/onil-netbook:@/tmp/.ICE-unix/2045,unix/onil-netbook:/tmp/.ICE-unix/2045</value>
     <value type="QString">SHELL=/bin/bash</value>
     <value type="QString">SHLVL=0</value>
     <value type="QString">SHELL=/bin/bash</value>
     <value type="QString">SHLVL=0</value>
-    <value type="QString">SSH_AGENT_PID=1957</value>
-    <value type="QString">SSH_AUTH_SOCK=/tmp/ssh-XVjNkq1907/agent.1907</value>
+    <value type="QString">SSH_AGENT_PID=1951</value>
+    <value type="QString">SSH_AUTH_SOCK=/tmp/ssh-xgUrxv1901/agent.1901</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">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-1265447365.410173-1351979716</value>
+    <value type="QString">XDG_SESSION_COOKIE=67465ad3dd74e5003d0b02474b126985-1265471673.149631-453933478</value>
     <value type="QString">XDM_MANAGED=method=classic</value>
    </valuelist>
    <valuelist key="abstractProcess.arguments" type="QVariantList">
     <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">
   <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-wQ2ScvWU3G,guid=8b21ab67206236c5c7975e424b6d31c6</value>
+    <value type="QString">DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-KgyjHUaC1G,guid=106bbfc436dd497d5877374a4b6d90b9</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">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-rKitZ6/S.gpg-agent:1958:1</value>
+    <value type="QString">GPG_AGENT_INFO=/tmp/gpg-yzdzjF/S.gpg-agent:1952: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">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">KDE_SESSION_UID=1000</value>
     <value type="QString">KDE_SESSION_VERSION=4</value>
     <value type="QString">LANG=fr_FR.UTF-8</value>
     <value type="QString">KDE_SESSION_UID=1000</value>
     <value type="QString">KDE_SESSION_VERSION=4</value>
     <value type="QString">LANG=fr_FR.UTF-8</value>
-    <value type="QString">LANGUAGE=</value>
     <value type="QString">LD_LIBRARY_PATH=/usr/lib/qtcreator:</value>
     <value type="QString">LOGNAME=onil</value>
     <value type="QString">PATH=/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games</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">LD_LIBRARY_PATH=/usr/lib/qtcreator:</value>
     <value type="QString">LOGNAME=onil</value>
     <value type="QString">PATH=/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games</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/2049,unix/onil-netbook:/tmp/.ICE-unix/2049</value>
+    <value type="QString">SESSION_MANAGER=local/onil-netbook:@/tmp/.ICE-unix/2045,unix/onil-netbook:/tmp/.ICE-unix/2045</value>
     <value type="QString">SHELL=/bin/bash</value>
     <value type="QString">SHLVL=0</value>
     <value type="QString">SHELL=/bin/bash</value>
     <value type="QString">SHLVL=0</value>
-    <value type="QString">SSH_AGENT_PID=1957</value>
-    <value type="QString">SSH_AUTH_SOCK=/tmp/ssh-XVjNkq1907/agent.1907</value>
+    <value type="QString">SSH_AGENT_PID=1951</value>
+    <value type="QString">SSH_AUTH_SOCK=/tmp/ssh-xgUrxv1901/agent.1901</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">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-1265447365.410173-1351979716</value>
+    <value type="QString">XDG_SESSION_COOKIE=67465ad3dd74e5003d0b02474b126985-1265471673.149631-453933478</value>
     <value type="QString">XDM_MANAGED=method=classic</value>
    </valuelist>
    <value key="abstractProcess.IgnoreReturnValue" type="bool">false</value>
     <value type="QString">XDM_MANAGED=method=classic</value>
    </valuelist>
    <value key="abstractProcess.IgnoreReturnValue" type="bool">false</value>