|
|
|
@ -33,14 +33,22 @@ namespace ICSharpCode.UsageDataCollector |
|
|
|
} |
|
|
|
} |
|
|
|
set { |
|
|
|
set { |
|
|
|
PropertyService.Set("ICSharpCode.UsageDataCollector.Enabled", value.ToString()); |
|
|
|
PropertyService.Set("ICSharpCode.UsageDataCollector.Enabled", value.ToString()); |
|
|
|
if (value) { |
|
|
|
// Initially opening the session takes some time; which is bad for the startpage
|
|
|
|
|
|
|
|
// because the animation would start with a delay. We solve this by calling Open/CloseSession
|
|
|
|
|
|
|
|
// on a background thread.
|
|
|
|
|
|
|
|
ThreadPool.QueueUserWorkItem(delegate { AsyncEnableDisable(); } ); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static void AsyncEnableDisable() |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
if (Enabled) { |
|
|
|
Instance.OpenSession(); |
|
|
|
Instance.OpenSession(); |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
Instance.CloseSession(); |
|
|
|
Instance.CloseSession(); |
|
|
|
Instance.TryDeleteDatabase(); |
|
|
|
Instance.TryDeleteDatabase(); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
readonly object lockObj = new object(); |
|
|
|
readonly object lockObj = new object(); |
|
|
|
string dbFileName; |
|
|
|
string dbFileName; |
|
|
|
|