chronojump r456 - in trunk: . build/data chronojump_server chronojump_server/bin glade src src/execute src/gui src/sqlite



Author: xaviblas
Date: Mon Feb 16 12:25:24 2009
New Revision: 456
URL: http://svn.gnome.org/viewvc/chronojump?rev=456&view=rev

Log:
0.8.2.0
fixed speed show on run and runInterval at gui/eventExecute after an
update. Fixed speed shown on distanceVariable at execute/gui

done new server stats gui
"in server", "uploaded by you"
new src/gui/dialogServerStats.cs


Added:
   trunk/src/gui/dialogServerStats.cs
Modified:
   trunk/Makefile
   trunk/build/data/chronojump.prg
   trunk/build/data/chronojump_mini.prg
   trunk/build/data/version.txt
   trunk/changelog.txt
   trunk/chronojump_server/ChronojumpServer.cs
   trunk/chronojump_server/bin/chronojumpServer.dll
   trunk/chronojump_server/chronojumpServerCSharp.cs
   trunk/chronojump_server/howto_server_2009.txt
   trunk/glade/chronojump.glade
   trunk/src/execute/run.cs
   trunk/src/gui/chronojump.cs
   trunk/src/gui/eventExecute.cs
   trunk/src/server.cs
   trunk/src/sqlite/main.cs
   trunk/src/sqlite/server.cs
   trunk/src/util.cs
   trunk/version.txt

Modified: trunk/Makefile
==============================================================================
--- trunk/Makefile	(original)
+++ trunk/Makefile	Mon Feb 16 12:25:24 2009
@@ -33,7 +33,7 @@
 #--------Dependences of CHRONOJUMP
 
 
-CHRONOJUMP_DEP_GUI = src/gui/chronojump.cs src/gui/confirm.cs src/gui/error.cs src/gui/eventExecute.cs src/gui/eventGraphConfigure.cs src/gui/event.cs src/gui/jump.cs src/gui/jumpType.cs src/gui/run.cs src/gui/runType.cs src/gui/reactionTime.cs src/gui/pulse.cs src/gui/person.cs src/gui/preferences.cs src/gui/session.cs src/gui/stats.cs src/gui/report.cs src/gui/about.cs src/gui/helpPorts.cs src/gui/dialogMessage.cs src/gui/dialogCalendar.cs src/gui/dialogImageTest.cs src/gui/language.cs src/gui/repetitiveConditions.cs src/gui/chronopicConnection.cs src/gui/convertWeight.cs src/gui/genericWindow.cs src/gui/splash.cs src/gui/server.cs
+CHRONOJUMP_DEP_GUI = src/gui/chronojump.cs src/gui/confirm.cs src/gui/error.cs src/gui/eventExecute.cs src/gui/eventGraphConfigure.cs src/gui/event.cs src/gui/jump.cs src/gui/jumpType.cs src/gui/run.cs src/gui/runType.cs src/gui/reactionTime.cs src/gui/pulse.cs src/gui/person.cs src/gui/preferences.cs src/gui/session.cs src/gui/stats.cs src/gui/report.cs src/gui/about.cs src/gui/helpPorts.cs src/gui/dialogMessage.cs src/gui/dialogCalendar.cs src/gui/dialogImageTest.cs src/gui/language.cs src/gui/repetitiveConditions.cs src/gui/chronopicConnection.cs src/gui/convertWeight.cs src/gui/genericWindow.cs src/gui/splash.cs src/gui/server.cs src/gui/dialogServerStats.cs
 
 CHRONOJUMP_DEP_STATS = src/statType.cs src/stats/main.cs src/stats/global.cs src/stats/sjCmjAbk.cs src/stats/sjCmjAbkPlus.cs src/stats/djIndex.cs src/stats/djQ.cs src/stats/rjIndex.cs src/stats/rjPotencyBosco.cs src/stats/rjEvolution.cs src/stats/ieIub.cs src/stats/fv.cs src/stats/potency.cs src/stats/rjAVGSD.cs
 

Modified: trunk/build/data/chronojump.prg
==============================================================================
Binary files. No diff available.

Modified: trunk/build/data/chronojump_mini.prg
==============================================================================
Binary files. No diff available.

Modified: trunk/build/data/version.txt
==============================================================================
--- trunk/build/data/version.txt	(original)
+++ trunk/build/data/version.txt	Mon Feb 16 12:25:24 2009
@@ -1 +1 @@
-0.8.1.9
+0.8.2.0

Modified: trunk/changelog.txt
==============================================================================
--- trunk/changelog.txt	(original)
+++ trunk/changelog.txt	Mon Feb 16 12:25:24 2009
@@ -1,8 +1,6 @@
 TODO (sorted)
 
 1.- upload SEvaluator and edit it and re-upload
-2.- on stats show data updated by user on a window with columns:
-"in server", "uploaded by you"
 
 "questionnaire acabar
 cercar abstract google
@@ -14,15 +12,25 @@
 
 add a link to the server page
 
-develop web stats and survey on web site
+develop web stats and survey on web site. Maybe done by R script and calling
+to database
 
-all this will be release as 0.8.2 or 0.9
+all this will be release 0.9
 
 distancesString:
 -stats (graphs)
 
 do the ping gets real IP
+fer que el CanI tambéregunti per les stats
 
+16 feb 2009
+	0.8.2.0
+	fixed speed show on run and runInterval at gui/eventExecute after an
+	update. Fixed speed shown on distanceVariable at execute/gui
+
+	done new server stats gui
+	"in server", "uploaded by you"
+	new src/gui/dialogServerStats.cs
 
 6 feb 2009
 	0.8.1.9
@@ -47,7 +55,7 @@
 	-done treviewRunInterval speed avg ok
 	-fixed runInterval execute speedNow when finish is clicked
 	-eventExecuteWin works ok with distancesString except, 
-	TODO: top margin when showing speed
+	TODO: top margin when showing speed (done in 0.8.2.0)
 	
 	-fixed crash bug on recuperate jumpRj or runI (on a crash) that cannot
 	recuperate because connection is open

