wip - start of an example for my forthcoming presentation
authorJohn Kern <johnk@symbian.org>
Wed, 24 Mar 2010 14:05:38 -0700
changeset 3 e6d1a78b6db9
parent 2 6894bf2709c0
child 4 a154e00a4448
wip - start of an example for my forthcoming presentation
BuildLogViewer/AtAGlance.cpp
BuildLogViewer/AtAGlance.h
BuildLogViewer/BuildLogViewer.pro
BuildLogViewer/BuildLogViewer.pro.user
BuildLogViewer/BuildStatus.h
BuildLogViewer/Makefile
BuildLogViewer/Makefile.Debug
BuildLogViewer/Makefile.Release
BuildLogViewer/mainwindow.cpp
BuildLogViewer/ui_mainwindow.h
Seafood/Fishes.cpp
Seafood/Fishes.h
Seafood/SeafoodTabbed.pro
Seafood/SeafoodTabbed.pro.user
Seafood/SeafoodTabbed.qrc
Seafood/main.cpp
Seafood/mainwindow.cpp
Seafood/mainwindow.h
Seafood/seafood.db
Seafood/ui_mainwindow.h
--- a/BuildLogViewer/AtAGlance.cpp	Thu Sep 03 16:31:30 2009 -0700
+++ b/BuildLogViewer/AtAGlance.cpp	Wed Mar 24 14:05:38 2010 -0700
@@ -4,6 +4,7 @@
 #include <QDomElement>
 #include <QDomNode>
 #include <QMessageBox>
+#include <QGroupBox>
 
 #include <QtGlobal>
 #include <QRegExp>
@@ -19,7 +20,9 @@
 #include "AtAGlance.h"
 
 AtAGlance::AtAGlance(QString filename, QWidget *parent)
