[chronojump] Automatic ping on startup (nice with the GUI)
- From: Xavier de Blas <xaviblas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [chronojump] Automatic ping on startup (nice with the GUI)
- Date: Mon, 12 Sep 2016 18:05:28 +0000 (UTC)
commit b219afacc1eb07a7c484f6b9c2a78b5fc2dc3448
Author: Xavier de Blas <xaviblas gmail com>
Date: Mon Sep 12 20:00:37 2016 +0200
Automatic ping on startup (nice with the GUI)
src/gui/chronojump.cs | 55 +++++++++++++++++++++++++++++++++++++++---------
1 files changed, 44 insertions(+), 11 deletions(-)
---
diff --git a/src/gui/chronojump.cs b/src/gui/chronojump.cs
index 8d0c49e..f6f2c17 100644
--- a/src/gui/chronojump.cs
+++ b/src/gui/chronojump.cs
@@ -662,7 +662,11 @@ public partial class ChronoJumpWindow
string buildDate = " (c)";
label_version.Text = progVersion + buildDate;
LogB.Information("Build date:" + buildDate);
-
+
+ //send ping without freezing the interface
+ pingDoing = false;
+ GLib.Timeout.Add(2000, new GLib.TimeoutHandler(pingStart));
+
//moveStartTestInitial();
}
@@ -2542,6 +2546,10 @@ public partial class ChronoJumpWindow
encoderRProcAnalyze.SendEndProcess();
LogB.Information("Bye3!");
+
+ //exit start ping if has not ended
+ if(pingDoing)
+ pingEnded = true;
Log.End();
@@ -6587,25 +6595,50 @@ LogB.Debug("X");
js.ResultMessage);
}
}
-
- private void on_menuitem_ping_activate (object o, EventArgs args) {
+
+ bool pingDoing;
+ bool pingEnded;
+ private bool pingStart ()
+ {
+ if(pingEnded)
+ return false;
+
+ if(! pingDoing)
+ pingDo(false);
+
+ return true;
+ }
+
+ private void on_menuitem_ping_activate (object o, EventArgs args)
+ {
+ pingDo(true);
+ }
+
+ private void pingDo(bool showInWindow)
+ {
+ pingEnded = false;
+
Json js = new Json();
bool success = js.Ping(UtilAll.GetOS(), UtilAll.ReadVersion(), preferences.machineID);
if(success) {
LogB.Information(js.ResultMessage);
- new DialogMessage(
- "Chronojump",
- Constants.MessageTypes.INFO,
- js.ResultMessage);
+ if(showInWindow)
+ new DialogMessage(
+ "Chronojump",
+ Constants.MessageTypes.INFO,
+ js.ResultMessage);
}
else {
LogB.Error(js.ResultMessage);
- new DialogMessage(
- "Chronojump",
- Constants.MessageTypes.WARNING,
- js.ResultMessage);
+ if(showInWindow)
+ new DialogMessage(
+ "Chronojump",
+ Constants.MessageTypes.WARNING,
+ js.ResultMessage);
}
+
+ pingEnded = true;
/*
new DialogMessage(
"Chronojump",
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]