private void LoadProperties() { //TODO: Change the place to get and set user settings, because when the app update it change to default. if (Settings.Default.PcName == string.Empty) { ChangePcName(Environment.UserName); } else { Voice?.ChangePcName(Settings.Default.PcName); } NotifyWind = Settings.Default.NotifyWind; NotifyVoice = Settings.Default.NotifyVoice; Battery.ChangeHighBatteryLvl(Settings.Default.BatteryHigh); Battery.ChangeLowBatteryLvl(Settings.Default.BatteryLow); Battery.ChangeAlertStatus(Array.ConvertAll(Settings.Default.AlertStatus.Split(','), bool.Parse)); PcIdle.ChangeMaxIdleTime(Settings.Default.PcIdleTime); TimeBatteryCheck = Settings.Default.TimeBattChk; AuxTimeBatteryCheck = Settings.Default.TimeAuxBattChk; Voice?.ChangeNotVolume(Settings.Default.VolNot); if (Settings.Default.VoiceName != string.Empty) { Voice?.ChangeCurrentVoice(Settings.Default.VoiceName); } else { Settings.Default.VoiceName = Voice?.CurrentVoice; Settings.Default.Save(); } }
private void TmCheckPower_Tick(object sender, EventArgs e) { var idleTimeMin = PcIdle.GetIdleTimeMin(); // Refresh Form data. ShowPowerStatus(); TbIdleTime.Text = idleTimeMin.ToString("D"); if (NotifyVoice && NotifyWind) { // Check if activate Voice notification for idle time. IdleVoiceNotify = !NotifyWind || idleTimeMin >= PcIdle.MaxIdleTime; } if (!Battery.CheckPowerLevel()) { Battery.AuxAlert = false; return; } BtnSpeak.Enabled = false; if (Battery.AuxAlert && (Voice.AuxNotVolume += 10) > 100) { Voice.AuxNotVolume = 100; } NewNotification($"{Settings.Default.PcName}. {Battery.Msg}"); TmCheckPower.Stop(); TmWaitForResp.Start(); GbNextNot.Enabled = true; Application.DoEvents(); }
//private async Task CheckForUpdates() //{ // using (var manager = new UpdateManager(@"E:\Documents\Daniel\Google_Drive\PROGRAMACIÓN\C#\BatteryMonitor\Releases")) // { // await manager.UpdateApp(); // } //} #region FormEvents private void FormMain_Load(object sender, EventArgs e) { Battery = new Battery(); PcIdle = new PcIdle(); //Battery.AddPowerModeChanged(PowerModeChanged); SystemEvents.PowerModeChanged += PowerModeChanged; ShowPowerStatus(); BtnChecked.EnabledChanged += BtnChecked_EnabledChanged; // Get App Name and Version to show in the Form about. AppName = Assembly.GetExecutingAssembly().GetName().Name; AppVersion = ApplicationDeployment.IsNetworkDeployed ? $@"v{ApplicationDeployment.CurrentDeployment.CurrentVersion.ToString(4)}" : Assembly.GetExecutingAssembly().GetName().Version.ToString(); try { Voice = new Voice(VoiceCompleted); BtnSpeak.Enabled = true; } catch (Exception exc) { MessageBox.Show(exc.Message, @"Message", MessageBoxButtons.OK, MessageBoxIcon.Error); } LoadProperties(); if (Battery.ChargeStatus == BatteryChargeStatus.NoSystemBattery) { NotifyIcon.Icon = Resources.ico_WithoutBatt; Icon = Resources.ico_WithoutBatt; return; } #if !DEBUG Height = 390; #endif TmCheckPower.Start(); }
private void SettingsToolStripMenuItem_Click(object sender, EventArgs e) { //TODO: Fix the way to pass parameters. using (var formSettings = new FormSettings(TimeBatteryCheck, AuxTimeBatteryCheck, PcIdle.MaxIdleTime, Battery.LowBatteryLvl, Battery.HighBatteryLvl, Voice, NotifyWind, NotifyVoice, Battery.AlertStatus)) { //Recall for check if there is an installed voice. Voice.GetVoices(); // SHOW Form formSettings.ShowDialog(); // Check if the user make any change. if (!formSettings.HasChanges) { return; } #region Notification //Stop timers. // Save the Status of the Timer. //var isTmCheckPowerEnabled = TmCheckPower.Enabled; AlertChecked(false); TmCheckPower.Stop(); TmWaitForResp.Stop(); // Battery.ChangeAlertStatus(new[] { formSettings.ChBoxLowBat, formSettings.ChBoxHighBat }); Battery.ChangePrevAlert(Any); Battery.ResetAlert(); //Get formSettings values. NotifyWind = formSettings.NotifyWind; NotifyVoice = formSettings.NotifyVoice; TimeBatteryCheck = formSettings.TimeBatChk; AuxTimeBatteryCheck = formSettings.AuxTimeBatChk; Battery.ChangeLowBatteryLvl(formSettings.LowBattery); Battery.ChangeHighBatteryLvl(formSettings.HighBattery); PcIdle.ChangeMaxIdleTime(formSettings.IdleTime); //Save in properties Settings.Default.BatteryHigh = Battery.HighBatteryLvl; Settings.Default.BatteryLow = Battery.LowBatteryLvl; Settings.Default.PcIdleTime = PcIdle.MaxIdleTime; Settings.Default.TimeBattChk = TimeBatteryCheck; Settings.Default.TimeAuxBattChk = AuxTimeBatteryCheck; Settings.Default.NotifyWind = NotifyWind; Settings.Default.NotifyVoice = NotifyVoice; Settings.Default.AlertStatus = string.Join(",", Battery.AlertStatus); //Changes timer intervals. TmCheckPower.Interval = (int)TimeBatteryCheck * 1000; AuxAlertTime = (int)(AuxTimeBatteryCheck * 60); ProgBarNextAlert.Maximum = AuxAlertTime; //Restart timers. //TmCheckPower.Enabled = isTmCheckPowerEnabled; TmCheckPower.Start(); #endregion #region Voz try { Settings.Default.VoiceName = formSettings.CurrentVoice; Settings.Default.VolNot = formSettings.NotifyVolume; Voice.ChangeCurrentVoice(formSettings.CurrentVoice); Voice.ChangeNotVolume(formSettings.NotifyVolume); } catch (Exception exc) { MessageBox.Show(exc.Message, @"Message", MessageBoxButtons.OK, MessageBoxIcon.Error); } #endregion Voice?.ChangePcName(formSettings.PcName); Settings.Default.PcName = formSettings.PcName; Settings.Default.Save(); } }