public OpenMultipleFilesInGoogleEarthDialog(IEnumerable <string> initialFileNames, KmlMultipleFileExporterProperties multipleFileProperties) : this() { updatingUINow = true; fileSelector.FileDialogTitle = Strings.AddFiles; fileSelector.FileDialogFilter = Strings.FileFilter_AllQuickRouteFiles + "|" + Strings.FileFilter_QuickRouteFiles + "|" + Strings.FileFilter_QuickRoute10Files + "|" + Strings.FileFilter_JpegFilesExportedFromQuickRoute; fileSelector.FileDialogFilterIndex = 1; fileSelector.AddFiles(initialFileNames); originalMultipleFileProperties = (KmlMultipleFileExporterProperties)multipleFileProperties.Clone(); SetPropertiesToControls(originalMultipleFileProperties); updatingUINow = false; UpdateUI(); }
private void SetPropertiesToControls(KmlMultipleFileExporterProperties p) { updatingUINow = true; includeRoutes.Checked = p.IncludeRoutes; includeReplay.Checked = p.IncludeReplay; massStart.Checked = p.MassStart; replayTailsVisible.Checked = p.HasReplayTails; if (p.HasReplayTails) { replayTailDuration.Text = (p.ReplayTails[0].EndVisible.HasValue ? p.ReplayTails[0].EndVisible.Value.TotalSeconds.ToString() : Strings.Infinite); } replayTimeInterval.Text = p.ReplayTimeInterval.TotalSeconds.ToString(); replayRestartAfterEachLap.Checked = p.ReplayRestartAfterEachLap; updatingUINow = false; }
private KmlMultipleFileExporterProperties GetPropertiesFromControls() { var p = new KmlMultipleFileExporterProperties(); // include routes p.IncludeRoutes = includeRoutes.Checked; // include replay p.IncludeReplay = includeReplay.Checked; // mass start p.MassStart = massStart.Checked; // tails var tails = new List <KmlReplayTail>(); if (replayTailsVisible.Checked) { var tail = new KmlReplayTail() { StartVisible = new TimeSpan(0) }; double tailDurationSeconds = 0; if (double.TryParse(replayTailDuration.Text, out tailDurationSeconds)) { tailDurationSeconds = Math.Max(0.1, Math.Min(3600, tailDurationSeconds)); tail.EndVisible = new TimeSpan((long)(tailDurationSeconds * TimeSpan.TicksPerSecond)); } else { tail.EndVisible = null; } tails.Add(tail); } p.ReplayTails = tails; // replay time interval double timeInterval; if (double.TryParse(replayTimeInterval.Text, out timeInterval)) { timeInterval = Math.Max(0.1, Math.Min(3600, timeInterval)); p.ReplayTimeInterval = new TimeSpan((long)(timeInterval * TimeSpan.TicksPerSecond)); } else { p.ReplayTimeInterval = originalMultipleFileProperties.ReplayTimeInterval; } // restart after each lap p.ReplayRestartAfterEachLap = replayRestartAfterEachLap.Checked; // opacity var opacity = (originalMultipleFileProperties.Colors.Count > 0 ? (double)originalMultipleFileProperties.Colors[0].A / 255 : 1.0); for (var i = 0; i < originalMultipleFileProperties.Colors.Count; i++) { p.Colors[i] = Color.FromArgb((int)(255 * opacity), p.Colors[i]); } // route line width p.RouteLineWidth = originalMultipleFileProperties.RouteLineWidth; return(p); }