+        : QWidget(parent), ui(new Ui::BuildResultsForm)
 {
+    ui->setupUi(this);
     setAttribute(Qt::WA_DeleteOnClose);
 
     QFile file(filename);
@@ -132,6 +135,8 @@
 
 void AtAGlance::decideOnLayout()
 {
+    // QHBoxLayout *hLayout = new QHBoxLayout(this);
+    // QGroupBox *groupBox = new QGroupBox( "Synopsis of Build" );
     QGridLayout *layout = new QGridLayout(this);
 
     layout->addWidget(new QLabel("What: "), 1, 1);
@@ -140,4 +145,6 @@
     layout->addWidget(new QLabel(m_buildStatus->time()) ,2,2);
     layout->addWidget(new QLabel("Status: "), 3, 1);
     layout->addWidget(new QLabel(*m_buildStatus->status()),3,2);
+
+    // hLayout->addWidget(layout);
 }
--- a/BuildLogViewer/AtAGlance.h	Thu Sep 03 16:31:30 2009 -0700
+++ b/BuildLogViewer/AtAGlance.h	Wed Mar 24 14:05:38 2010 -0700
@@ -5,6 +5,7 @@
 #include <QWidget>
 
 #include "BuildStatus.h"
+#include "ui_BuildResults.h"
 
 /*
   * This class presents the status for a given build.  It gets the
@@ -25,6 +26,7 @@
     void traveAndPopulate(QDomElement e);
 
 private:
+    Ui::BuildResultsForm *ui;
     QDomDocument *m_log;
     BuildStatus *m_buildStatus;
 };
--- a/BuildLogViewer/BuildLogViewer.pro	Thu Sep 03 16:31:30 2009 -0700
+++ b/BuildLogViewer/BuildLogViewer.pro	Wed Mar 24 14:05:38 2010 -0700
@@ -1,20 +1,25 @@
-# -------------------------------------------------
-# Project created by QtCreator 2009-08-24T13:56:13
-# -------------------------------------------------
+######################################################################
+# Automatically generated by qmake (2.01a) Tue Sep 8 16:19:23 2009
+######################################################################
+
+TEMPLATE = app
 QT += xml
 TARGET = BuildLogViewer
-TEMPLATE = app
-SOURCES += main.cpp \
-    mainwindow.cpp \
-    Document.cpp \
-    DomModel.cpp \
-    DomItem.cpp \
-    AtAGlance.cpp \
-    BuildStatus.cpp
-HEADERS += mainwindow.h \
-    Document.h \
-    DomItem.h \
-    DomModel.h \
-    AtAGlance.h \
-    BuildStatus.h
-FORMS += mainwindow.ui
+DEPENDPATH += .
+INCLUDEPATH += .
+
+# Input
+HEADERS += AtAGlance.h \
+           BuildStatus.h \
+           Document.h \
+           DomItem.h \
+           DomModel.h \
+           mainwindow.h
+FORMS += BuildResults.ui mainwindow.ui
+SOURCES += AtAGlance.cpp \
+           BuildStatus.cpp \
+           Document.cpp \
+           DomItem.cpp \
+           DomModel.cpp \
+           main.cpp \
+           mainwindow.cpp
--- a/BuildLogViewer/BuildLogViewer.pro.user	Thu Sep 03 16:31:30 2009 -0700
+++ b/BuildLogViewer/BuildLogViewer.pro.user	Wed Mar 24 14:05:38 2010 -0700
@@ -46,7 +46,8 @@
    <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString" >Debug</value>
    <value key="QtVersionId" type="int" >0</value>
    <value key="addQDumper" type="" ></value>
-   <value key="buildDirectory" type="QString" >C:\workspace\QtExamples\BuildLogViewer</value>
+   <value key="buildDirectory" type="QString" ></value>
+   <value key="useShadowBuild" type="bool" >false</value>
   </valuemap>
  </data>
  <data>
@@ -62,8 +63,11 @@
   <valuemap type="QVariantMap" >
    <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString" >Debug</value>
    <valuelist key="abstractProcess.Environment" type="QVariantList" >
+    <value type="QString" >/M=RVCT22_ASMOPT</value>
     <value type="QString" >ALLUSERSPROFILE=C:\Documents and Settings\All Users</value>
     <value type="QString" >APPDATA=C:\Documents and Settings\johnk\Application Data</value>
+    <value type="QString" >ARMLMD_LICENSE_FILE=C:\Symbian\ARM\Licenses\license40.bat</value>
+    <value type="QString" >ARMROOT=C:\Symbian\ARM</value>
     <value type="QString" >CLIENTNAME=Console</value>
     <value type="QString" >COMMONPROGRAMFILES=C:\Program Files\Common Files</value>
     <value type="QString" >COMPUTERNAME=PC213502752220</value>
@@ -74,13 +78,13 @@
     <value type="QString" >HOMEDRIVE=C:</value>
     <value type="QString" >HOMEPATH=\Documents and Settings\johnk</value>
     <value type="QString" >LOGONSERVER=\\PC213502752220</value>
-    <value type="QString" >MWCSYM2INCLUDES=C:\Symbian\Tools\PDT_1.0\Carbide.c++\x86Build\Symbian_Support\MSL\MSL_C\MSL_Common\Include;C:\Symbian\Tools\PDT_1.0\Carbide.c++\x86Build\Symbian_Support\MSL\MSL_C\MSL_Win32\Include;C:\Symbian\Tools\PDT_1.0\Carbide.c++\x86Build\Symbian_Support\MSL\MSL_C\MSL_X86;C:\Symbian\Tools\PDT_1.0\Carbide.c++\x86Build\Symbian_Support\MSL\MSL_C++\MSL_Common\Include;C:\Symbian\Tools\PDT_1.0\Carbide.c++\x86Build\Symbian_Support\MSL\MSL_Extras\MSL_Common\Include;C:\Symbian\Tools\PDT_1.0\Carbide.c++\x86Build\Symbian_Support\MSL\MSL_Extras\MSL_Win32\Include;C:\Symbian\Tools\PDT_1.0\Carbide.c++\x86Build\Symbian_Support\Win32-x86 Support\Headers\Win32 SDK</value>
-    <value type="QString" >MWSYM2LIBRARIES=C:\Symbian\Tools\PDT_1.0\Carbide.c++\x86Build\Symbian_Support\Win32-x86 Support\Libraries\Win32 SDK;C:\Symbian\Tools\PDT_1.0\Carbide.c++\x86Build\Symbian_Support\Runtime\Runtime_x86\Runtime_Win32\Libs</value>
+    <value type="QString" >MWCSYM2INCLUDES=C:\Symbian\Tools\ADT_1.0\Carbide.c++\x86Build\Symbian_Support\MSL\MSL_C\MSL_Common\Include;C:\Symbian\Tools\ADT_1.0\Carbide.c++\x86Build\Symbian_Support\MSL\MSL_C\MSL_Win32\Include;C:\Symbian\Tools\ADT_1.0\Carbide.c++\x86Build\Symbian_Support\MSL\MSL_C\MSL_X86;C:\Symbian\Tools\ADT_1.0\Carbide.c++\x86Build\Symbian_Support\MSL\MSL_C++\MSL_Common\Include;C:\Symbian\Tools\ADT_1.0\Carbide.c++\x86Build\Symbian_Support\MSL\MSL_Extras\MSL_Common\Include;C:\Symbian\Tools\ADT_1.0\Carbide.c++\x86Build\Symbian_Support\MSL\MSL_Extras\MSL_Win32\Include;C:\Symbian\Tools\ADT_1.0\Carbide.c++\x86Build\Symbian_Support\Win32-x86 Support\Headers\Win32 SDK</value>
+    <value type="QString" >MWSYM2LIBRARIES=C:\Symbian\Tools\ADT_1.0\Carbide.c++\x86Build\Symbian_Support\Win32-x86 Support\Libraries\Win32 SDK;C:\Symbian\Tools\ADT_1.0\Carbide.c++\x86Build\Symbian_Support\Runtime\Runtime_x86\Runtime_Win32\Libs</value>
     <value type="QString" >MWSYM2LIBRARYFILES=MSL_All_MSE_Symbian_D.lib;gdi32.lib;user32.lib;kernel32.lib;</value>
     <value type="QString" >NUMBER_OF_PROCESSORS=2</value>
     <value type="QString" >ONLINESERVICES=Online Services</value>
     <value type="QString" >OS=Windows_NT</value>
-    <value type="QString" >PATH=C:\Qt\2009.03\mingw\bin;C:\Qt\2009.03\qt\bin;C:\Symbian\Tools\PDT_1.0\Carbide.c++\x86Build\Symbian_Tools\Command_Line_Tools;C:\Python25\;C:\Program Files\PC Connectivity Solution\;C:\Perl\bin\;C:\Program Files\Common Files\Symbian\Tools;C:\Program Files\CSL Arm Toolchain\bin;C:\Perl\site\bin;C:\Perl\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;c:\Program Files\ActivIdentity\ActivClient\;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static;;C:\Symbian\Tools\ADT_1.0\raptor\bin;C:\Program Files\Mercurial;%EPOCROOT%epoc32\tools;C:\Symbian\Tools\PDT_1.0\;C:\Symbian\Tools\PDT_1.0\cdb;C:\Symbian\Tools\PDT_1.0\CBR tools;C:\Symbian\Tools\PDT_1.0\raptor\bin;C:\Symbian\Tools\PDT_1.0\STAT\stat;C:\Symbian\Tools\PDT_1.0\SVS Test Development;C:\Symbian\Tools\PDT_1.0\Test Driver;C:\Symbian\Tools\PDT_1.0\Use Case Controller\bin;C:\Symbian\Tools\PDT_1.0\Use Case Controller\syncservice\bin;C:\Symbian\Tools\PDT_1.0\Use Case Controller\testdriverservice\bin;C:\Symbian\Tools\PDT_1.0\Use Case Controller</value>
+    <value type="QString" >PATH=C:\Qt\2009.03\mingw\bin;C:\Qt\2009.03\qt\bin;C:\Symbian\ARM\bin\win_32-pentium;C:\Symbian\Tools\ADT_1.0\Carbide.c++\x86Build\Symbian_Tools\Command_Line_Tools;C:\Python25\;C:\Program Files\PC Connectivity Solution\;C:\Perl\bin\;C:\Program Files\Common Files\Symbian\Tools;C:\Program Files\CSL Arm Toolchain\bin;C:\Perl\site\bin;C:\Perl\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;c:\Program Files\ActivIdentity\ActivClient\;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static;C:\Symbian\Tools\ADT_1.0\raptor\bin;C:\Program Files\Mercurial;%EPOCROOT%epoc32\tools;C:\Symbian\Tools\PDT_1.0\;C:\Symbian\Tools\PDT_1.0\cdb;C:\Symbian\Tools\PDT_1.0\CBR tools;C:\Symbian\Tools\PDT_1.0\raptor\bin;C:\Symbian\Tools\PDT_1.0\STAT\stat;C:\Symbian\Tools\PDT_1.0\SVS Test Development;C:\Symbian\Tools\PDT_1.0\Test Driver;C:\Symbian\Tools\PDT_1.0\Use Case Controller\bin;C:\Symbian\Tools\PDT_1.0\Use Case Controller\syncservice\bin;C:\Symbian\Tools\PDT_1.0\Use Case Controller\testdriverservice\bin;C:\Symbian\Tools\PDT_1.0\Use Case Controller;C:\Program Files\Support Tools\;C:\Symbian\ARM\RVCT\Programs\4.0\591\multi1\win_32-pentium</value>
     <value type="QString" >PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.py;.pyw</value>
     <value type="QString" >PLATFORM=BNB</value>
     <value type="QString" >PROCESSOR_ARCHITECTURE=x86</value>
@@ -89,6 +93,9 @@
     <value type="QString" >PROCESSOR_REVISION=1706</value>
     <value type="QString" >PROGRAMFILES=C:\Program Files</value>
     <value type="QString" >QTDIR=C:/Qt/2009.03/qt</value>
+    <value type="QString" >RVCT40BIN=C:\Symbian\ARM\RVCT\Programs\4.0\591\multi1\win_32-pentium</value>
+    <value type="QString" >RVCT40INC=C:\Symbian\ARM\RVCT\Data\4.0\591\include\windows</value>
+    <value type="QString" >RVCT40LIB=C:\Symbian\ARM\RVCT\Data\4.0\591\lib</value>
     <value type="QString" >SBS_HOME=C:\Symbian\Tools\PDT_1.0\raptor</value>
     <value type="QString" >SESSIONNAME=Console</value>
     <value type="QString" >SYSTEMDRIVE=C:</value>
@@ -99,6 +106,7 @@
     <value type="QString" >USERNAME=JohnK</value>
     <value type="QString" >USERPROFILE=C:\Documents and Settings\johnk</value>
     <value type="QString" >WINDIR=C:\WINDOWS</value>
+    <value type="QString" >__COMPAT_LAYER=EnableNXShowUI </value>
    </valuelist>
    <valuelist key="abstractProcess.arguments" type="QVariantList" >
     <value type="QString" >C:/workspace/QtExamples/BuildLogViewer/BuildLogViewer.pro</value>
@@ -117,8 +125,11 @@
   <valuemap type="QVariantMap" >
    <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString" >Debug</value>
    <valuelist key="abstractProcess.Environment" type="QVariantList" >
+    <value type="QString" >/M=RVCT22_ASMOPT</value>
     <value type="QString" >ALLUSERSPROFILE=C:\Documents and Settings\All Users</value>
     <value type="QString" >APPDATA=C:\Documents and Settings\johnk\Application Data</value>
+    <value type="QString" >ARMLMD_LICENSE_FILE=C:\Symbian\ARM\Licenses\license40.bat</value>
+    <value type="QString" >ARMROOT=C:\Symbian\ARM</value>
     <value type="QString" >CLIENTNAME=Console</value>
     <value type="QString" >COMMONPROGRAMFILES=C:\Program Files\Common Files</value>
     <value type="QString" >COMPUTERNAME=PC213502752220</value>
@@ -129,13 +140,13 @@
     <value type="QString" >HOMEDRIVE=C:</value>
     <value type="QString" >HOMEPATH=\Documents and Settings\johnk</value>
     <value type="QString" >LOGONSERVER=\\PC213502752220</value>
-    <value type="QString" >MWCSYM2INCLUDES=C:\Symbian\Tools\PDT_1.0\Carbide.c++\x86Build\Symbian_Support\MSL\MSL_C\MSL_Common\Include;C:\Symbian\Tools\PDT_1.0\Carbide.c++\x86Build\Symbian_Support\MSL\MSL_C\MSL_Win32\Include;C:\Symbian\Tools\PDT_1.0\Carbide.c++\x86Build\Symbian_Support\MSL\MSL_C\MSL_X86;C:\Symbian\Tools\PDT_1.0\Carbide.c++\x86Build\Symbian_Support\MSL\MSL_C++\MSL_Common\Include;C:\Symbian\Tools\PDT_1.0\Carbide.c++\x86Build\Symbian_Support\MSL\MSL_Extras\MSL_Common\Include;C:\Symbian\Tools\PDT_1.0\Carbide.c++\x86Build\Symbian_Support\MSL\MSL_Extras\MSL_Win32\Include;C:\Symbian\Tools\PDT_1.0\Carbide.c++\x86Build\Symbian_Support\Win32-x86 Support\Headers\Win32 SDK</value>
-    <value type="QString" >MWSYM2LIBRARIES=C:\Symbian\Tools\PDT_1.0\Carbide.c++\x86Build\Symbian_Support\Win32-x86 Support\Libraries\Win32 SDK;C:\Symbian\Tools\PDT_1.0\Carbide.c++\x86Build\Symbian_Support\Runtime\Runtime_x86\Runtime_Win32\Libs</value>
+    <value type="QString" >MWCSYM2INCLUDES=C:\Symbian\Tools\ADT_1.0\Carbide.c++\x86Build\Symbian_Support\MSL\MSL_C\MSL_Common\Include;C:\Symbian\Tools\ADT_1.0\Carbide.c++\x86Build\Symbian_Support\MSL\MSL_C\MSL_Win32\Include;C:\Symbian\Tools\ADT_1.0\Carbide.c++\x86Build\Symbian_Support\MSL\MSL_C\MSL_X86;C:\Symbian\Tools\ADT_1.0\Carbide.c++\x86Build\Symbian_Support\MSL\MSL_C++\MSL_Common\Include;C:\Symbian\Tools\ADT_1.0\Carbide.c++\x86Build\Symbian_Support\MSL\MSL_Extras\MSL_Common\Include;C:\Symbian\Tools\ADT_1.0\Carbide.c++\x86Build\Symbian_Support\MSL\MSL_Extras\MSL_Win32\Include;C:\Symbian\Tools\ADT_1.0\Carbide.c++\x86Build\Symbian_Support\Win32-x86 Support\Headers\Win32 SDK</value>
+    <value type="QString" >MWSYM2LIBRARIES=C:\Symbian\Tools\ADT_1.0\Carbide.c++\x86Build\Symbian_Support\Win32-x86 Support\Libraries\Win32 SDK;C:\Symbian\Tools\ADT_1.0\Carbide.c++\x86Build\Symbian_Support\Runtime\Runtime_x86\Runtime_Win32\Libs</value>
     <value type="QString" >MWSYM2LIBRARYFILES=MSL_All_MSE_Symbian_D.lib;gdi32.lib;user32.lib;kernel32.lib;</value>
     <value type="QString" >NUMBER_OF_PROCESSORS=2</value>
     <value type="QString" >ONLINESERVICES=Online Services</value>
     <value type="QString" >OS=Windows_NT</value>
-    <value type="QString" >PATH=C:\Qt\2009.03\mingw\bin;C:\Qt\2009.03\qt\bin;C:\Symbian\Tools\PDT_1.0\Carbide.c++\x86Build\Symbian_Tools\Command_Line_Tools;C:\Python25\;C:\Program Files\PC Connectivity Solution\;C:\Perl\bin\;C:\Program Files\Common Files\Symbian\Tools;C:\Program Files\CSL Arm Toolchain\bin;C:\Perl\site\bin;C:\Perl\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;c:\Program Files\ActivIdentity\ActivClient\;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static;;C:\Symbian\Tools\ADT_1.0\raptor\bin;C:\Program Files\Mercurial;%EPOCROOT%epoc32\tools;C:\Symbian\Tools\PDT_1.0\;C:\Symbian\Tools\PDT_1.0\cdb;C:\Symbian\Tools\PDT_1.0\CBR tools;C:\Symbian\Tools\PDT_1.0\raptor\bin;C:\Symbian\Tools\PDT_1.0\STAT\stat;C:\Symbian\Tools\PDT_1.0\SVS Test Development;C:\Symbian\Tools\PDT_1.0\Test Driver;C:\Symbian\Tools\PDT_1.0\Use Case Controller\bin;C:\Symbian\Tools\PDT_1.0\Use Case Controller\syncservice\bin;C:\Symbian\Tools\PDT_1.0\Use Case Controller\testdriverservice\bin;C:\Symbian\Tools\PDT_1.0\Use Case Controller</value>
+    <value type="QString" >PATH=C:\Qt\2009.03\mingw\bin;C:\Qt\2009.03\qt\bin;C:\Symbian\ARM\bin\win_32-pentium;C:\Symbian\Tools\ADT_1.0\Carbide.c++\x86Build\Symbian_Tools\Command_Line_Tools;C:\Python25\;C:\Program Files\PC Connectivity Solution\;C:\Perl\bin\;C:\Program Files\Common Files\Symbian\Tools;C:\Program Files\CSL Arm Toolchain\bin;C:\Perl\site\bin;C:\Perl\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;c:\Program Files\ActivIdentity\ActivClient\;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static;C:\Symbian\Tools\ADT_1.0\raptor\bin;C:\Program Files\Mercurial;%EPOCROOT%epoc32\tools;C:\Symbian\Tools\PDT_1.0\;C:\Symbian\Tools\PDT_1.0\cdb;C:\Symbian\Tools\PDT_1.0\CBR tools;C:\Symbian\Tools\PDT_1.0\raptor\bin;C:\Symbian\Tools\PDT_1.0\STAT\stat;C:\Symbian\Tools\PDT_1.0\SVS Test Development;C:\Symbian\Tools\PDT_1.0\Test Driver;C:\Symbian\Tools\PDT_1.0\Use Case Controller\bin;C:\Symbian\Tools\PDT_1.0\Use Case Controller\syncservice\bin;C:\Symbian\Tools\PDT_1.0\Use Case Controller\testdriverservice\bin;C:\Symbian\Tools\PDT_1.0\Use Case Controller;C:\Program Files\Support Tools\;C:\Symbian\ARM\RVCT\Programs\4.0\591\multi1\win_32-pentium</value>
     <value type="QString" >PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.py;.pyw</value>
     <value type="QString" >PLATFORM=BNB</value>
     <value type="QString" >PROCESSOR_ARCHITECTURE=x86</value>
@@ -144,6 +155,9 @@
     <value type="QString" >PROCESSOR_REVISION=1706</value>
     <value type="QString" >PROGRAMFILES=C:\Program Files</value>
     <value type="QString" >QTDIR=C:/Qt/2009.03/qt</value>
+    <value type="QString" >RVCT40BIN=C:\Symbian\ARM\RVCT\Programs\4.0\591\multi1\win_32-pentium</value>
+    <value type="QString" >RVCT40INC=C:\Symbian\ARM\RVCT\Data\4.0\591\include\windows</value>
+    <value type="QString" >RVCT40LIB=C:\Symbian\ARM\RVCT\Data\4.0\591\lib</value>
     <value type="QString" >SBS_HOME=C:\Symbian\Tools\PDT_1.0\raptor</value>
     <value type="QString" >SESSIONNAME=Console</value>
     <value type="QString" >SYSTEMDRIVE=C:</value>
@@ -154,6 +168,7 @@
     <value type="QString" >USERNAME=JohnK</value>
     <value type="QString" >USERPROFILE=C:\Documents and Settings\johnk</value>
     <value type="QString" >WINDIR=C:\WINDOWS</value>
+    <value type="QString" >__COMPAT_LAYER=EnableNXShowUI </value>
    </valuelist>
    <valuelist key="abstractProcess.arguments" type="QVariantList" >
     <value type="QString" >-w</value>
@@ -167,6 +182,59 @@
   <variable>buildconfiguration-Debug-cleanstep0</variable>
   <valuemap type="QVariantMap" >
    <value key="ProjectExplorer.BuildConfiguration.DisplayName" type="QString" >Debug</value>
+   <valuelist key="abstractProcess.Environment" type="QVariantList" >
+    <value type="QString" >/M=RVCT22_ASMOPT</value>
+    <value type="QString" >ALLUSERSPROFILE=C:\Documents and Settings\All Users</value>
+    <value type="QString" >APPDATA=C:\Documents and Settings\johnk\Application Data</value>
+    <value type="QString" >ARMLMD_LICENSE_FILE=C:\Symbian\ARM\Licenses\license40.bat</value>
+    <value type="QString" >ARMROOT=C:\Symbian\ARM</value>
+    <value type="QString" >CLIENTNAME=Console</value>
+    <value type="QString" >COMMONPROGRAMFILES=C:\Program Files\Common Files</value>
+    <value type="QString" >COMPUTERNAME=PC213502752220</value>
+    <value type="QString" >COMSPEC=C:\WINDOWS\system32\cmd.exe</value>
+    <value type="QString" >FP_NO_HOST_CHECK=NO</value>
+    <value type="QString" >HELIUM_HOME=C:\Symbian\Tools\PDT_1.0\helium</value>
+    <value type="QString" >HGMERGE="C:\Program Files\WinMerge\WinMergeU.exe"</value>
+    <value type="QString" >HOMEDRIVE=C:</value>
+    <value type="QString" >HOMEPATH=\Documents and Settings\johnk</value>
+    <value type="QString" >LOGONSERVER=\\PC213502752220</value>
+    <value type="QString" >MWCSYM2INCLUDES=C:\Symbian\Tools\ADT_1.0\Carbide.c++\x86Build\Symbian_Support\MSL\MSL_C\MSL_Common\Include;C:\Symbian\Tools\ADT_1.0\Carbide.c++\x86Build\Symbian_Support\MSL\MSL_C\MSL_Win32\Include;C:\Symbian\Tools\ADT_1.0\Carbide.c++\x86Build\Symbian_Support\MSL\MSL_C\MSL_X86;C:\Symbian\Tools\ADT_1.0\Carbide.c++\x86Build\Symbian_Support\MSL\MSL_C++\MSL_Common\Include;C:\Symbian\Tools\ADT_1.0\Carbide.c++\x86Build\Symbian_Support\MSL\MSL_Extras\MSL_Common\Include;C:\Symbian\Tools\ADT_1.0\Carbide.c++\x86Build\Symbian_Support\MSL\MSL_Extras\MSL_Win32\Include;C:\Symbian\Tools\ADT_1.0\Carbide.c++\x86Build\Symbian_Support\Win32-x86 Support\Headers\Win32 SDK</value>
+    <value type="QString" >MWSYM2LIBRARIES=C:\Symbian\Tools\ADT_1.0\Carbide.c++\x86Build\Symbian_Support\Win32-x86 Support\Libraries\Win32 SDK;C:\Symbian\Tools\ADT_1.0\Carbide.c++\x86Build\Symbian_Support\Runtime\Runtime_x86\Runtime_Win32\Libs</value>
+    <value type="QString" >MWSYM2LIBRARYFILES=MSL_All_MSE_Symbian_D.lib;gdi32.lib;user32.lib;kernel32.lib;</value>
+    <value type="QString" >NUMBER_OF_PROCESSORS=2</value>
+    <value type="QString" >ONLINESERVICES=Online Services</value>
+    <value type="QString" >OS=Windows_NT</value>
+    <value type="QString" >PATH=C:\Qt\2009.03\mingw\bin;C:\Qt\2009.03\qt\bin;C:\Symbian\ARM\bin\win_32-pentium;C:\Symbian\Tools\ADT_1.0\Carbide.c++\x86Build\Symbian_Tools\Command_Line_Tools;C:\Python25\;C:\Program Files\PC Connectivity Solution\;C:\Perl\bin\;C:\Program Files\Common Files\Symbian\Tools;C:\Program Files\CSL Arm Toolchain\bin;C:\Perl\site\bin;C:\Perl\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;c:\Program Files\ActivIdentity\ActivClient\;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static;C:\Symbian\Tools\ADT_1.0\raptor\bin;C:\Program Files\Mercurial;%EPOCROOT%epoc32\tools;C:\Symbian\Tools\PDT_1.0\;C:\Symbian\Tools\PDT_1.0\cdb;C:\Symbian\Tools\PDT_1.0\CBR tools;C:\Symbian\Tools\PDT_1.0\raptor\bin;C:\Symbian\Tools\PDT_1.0\STAT\stat;C:\Symbian\Tools\PDT_1.0\SVS Test Development;C:\Symbian\Tools\PDT_1.0\Test Driver;C:\Symbian\Tools\PDT_1.0\Use Case Controller\bin;C:\Symbian\Tools\PDT_1.0\Use Case Controller\syncservice\bin;C:\Symbian\Tools\PDT_1.0\Use Case Controller\testdriverservice\bin;C:\Symbian\Tools\PDT_1.0\Use Case Controller;C:\Program Files\Support Tools\;C:\Symbian\ARM\RVCT\Programs\4.0\591\multi1\win_32-pentium</value>
+    <value type="QString" >PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.py;.pyw</value>
+    <value type="QString" >PLATFORM=BNB</value>
+    <value type="QString" >PROCESSOR_ARCHITECTURE=x86</value>
+    <value type="QString" >PROCESSOR_IDENTIFIER=x86 Family 6 Model 23 Stepping 6, GenuineIntel</value>
+    <value type="QString" >PROCESSOR_LEVEL=6</value>
+    <value type="QString" >PROCESSOR_REVISION=1706</value>
+    <value type="QString" >PROGRAMFILES=C:\Program Files</value>
+    <value type="QString" >QTDIR=C:/Qt/2009.03/qt</value>
+    <value type="QString" >RVCT40BIN=C:\Symbian\ARM\RVCT\Programs\4.0\591\multi1\win_32-pentium</value>
+    <value type="QString" >RVCT40INC=C:\Symbian\ARM\RVCT\Data\4.0\591\include\windows</value>
+    <value type="QString" >RVCT40LIB=C:\Symbian\ARM\RVCT\Data\4.0\591\lib</value>
+    <value type="QString" >SBS_HOME=C:\Symbian\Tools\PDT_1.0\raptor</value>
+    <value type="QString" >SESSIONNAME=Console</value>
+    <value type="QString" >SYSTEMDRIVE=C:</value>
+    <value type="QString" >SYSTEMROOT=C:\WINDOWS</value>
+    <value type="QString" >TEMP=C:\DOCUME~1\johnk\LOCALS~1\Temp</value>
+    <value type="QString" >TMP=C:\DOCUME~1\johnk\LOCALS~1\Temp</value>
+    <value type="QString" >USERDOMAIN=PC213502752220</value>
+    <value type="QString" >USERNAME=JohnK</value>
+    <value type="QString" >USERPROFILE=C:\Documents and Settings\johnk</value>
+    <value type="QString" >WINDIR=C:\WINDOWS</value>
+    <value type="QString" >__COMPAT_LAYER=EnableNXShowUI </value>
+   </valuelist>
+   <valuelist key="abstractProcess.arguments" type="QVariantList" >
+    <value type="QString" >clean</value>
+    <value type="QString" >-w</value>
+   </valuelist>
+   <value key="abstractProcess.command" type="QString" >C:/Qt/2009.03/mingw/bin/mingw32-make.exe</value>
+   <value key="abstractProcess.enabled" type="bool" >true</value>
+   <value key="abstractProcess.workingDirectory" type="QString" >C:/workspace/QtExamples/BuildLogViewer</value>
   </valuemap>
  </data>
  <data>
--- a/BuildLogViewer/BuildStatus.h	Thu Sep 03 16:31:30 2009 -0700
+++ b/BuildLogViewer/BuildStatus.h	Wed Mar 24 14:05:38 2010 -0700
@@ -6,17 +6,23 @@
 
 class BuildStatus : public QObject
 {
+    Q_OBJECT
+
 public:
     BuildStatus(QObject *parent = 0);
 
+public slots:
     void setName(QString n);
-    const QString *name();
-
+    void setStatus (bool n );
     void setTime(QDateTime w);
-    QString time();
+
+signals:
+    void textEmitted(const QString &);
 
-    void setStatus (bool n );
+public:
+    const QString *name();
     const QString *status();
+    QString time();
 
 private:
     // What was the name of the package?
--- a/BuildLogViewer/Makefile	Thu Sep 03 16:31:30 2009 -0700
+++ b/BuildLogViewer/Makefile	Wed Mar 24 14:05:38 2010 -0700
@@ -1,6 +1,6 @@
 #############################################################################
 # Makefile for building: BuildLogViewer
-# Generated by qmake (2.01a) (Qt 4.5.2) on: Thu Sep 3 07:51:16 2009
+# Generated by qmake (2.01a) (Qt 4.5.2) on: Mon Nov 16 10:00:07 2009
 # Project:  BuildLogViewer.pro
 # Template: app
 # Command: c:\Qt\2009.03\qt\bin\qmake.exe -spec ..\..\..\Qt\2009.03\qt\mkspecs\win32-g++ -win32 -o Makefile BuildLogViewer.pro
--- a/BuildLogViewer/Makefile.Debug	Thu Sep 03 16:31:30 2009 -0700
+++ b/BuildLogViewer/Makefile.Debug	Wed Mar 24 14:05:38 2010 -0700
@@ -1,6 +1,6 @@
 #############################################################################
 # Makefile for building: BuildLogViewer
-# Generated by qmake (2.01a) (Qt 4.5.2) on: Thu Sep 3 07:51:16 2009
+# Generated by qmake (2.01a) (Qt 4.5.2) on: Mon Nov 16 10:00:07 2009
 # Project:  BuildLogViewer.pro
 # Template: app
 #############################################################################
@@ -12,7 +12,7 @@
 DEFINES       = -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN
 CFLAGS        = -g -Wall $(DEFINES)
 CXXFLAGS      = -g -frtti -fexceptions -mthreads -Wall $(DEFINES)
-INCPATH       = -I"..\..\..\Qt\2009.03\qt\include\QtCore" -I"..\..\..\Qt\2009.03\qt\include\QtGui" -I"..\..\..\Qt\2009.03\qt\include\QtXml" -I"..\..\..\Qt\2009.03\qt\include" -I"..\..\..\Qt\2009.03\qt\include\ActiveQt" -I"debug" -I"." -I"..\..\..\Qt\2009.03\qt\mkspecs\win32-g++"
+INCPATH       = -I"..\..\..\Qt\2009.03\qt\include\QtCore" -I"..\..\..\Qt\2009.03\qt\include\QtGui" -I"..\..\..\Qt\2009.03\qt\include\QtXml" -I"..\..\..\Qt\2009.03\qt\include" -I"." -I"..\..\..\Qt\2009.03\qt\include\ActiveQt" -I"debug" -I"." -I"..\..\..\Qt\2009.03\qt\mkspecs\win32-g++"
 LINK        =        g++
 LFLAGS        =        -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -Wl,-subsystem,windows
 LIBS        =        -L"c:\Qt\2009.03\qt\lib" -lmingw32 -lqtmaind -lQtXmld4 -lQtGuid4 -lQtCored4
@@ -40,27 +40,29 @@
 
 ####### Files
 
-SOURCES       = main.cpp \
-		mainwindow.cpp \
+SOURCES       = AtAGlance.cpp \
+		BuildStatus.cpp \
 		Document.cpp \
+		DomItem.cpp \
 		DomModel.cpp \
-		DomItem.cpp \
-		AtAGlance.cpp \
-		BuildStatus.cpp debug\moc_mainwindow.cpp \
+		main.cpp \
+		mainwindow.cpp debug\moc_AtAGlance.cpp \
+		debug\moc_BuildStatus.cpp \
 		debug\moc_Document.cpp \
 		debug\moc_DomModel.cpp \
-		debug\moc_AtAGlance.cpp
-OBJECTS       = debug/main.o \
-		debug/mainwindow.o \
+		debug\moc_mainwindow.cpp
+OBJECTS       = debug/AtAGlance.o \
+		debug/BuildStatus.o \
 		debug/Document.o \
+		debug/DomItem.o \
 		debug/DomModel.o \
-		debug/DomItem.o \
-		debug/AtAGlance.o \
-		debug/BuildStatus.o \
-		debug/moc_mainwindow.o \
+		debug/main.o \
+		debug/mainwindow.o \
+		debug/moc_AtAGlance.o \
+		debug/moc_BuildStatus.o \
 		debug/moc_Document.o \
 		debug/moc_DomModel.o \
-		debug/moc_AtAGlance.o
+		debug/moc_mainwindow.o
 DIST          = 
 QMAKE_TARGET  = BuildLogViewer
 DESTDIR        = debug\ #avoid trailing-slash linebreak
@@ -88,7 +90,7 @@
 first: all
 all: Makefile.Debug  $(DESTDIR_TARGET)
 
-$(DESTDIR_TARGET): ui_mainwindow.h $(OBJECTS) 
+$(DESTDIR_TARGET): ui_BuildResults.h ui_mainwindow.h $(OBJECTS) 
 	$(LINK) $(LFLAGS) -o $(DESTDIR_TARGET) object_script.BuildLogViewer.Debug  $(LIBS)
 
 
@@ -99,7 +101,7 @@
 	$(ZIP) BuildLogViewer.zip $(SOURCES) $(DIST) BuildLogViewer.pro ..\..\..\Qt\2009.03\qt\mkspecs\qconfig.pri ..\..\..\Qt\2009.03\qt\mkspecs\features\qt_functions.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\qt_config.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\exclusive_builds.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\default_pre.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\win32\default_pre.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\debug.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\debug_and_release.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\default_post.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\win32\default_post.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\build_pass.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\win32\rtti.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\win32\exceptions.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\win32\stl.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\shared.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\warn_on.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\qt.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\win32\thread.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\moc.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\win32\windows.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\resources.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\uic.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\yacc.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\lex.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\include_source_dir.prf c:\Qt\2009.03\qt\lib\qtmaind.prl  HEADERS RESOURCES IMAGES SOURCES OBJECTIVE_SOURCES FORMS YACCSOURCES YACCSOURCES LEXSOURCES 
 
 clean: compiler_clean 
-	-$(DEL_FILE) debug\main.o debug\mainwindow.o debug\Document.o debug\DomModel.o debug\DomItem.o debug\AtAGlance.o debug\BuildStatus.o debug\moc_mainwindow.o debug\moc_Document.o debug\moc_DomModel.o debug\moc_AtAGlance.o
+	-$(DEL_FILE) debug\AtAGlance.o debug\BuildStatus.o debug\Document.o debug\DomItem.o debug\DomModel.o debug\main.o debug\mainwindow.o debug\moc_AtAGlance.o debug\moc_BuildStatus.o debug\moc_Document.o debug\moc_DomModel.o debug\moc_mainwindow.o
 
 distclean: clean
 	-$(DEL_FILE) $(DESTDIR_TARGET)
@@ -109,13 +111,16 @@
 
 mocables: compiler_moc_header_make_all compiler_moc_source_make_all
 
-compiler_moc_header_make_all: debug/moc_mainwindow.cpp debug/moc_Document.cpp debug/moc_DomModel.cpp debug/moc_AtAGlance.cpp
+compiler_moc_header_make_all: debug/moc_AtAGlance.cpp debug/moc_BuildStatus.cpp debug/moc_Document.cpp debug/moc_DomModel.cpp debug/moc_mainwindow.cpp
 compiler_moc_header_clean:
-	-$(DEL_FILE) debug\moc_mainwindow.cpp debug\moc_Document.cpp debug\moc_DomModel.cpp debug\moc_AtAGlance.cpp
-debug/moc_mainwindow.cpp: Document.h \
-		DomModel.h \
-		mainwindow.h
-	C:/Qt/2009.03/qt/bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 mainwindow.h -o debug\moc_mainwindow.cpp
+	-$(DEL_FILE) debug\moc_AtAGlance.cpp debug\moc_BuildStatus.cpp debug\moc_Document.cpp debug\moc_DomModel.cpp debug\moc_mainwindow.cpp
+debug/moc_AtAGlance.cpp: BuildStatus.h \
+		ui_BuildResults.h \
+		AtAGlance.h
+	C:/Qt/2009.03/qt/bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 AtAGlance.h -o debug\moc_AtAGlance.cpp
+
+debug/moc_BuildStatus.cpp: BuildStatus.h
+	C:/Qt/2009.03/qt/bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 BuildStatus.h -o debug\moc_BuildStatus.cpp
 
 debug/moc_Document.cpp: DomModel.h \
 		Document.h
@@ -124,9 +129,10 @@
 debug/moc_DomModel.cpp: DomModel.h
 	C:/Qt/2009.03/qt/bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DomModel.h -o debug\moc_DomModel.cpp
 
-debug/moc_AtAGlance.cpp: BuildStatus.h \
-		AtAGlance.h
-	C:/Qt/2009.03/qt/bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 AtAGlance.h -o debug\moc_AtAGlance.cpp
+debug/moc_mainwindow.cpp: Document.h \
+		DomModel.h \
+		mainwindow.h
+	C:/Qt/2009.03/qt/bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 mainwindow.h -o debug\moc_mainwindow.cpp
 
 compiler_rcc_make_all:
 compiler_rcc_clean:
@@ -135,9 +141,12 @@
 	-$(DEL_FILE) qmake_image_collection.cpp
 compiler_moc_source_make_all:
 compiler_moc_source_clean:
-compiler_uic_make_all: ui_mainwindow.h
+compiler_uic_make_all: ui_BuildResults.h ui_mainwindow.h
 compiler_uic_clean:
-	-$(DEL_FILE) ui_mainwindow.h
+	-$(DEL_FILE) ui_BuildResults.h ui_mainwindow.h
+ui_BuildResults.h: BuildResults.ui
+	c:\Qt\2009.03\qt\bin\uic.exe BuildResults.ui -o ui_BuildResults.h
+
 ui_mainwindow.h: mainwindow.ui
 	c:\Qt\2009.03\qt\bin\uic.exe mainwindow.ui -o ui_mainwindow.h
 
@@ -153,6 +162,25 @@
 
 ####### Compile
 
+debug/AtAGlance.o: AtAGlance.cpp AtAGlance.h \
+		BuildStatus.h \
+		ui_BuildResults.h
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\AtAGlance.o AtAGlance.cpp
+
+debug/BuildStatus.o: BuildStatus.cpp BuildStatus.h
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\BuildStatus.o BuildStatus.cpp
+
+debug/Document.o: Document.cpp Document.h \
+		DomModel.h
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\Document.o Document.cpp
+
+debug/DomItem.o: DomItem.cpp domitem.h
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\DomItem.o DomItem.cpp
+
+debug/DomModel.o: DomModel.cpp domitem.h \
+		dommodel.h
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\DomModel.o DomModel.cpp
+
 debug/main.o: main.cpp mainwindow.h \
 		Document.h \
 		DomModel.h
@@ -160,32 +188,18 @@
 
 debug/mainwindow.o: mainwindow.cpp AtAGlance.h \
 		BuildStatus.h \
+		ui_BuildResults.h \
 		Document.h \
 		DomModel.h \
 		mainwindow.h \
 		ui_mainwindow.h
 	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\mainwindow.o mainwindow.cpp
 
-debug/Document.o: Document.cpp Document.h \
-		DomModel.h
-	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\Document.o Document.cpp
-
-debug/DomModel.o: DomModel.cpp domitem.h \
-		dommodel.h
-	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\DomModel.o DomModel.cpp
+debug/moc_AtAGlance.o: debug/moc_AtAGlance.cpp 
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\moc_AtAGlance.o debug\moc_AtAGlance.cpp
 
-debug/DomItem.o: DomItem.cpp domitem.h
-	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\DomItem.o DomItem.cpp
-
-debug/AtAGlance.o: AtAGlance.cpp AtAGlance.h \
-		BuildStatus.h
-	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\AtAGlance.o AtAGlance.cpp
-
-debug/BuildStatus.o: BuildStatus.cpp BuildStatus.h
-	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\BuildStatus.o BuildStatus.cpp
-
-debug/moc_mainwindow.o: debug/moc_mainwindow.cpp 
-	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\moc_mainwindow.o debug\moc_mainwindow.cpp
+debug/moc_BuildStatus.o: debug/moc_BuildStatus.cpp 
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\moc_BuildStatus.o debug\moc_BuildStatus.cpp
 
 debug/moc_Document.o: debug/moc_Document.cpp 
 	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\moc_Document.o debug\moc_Document.cpp
@@ -193,8 +207,8 @@
 debug/moc_DomModel.o: debug/moc_DomModel.cpp 
 	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\moc_DomModel.o debug\moc_DomModel.cpp
 
-debug/moc_AtAGlance.o: debug/moc_AtAGlance.cpp 
-	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\moc_AtAGlance.o debug\moc_AtAGlance.cpp
+debug/moc_mainwindow.o: debug/moc_mainwindow.cpp 
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\moc_mainwindow.o debug\moc_mainwindow.cpp
 
 ####### Install
 
--- a/BuildLogViewer/Makefile.Release	Thu Sep 03 16:31:30 2009 -0700
+++ b/BuildLogViewer/Makefile.Release	Wed Mar 24 14:05:38 2010 -0700
@@ -1,6 +1,6 @@
 #############################################################################
 # Makefile for building: BuildLogViewer
-# Generated by qmake (2.01a) (Qt 4.5.2) on: Thu Sep 3 07:51:16 2009
+# Generated by qmake (2.01a) (Qt 4.5.2) on: Mon Nov 16 10:00:07 2009
 # Project:  BuildLogViewer.pro
 # Template: app
 #############################################################################
@@ -12,7 +12,7 @@
 DEFINES       = -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN
 CFLAGS        = -O2 -Wall $(DEFINES)
 CXXFLAGS      = -O2 -frtti -fexceptions -mthreads -Wall $(DEFINES)
-INCPATH       = -I"..\..\..\Qt\2009.03\qt\include\QtCore" -I"..\..\..\Qt\2009.03\qt\include\QtGui" -I"..\..\..\Qt\2009.03\qt\include\QtXml" -I"..\..\..\Qt\2009.03\qt\include" -I"..\..\..\Qt\2009.03\qt\include\ActiveQt" -I"release" -I"." -I"..\..\..\Qt\2009.03\qt\mkspecs\win32-g++"
+INCPATH       = -I"..\..\..\Qt\2009.03\qt\include\QtCore" -I"..\..\..\Qt\2009.03\qt\include\QtGui" -I"..\..\..\Qt\2009.03\qt\include\QtXml" -I"..\..\..\Qt\2009.03\qt\include" -I"." -I"..\..\..\Qt\2009.03\qt\include\ActiveQt" -I"release" -I"." -I"..\..\..\Qt\2009.03\qt\mkspecs\win32-g++"
 LINK        =        g++
 LFLAGS        =        -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -mthreads -Wl -Wl,-subsystem,windows
 LIBS        =        -L"c:\Qt\2009.03\qt\lib" -lmingw32 -lqtmain -lQtXml4 -lQtGui4 -lQtCore4
@@ -40,27 +40,29 @@
 
 ####### Files
 
-SOURCES       = main.cpp \
-		mainwindow.cpp \
+SOURCES       = AtAGlance.cpp \
+		BuildStatus.cpp \
 		Document.cpp \
+		DomItem.cpp \
 		DomModel.cpp \
-		DomItem.cpp \
-		AtAGlance.cpp \
-		BuildStatus.cpp release\moc_mainwindow.cpp \
+		main.cpp \
+		mainwindow.cpp release\moc_AtAGlance.cpp \
+		release\moc_BuildStatus.cpp \
 		release\moc_Document.cpp \
 		release\moc_DomModel.cpp \
-		release\moc_AtAGlance.cpp
-OBJECTS       = release/main.o \
-		release/mainwindow.o \
+		release\moc_mainwindow.cpp
+OBJECTS       = release/AtAGlance.o \
+		release/BuildStatus.o \
 		release/Document.o \
+		release/DomItem.o \
 		release/DomModel.o \
-		release/DomItem.o \
-		release/AtAGlance.o \
-		release/BuildStatus.o \
-		release/moc_mainwindow.o \
+		release/main.o \
+		release/mainwindow.o \
+		release/moc_AtAGlance.o \
+		release/moc_BuildStatus.o \
 		release/moc_Document.o \
 		release/moc_DomModel.o \
-		release/moc_AtAGlance.o
+		release/moc_mainwindow.o
 DIST          = 
 QMAKE_TARGET  = BuildLogViewer
 DESTDIR        = release\ #avoid trailing-slash linebreak
@@ -88,7 +90,7 @@
 first: all
 all: Makefile.Release  $(DESTDIR_TARGET)
 
-$(DESTDIR_TARGET): ui_mainwindow.h $(OBJECTS) 
+$(DESTDIR_TARGET): ui_BuildResults.h ui_mainwindow.h $(OBJECTS) 
 	$(LINK) $(LFLAGS) -o $(DESTDIR_TARGET) object_script.BuildLogViewer.Release  $(LIBS)
 
 
@@ -99,7 +101,7 @@
 	$(ZIP) BuildLogViewer.zip $(SOURCES) $(DIST) BuildLogViewer.pro ..\..\..\Qt\2009.03\qt\mkspecs\qconfig.pri ..\..\..\Qt\2009.03\qt\mkspecs\features\qt_functions.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\qt_config.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\exclusive_builds.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\default_pre.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\win32\default_pre.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\release.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\debug_and_release.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\default_post.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\win32\default_post.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\build_pass.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\win32\rtti.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\win32\exceptions.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\win32\stl.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\shared.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\warn_on.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\qt.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\win32\thread.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\moc.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\win32\windows.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\resources.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\uic.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\yacc.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\lex.prf ..\..\..\Qt\2009.03\qt\mkspecs\features\include_source_dir.prf c:\Qt\2009.03\qt\lib\qtmain.prl  HEADERS RESOURCES IMAGES SOURCES OBJECTIVE_SOURCES FORMS YACCSOURCES YACCSOURCES LEXSOURCES 
 
 clean: compiler_clean 
-	-$(DEL_FILE) release\main.o release\mainwindow.o release\Document.o release\DomModel.o release\DomItem.o release\AtAGlance.o release\BuildStatus.o release\moc_mainwindow.o release\moc_Document.o release\moc_DomModel.o release\moc_AtAGlance.o
+	-$(DEL_FILE) release\AtAGlance.o release\BuildStatus.o release\Document.o release\DomItem.o release\DomModel.o release\main.o release\mainwindow.o release\moc_AtAGlance.o release\moc_BuildStatus.o release\moc_Document.o release\moc_DomModel.o release\moc_mainwindow.o
 
 distclean: clean
 	-$(DEL_FILE) $(DESTDIR_TARGET)
@@ -109,13 +111,16 @@
 
 mocables: compiler_moc_header_make_all compiler_moc_source_make_all
 
-compiler_moc_header_make_all: release/moc_mainwindow.cpp release/moc_Document.cpp release/moc_DomModel.cpp release/moc_AtAGlance.cpp
+compiler_moc_header_make_all: release/moc_AtAGlance.cpp release/moc_BuildStatus.cpp release/moc_Document.cpp release/moc_DomModel.cpp release/moc_mainwindow.cpp
 compiler_moc_header_clean:
-	-$(DEL_FILE) release\moc_mainwindow.cpp release\moc_Document.cpp release\moc_DomModel.cpp release\moc_AtAGlance.cpp
-release/moc_mainwindow.cpp: Document.h \
-		DomModel.h \
-		mainwindow.h
-	C:/Qt/2009.03/qt/bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 mainwindow.h -o release\moc_mainwindow.cpp
+	-$(DEL_FILE) release\moc_AtAGlance.cpp release\moc_BuildStatus.cpp release\moc_Document.cpp release\moc_DomModel.cpp release\moc_mainwindow.cpp
+release/moc_AtAGlance.cpp: BuildStatus.h \
+		ui_BuildResults.h \
+		AtAGlance.h
+	C:/Qt/2009.03/qt/bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 AtAGlance.h -o release\moc_AtAGlance.cpp
+
+release/moc_BuildStatus.cpp: BuildStatus.h
+	C:/Qt/2009.03/qt/bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 BuildStatus.h -o release\moc_BuildStatus.cpp
 
 release/moc_Document.cpp: DomModel.h \
 		Document.h
@@ -124,9 +129,10 @@
 release/moc_DomModel.cpp: DomModel.h
 	C:/Qt/2009.03/qt/bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DomModel.h -o release\moc_DomModel.cpp
 
-release/moc_AtAGlance.cpp: BuildStatus.h \
-		AtAGlance.h
-	C:/Qt/2009.03/qt/bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 AtAGlance.h -o release\moc_AtAGlance.cpp
+release/moc_mainwindow.cpp: Document.h \
+		DomModel.h \
+		mainwindow.h
+	C:/Qt/2009.03/qt/bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 mainwindow.h -o release\moc_mainwindow.cpp
 
 compiler_rcc_make_all:
 compiler_rcc_clean:
@@ -135,9 +141,12 @@
 	-$(DEL_FILE) qmake_image_collection.cpp
 compiler_moc_source_make_all:
 compiler_moc_source_clean:
-compiler_uic_make_all: ui_mainwindow.h
+compiler_uic_make_all: ui_BuildResults.h ui_mainwindow.h
 compiler_uic_clean:
-	-$(DEL_FILE) ui_mainwindow.h
+	-$(DEL_FILE) ui_BuildResults.h ui_mainwindow.h
+ui_BuildResults.h: BuildResults.ui
+	c:\Qt\2009.03\qt\bin\uic.exe BuildResults.ui -o ui_BuildResults.h
+
 ui_mainwindow.h: mainwindow.ui
 	c:\Qt\2009.03\qt\bin\uic.exe mainwindow.ui -o ui_mainwindow.h
 
@@ -153,6 +162,25 @@
 
 ####### Compile
 
+release/AtAGlance.o: AtAGlance.cpp AtAGlance.h \
+		BuildStatus.h \
+		ui_BuildResults.h
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\AtAGlance.o AtAGlance.cpp
+
+release/BuildStatus.o: BuildStatus.cpp BuildStatus.h
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\BuildStatus.o BuildStatus.cpp
+
+release/Document.o: Document.cpp Document.h \
+		DomModel.h
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\Document.o Document.cpp
+
+release/DomItem.o: DomItem.cpp domitem.h
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\DomItem.o DomItem.cpp
+
+release/DomModel.o: DomModel.cpp domitem.h \
+		dommodel.h
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\DomModel.o DomModel.cpp
+
 release/main.o: main.cpp mainwindow.h \
 		Document.h \
 		DomModel.h
@@ -160,32 +188,18 @@
 
 release/mainwindow.o: mainwindow.cpp AtAGlance.h \
 		BuildStatus.h \
+		ui_BuildResults.h \
 		Document.h \
 		DomModel.h \
 		mainwindow.h \
 		ui_mainwindow.h
 	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\mainwindow.o mainwindow.cpp
 
-release/Document.o: Document.cpp Document.h \
-		DomModel.h
-	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\Document.o Document.cpp
-
-release/DomModel.o: DomModel.cpp domitem.h \
-		dommodel.h
-	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\DomModel.o DomModel.cpp
+release/moc_AtAGlance.o: release/moc_AtAGlance.cpp 
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\moc_AtAGlance.o release\moc_AtAGlance.cpp
 
-release/DomItem.o: DomItem.cpp domitem.h
-	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\DomItem.o DomItem.cpp
-
-release/AtAGlance.o: AtAGlance.cpp AtAGlance.h \
-		BuildStatus.h
-	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\AtAGlance.o AtAGlance.cpp
-
-release/BuildStatus.o: BuildStatus.cpp BuildStatus.h
-	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\BuildStatus.o BuildStatus.cpp
-
-release/moc_mainwindow.o: release/moc_mainwindow.cpp 
-	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\moc_mainwindow.o release\moc_mainwindow.cpp
+release/moc_BuildStatus.o: release/moc_BuildStatus.cpp 
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\moc_BuildStatus.o release\moc_BuildStatus.cpp
 
 release/moc_Document.o: release/moc_Document.cpp 
 	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\moc_Document.o release\moc_Document.cpp
@@ -193,8 +207,8 @@
 release/moc_DomModel.o: release/moc_DomModel.cpp 
 	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\moc_DomModel.o release\moc_DomModel.cpp
 
-release/moc_AtAGlance.o: release/moc_AtAGlance.cpp 
-	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\moc_AtAGlance.o release\moc_AtAGlance.cpp
+release/moc_mainwindow.o: release/moc_mainwindow.cpp 
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o release\moc_mainwindow.o release\moc_mainwindow.cpp
 
 ####### Install
 
--- a/BuildLogViewer/mainwindow.cpp	Thu Sep 03 16:31:30 2009 -0700
+++ b/BuildLogViewer/mainwindow.cpp	Wed Mar 24 14:05:38 2010 -0700
@@ -52,7 +52,8 @@
     AtAGlance *aag = new AtAGlance(filename, this);
     workspace->addWindow(aag);
     aag->traveAndPopulate();
-    aag->decideOnLayout();
+    // obsolete using BuildResults.ui now.
+    // aag->decideOnLayout();
     aag->show();
  }
 
--- a/BuildLogViewer/ui_mainwindow.h	Thu Sep 03 16:31:30 2009 -0700
+++ b/BuildLogViewer/ui_mainwindow.h	Wed Mar 24 14:05:38 2010 -0700
@@ -1,7 +1,7 @@
 /********************************************************************************
 ** Form generated from reading ui file 'mainwindow.ui'
 **
-** Created: Tue Aug 25 13:31:25 2009
+** Created: Mon Nov 16 10:01:16 2009
 **      by: Qt User Interface Compiler version 4.5.2
 **
 ** WARNING! All changes made in this file will be lost when recompiling ui file!
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Seafood/Fishes.cpp	Wed Mar 24 14:05:38 2010 -0700
@@ -0,0 +1,106 @@
+
+#include <QDesktopServices>
+#include <QMessageBox>
+#include <QtGlobal>
+#include <QtSql>
+#include "Fishes.h"
+
+Fishes::Fishes(QObject *parent) : QObject(parent)
+{
+    QSqlDatabase db;
+
+    // Find QSLite driver
+    db = QSqlDatabase::addDatabase("QSQLITE");
+
+    QString dbFile = QDesktopServices::storageLocation(QDesktopServices::DataLocation)
+                     + '/'  // Qt Universal file separator
+                     + "seafood.db";
+    QFile f(dbFile);
+    std::string errString(dbFile.toStdString());
+    if (!f.exists()) {
+        qWarning("db not found ");
+    } else {
+        qWarning("found db ");
+        qWarning(dbFile.toStdString().c_str());
+    }
+    db.setDatabaseName(dbFile);
+
+    // Open databasee
+    if(!db.open())
+    {
+        std::string errCode =  db.lastError().databaseText().toStdString();
+
+        qWarning("DB: failed to open.");
+
+        this->bestFish << "Abalone (farmed)" << "Anchovy, European" << "Barramundi U.S."
+            << "Capelin, smelt roe (Iceland)" << "Catfish (U.S.)" << "Clam, softshell"
+            << "Clams (farmed)" << "Cod, AK (longline)" << "Crab, Dungeness"
+            << "Crab, stone" << "Mussels" << "Oysters (farmed)"
+            << "Sablefish/ Black Cod (Alaska, Canada)" << "Salmon, wild (Alaska)"
+            << "Sardines, Pacific (U.S.)" << "Shrimp, pink (Oregon)"
+            << "Trout, rainbow (farmed)" << "Tuna, albacore (U.S., Canada)";
+        this->okFish << "Clams (wild)" << "Cod, Pacific (trawl)" << "Crab, Snow"
+            << "Flounder/sole (Pacific)" << "Lobster, American/Maine" << "Scallops, sea (U.S., Canada)"
+            << "Shrimp (U.S. wild)" << "Squid" << "Tilapia (Latin America)"
+            << "Tuna, canned light";
+        this->worstFish << "Chilean sea bass" << "Grouper" << "Orange roughy"
+            << "Rockfish (trawl)" << "Salmon, farmed or Atlantic" << "Shark"
+            << "Swordfish (imported)" << "Tilefish (Gulf of Mexico/South Atlantic)"
+            << "Tuna, bigeye/yellowfin" << "Tuna, bluefin";
+    } else {
+        this->populate(EPresentBest);
+        this->populate(EPresentOK);
+        this->populate(EPresentWorst);
+    }
+}
+
+void Fishes::populate(TCATEGORIES cat)
+{
+    QSqlQuery query;
+
+    query.prepare("SELECT name FROM fish where category = :category ");
+    query.bindValue(":category",cat);
+
+    if (!query.exec())
+    {
+        QString errCode =  "failed to populate " + query.lastError().text();
+        qWarning(errCode.toStdString().c_str());
+        //qFatal("Failed to add fish.");
+    }
+
+    while (query.next()){
+        switch (cat)
+        {
+        case  EPresentBest:
+            this->bestFish << query.value(0).toString();
+            break;
+        case EPresentWorst:
+            this->worstFish << query.value(0).toString();
+            break;
+        case EPresentOK:
+            this->okFish << query.value(0).toString();
+            break;
+        default:
+            qWarning("this can't happen.");
+            break;
+        }
+    }
+
+}
+
+
+const QStringList Fishes::GetBest()
+{
+
+    return bestFish;
+}
+
+const QStringList Fishes::GetOK()
+{
+    return okFish;
+}
+
+const QStringList Fishes::GetWorst()
+{
+    return worstFish;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Seafood/Fishes.h	Wed Mar 24 14:05:38 2010 -0700
@@ -0,0 +1,26 @@
+#ifndef FISHES_H
+#define FISHES_H
+
+#include <QObject>
+#include <QStringList>
+
+class Fishes : public QObject
+{
+    Q_OBJECT
+public:
+    Fishes(QObject *parent=0);
+    enum TCATEGORIES {EPresentBest=0, EPresentOK, EPresentWorst};
+
+    const QStringList GetBest();
+    const QStringList GetOK();
+    const QStringList GetWorst();
+
+private:
+    void populate(TCATEGORIES cat);
+    QStringList bestFish;
+    QStringList okFish;
+    QStringList worstFish;
+    // QSqlDatabase db;
+};
+
+#endif // FISHES_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Seafood/SeafoodTabbed.pro	Wed Mar 24 14:05:38 2010 -0700
@@ -0,0 +1,23 @@
+#-------------------------------------------------
+#
+# Project created by QtCreator 2010-03-19T13:53:32
+#
+#-------------------------------------------------
+
+QT       += core gui sql svg
+
+TARGET = SeafoodTabbed
+TEMPLATE = app
+
+
+SOURCES += main.cpp\
+        mainwindow.cpp \
+    Fishes.cpp
+
+HEADERS  += mainwindow.h \
+    Fishes.h
+
+FORMS    += mainwindow.ui
+
+RESOURCES += \
+    SeafoodTabbed.qrc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Seafood/SeafoodTabbed.pro.user	Wed Mar 24 14:05:38 2010 -0700
@@ -0,0 +1,113 @@
+<!DOCTYPE QtCreatorProject>
+<qtcreator>
+ <data>
+  <variable>ProjectExplorer.Project.ActiveTarget</variable>
+  <value type="int">0</value>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.EditorSettings</variable>
+  <valuemap type="QVariantMap">
+   <value key="EditorConfiguration.Codec" type="QByteArray">System</value>
+  </valuemap>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.Target.0</variable>
+  <valuemap type="QVariantMap">
+   <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Desktop</value>
+   <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Target.DesktopTarget</value>
+   <value key="ProjectExplorer.Target.ActiveBuildConfiguration" type="int">0</value>
+   <value key="ProjectExplorer.Target.ActiveRunConfiguration" type="int">0</value>
+   <valuemap key="ProjectExplorer.Target.BuildConfiguration.0" type="QVariantMap">
+    <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.0" type="QVariantMap">
+     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">qmake</value>
+     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">QtProjectManager.QMakeBuildStep</value>
+     <valuelist key="QtProjectManager.QMakeBuildStep.QMakeArguments" type="QVariantList"/>
+    </valuemap>
+    <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.1" type="QVariantMap">
+     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Make</value>
+     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
+     <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">false</value>
+     <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList"/>
+     <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
+    </valuemap>
+    <value key="ProjectExplorer.BuildConfiguration.BuildStepsCount" type="int">2</value>
+    <valuemap key="ProjectExplorer.BuildConfiguration.CleanStep.0" type="QVariantMap">
+     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Make</value>
+     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
+     <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">true</value>
+     <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList">
+      <value type="QString">clean</value>
+     </valuelist>
+     <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
+    </valuemap>
+    <value key="ProjectExplorer.BuildConfiguration.CleanStepsCount" type="int">1</value>
+    <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Debug</value>
+    <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4BuildConfiguration</value>
+    <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration" type="int">2</value>
+    <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">C:\workspace\QtExamples\Seafood</value>
+    <value key="Qt4ProjectManager.Qt4BuildConfiguration.ClearSystemEnvironment" type="bool">false</value>
+    <value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">11</value>
+    <value key="Qt4ProjectManager.Qt4BuildConfiguration.ToolChain" type="int">2</value>
+    <value key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild" type="bool">false</value>
+    <valuelist key="Qt4ProjectManager.Qt4BuildConfiguration.UserEnvironmentChanges" type="QVariantList"/>
+   </valuemap>
+   <valuemap key="ProjectExplorer.Target.BuildConfiguration.1" type="QVariantMap">
+    <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.0" type="QVariantMap">
+     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">qmake</value>
+     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">QtProjectManager.QMakeBuildStep</value>
+     <valuelist key="QtProjectManager.QMakeBuildStep.QMakeArguments" type="QVariantList"/>
+    </valuemap>
+    <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.1" type="QVariantMap">
+     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Make</value>
+     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
+     <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">false</value>
+     <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList"/>
+     <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
+    </valuemap>
+    <value key="ProjectExplorer.BuildConfiguration.BuildStepsCount" type="int">2</value>
+    <valuemap key="ProjectExplorer.BuildConfiguration.CleanStep.0" type="QVariantMap">
+     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Make</value>
+     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
+     <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">true</value>
+     <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList">
+      <value type="QString">clean</value>
+     </valuelist>
+     <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
+    </valuemap>
+    <value key="ProjectExplorer.BuildConfiguration.CleanStepsCount" type="int">1</value>
+    <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Release</value>
+    <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4BuildConfiguration</value>
+    <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration" type="int">0</value>
+    <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString"></value>
+    <value key="Qt4ProjectManager.Qt4BuildConfiguration.ClearSystemEnvironment" type="bool">false</value>
+    <value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">11</value>
+    <value key="Qt4ProjectManager.Qt4BuildConfiguration.ToolChain" type="int">2</value>
+    <value key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild" type="bool">false</value>
+    <valuelist key="Qt4ProjectManager.Qt4BuildConfiguration.UserEnvironmentChanges" type="QVariantList"/>
+   </valuemap>
+   <value key="ProjectExplorer.Target.BuildConfigurationCount" type="int">2</value>
+   <valuemap key="ProjectExplorer.Target.RunConfiguration.0" type="QVariantMap">
+    <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">SeafoodTabbed</value>
+    <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4RunConfiguration</value>
+    <value key="Qt4ProjectManager.Qt4RunConfiguration.BaseEnvironmentBase" type="int">2</value>
+    <valuelist key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments" type="QVariantList"/>
+    <value key="Qt4ProjectManager.Qt4RunConfiguration.ProFile" type="QString">SeafoodTabbed.pro</value>
+    <value key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix" type="bool">false</value>
+    <value key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal" type="bool">false</value>
+    <valuelist key="Qt4ProjectManager.Qt4RunConfiguration.UserEnvironmentChanges" type="QVariantList"/>
+    <value key="Qt4ProjectManager.Qt4RunConfiguration.UserSetName" type="bool">false</value>
+    <value key="Qt4ProjectManager.Qt4RunConfiguration.UserSetWorkingDirectory" type="bool">false</value>
+    <value key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory" type="QString"></value>
+   </valuemap>
+   <value key="ProjectExplorer.Target.RunConfigurationCount" type="int">1</value>
+  </valuemap>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.TargetCount</variable>
+  <value type="int">1</value>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
+  <value type="int">2</value>
+ </data>
+</qtcreator>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Seafood/SeafoodTabbed.qrc	Wed Mar 24 14:05:38 2010 -0700
@@ -0,0 +1,5 @@
+<RCC>
+    <qresource prefix="/database">
+        <file>seafood.db</file>
+    </qresource>
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Seafood/main.cpp	Wed Mar 24 14:05:38 2010 -0700
@@ -0,0 +1,16 @@
+#include <QtGui/QApplication>
+#include "mainwindow.h"
+
+int main(int argc, char *argv[])
+{
+    QApplication a(argc, argv);
+    MainWindow w;
+    w.createMenus();
+    w.setWindowTitle("Seafood T");
+#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
+    w.showMaximized();
+#else
+    w.show();
+#endif
+    return a.exec();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Seafood/mainwindow.cpp	Wed Mar 24 14:05:38 2010 -0700
@@ -0,0 +1,87 @@
+#include <QFile>
+#include <QIcon>
+#include <QListWidget>
+#include <QMessageBox>
+#include <QTableWidget>
+#include <QDesktopServices>
+
+#include "Fishes.h"
+#include "mainwindow.h"
+#include "ui_mainwindow.h"
+
+
+MainWindow::MainWindow(QWidget *parent) :
+    QMainWindow(parent),
+    ui(new Ui::MainWindow)
+{
+    ui->setupUi(this);
+    Fishes *f = new Fishes();
+
+    this->tabWidget = new QTabWidget;
+    // QIcon icon = new QIcon(":/database/icons/weather-sunny.svg");
+    // this->tabWidget->setTabIcon(1, icon);
+
+    this->bestList = new QListWidget;
+    this->bestList->addItems(f->GetBest());
+    this->tabWidget->addTab(this->bestList, "best");
+
+    this->okList = new QListWidget;
+    this->okList->addItems(f->GetOK());
+    this->tabWidget->addTab(this->okList, "ok");
+
+    this->worstList = new QListWidget;
+    this->worstList->addItems(f->GetWorst());
+    this->tabWidget->addTab(this->worstList, "worst");
+    setCentralWidget(tabWidget);
+}
+
+MainWindow::~MainWindow()
+{
+    delete ui;
+}
+
+void MainWindow::createMenus()
+    {
+        nuAction = new QAction(tr("&Nutrition"),this);
+        menuBar()->addAction(nuAction);
+        connect(nuAction, SIGNAL(triggered()),this, SLOT(displayVersion()));
+
+        verAction = new QAction(tr("&Version"),this);
+        menuBar()->addAction(verAction);
+        connect(verAction, SIGNAL(triggered()),this, SLOT(displayVersion()));
+
+        exitAction = new QAction(tr("&Exit"),this);
+        menuBar()->addAction(exitAction);
+        connect(exitAction, SIGNAL(triggered()),this, SLOT(close()));
+    }
+
+void MainWindow::displayVersion()
+{
+    QMessageBox::information(this,"Qt Version", qVersion());
+}
+
+void MainWindow::displayPath()
+{
+    QString dbFile = QDesktopServices::storageLocation(QDesktopServices::DataLocation)
+                     + '/'  // Qt Universal file separator
+                     + "seafood.db";
+    QFile f(dbFile);
+    if (f.exists()) {
+        QMessageBox::information(this,"db not found ", dbFile);
+    } else {
+        QMessageBox::information(this,"found db @ ", dbFile);
+    }
+
+}
+
+void MainWindow::changeEvent(QEvent *e)
+{
+    QMainWindow::changeEvent(e);
+    switch (e->type()) {
+    case QEvent::LanguageChange:
+        ui->retranslateUi(this);
+        break;
+    default:
+        break;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Seafood/mainwindow.h	Wed Mar 24 14:05:38 2010 -0700
@@ -0,0 +1,40 @@
+#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
+
+#include <QMainWindow>
+
+class QTabWidget;
+class QListWidget;
+
+namespace Ui {
+    class MainWindow;
+}
+
+class MainWindow : public QMainWindow {
+    Q_OBJECT
+public:
+    explicit MainWindow(QWidget *parent = 0);
+    ~MainWindow();
+
+    void createMenus();
+
+public slots:
+    void displayVersion();
+    void displayPath();
+
+protected:
+    void changeEvent(QEvent *e);
+
+private:
+    Ui::MainWindow *ui;
+    QTabWidget *tabWidget;
+    QListWidget *bestList;
+    QListWidget *okList;
+    QListWidget *worstList;
+
+    QAction *nuAction;
+    QAction *verAction;
+    QAction *exitAction;
+};
+
+#endif // MAINWINDOW_H
Binary file Seafood/seafood.db has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Seafood/ui_mainwindow.h	Wed Mar 24 14:05:38 2010 -0700
@@ -0,0 +1,71 @@
+/********************************************************************************
+** Form generated from reading UI file 'mainwindow.ui'
+**
+** Created: Wed Mar 24 10:03:10 2010
+**      by: Qt User Interface Compiler version 4.6.2
+**
+** WARNING! All changes made in this file will be lost when recompiling UI file!
+********************************************************************************/
+
+#ifndef UI_MAINWINDOW_H
+#define UI_MAINWINDOW_H
+
+#include <QtCore/QVariant>
+#include <QtGui/QAction>
+#include <QtGui/QApplication>
+#include <QtGui/QButtonGroup>
+#include <QtGui/QHeaderView>
+#include <QtGui/QMainWindow>
+#include <QtGui/QMenuBar>
+#include <QtGui/QStatusBar>
+#include <QtGui/QToolBar>
+#include <QtGui/QWidget>
+
+QT_BEGIN_NAMESPACE
+
+class Ui_MainWindow
+{
+public:
+    QWidget *centralWidget;
+    QMenuBar *menuBar;
+    QToolBar *mainToolBar;
+    QStatusBar *statusBar;
+
+    void setupUi(QMainWindow *MainWindow)
+    {
+        if (MainWindow->objectName().isEmpty())
+            MainWindow->setObjectName(QString::fromUtf8("MainWindow"));
+        MainWindow->resize(361, 640);
+        centralWidget = new QWidget(MainWindow);
+        centralWidget->setObjectName(QString::fromUtf8("centralWidget"));
+        MainWindow->setCentralWidget(centralWidget);
+        menuBar = new QMenuBar(MainWindow);
+        menuBar->setObjectName(QString::fromUtf8("menuBar"));
+        menuBar->setGeometry(QRect(0, 0, 361, 20));
+        MainWindow->setMenuBar(menuBar);
+        mainToolBar = new QToolBar(MainWindow);
+        mainToolBar->setObjectName(QString::fromUtf8("mainToolBar"));
+        MainWindow->addToolBar(Qt::TopToolBarArea, mainToolBar);
+        statusBar = new QStatusBar(MainWindow);
+        statusBar->setObjectName(QString::fromUtf8("statusBar"));
+        MainWindow->setStatusBar(statusBar);
+
+        retranslateUi(MainWindow);
+
+        QMetaObject::connectSlotsByName(MainWindow);
+    } // setupUi
+
+    void retranslateUi(QMainWindow *MainWindow)
+    {
+        MainWindow->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", 0, QApplication::UnicodeUTF8));
+    } // retranslateUi
+
+};
+
+namespace Ui {
+    class MainWindow: public Ui_MainWindow {};
+} // namespace Ui
+
+QT_END_NAMESPACE
+
+#endif // UI_MAINWINDOW_H