Modified: trunk/chronojump_server/ChronojumpServer.cs
==============================================================================
--- trunk/chronojump_server/ChronojumpServer.cs	(original)
+++ trunk/chronojump_server/ChronojumpServer.cs	Mon Feb 16 12:25:24 2009
@@ -232,18 +232,18 @@
 ///Stats
 ///</remarks>
     [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/Stats";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
-    public string Stats() {
+    public string[] Stats() {
         object[] results = this.Invoke("Stats", new object[0]);
-        return ((string)(results[0]));
+        return ((string[])(results[0]));
     }
     
     public System.IAsyncResult BeginStats(System.AsyncCallback callback, object asyncState) {
         return this.BeginInvoke("Stats", new object[0], callback, asyncState);
     }
     
-    public string EndStats(System.IAsyncResult asyncResult) {
+    public string[] EndStats(System.IAsyncResult asyncResult) {
         object[] results = this.EndInvoke(asyncResult);
-        return ((string)(results[0]));
+        return ((string[])(results[0]));
     }
     
     public void StatsAsync() {
@@ -1469,10 +1469,10 @@
         this.results = results;
     }
     
-    public string Result {
+    public string[] Result {
         get {
             this.RaiseExceptionIfNecessary();
-            return ((string)(this.results[0]));
+            return ((string[])(this.results[0]));
         }
     }
 }

Modified: trunk/chronojump_server/bin/chronojumpServer.dll
==============================================================================
Binary files. No diff available.

Modified: trunk/chronojump_server/chronojumpServerCSharp.cs
==============================================================================
--- trunk/chronojump_server/chronojumpServerCSharp.cs	(original)
+++ trunk/chronojump_server/chronojumpServerCSharp.cs	Mon Feb 16 12:25:24 2009
@@ -48,9 +48,9 @@
 
 
 	[WebMethod(Description="Stats")]
-	public string Stats()
+	public string [] Stats()
 	{
-		string stats = SqliteServer.Stats();
+		string [] stats = SqliteServer.Stats();
 
 		return stats;	
 	}

Modified: trunk/chronojump_server/howto_server_2009.txt
==============================================================================
--- trunk/chronojump_server/howto_server_2009.txt	(original)
+++ trunk/chronojump_server/howto_server_2009.txt	Mon Feb 16 12:25:24 2009
@@ -2,12 +2,18 @@
 1.- compile bin/*.dll file
 
 compiling with 'make server' creates the bin/chronojumpServer.dll
+
 upload to server
 
 2.- start server
 
 xsp2 --root /var/www/mono/ --verbose
 
+if(chronojumpServerCSharp.cs don't changed) {
+	go to (6.- compile client)
+}
+
+
 3.- navigate to the page
 
 firefox http://localhost:8080/chronojumpServer.asmx
@@ -22,6 +28,7 @@
 e) save as ChronojumpServer.cs
 
 5.- need to comment all the partial classes in ChronojumpServer.cs
+(search 'partial')
 
 6.- compile client
 

Modified: trunk/glade/chronojump.glade
==============================================================================
--- trunk/glade/chronojump.glade	(original)
+++ trunk/glade/chronojump.glade	Mon Feb 16 12:25:24 2009
@@ -23132,4 +23132,1070 @@
   </child>
 </widget>
 
+<widget class="GtkDialog" id="dialog_server_stats">
+  <property name="border_width">10</property>
+  <property name="visible">True</property>
+  <property name="title" translatable="yes">Server stats</property>
+  <property name="type">GTK_WINDOW_TOPLEVEL</property>
+  <property name="window_position">GTK_WIN_POS_NONE</property>
+  <property name="modal">True</property>
+  <property name="resizable">True</property>
+  <property name="destroy_with_parent">False</property>
+  <property name="decorated">True</property>
+  <property name="skip_taskbar_hint">False</property>
+  <property name="skip_pager_hint">False</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+  <property name="focus_on_map">True</property>
+  <property name="urgency_hint">False</property>
+  <property name="has_separator">True</property>
+  <signal name="delete_event" handler="on_delete_event" last_modification_time="Sat, 06 May 2006 23:54:39 GMT"/>
+
+  <child internal-child="vbox">
+    <widget class="GtkVBox" id="vbox151">
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">0</property>
+
+      <child internal-child="action_area">
+	<widget class="GtkHButtonBox" id="hbuttonbox44">
+	  <property name="visible">True</property>
+	  <property name="layout_style">GTK_BUTTONBOX_DEFAULT_STYLE</property>
+
+	  <child>
+	    <widget class="GtkButton" id="button24">
+	      <property name="visible">True</property>
+	      <property name="can_default">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="label">gtk-close</property>
+	      <property name="use_stock">True</property>
+	      <property name="relief">GTK_RELIEF_NORMAL</property>
+	      <property name="focus_on_click">True</property>
+	      <property name="response_id">-7</property>
+	      <signal name="clicked" handler="on_button_close_clicked" last_modification_time="Sat, 06 May 2006 23:54:19 GMT"/>
+	    </widget>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">True</property>
+	  <property name="pack_type">GTK_PACK_END</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkVBox" id="vbox152">
+	  <property name="visible">True</property>
+	  <property name="homogeneous">False</property>
+	  <property name="spacing">10</property>
+
+	  <child>
+	    <widget class="GtkHBox" id="hbox290">
+	      <property name="visible">True</property>
+	      <property name="homogeneous">False</property>
+	      <property name="spacing">8</property>
+
+	      <child>
+		<widget class="GtkLabel" id="label553">
+		  <property name="visible">True</property>
+		  <property name="label" translatable="yes">Evaluators</property>
+		  <property name="use_underline">False</property>
+		  <property name="use_markup">False</property>
+		  <property name="justify">GTK_JUSTIFY_LEFT</property>
+		  <property name="wrap">False</property>
+		  <property name="selectable">False</property>
+		  <property name="xalign">0.5</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xpad">0</property>
+		  <property name="ypad">0</property>
+		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		  <property name="width_chars">-1</property>
+		  <property name="single_line_mode">False</property>
+		  <property name="angle">0</property>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">False</property>
+		  <property name="fill">False</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkLabel" id="label_evaluators">
+		  <property name="visible">True</property>
+		  <property name="label" translatable="yes"></property>
+		  <property name="use_underline">False</property>
+		  <property name="use_markup">False</property>
+		  <property name="justify">GTK_JUSTIFY_LEFT</property>
+		  <property name="wrap">False</property>
+		  <property name="selectable">False</property>
+		  <property name="xalign">0.5</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xpad">0</property>
+		  <property name="ypad">0</property>
+		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		  <property name="width_chars">-1</property>
+		  <property name="single_line_mode">False</property>
+		  <property name="angle">0</property>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">False</property>
+		  <property name="fill">False</property>
+		</packing>
+	      </child>
+	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">True</property>
+	      <property name="fill">True</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkFrame" id="frame42">
+	      <property name="visible">True</property>
+	      <property name="label_xalign">0</property>
+	      <property name="label_yalign">0.5</property>
+	      <property name="shadow_type">GTK_SHADOW_ETCHED_OUT</property>
+
+	      <child>
+		<widget class="GtkAlignment" id="alignment127">
+		  <property name="visible">True</property>
+		  <property name="xalign">0.5</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xscale">1</property>
+		  <property name="yscale">1</property>
+		  <property name="top_padding">0</property>
+		  <property name="bottom_padding">0</property>
+		  <property name="left_padding">12</property>
+		  <property name="right_padding">0</property>
+
+		  <child>
+		    <widget class="GtkTable" id="table50">
+		      <property name="visible">True</property>
+		      <property name="n_rows">3</property>
+		      <property name="n_columns">3</property>
+		      <property name="homogeneous">True</property>
+		      <property name="row_spacing">6</property>
+		      <property name="column_spacing">8</property>
+
+		      <child>
+			<widget class="GtkLabel" id="label557">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">In server</property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">1</property>
+			  <property name="right_attach">2</property>
+			  <property name="top_attach">0</property>
+			  <property name="bottom_attach">1</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label558">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">Uploaded
+by you</property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">2</property>
+			  <property name="right_attach">3</property>
+			  <property name="top_attach">0</property>
+			  <property name="bottom_attach">1</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label559">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">Sessions</property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">0</property>
+			  <property name="right_attach">1</property>
+			  <property name="top_attach">1</property>
+			  <property name="bottom_attach">2</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label560">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">Persons</property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">0</property>
+			  <property name="right_attach">1</property>
+			  <property name="top_attach">2</property>
+			  <property name="bottom_attach">3</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label_sessions_server">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes"></property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">1</property>
+			  <property name="right_attach">2</property>
+			  <property name="top_attach">1</property>
+			  <property name="bottom_attach">2</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label_sessions_you">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes"></property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">2</property>
+			  <property name="right_attach">3</property>
+			  <property name="top_attach">1</property>
+			  <property name="bottom_attach">2</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label_persons_server">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes"></property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">1</property>
+			  <property name="right_attach">2</property>
+			  <property name="top_attach">2</property>
+			  <property name="bottom_attach">3</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label_persons_you">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes"></property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">2</property>
+			  <property name="right_attach">3</property>
+			  <property name="top_attach">2</property>
+			  <property name="bottom_attach">3</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+		    </widget>
+		  </child>
+		</widget>
+	      </child>
+
+	      <child>
+		<widget class="GtkLabel" id="label555">
+		  <property name="visible">True</property>
+		  <property name="label" translatable="yes">&lt;b&gt;General data&lt;/b&gt;</property>
+		  <property name="use_underline">False</property>
+		  <property name="use_markup">True</property>
+		  <property name="justify">GTK_JUSTIFY_LEFT</property>
+		  <property name="wrap">False</property>
+		  <property name="selectable">False</property>
+		  <property name="xalign">0.5</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xpad">0</property>
+		  <property name="ypad">0</property>
+		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		  <property name="width_chars">-1</property>
+		  <property name="single_line_mode">False</property>
+		  <property name="angle">0</property>
+		</widget>
+		<packing>
+		  <property name="type">label_item</property>
+		</packing>
+	      </child>
+	    </widget>
+	    <packing>
+	      <property name="padding">4</property>
+	      <property name="expand">True</property>
+	      <property name="fill">True</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkFrame" id="frame43">
+	      <property name="visible">True</property>
+	      <property name="label_xalign">0</property>
+	      <property name="label_yalign">0.5</property>
+	      <property name="shadow_type">GTK_SHADOW_ETCHED_OUT</property>
+
+	      <child>
+		<widget class="GtkAlignment" id="alignment128">
+		  <property name="visible">True</property>
+		  <property name="xalign">0.5</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xscale">1</property>
+		  <property name="yscale">1</property>
+		  <property name="top_padding">0</property>
+		  <property name="bottom_padding">0</property>
+		  <property name="left_padding">12</property>
+		  <property name="right_padding">0</property>
+
+		  <child>
+		    <widget class="GtkTable" id="table51">
+		      <property name="visible">True</property>
+		      <property name="n_rows">7</property>
+		      <property name="n_columns">3</property>
+		      <property name="homogeneous">False</property>
+		      <property name="row_spacing">6</property>
+		      <property name="column_spacing">8</property>
+
+		      <child>
+			<widget class="GtkLabel" id="label561">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">In server</property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">1</property>
+			  <property name="right_attach">2</property>
+			  <property name="top_attach">0</property>
+			  <property name="bottom_attach">1</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label562">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">Uploaded
+by you</property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">2</property>
+			  <property name="right_attach">3</property>
+			  <property name="top_attach">0</property>
+			  <property name="bottom_attach">1</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label563">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">Jumps</property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">0</property>
+			  <property name="right_attach">1</property>
+			  <property name="top_attach">1</property>
+			  <property name="bottom_attach">2</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label564">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">Reactive jumps</property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">0</property>
+			  <property name="right_attach">1</property>
+			  <property name="top_attach">2</property>
+			  <property name="bottom_attach">3</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label565">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">Runs</property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">0</property>
+			  <property name="right_attach">1</property>
+			  <property name="top_attach">3</property>
+			  <property name="bottom_attach">4</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label566">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">Intervallic runs</property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">0</property>
+			  <property name="right_attach">1</property>
+			  <property name="top_attach">4</property>
+			  <property name="bottom_attach">5</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label567">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">Reaction times</property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">0</property>
+			  <property name="right_attach">1</property>
+			  <property name="top_attach">5</property>
+			  <property name="bottom_attach">6</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label568">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">Pulses</property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">0</property>
+			  <property name="right_attach">1</property>
+			  <property name="top_attach">6</property>
+			  <property name="bottom_attach">7</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label_jumps_server">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes"></property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">1</property>
+			  <property name="right_attach">2</property>
+			  <property name="top_attach">1</property>
+			  <property name="bottom_attach">2</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label_jumps_you">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes"></property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">2</property>
+			  <property name="right_attach">3</property>
+			  <property name="top_attach">1</property>
+			  <property name="bottom_attach">2</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label_jumps_rj_server">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes"></property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">1</property>
+			  <property name="right_attach">2</property>
+			  <property name="top_attach">2</property>
+			  <property name="bottom_attach">3</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label_jumps_rj_you">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes"></property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">2</property>
+			  <property name="right_attach">3</property>
+			  <property name="top_attach">2</property>
+			  <property name="bottom_attach">3</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label_runs_server">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes"></property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">1</property>
+			  <property name="right_attach">2</property>
+			  <property name="top_attach">3</property>
+			  <property name="bottom_attach">4</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label_runs_you">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes"></property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">2</property>
+			  <property name="right_attach">3</property>
+			  <property name="top_attach">3</property>
+			  <property name="bottom_attach">4</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label_runs_i_server">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes"></property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">1</property>
+			  <property name="right_attach">2</property>
+			  <property name="top_attach">4</property>
+			  <property name="bottom_attach">5</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label_runs_i_you">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes"></property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">2</property>
+			  <property name="right_attach">3</property>
+			  <property name="top_attach">4</property>
+			  <property name="bottom_attach">5</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label_rt_server">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes"></property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">1</property>
+			  <property name="right_attach">2</property>
+			  <property name="top_attach">5</property>
+			  <property name="bottom_attach">6</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label_rt_you">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes"></property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">2</property>
+			  <property name="right_attach">3</property>
+			  <property name="top_attach">5</property>
+			  <property name="bottom_attach">6</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label_pulses_server">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes"></property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">1</property>
+			  <property name="right_attach">2</property>
+			  <property name="top_attach">6</property>
+			  <property name="bottom_attach">7</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkLabel" id="label_pulses_you">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes"></property>
+			  <property name="use_underline">False</property>
+			  <property name="use_markup">False</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="wrap">False</property>
+			  <property name="selectable">False</property>
+			  <property name="xalign">0</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			  <property name="width_chars">-1</property>
+			  <property name="single_line_mode">False</property>
+			  <property name="angle">0</property>
+			</widget>
+			<packing>
+			  <property name="left_attach">2</property>
+			  <property name="right_attach">3</property>
+			  <property name="top_attach">6</property>
+			  <property name="bottom_attach">7</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
+		    </widget>
+		  </child>
+		</widget>
+	      </child>
+
+	      <child>
+		<widget class="GtkLabel" id="label556">
+		  <property name="visible">True</property>
+		  <property name="label" translatable="yes">&lt;b&gt;Tests&lt;/b&gt;</property>
+		  <property name="use_underline">False</property>
+		  <property name="use_markup">True</property>
+		  <property name="justify">GTK_JUSTIFY_LEFT</property>
+		  <property name="wrap">False</property>
+		  <property name="selectable">False</property>
+		  <property name="xalign">0.5</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xpad">0</property>
+		  <property name="ypad">0</property>
+		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+		  <property name="width_chars">-1</property>
+		  <property name="single_line_mode">False</property>
+		  <property name="angle">0</property>
+		</widget>
+		<packing>
+		  <property name="type">label_item</property>
+		</packing>
+	      </child>
+	    </widget>
+	    <packing>
+	      <property name="padding">4</property>
+	      <property name="expand">True</property>
+	      <property name="fill">True</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="label_date">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes"></property>
+	      <property name="use_underline">False</property>
+	      <property name="use_markup">False</property>
+	      <property name="justify">GTK_JUSTIFY_LEFT</property>
+	      <property name="wrap">False</property>
+	      <property name="selectable">False</property>
+	      <property name="xalign">0.5</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xpad">0</property>
+	      <property name="ypad">0</property>
+	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+	      <property name="width_chars">-1</property>
+	      <property name="single_line_mode">False</property>
+	      <property name="angle">0</property>
+	    </widget>
+	    <packing>
+	      <property name="padding">0</property>
+	      <property name="expand">False</property>
+	      <property name="fill">False</property>
+	    </packing>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">True</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
 </glade-interface>

Modified: trunk/src/execute/run.cs
==============================================================================
--- trunk/src/execute/run.cs	(original)
+++ trunk/src/execute/run.cs	Mon Feb 16 12:25:24 2009
@@ -687,7 +687,6 @@
 
 	private void updateTimerCountWithChronopicData(string timesString) {
 		//update timerCount, with the chronopic data
-		//Log.WriteLine("///I timerCount: {0} tcString+tvString: {1} ///", timerCount, Util.GetTotalTime(tcString) + Util.GetTotalTime(tvString));
 		timerCount =  Util.GetTotalTime(timesString);
 	}
 				

Modified: trunk/src/gui/chronojump.cs
==============================================================================
--- trunk/src/gui/chronojump.cs	(original)
+++ trunk/src/gui/chronojump.cs	Mon Feb 16 12:25:24 2009
@@ -922,11 +922,14 @@
 		try {
 			ChronojumpServer myServer = new ChronojumpServer();
 			Log.WriteLine(myServer.ConnectDatabase());
-			string stats = myServer.Stats();
+			
+			string [] statsServer = myServer.Stats();
+			
 			Log.WriteLine(myServer.DisConnectDatabase());
 
-			new DialogMessage(Constants.MessageTypes.INFO, "Stats in server:\n" + 
-					stats + "\n" + Util.DateParse(DateTime.Now.ToString()));
+			string [] statsMine = SqliteServer.StatsMine();
+
+			new DialogServerStats(statsServer, statsMine);
 		} catch {
 			new DialogMessage(Constants.MessageTypes.WARNING, Constants.ServerOffline);
 		}
@@ -3022,6 +3025,7 @@
 		
 		if ( ! currentEventExecute.Cancel ) {
 			currentRun = (Run) currentEventExecute.EventDone;
+			currentRun.MetersSecondsPreferred = metersSecondsPreferred;
 
 			myTreeViewRuns.Add(currentPerson.Name, currentRun);
 			
@@ -3215,6 +3219,7 @@
 		
 		if ( ! currentEventExecute.Cancel ) {
 			currentRunInterval = (RunInterval) currentEventExecute.EventDone;
+			currentRunInterval.MetersSecondsPreferred = metersSecondsPreferred;
 
 			//if user clicked in finish earlier
 			if(currentEventExecute.Finish) {

Added: trunk/src/gui/dialogServerStats.cs
==============================================================================
--- (empty file)
+++ trunk/src/gui/dialogServerStats.cs	Mon Feb 16 12:25:24 2009
@@ -0,0 +1,142 @@
+/*
+ * This file is part of ChronoJump
+ *
+ * ChronoJump is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or   
+ *    (at your option) any later version.
+ *    
+ * ChronoJump is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
+ *    GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * Xavier de Blas: 
+ */
+
+using System;
+using Gtk;
+using Gdk;
+using Glade;
+
+public class DialogServerStats
+{
+	[Widget] Gtk.Dialog dialog_server_stats;
+
+	[Widget] Gtk.Label label_evaluators;
+	
+	[Widget] Gtk.Label label_sessions_server;
+	[Widget] Gtk.Label label_sessions_you;
+	
+	[Widget] Gtk.Label label_persons_server;
+	[Widget] Gtk.Label label_persons_you;
+	
+	[Widget] Gtk.Label label_jumps_server;
+	[Widget] Gtk.Label label_jumps_you;
+	[Widget] Gtk.Label label_jumps_rj_server;
+	[Widget] Gtk.Label label_jumps_rj_you;
+	[Widget] Gtk.Label label_runs_server;
+	[Widget] Gtk.Label label_runs_you;
+	[Widget] Gtk.Label label_runs_i_server;
+	[Widget] Gtk.Label label_runs_i_you;
+	[Widget] Gtk.Label label_rt_server;
+	[Widget] Gtk.Label label_rt_you;
+	[Widget] Gtk.Label label_pulses_server;
+	[Widget] Gtk.Label label_pulses_you;
+
+	[Widget] Gtk.Label label_date;
+
+	public DialogServerStats (string [] statsServer, string [] statsMine)
+	{
+		Glade.XML gladeXML;
+		gladeXML = Glade.XML.FromAssembly (Util.GetGladePath() + "chronojump.glade", "dialog_server_stats", null);
+		gladeXML.Autoconnect(this);
+		
+		//put an icon to window
+		UtilGtk.IconWindow(dialog_server_stats);
+
+		foreach(string strWithText in statsServer) {
+			string [] s = strWithText.Split(new char[] {':'});
+			switch (s[0]) {
+				case "Evaluators":
+					label_evaluators.Text = s[1];
+				break;
+				case "Sessions":
+					label_sessions_server.Text 	= s[1];
+				break;
+				case "Persons":
+					label_persons_server.Text 	= s[1];
+				break;
+				case "Jumps":
+					label_jumps_server.Text 	= s[1];
+				break;
+				case "JumpsRj":
+					label_jumps_rj_server.Text 	= s[1];
+				break;
+				case "Runs":
+					label_runs_server.Text 		= s[1];
+				break;
+				case "RunsInterval":
+					label_runs_i_server.Text 	= s[1];
+				break;
+				case "ReactionTimes":
+					label_rt_server.Text 		= s[1];
+				break;
+				case "Pulses":
+					label_pulses_server.Text 	= s[1];
+				break;
+				default:
+					//do nothing
+				break;
+			}
+		}
+
+		foreach(string strWithText in statsMine) {
+			string [] s = strWithText.Split(new char[] {':'});
+			switch (s[0]) {
+				case "Sessions":
+					label_sessions_you.Text = s[1];
+				break;
+				case "Persons":
+					label_persons_you.Text 	= s[1];
+				break;
+				case "Jumps":
+					label_jumps_you.Text 	= s[1];
+				break;
+				case "JumpsRj":
+					label_jumps_rj_you.Text = s[1];
+				break;
+				case "Runs":
+					label_runs_you.Text 	= s[1];
+				break;
+				case "RunsInterval":
+					label_runs_i_you.Text 	= s[1];
+				break;
+				case "ReactionTimes":
+					label_rt_you.Text 	= s[1];
+				break;
+				case "Pulses":
+					label_pulses_you.Text 	= s[1];
+				break;
+				default:
+					//do nothing
+				break;
+			}
+		}
+		
+		label_date.Text = Util.DateParse(DateTime.Now.ToString());
+	}
+
+
+	public void on_button_close_clicked (object obj, EventArgs args) {
+		dialog_server_stats.Destroy ();
+	}
+
+	private void on_delete_event (object o, DeleteEventArgs args) {
+		dialog_server_stats.Destroy ();
+	}
+}

Modified: trunk/src/gui/eventExecute.cs
==============================================================================
--- trunk/src/gui/eventExecute.cs	(original)
+++ trunk/src/gui/eventExecute.cs	Mon Feb 16 12:25:24 2009
@@ -458,22 +458,15 @@
 
 	public void on_drawingarea_configure_event(object o, ConfigureEventArgs args)
 	{
-		Log.Write("A");
 		Gdk.EventConfigure ev = args.Event;
 		Gdk.Window window = ev.Window;
 	
 
-		Log.Write("B1");
-		
 		Gdk.Rectangle allocation = drawingarea.Allocation;
 		
-		Log.Write("B2");
-	
 		if(pixmap == null) {
 			pixmap = new Gdk.Pixmap (window, allocation.Width, allocation.Height, -1);
 		
-			Log.Write("B3");
-		
 			erasePaint(drawingarea);
 			
 			graphProgress = phasesGraph.DOING; 
@@ -486,40 +479,27 @@
 		 * Do here the initialization
 		 */
 		
-		Log.Write("C");
-		
 		if(pixmap == null) {
-			Log.Write("T1");
-			
 			Gdk.Rectangle allocation = drawingarea.Allocation;
 			pixmap = new Gdk.Pixmap (drawingarea.GdkWindow, allocation.Width, allocation.Height, -1);
 			erasePaint(drawingarea);
 
-			Log.Write("T2");
-		
 			graphProgress = phasesGraph.DOING; 
 		}
 
 			
-		Log.Write("D");
-		
 		Gdk.Rectangle area = args.Event.Area;
 
-		Log.Write("E1");
-
 		//sometimes this is called when pait is finished
 		//don't let this erase win
 		//if(graphProgress != phasesGraph.DONE) {
 		if(pixmap != null) {
-			Log.Write("E2");
-
 			args.Event.Window.DrawDrawable(drawingarea.Style.WhiteGC, pixmap,
 				area.X, area.Y,
 				area.X, area.Y,
 				area.Width, area.Height);
 		}
 		
-		Log.Write("E3");
 	}
 
 
@@ -541,8 +521,6 @@
 			eventGraphConfigureWin = EventGraphConfigureWindow.Show(false);
 
 		
-		Log.Write("k1");
-		
 		//obtain data
 		double tvPersonAVG = SqliteSession.SelectAllEventsOfAType(sessionID, personID, tableName, eventType, "TV");
 		double tvSessionAVG = SqliteSession.SelectAllEventsOfAType(sessionID, -1, tableName, eventType, "TV");
@@ -586,12 +564,8 @@
 		//printLabels
 		printLabelsJumpSimple (tv, tvPersonAVG, tvSessionAVG, tc, tcPersonAVG, tcSessionAVG);
 		
-		Log.Write("k2");
-	
 		// -- refresh
 		drawingarea.QueueDraw();
-	
-		Log.Write("k3");
 		
 	}
 	
@@ -603,8 +577,6 @@
 		if(eventGraphConfigureWin == null)
 			eventGraphConfigureWin = EventGraphConfigureWindow.Show(false);
 
-		Log.Write("l1");
-
 		//search MAX
 		double maxValue = 0;
 		int topMargin = 10;
@@ -635,12 +607,8 @@
 				bestOrWorstTvTcIndex(true, tvString, tcString), bestOrWorstTvTcIndex(false, tvString, tcString), 
 				volumeOn, repetitiveConditionsWin);
 		
-		Log.Write("l2");
-	
 		// -- refresh
 		drawingarea.QueueDraw();
-		
-		Log.Write("l3");
 	}
 	
 	//identify which subjump is the best or the worst in tv/tc index	
@@ -688,8 +656,6 @@
 			eventGraphConfigureWin = EventGraphConfigureWindow.Show(false);
 
 		
-		Log.Write("k1");
-			
 		bool paintTime = false; //paint speed
 		if(eventGraphConfigureWin.RunsTimeActive) 
 			paintTime = true;
@@ -745,12 +711,8 @@
 		//printLabels
 		printLabelsRunSimple (time, timePersonAVG, timeSessionAVG, speed, speedPersonAVG, speedSessionAVG);
 		
-		Log.Write("k2");
-		
 		// -- refresh
 		drawingarea.QueueDraw();
-		
-		Log.Write("k3");
 	}
 	
 	// run interval
