AutoLikerCefSharpWpf/AutoLikerCefSharpWpf/Helper/AutoLikerSettingsManager.cs
2023-09-12 18:04:51 -04:00

81 lines
3.3 KiB
C#

using System;
using System.Diagnostics;
using System.Windows.Controls;
namespace AutoLikerCefSharpWpf.Helper
{
internal class AutoLikerSettingsManager
{
private MainWindow main;
public AutoLikerSettingsManager(MainWindow win) {
this.main = win;
this.InitializeSettings();
}
private void InitializeSettings()
{
main.txtHashTag.Text = Properties.Settings.Default.Instagram_Hashtag;
main.txtDelayRestartMin.Text = Properties.Settings.Default.DelayRestartMin.ToString();
main.txtDelayRestartMax.Text = Properties.Settings.Default.DelayRestartMax.ToString();
main.txtMaxLikesMin.Text = Properties.Settings.Default.LikesMin.ToString();
main.txtMaxLikesMax.Text = Properties.Settings.Default.LikesMax.ToString();
main.txtDelayMin.Text = Properties.Settings.Default.DelayMin.ToString();
main.txtDelayMax.Text = Properties.Settings.Default.DelayMax.ToString();
this.ToggleSettingsSaveButton(false);
// assign handlers
main.txtHashTag.TextChanged += Al_Settings_TextChanged;
main.txtDelayRestartMin.TextChanged += Al_Settings_TextChanged;
main.txtDelayRestartMax.TextChanged += Al_Settings_TextChanged;
main.txtMaxLikesMin.TextChanged += Al_Settings_TextChanged;
main.txtMaxLikesMax.TextChanged += Al_Settings_TextChanged;
main.txtDelayMin.TextChanged += Al_Settings_TextChanged;
main.txtDelayMax.TextChanged += Al_Settings_TextChanged;
}
private void Al_Settings_TextChanged(object sender, System.Windows.Controls.TextChangedEventArgs e)
{
TextBox tb = (TextBox)sender;
Debug.WriteLine("Setting changed: " + tb.Name + " = " + tb.Text);
this.ToggleSettingsSaveButton(true);
}
private void ToggleSettingsSaveButton(bool enable)
{
if (enable)
{
main.btnSaveSettings.IsEnabled = true;
}
else
{
main.btnSaveSettings.IsEnabled = false;
}
}
public void AutoTagSettingsSave()
{
int.TryParse(main.txtDelayRestartMin.Text, out int delayRestartMin);
int.TryParse(main.txtDelayRestartMax.Text, out int delayRestartMax);
int.TryParse(main.txtMaxLikesMin.Text, out int likesMin);
int.TryParse(main.txtMaxLikesMax.Text, out int likesMax);
int.TryParse(main.txtDelayMin.Text, out int delayMin);
int.TryParse(main.txtDelayMax.Text, out int delayMax);
Properties.Settings.Default.Instagram_Hashtag = main.txtHashTag.Text;
Properties.Settings.Default.DelayRestartMin = delayRestartMin;
Properties.Settings.Default.DelayRestartMax = delayRestartMax;
Properties.Settings.Default.LikesMin = likesMin;
Properties.Settings.Default.LikesMax = likesMax;
Properties.Settings.Default.DelayMin = delayMin;
Properties.Settings.Default.DelayMax = delayMax;
Properties.Settings.Default.Save();
main.LogMessage("Settings saved: " + DateTime.Now);
ToggleSettingsSaveButton(false);
}
}
}