Ver código fonte

Set system time!

master
The6P4C 7 anos atrás
pai
commit
a3518bab08
1 arquivos alterados com 19 adições e 1 exclusões
  1. +19
    -1
      GPSDOTimeSync/FormMain.cs

+ 19
- 1
GPSDOTimeSync/FormMain.cs Ver arquivo

@@ -6,6 +6,7 @@ using System.Windows.Forms;
using GPSDOTimeSync.Devices.Thunderbolt; using GPSDOTimeSync.Devices.Thunderbolt;
using GPSDOTimeSync.TimeProviders; using GPSDOTimeSync.TimeProviders;
using GPSDOTimeSync.TimeProviders.Thunderbolt; using GPSDOTimeSync.TimeProviders.Thunderbolt;
using System.Diagnostics;


namespace GPSDOTimeSync { namespace GPSDOTimeSync {
public partial class FormMain : Form { public partial class FormMain : Form {
@@ -27,6 +28,7 @@ namespace GPSDOTimeSync {
} }
}; };


private int lastSystemTimeUpdate;
private ITimeProvider timeProvider; private ITimeProvider timeProvider;


public FormMain() { public FormMain() {
@@ -44,6 +46,8 @@ namespace GPSDOTimeSync {
InitializeComponent(); InitializeComponent();
PopulateDropDowns(); PopulateDropDowns();


lastSystemTimeUpdate = 0;

statusStrip.Renderer = new TruncatedTextEllipsisRenderer(); statusStrip.Renderer = new TruncatedTextEllipsisRenderer();
latestLogMessage.Text = ""; latestLogMessage.Text = "";


@@ -81,9 +85,23 @@ namespace GPSDOTimeSync {
timeProvider = TIME_PROVIDER_CONSTRUCTORS[deviceName](serialPort); timeProvider = TIME_PROVIDER_CONSTRUCTORS[deviceName](serialPort);


timeProvider.TimeAvailable += (DateTime dateTime) => { timeProvider.TimeAvailable += (DateTime dateTime) => {
if (Environment.TickCount - lastSystemTimeUpdate < 5000) {
return;
}
SystemTimeUtils.SetSystemTime(dateTime);

Invoke(new Action(() => { Invoke(new Action(() => {
AddMessageToLog(
string.Format(
"System time set to {0}.",
dateTime.ToString("HH:mm:ss dd\\/MM\\/yyyy")
),
LogLevel.Info
);
})); }));

lastSystemTimeUpdate = Environment.TickCount;
}; };


timeProvider.Log += (string message, LogLevel logLevel) => { timeProvider.Log += (string message, LogLevel logLevel) => {


Carregando…
Cancelar
Salvar