@@ -762,8 +724,6 @@
 		if(eventGraphConfigureWin == null)
 			eventGraphConfigureWin = EventGraphConfigureWindow.Show(false);
 
-		Log.Write("l1");
-			
 		bool paintTime = false; //paint speed
 		if(eventGraphConfigureWin.RunsTimeActive) 
 			paintTime = true;
@@ -813,12 +773,8 @@
 				Util.GetPosMax(timesString), Util.GetPosMin(timesString),
 				volumeOn, repetitiveConditionsWin);
 		
-		Log.Write("l2");
-		
 		// -- refresh
 		drawingarea.QueueDraw();
-		
-		Log.Write("l3");
 	}
 
 
@@ -829,8 +785,6 @@
 		if(eventGraphConfigureWin == null)
 			eventGraphConfigureWin = EventGraphConfigureWindow.Show(false);
 
-		Log.Write("l1");
-
 		//search MAX 
 		double maxValue = 0;
 		int topMargin = 10;
@@ -858,12 +812,8 @@
 		//paint graph
 		paintPulse (drawingarea, lastTime, timesString, Util.GetAverage(timesString), pulses, maxValue, minValue, topMargin, bottomMargin);
 		
-		Log.Write("l2");
-		
 		// -- refresh
 		drawingarea.QueueDraw();
