private void ReadConfigurationAndShowResult(Func <BackgroundWorker, byte[]> configurationProvider) { ShowWelcomeScreen(LocalizableStrings.MessageDownloadingSettings); try { var readResult = ReadBinaryConfiguration(configurationProvider, false); m_deviceConfiguration = readResult.Configuration; if (readResult.Result == ReadResult.Success) { OpenWorkspace(readResult.Configuration); } else if (readResult.Result == ReadResult.OutdatedFirmware) { ShowWelcomeScreen(string.Format(LocalizableStrings.MessageConnectDevice, MinimumSupportedBuildNumber)); } else if (readResult.Result == ReadResult.OutdatedToolbox) { ShowWelcomeScreen(LocalizableStrings.MessageOutdatedToolbox); } else if (readResult.Result == ReadResult.UnableToRead) { ShowWelcomeScreen(LocalizableStrings.MessageUnableToReadData); } } catch (Exception ex) { Trace.Warn(ex); ShowWelcomeScreen(LocalizableStrings.MessageUnableToReadData); } }
private void OpenWorkspace(ArcticFoxConfiguration configuration) { m_deviceConfiguration = configuration; UpdateUI(() => { InitializeWorkspace(); MainContainer.SelectedPage = WorkspacePage; m_isWorkspaceOpen = true; }, false); }
private byte[] PrepairConfiguration(byte[] source, ArcticFoxConfiguration existedConfiguration = null) { var result = BinaryStructure.ReadBinary<ArcticFoxConfiguration>(m_encryption.Decode(source)); if (existedConfiguration == null) { SetSharedDeviceInfo(result.Info); } else { result.Info = existedConfiguration.Info; } return BinaryStructure.WriteBinary(result); }
public void Initialize([NotNull] ArcticFoxConfiguration configuration, int profileIndex) { if (configuration == null) { throw new ArgumentNullException("configuration"); } m_configuration = configuration; m_profile = configuration.General.Profiles[profileIndex]; ProfileEnabledCheckBox.Checked = m_profile.Flags.IsEnabled; ProfileNameTextBox.Text = m_profile.Name; PowerUpDown.Maximum = configuration.Info.MaxDevicePower / 10m; PowerUpDown.SetValue(m_profile.Power / 10m); var selectedPreheatType = PreheatTypeComboBox.SelectedItem as NamedItemContainer <ArcticFoxConfiguration.PreheatType>; if (selectedPreheatType != null && selectedPreheatType.Data == m_profile.PreheatType) { PreheatTypeComboBox_SelectedValueChanged(null, EventArgs.Empty); } else { PreheatTypeComboBox.SelectItem(m_profile.PreheatType); } PowerCurveComboBox.SelectItem(m_profile.SelectedCurve); PreheatTimeUpDown.SetValue(m_profile.PreheatTime / 100m); PreheatDelayUpDown.SetValue(m_profile.PreheatDelay); ResistanceLockedCheckBox_CheckedChanged(null, EventArgs.Empty); TemperatureTypeComboBox.SelectItem(m_profile.Flags.IsCelcius); TemperatureUpDown.SetValue(m_profile.Temperature); TemperatureDominantCheckBox.Checked = m_profile.Flags.IsTemperatureDominant; if (m_profile.Flags.Material == ArcticFoxConfiguration.Material.VariWatt) { MaterialComboBox.SelectedIndex = 0; ModeComboBox.SelectItem(Mode.Power); } else { MaterialComboBox.SelectItem(m_profile.Flags.Material); ModeComboBox.SelectItem(Mode.TemperatureControl); } TCRUpDown.SetValue(m_profile.TCR); ResistanceUpDown.SetValue(m_profile.Resistance / 1000m); ResistanceLockedCheckBox.Checked = m_profile.Flags.IsResistanceLocked; }
private void OpenConfigurationFile(ArcticFoxConfiguration existedConfiguration) { string fileName; using (var op = new OpenFileDialog { Filter = FileFilters.ArcticFoxConfigFilter }) { if (op.ShowDialog() != DialogResult.OK) { return; } fileName = op.FileName; } try { var existedInfoBlock = existedConfiguration != null?existedConfiguration.Info.Copy() : null; var result = existedConfiguration ?? BinaryStructure.ReadBinary <ArcticFoxConfiguration>(m_encryption.Decode(Resources.new_configuration)); var serializableConfiguration = Serializer.Read <SerializableConfiguration>(new MemoryStream(m_encryption.Decode(File.ReadAllBytes(fileName)))); if (serializableConfiguration == null) { InfoBox.Show("Most likely you are trying to open an obsolete configuration file. This operation is not supported."); return; } BinaryStructure.ReadFromDictionary(result, serializableConfiguration.GetDictionary()); if (existedInfoBlock != null) { result.Info = existedInfoBlock; } else { SetSharedDeviceInfo(result.Info); } OpenWorkspace(result); } catch (Exception ex) { Trace.Info(ex, "An error occurred during reading saved configuration file."); InfoBox.Show("Most likely you are trying to open an obsolete configuration file. This operation is not supported."); } }
private void DownloadSettings() { try { var readResult = ReadBinaryConfiguration(m_deviceConfigurationProvider); if (readResult.Result != ReadResult.Success) { InfoBox.Show("Something strange happened! Please restart application."); return; } m_deviceConfiguration = readResult.Configuration; UpdateUI(InitializeWorkspace); } catch (Exception ex) { Trace.Warn(ex); InfoBox.Show(GetErrorMessage("downloading settings")); } }
public ConfigurationReadResult(ArcticFoxConfiguration configuration, ReadResult result) { Configuration = configuration; Result = result; }