Author: JirkaH Date: 2010-02-24 10:19:52 +0100 (Wed, 24 Feb 2010) New Revision: 1841 Modified: trunk/client/elvys-client/Makefile trunk/client/elvys-client/bin/appconfig.xml trunk/client/elvys-client/bin/appconfig.xml.static trunk/client/elvys-client/elvys-client.pro.user trunk/client/elvys-client/src/elvys.cpp trunk/client/elvys-client/src/elvys.h trunk/client/elvys-client/src/main.cpp trunk/client/elvys-client/src/statisticsdata.cpp Log: make sure statistical events are propagated when exiting Modified: trunk/client/elvys-client/Makefile =================================================================== --- trunk/client/elvys-client/Makefile 2010-02-24 01:45:49 UTC (rev 1840) +++ trunk/client/elvys-client/Makefile 2010-02-24 09:19:52 UTC (rev 1841) @@ -1,9 +1,9 @@ ############################################################################# # Makefile for building: elvys-client -# Generated by qmake (2.01a) (Qt 4.5.3) on: Wed Feb 17 09:52:32 2010 +# Generated by qmake (2.01a) (Qt 4.5.3) on: Tue Feb 23 20:39:27 2010 # Project: elvys-client.pro # Template: subdirs -# Command: /usr/bin/qmake -spec /usr/share/qt4/mkspecs/linux-g++ -unix CONFIG+=debug_and_release -o Makefile elvys-client.pro +# Command: /usr/bin/qmake -spec /usr/share/qt4/mkspecs/linux-g++ -unix CONFIG+=release -o Makefile elvys-client.pro ############################################################################# first: make_default @@ -29,10 +29,10 @@ src/$(MAKEFILE): @$(CHK_DIR_EXISTS) src/ || $(MKDIR) src/ - cd src/ && $(QMAKE) src.pro -spec /usr/share/qt4/mkspecs/linux-g++ -unix CONFIG+=debug_and_release -o $(MAKEFILE) + cd src/ && $(QMAKE) src.pro -spec /usr/share/qt4/mkspecs/linux-g++ -unix CONFIG+=release -o $(MAKEFILE) sub-src-qmake_all: FORCE @$(CHK_DIR_EXISTS) src/ || $(MKDIR) src/ - cd src/ && $(QMAKE) src.pro -spec /usr/share/qt4/mkspecs/linux-g++ -unix CONFIG+=debug_and_release -o $(MAKEFILE) + cd src/ && $(QMAKE) src.pro -spec /usr/share/qt4/mkspecs/linux-g++ -unix CONFIG+=release -o $(MAKEFILE) sub-src: src/$(MAKEFILE) FORCE cd src/ && $(MAKE) -f $(MAKEFILE) sub-src-make_default: src/$(MAKEFILE) FORCE @@ -58,8 +58,7 @@ /usr/share/qt4/mkspecs/features/qt_config.prf \ /usr/share/qt4/mkspecs/features/exclusive_builds.prf \ /usr/share/qt4/mkspecs/features/default_pre.prf \ - /usr/share/qt4/mkspecs/features/debug.prf \ - /usr/share/qt4/mkspecs/features/debug_and_release.prf \ + /usr/share/qt4/mkspecs/features/release.prf \ /usr/share/qt4/mkspecs/features/default_post.prf \ /usr/share/qt4/mkspecs/features/unix/thread.prf \ /usr/share/qt4/mkspecs/features/qt.prf \ @@ -70,7 +69,7 @@ /usr/share/qt4/mkspecs/features/yacc.prf \ /usr/share/qt4/mkspecs/features/lex.prf \ /usr/share/qt4/mkspecs/features/include_source_dir.prf - $(QMAKE) -spec /usr/share/qt4/mkspecs/linux-g++ -unix CONFIG+=debug_and_release -o Makefile elvys-client.pro + $(QMAKE) -spec /usr/share/qt4/mkspecs/linux-g++ -unix CONFIG+=release -o Makefile elvys-client.pro /usr/share/qt4/mkspecs/common/g++.conf: /usr/share/qt4/mkspecs/common/unix.conf: /usr/share/qt4/mkspecs/common/linux.conf: @@ -79,8 +78,7 @@ /usr/share/qt4/mkspecs/features/qt_config.prf: /usr/share/qt4/mkspecs/features/exclusive_builds.prf: /usr/share/qt4/mkspecs/features/default_pre.prf: -/usr/share/qt4/mkspecs/features/debug.prf: -/usr/share/qt4/mkspecs/features/debug_and_release.prf: +/usr/share/qt4/mkspecs/features/release.prf: /usr/share/qt4/mkspecs/features/default_post.prf: /usr/share/qt4/mkspecs/features/unix/thread.prf: /usr/share/qt4/mkspecs/features/qt.prf: @@ -92,7 +90,7 @@ /usr/share/qt4/mkspecs/features/lex.prf: /usr/share/qt4/mkspecs/features/include_source_dir.prf: qmake: qmake_all FORCE - @$(QMAKE) -spec /usr/share/qt4/mkspecs/linux-g++ -unix CONFIG+=debug_and_release -o Makefile elvys-client.pro + @$(QMAKE) -spec /usr/share/qt4/mkspecs/linux-g++ -unix CONFIG+=release -o Makefile elvys-client.pro qmake_all: sub-src-qmake_all FORCE @@ -105,14 +103,6 @@ install_subtargets: sub-src-install_subtargets FORCE uninstall_subtargets: sub-src-uninstall_subtargets FORCE -sub-src-sub_Debug: src/$(MAKEFILE) - cd src/ && $(MAKE) debug -debug: sub-src-sub_Debug - -sub-src-sub_Release: src/$(MAKEFILE) - cd src/ && $(MAKE) release -release: sub-src-sub_Release - mocclean: compiler_moc_header_clean compiler_moc_source_clean mocables: compiler_moc_header_make_all compiler_moc_source_make_all Modified: trunk/client/elvys-client/bin/appconfig.xml =================================================================== --- trunk/client/elvys-client/bin/appconfig.xml 2010-02-24 01:45:49 UTC (rev 1840) +++ trunk/client/elvys-client/bin/appconfig.xml 2010-02-24 09:19:52 UTC (rev 1841) @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <a:app_config elvysVersion="1.0-b1" xmlns:a="cz/elvys/jaxbgen/app"> - <a:machine_id>19</a:machine_id> + <a:machine_id>13</a:machine_id> <a:data_url> <a:http_address>http://elvys.farm.particle.cz/dataIntegrationNew/4</a:http_address> </a:data_url> Modified: trunk/client/elvys-client/bin/appconfig.xml.static =================================================================== --- trunk/client/elvys-client/bin/appconfig.xml.static 2010-02-24 01:45:49 UTC (rev 1840) +++ trunk/client/elvys-client/bin/appconfig.xml.static 2010-02-24 09:19:52 UTC (rev 1841) @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <app_config elvysVersion="1.0-b1"> - <machine_id>19</machine_id> + <machine_id>13</machine_id> <data_url> <http_address>http://elvys.farm.particle.cz/dataIntegration/4</http_address> </data_url> Modified: trunk/client/elvys-client/elvys-client.pro.user =================================================================== --- trunk/client/elvys-client/elvys-client.pro.user 2010-02-24 01:45:49 UTC (rev 1840) +++ trunk/client/elvys-client/elvys-client.pro.user 2010-02-24 09:19:52 UTC (rev 1841) @@ -6,7 +6,7 @@ </data> <data> <variable>RunConfiguration0-Executable</variable> - <value type="QString" >/home/keruom/elvys/branches/client/pdf-presentation-branch/elvys-client/bin/elvys-client</value> + <value type="QString" >/home/keruom/elvys/trunk/client/elvys-client/bin/elvys-client</value> </data> <data> <variable>RunConfiguration0-RunConfiguration.name</variable> @@ -30,7 +30,7 @@ </data> <data> <variable>RunConfiguration0-WorkingDirectory</variable> - <value type="QString" >/home/keruom/elvys/branches/client/pdf-presentation-branch/elvys-client/bin</value> + <value type="QString" >/home/keruom/elvys/trunk/client/elvys-client/bin/</value> </data> <data> <variable>RunConfiguration0-type</variable> @@ -52,7 +52,7 @@ <value key="ToolChain" type="int" >0</value> <value key="addQDumper" type="" ></value> <value key="buildConfiguration" type="int" >2</value> - <value key="buildDirectory" type="QString" >/home/keruom/elvys/branches/client/pdf-presentation-branch/elvys-client</value> + <value key="buildDirectory" type="QString" >/home/keruom/elvys/trunk/client/elvys-client</value> </valuemap> </data> <data> @@ -88,7 +88,7 @@ <value type="QString" >CONFIG_PROTECT=/usr/share/X11/xkb /var/lib/hsqldb /usr/share/config</value> <value type="QString" >CONFIG_PROTECT_MASK=/etc/sandbox.d /etc/env.d/java/ /etc/php/cli-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/udev/rules.d /etc/fonts/fonts.conf /etc/gconf /etc/terminfo /etc/ca-certificates.conf /etc/texmf/web2c /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/revdep-rebuild</value> <value type="QString" >CVS_RSH=ssh</value> - <value type="QString" >DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-A0hB8LLrnq,guid=2030e7ed54f71619069908f64b74ffdf</value> + <value type="QString" >DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-sGyA4WPq8u,guid=6187b8040a596a0e2810236f4b816c47</value> <value type="QString" >DESKTOP_SESSION=KDE-4</value> <value type="QString" >DESKTOP_STARTUP_ID=</value> <value type="QString" >DISPLAY=:0.0</value> @@ -127,7 +127,7 @@ <value type="QString" >QT_PLUGIN_PATH=/home/keruom/.kde4/lib/kde4/plugins/:/usr/lib/kde4/plugins/</value> <value type="QString" >RUBYOPT=-rauto_gem</value> <value type="QString" >R_HOME=/usr/lib/R</value> - <value type="QString" >SESSION_MANAGER=local/LenR61:@/tmp/.ICE-unix/6926,unix/LenR61:/tmp/.ICE-unix/6926</value> + <value type="QString" >SESSION_MANAGER=local/LenR61:@/tmp/.ICE-unix/6953,unix/LenR61:/tmp/.ICE-unix/6953</value> <value type="QString" >SGML_CATALOG_FILES=/etc/sgml/sgml-lite.cat:/etc/sgml/openjade-1.3.2.cat:/etc/sgml/dsssl-docbook-stylesheets.cat:/etc/sgml/sgml-docbook.cat:/etc/sgml/sgml-docbook-3.1.cat:/etc/sgml/sgml-ent.cat</value> <value type="QString" >SHELL=/bin/bash</value> <value type="QString" >SHLVL=1</value> @@ -138,21 +138,21 @@ <value type="QString" >XCURSOR_THEME=Oxygen_Black</value> <value type="QString" >XDG_CONFIG_DIRS=/etc/xdg</value> <value type="QString" >XDG_DATA_DIRS=/usr/share:/usr/local/share:/usr/share</value> - <value type="QString" >XDG_SESSION_COOKIE=d9adc4154425c11fe992e29e4870ae75-1265958879.158627-1510381767</value> + <value type="QString" >XDG_SESSION_COOKIE=d9adc4154425c11fe992e29e4870ae75-1266773062.893431-986904659</value> <value type="QString" >XDM_MANAGED=method=classic</value> <value type="QString" >_=/usr/bin/kdeinit4</value> </valuelist> <valuelist key="abstractProcess.arguments" type="QVariantList" > - <value type="QString" >/home/keruom/elvys/branches/client/pdf-presentation-branch/elvys-client/elvys-client.pro</value> + <value type="QString" >/home/keruom/elvys/trunk/client/elvys-client/elvys-client.pro</value> <value type="QString" >-spec</value> <value type="QString" >/usr/share/qt4/mkspecs/linux-g++</value> <value type="QString" >-r</value> - <value type="QString" >CONFIG+=debug_and_release</value> + <value type="QString" >CONFIG+=release</value> </valuelist> <value key="abstractProcess.command" type="QString" >/usr/bin/qmake</value> <value key="abstractProcess.enabled" type="bool" >false</value> - <value key="abstractProcess.workingDirectory" type="QString" >/home/keruom/elvys/branches/client/pdf-presentation-branch/elvys-client</value> - <value key="buildConfiguration" type="" ></value> + <value key="abstractProcess.workingDirectory" type="QString" >/home/keruom/elvys/trunk/client/elvys-client</value> + <value key="buildConfiguration" type="int" >0</value> </valuemap> </data> <data> @@ -165,7 +165,7 @@ <value type="QString" >CONFIG_PROTECT=/usr/share/X11/xkb /var/lib/hsqldb /usr/share/config</value> <value type="QString" >CONFIG_PROTECT_MASK=/etc/sandbox.d /etc/env.d/java/ /etc/php/cli-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/udev/rules.d /etc/fonts/fonts.conf /etc/gconf /etc/terminfo /etc/ca-certificates.conf /etc/texmf/web2c /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/revdep-rebuild</value> <value type="QString" >CVS_RSH=ssh</value> - <value type="QString" >DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-A0hB8LLrnq,guid=2030e7ed54f71619069908f64b74ffdf</value> + <value type="QString" >DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-sGyA4WPq8u,guid=6187b8040a596a0e2810236f4b816c47</value> <value type="QString" >DESKTOP_SESSION=KDE-4</value> <value type="QString" >DESKTOP_STARTUP_ID=</value> <value type="QString" >DISPLAY=:0.0</value> @@ -204,7 +204,7 @@ <value type="QString" >QT_PLUGIN_PATH=/home/keruom/.kde4/lib/kde4/plugins/:/usr/lib/kde4/plugins/</value> <value type="QString" >RUBYOPT=-rauto_gem</value> <value type="QString" >R_HOME=/usr/lib/R</value> - <value type="QString" >SESSION_MANAGER=local/LenR61:@/tmp/.ICE-unix/6926,unix/LenR61:/tmp/.ICE-unix/6926</value> + <value type="QString" >SESSION_MANAGER=local/LenR61:@/tmp/.ICE-unix/6953,unix/LenR61:/tmp/.ICE-unix/6953</value> <value type="QString" >SGML_CATALOG_FILES=/etc/sgml/sgml-lite.cat:/etc/sgml/openjade-1.3.2.cat:/etc/sgml/dsssl-docbook-stylesheets.cat:/etc/sgml/sgml-docbook.cat:/etc/sgml/sgml-docbook-3.1.cat:/etc/sgml/sgml-ent.cat</value> <value type="QString" >SHELL=/bin/bash</value> <value type="QString" >SHLVL=1</value> @@ -215,7 +215,7 @@ <value type="QString" >XCURSOR_THEME=Oxygen_Black</value> <value type="QString" >XDG_CONFIG_DIRS=/etc/xdg</value> <value type="QString" >XDG_DATA_DIRS=/usr/share:/usr/local/share:/usr/share</value> - <value type="QString" >XDG_SESSION_COOKIE=d9adc4154425c11fe992e29e4870ae75-1265958879.158627-1510381767</value> + <value type="QString" >XDG_SESSION_COOKIE=d9adc4154425c11fe992e29e4870ae75-1266773062.893431-986904659</value> <value type="QString" >XDM_MANAGED=method=classic</value> <value type="QString" >_=/usr/bin/kdeinit4</value> </valuelist> @@ -225,7 +225,7 @@ </valuelist> <value key="abstractProcess.command" type="QString" >/usr/bin/make</value> <value key="abstractProcess.enabled" type="bool" >true</value> - <value key="abstractProcess.workingDirectory" type="QString" >/home/keruom/elvys/branches/client/pdf-presentation-branch/elvys-client</value> + <value key="abstractProcess.workingDirectory" type="QString" >/home/keruom/elvys/trunk/client/elvys-client</value> </valuemap> </data> <data> @@ -263,7 +263,6 @@ <value type="QString" >KDE_SESSION_VERSION=4</value> <value type="QString" >LADSPA_PATH=/usr/lib/ladspa</value> <value type="QString" >LANG=en_US.UTF-8</value> - <value type="QString" >LANGUAGE=</value> <value type="QString" >LC_CTYPE=en_US.UTF-8</value> <value type="QString" >LESS=-R -M --shift 5</value> <value type="QString" >LESSOPEN=|lesspipe.sh %s</value> @@ -300,7 +299,7 @@ </valuelist> <value key="abstractProcess.command" type="QString" >/usr/bin/make</value> <value key="abstractProcess.enabled" type="bool" >true</value> - <value key="abstractProcess.workingDirectory" type="QString" >/home/keruom/elvys/branches/client/pdf-presentation-branch/elvys-client</value> + <value key="abstractProcess.workingDirectory" type="QString" >/home/keruom/elvys/trunk/client/elvys-client</value> <value key="cleanConfig" type="bool" >true</value> <valuelist key="makeargs" type="QVariantList" > <value type="QString" >clean</value> Modified: trunk/client/elvys-client/src/elvys.cpp =================================================================== --- trunk/client/elvys-client/src/elvys.cpp 2010-02-24 01:45:49 UTC (rev 1840) +++ trunk/client/elvys-client/src/elvys.cpp 2010-02-24 09:19:52 UTC (rev 1841) @@ -7,17 +7,37 @@ #include "serialcontrols.h" #include "categorymanager.h" -Elvys::~Elvys() { - //give documents some time to exit properly - to emit statistics related signals correctly +Elvys::~Elvys() { + cleanUpBeforeExit(); +} - delete catManager; - delete appMaint; - delete screenS; - sleep(1); - timer->stop(); - delete timer; - delete deleter; - delete timeStamper; + +void Elvys::cleanUpBeforeExit() { + if ( catManager != NULL) { + delete catManager; + catManager = NULL; + } + if ( appMaint != NULL ) { + delete appMaint; + appMaint = NULL; + } + if (screenS != NULL) { + delete screenS; + screenS = NULL; + } + if (timer != NULL) { + timer->stop(); + delete timer; + timer = NULL; + } + if (deleter != NULL) { + delete deleter; + deleter = NULL; + } + if (timeStamper != NULL) { + delete timeStamper; + timeStamper=NULL; + } } void Elvys::checkAvailableSpace() { @@ -30,7 +50,7 @@ } -Elvys::Elvys() { +Elvys::Elvys() { //qDebug() << "Creating elvys class..."; layout = new QVBoxLayout(); @@ -91,7 +111,8 @@ switch( event->key()) { case Qt::Key_Q: qDebug() << "Quit requested, closing"; - QApplication::exit(); + cleanUpBeforeExit(); + QCoreApplication::postEvent(QCoreApplication::instance(), new QCloseEvent()); break; default: event->ignore(); Modified: trunk/client/elvys-client/src/elvys.h =================================================================== --- trunk/client/elvys-client/src/elvys.h 2010-02-24 01:45:49 UTC (rev 1840) +++ trunk/client/elvys-client/src/elvys.h 2010-02-24 09:19:52 UTC (rev 1841) @@ -28,9 +28,11 @@ public slots: void checkAvailableSpace(); + void cleanUpBeforeExit(); protected: void keyPressEvent ( QKeyEvent * event ); + private: AppMaintainer * appMaint; CategoryManager * catManager; Modified: trunk/client/elvys-client/src/main.cpp =================================================================== --- trunk/client/elvys-client/src/main.cpp 2010-02-24 01:45:49 UTC (rev 1840) +++ trunk/client/elvys-client/src/main.cpp 2010-02-24 09:19:52 UTC (rev 1841) @@ -5,13 +5,11 @@ #include <QString> #include <QObject> #include <QList> -#include <QtGui/QMainWindow> #include <QPainter> #include <QTimer> #include <QPushButton> #include <QStyleFactory> #include <QPlastiqueStyle> -#include <QPrintDialog> #include <QObject> #include <XpdfRasterizer.h> #include <iostream> @@ -56,6 +54,8 @@ Elvys elvys; + QObject::connect(&app, SIGNAL(aboutToQuit()), &elvys, SLOT(cleanUpBeforeExit())); + QString style; QString fileName = QCoreApplication::applicationDirPath() + "/data/style.css"; QFile file(fileName); Modified: trunk/client/elvys-client/src/statisticsdata.cpp =================================================================== --- trunk/client/elvys-client/src/statisticsdata.cpp 2010-02-24 01:45:49 UTC (rev 1840) +++ trunk/client/elvys-client/src/statisticsdata.cpp 2010-02-24 09:19:52 UTC (rev 1841) @@ -164,6 +164,7 @@ } else if (e->subType() == ElvysNs::exhibitStartEvent) { exhibitStartHandler(docId, layoutId, posId, panelId, catId); } else if (e->subType() == ElvysNs::exhibitFinishedEvent) { + qDebug() << "finish event"; exhibitCompleteHandler(docId, layoutId, posId, panelId, catId); }