-		
-		Log.Write("l3");
 	}
 	
 	public void PrepareReactionTimeGraph(double time) 
@@ -874,8 +824,6 @@
 			eventGraphConfigureWin = EventGraphConfigureWindow.Show(false);
 
 		
-		Log.Write("k1");
-		
 		//obtain data
 		double timePersonAVG = SqliteSession.SelectAllEventsOfAType(sessionID, personID, tableName, eventType, "time");
 		double timeSessionAVG = SqliteSession.SelectAllEventsOfAType(sessionID, -1, tableName, eventType, "time");
@@ -908,12 +856,8 @@
 
 		printLabelsReactionTime (time, timePersonAVG, timeSessionAVG);
 		
-		Log.Write("k2");
-	
 		// -- refresh
 		drawingarea.QueueDraw();
-	
-		Log.Write("k3");
 	}
 	
 
@@ -959,16 +903,10 @@
 		int alto=drawingarea.Allocation.Height;
 		
 		
-		Log.Write(" paint1 ");
-		
 		erasePaint(drawingarea);
 		
-		Log.Write(" paint2 ");
-	
 		writeMarginsText(maxValue, minValue, alto);
 		
-		Log.Write(" paint7 ");
-	
 		//check now here that we will have not division by zero problems
 		if(maxValue - minValue > 0) {
 			//red for TC
@@ -1003,8 +941,6 @@
 		
 	
 		
-		Log.Write(" paint2 ");
-
 		graphProgress = phasesGraph.DONE; 
 	}
 
@@ -1015,14 +951,10 @@
 		int alto=drawingarea.Allocation.Height;
 		
 		
-		Log.Write(" paint1 ");
-		
 		erasePaint(drawingarea);
 		
 		writeMarginsText(maxValue, minValue, alto);
 		
-		Log.Write(" paint7 ");
-	
 		//check now here that we will have not division by zero problems
 		if(maxValue - minValue > 0) {
 			pixmap.DrawLine(myPen, ancho*1/6 , alto, ancho*1/6 , calculatePaintHeight(now, alto, maxValue, minValue, topMargin, bottomMargin));
@@ -1044,8 +976,6 @@
 		
 	
 		
-		Log.Write(" paint2 ");
-
 		graphProgress = phasesGraph.DONE; 
 	}
 
@@ -1058,9 +988,7 @@
 		//int topMargin = 10; 
 		int ancho=drawingarea.Allocation.Width;
 		int alto=drawingarea.Allocation.Height;
-		
-		
-		Log.Write(" paint1 reactive 1");
+
 		
 		erasePaint(drawingarea);
 		
@@ -1197,8 +1125,6 @@
 				image_jump_reactive_tf_tc_bad.Show();
 		}
 
-		Log.Write(" paint reactive 2 ");
-
 		label_jump_reactive_tc_now.Text = Util.TrimDecimals(lastTc.ToString(), pDN);
 		label_jump_reactive_tc_avg.Text = Util.TrimDecimals(avgTC.ToString(), pDN);
 		label_jump_reactive_tf_now.Text = Util.TrimDecimals(lastTv.ToString(), pDN);
@@ -1225,8 +1151,6 @@
 		int alto=drawingarea.Allocation.Height;
 		
 		
-		Log.Write(" paint1 run interval 1");
-		
 		erasePaint(drawingarea);
 		
 		writeMarginsText(maxValue, minValue, alto);
@@ -1322,8 +1246,6 @@
 			}
 		}
 		
-		Log.Write(" paint interval 2 ");
-
 		label_run_interval_time_now.Text = Util.TrimDecimals(lastTime.ToString(), pDN);
 		label_run_interval_time_avg.Text = Util.TrimDecimals(avgTime.ToString(), pDN);
 		label_run_interval_speed_now.Text = Util.TrimDecimals((distance / lastTime).ToString(), pDN);
@@ -1339,8 +1261,6 @@
 		int alto=drawingarea.Allocation.Height;
 		
 		
-		Log.Write(" paint1 pulse 1");
-		
 		erasePaint(drawingarea);
 		
 		writeMarginsText(maxValue, minValue, alto);
@@ -1385,8 +1305,6 @@
 
 		}
 		
-		Log.Write(" paint pulse 2 ");
-
 		label_pulse_now.Text = Util.TrimDecimals(lastTime.ToString(), pDN);
 		label_pulse_avg.Text = Util.TrimDecimals(avgTime.ToString(), pDN);
 		
@@ -1429,26 +1347,13 @@
 	}
 
 	private void writeMarginsText(double maxValue, double minValue, int alto) {
-		
-		Log.WriteLine(string.Format("(ini) PIXMAP: {0}, LAYOUT: {1}", pixmap, layout));
-		Log.Write(" margin0 ");
 		//write margins textual data
 		layout.SetMarkup((Math.Round(maxValue, 3)).ToString());
 		pixmap.DrawLayout (pen_gris, 0, 0, layout);
 		//pixmap.DrawLayout (pen_gris, 0, 3, layout); //y to 3 (not 0) probably this solves rando Pango problems where this is not written and interface gets "clumsy"
-		Log.Write(" margin1 ");
 		layout.SetMarkup((Math.Round(minValue, 3)).ToString());
 		pixmap.DrawLayout (pen_gris, 0, alto -10, layout); //don't search Y using alto - bottomMargin, because bottomMargin can be 0, 
 									//and text goes down from the baseline, and will not be seen
-		Log.Write(" margin2 ");
-		
-		/*
-		//see if refresh helps in the hanging observed
-		// -- refresh
-		drawingarea.QueueDraw();
-		*/
-		Log.Write(" margin3 ");
-		Log.WriteLine(string.Format("(end) PIXMAP: {0}, LAYOUT: {1}", pixmap, layout));
 	}
 		
 			
@@ -1515,7 +1420,6 @@
 				else if(myFraction < 0)
 					myFraction = 0;
 
-				//Log.Write("{0}-{1}", limit, myFraction);
 				progressbar.Fraction = myFraction;
 				//progressbar.Text = Util.TrimDecimals(events.ToString(), 1) + " / " + limit.ToString();
 				if(events == -1) //we don't want to display nothing

Modified: trunk/src/server.cs
==============================================================================
--- trunk/src/server.cs	(original)
+++ trunk/src/server.cs	Mon Feb 16 12:25:24 2009
@@ -135,7 +135,7 @@
 
 			//update progressBar
 			sessionUploadWin.UpdateProgressbar(
-					Util.DivideSafe(++countPersons, progressBarPersonsNum));
+					Util.DivideSafeFraction(++countPersons, progressBarPersonsNum));
 
 			//fill data
 			sessionUploadWin.FillData(sessionUploadPersonData);

Modified: trunk/src/sqlite/main.cs
==============================================================================
--- trunk/src/sqlite/main.cs	(original)
+++ trunk/src/sqlite/main.cs	Mon Feb 16 12:25:24 2009
@@ -403,16 +403,16 @@
 
 	//for splashWin progressbars
 	public static double PrintCreation() {
-		return Util.DivideSafe(creationRate, creationTotal);
+		return Util.DivideSafeFraction(creationRate, creationTotal);
 	}
 	public static double PrintConversionVersion() {
-		return Util.DivideSafe(Convert.ToDouble(currentVersion), Convert.ToDouble(lastChronojumpDatabaseVersion));
+		return Util.DivideSafeFraction(Convert.ToDouble(currentVersion), Convert.ToDouble(lastChronojumpDatabaseVersion));
 	}
 	public static double PrintConversionRate() {
-		return Util.DivideSafe(conversionRate, conversionRateTotal);
+		return Util.DivideSafeFraction(conversionRate, conversionRateTotal);
 	}
 	public static double PrintConversionSubRate() {
-		return Util.DivideSafe(conversionSubRate, conversionSubRateTotal);
+		return Util.DivideSafeFraction(conversionSubRate, conversionSubRateTotal);
 	}
 
 	public static bool ConvertToLastChronojumpDBVersion() {
@@ -1295,6 +1295,26 @@
 		return myReturn;
 	}
 
+	public static int CountCondition (string tableName, bool dbconOpened, string condition, string operand, string myValue) {
+		if(!dbconOpened)
+			dbcon.Open();
+
+		dbcmd.CommandText = "SELECT COUNT(*) FROM " + tableName +
+			" WHERE " + condition + " " + operand + " " + myValue;
+		Log.WriteLine(dbcmd.CommandText.ToString());
+		dbcmd.ExecuteNonQuery();
+		SqliteDataReader reader;
+		reader = dbcmd.ExecuteReader();
+		
+		int myReturn = 0;
+		if(reader.Read()) 
+			myReturn = Convert.ToInt32(reader[0].ToString());
+		reader.Close();
+
+		if(!dbconOpened)
+			dbcon.Close();
+		return myReturn;
+	}
 
 	
 	/* 

Modified: trunk/src/sqlite/server.cs
==============================================================================
--- trunk/src/sqlite/server.cs	(original)
+++ trunk/src/sqlite/server.cs	Mon Feb 16 12:25:24 2009
@@ -112,26 +112,60 @@
 		return myReturn;
 	}
 
-	public static string Stats() {
+	public static string [] Stats() {
 		ArrayList stats = new ArrayList();
 			
 		dbcon.Open();
 
-		stats.Add("Pings\t" + Sqlite.Count(Constants.ServerPingTable, true).ToString());
-		stats.Add("Evaluators\t" + Sqlite.Count(Constants.ServerEvaluatorTable, true).ToString());
-		stats.Add("Persons\t" + Sqlite.Count(Constants.PersonTable, true).ToString());
-		stats.Add("Sessions\t" + Sqlite.Count(Constants.SessionTable, true).ToString());
-		stats.Add("Jumps\t" + Sqlite.Count(Constants.JumpTable, true).ToString());
-		stats.Add("JumpsRj\t" + Sqlite.Count(Constants.JumpRjTable, true).ToString());
-		stats.Add("Runs\t" + Sqlite.Count(Constants.RunTable, true).ToString());
-		stats.Add("RunsInterval\t" + Sqlite.Count(Constants.RunIntervalTable, true).ToString());
-		stats.Add("Reaction times\t" + Sqlite.Count(Constants.ReactionTimeTable, true).ToString());
-		stats.Add("Pulses\t" + Sqlite.Count(Constants.PulseTable, true).ToString());
+		/*
+		 * is good to add the string stuff like "Pings" 
+		 * because then client will show this data or not 
+		 * depending if it matches what want to show.
+		 * Maintain the ':' as separator
+		*/
+		stats.Add("Pings:" + Sqlite.Count(Constants.ServerPingTable, true).ToString());
+		stats.Add("Evaluators:" + Sqlite.Count(Constants.ServerEvaluatorTable, true).ToString());
+		stats.Add("Sessions:" + Sqlite.Count(Constants.SessionTable, true).ToString());
+		stats.Add("Persons:" + Sqlite.Count(Constants.PersonTable, true).ToString());
+		stats.Add("Jumps:" + Sqlite.Count(Constants.JumpTable, true).ToString());
+		stats.Add("JumpsRj:" + Sqlite.Count(Constants.JumpRjTable, true).ToString());
+		stats.Add("Runs:" + Sqlite.Count(Constants.RunTable, true).ToString());
+		stats.Add("RunsInterval:" + Sqlite.Count(Constants.RunIntervalTable, true).ToString());
+		stats.Add("ReactionTimes:" + Sqlite.Count(Constants.ReactionTimeTable, true).ToString());
+		stats.Add("Pulses:" + Sqlite.Count(Constants.PulseTable, true).ToString());
 		
 		dbcon.Close();
 
-		string statsString = Util.ArrayListToSingleString(stats);
+		string [] statsString = Util.ArrayListToString(stats);
+		return statsString;
+	}
+	
+	/*
+	 * this is only called on client
+	 */
+	public static string [] StatsMine() {
+		ArrayList stats = new ArrayList();
+			
+		dbcon.Open();
+
+		/*
+		 * is good to add the string stuff like "Pings" 
+		 * because then client will show this data or not 
+		 * depending if it matches what want to show.
+		 * Maintain the ':' as separator
+		*/
+		stats.Add("Sessions:" + Sqlite.CountCondition(Constants.SessionTable, true, "serverUniqueID", ">", "0").ToString());
+		stats.Add("Persons:" + Sqlite.CountCondition(Constants.PersonTable, true, "serverUniqueID", ">", "0").ToString());
+		stats.Add("Jumps:" + Sqlite.CountCondition(Constants.JumpTable, true, "simulated", ">", "0").ToString());
+		stats.Add("JumpsRj:" + Sqlite.CountCondition(Constants.JumpRjTable, true, "simulated", ">", "0").ToString());
+		stats.Add("Runs:" + Sqlite.CountCondition(Constants.RunTable, true, "simulated", ">", "0").ToString());
+		stats.Add("RunsInterval:" + Sqlite.CountCondition(Constants.RunIntervalTable, true, "simulated", ">", "0").ToString());
+		stats.Add("ReactionTimes:" + Sqlite.CountCondition(Constants.ReactionTimeTable, true, "simulated", ">", "0").ToString());
+		stats.Add("Pulses:" + Sqlite.CountCondition(Constants.PulseTable, true, "simulated", ">", "0").ToString());
+		
+		dbcon.Close();
 
+		string [] statsString = Util.ArrayListToString(stats);
 		return statsString;
 	}
 	

Modified: trunk/src/util.cs
==============================================================================
--- trunk/src/util.cs	(original)
+++ trunk/src/util.cs	Mon Feb 16 12:25:24 2009
@@ -29,6 +29,8 @@
 public class Util
 {
 
+	//TODO: this still doesn't work for knowing that:
+	//0.8.1.10 is bigger than 0.8.1.9
 	public static double VersionToDouble (string version)
 	{
 		//find first dec
@@ -206,13 +208,6 @@
 			double std = System.Math.Sqrt(summatory / (Double)count);
 			double stdSample = System.Math.Sqrt( count/(Double)(count-1) ) * std;
 
-			/*
-			Log.WriteLine(valuesList);
-			Log.WriteLine(sumValues.ToString());
-			Log.WriteLine(count.ToString());
-			Log.WriteLine("std: {0}, stdSample: {1}", std, stdSample);
-			*/
-
 			return stdSample;
 		} else {
 			return -1;
@@ -419,7 +414,6 @@
 	{
 		int lastEqualPos = myString.LastIndexOf('=');
 		if(lastEqualPos > 0) {
-			Log.WriteLine(myString.Substring(0, lastEqualPos));
 			return myString.Substring(0, lastEqualPos);
 		}
 		else
@@ -577,7 +571,6 @@
 	public static string GetOS() {
 		OperatingSystem os = Environment.OSVersion;
 		string osString =  string.Format("{0}, {1}", os.Platform, os.Version);
-		Log.WriteLine(osString);
 		return osString;
 	}
 	
@@ -927,8 +920,10 @@
 	}
 
 
-	//avoids fivide by zero
-	public static double DivideSafe (double val1, double val2) {
+	//avoids divide by zero
+	//thought for being between 0, 1
+	//ideal for progressBars
+	public static double DivideSafeFraction (double val1, double val2) {
 		double result = val1 / val2;
 		if(result > 1)
 			result = 1;
@@ -1009,9 +1004,9 @@
 			int distPos = i % times.Length;
 			double distance = Convert.ToDouble(distances[distPos]);
 
-			double speed = DivideSafe(distance, time);
+			double speed = distance / time;
 			if(max) {
-				if(speed > searchedValue)
+				if(speed > searchedValue) 
 					searchedValue = speed;
 			} else {
 				if(speed < searchedValue)

Modified: trunk/version.txt
==============================================================================
--- trunk/version.txt	(original)
+++ trunk/version.txt	Mon Feb 16 12:25:24 2009
@@ -1 +1 @@
-0.8.1.9
+0.8.2.0



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]