mirror of
https://github.com/chylex/TweetDuck.git
synced 2025-05-29 20:34:05 +02:00
118 lines
4.8 KiB
C#
118 lines
4.8 KiB
C#
using System;
|
|
using System.Windows.Forms;
|
|
using TweetDuck.Core.Controls;
|
|
using TweetDuck.Updates;
|
|
using TweetDuck.Updates.Events;
|
|
|
|
namespace TweetDuck.Core.Other.Settings{
|
|
partial class TabSettingsGeneral : BaseTabSettings{
|
|
private readonly UpdateHandler updates;
|
|
private int updateCheckEventId = -1;
|
|
|
|
public TabSettingsGeneral(UpdateHandler updates){
|
|
InitializeComponent();
|
|
|
|
this.updates = updates;
|
|
this.updates.CheckFinished += updates_CheckFinished;
|
|
Disposed += (sender, args) => this.updates.CheckFinished -= updates_CheckFinished;
|
|
|
|
comboBoxTrayType.Items.Add("Disabled");
|
|
comboBoxTrayType.Items.Add("Display Icon Only");
|
|
comboBoxTrayType.Items.Add("Minimize to Tray");
|
|
comboBoxTrayType.Items.Add("Close to Tray");
|
|
comboBoxTrayType.Items.Add("Combined");
|
|
comboBoxTrayType.SelectedIndex = Math.Min(Math.Max((int)Config.TrayBehavior, 0), comboBoxTrayType.Items.Count-1);
|
|
|
|
toolTip.SetToolTip(trackBarZoom, toolTip.GetToolTip(labelZoomValue));
|
|
trackBarZoom.SetValueSafe(Config.ZoomLevel);
|
|
labelZoomValue.Text = trackBarZoom.Value+"%";
|
|
|
|
checkExpandLinks.Checked = Config.ExpandLinksOnHover;
|
|
checkSwitchAccountSelectors.Checked = Config.SwitchAccountSelectors;
|
|
checkSpellCheck.Checked = Config.EnableSpellCheck;
|
|
checkTrayHighlight.Checked = Config.EnableTrayHighlight;
|
|
|
|
checkUpdateNotifications.Checked = Config.EnableUpdateCheck;
|
|
}
|
|
|
|
public override void OnReady(){
|
|
checkExpandLinks.CheckedChanged += checkExpandLinks_CheckedChanged;
|
|
checkSwitchAccountSelectors.CheckedChanged += checkSwitchAccountSelectors_CheckedChanged;
|
|
checkSpellCheck.CheckedChanged += checkSpellCheck_CheckedChanged;
|
|
trackBarZoom.ValueChanged += trackBarZoom_ValueChanged;
|
|
|
|
comboBoxTrayType.SelectedIndexChanged += comboBoxTrayType_SelectedIndexChanged;
|
|
checkTrayHighlight.CheckedChanged += checkTrayHighlight_CheckedChanged;
|
|
|
|
checkUpdateNotifications.CheckedChanged += checkUpdateNotifications_CheckedChanged;
|
|
btnCheckUpdates.Click += btnCheckUpdates_Click;
|
|
}
|
|
|
|
public override void OnClosing(){
|
|
Config.ZoomLevel = trackBarZoom.Value;
|
|
}
|
|
|
|
private void checkExpandLinks_CheckedChanged(object sender, EventArgs e){
|
|
Config.ExpandLinksOnHover = checkExpandLinks.Checked;
|
|
}
|
|
|
|
private void checkSwitchAccountSelectors_CheckedChanged(object sender, EventArgs e){
|
|
Config.SwitchAccountSelectors = checkSwitchAccountSelectors.Checked;
|
|
}
|
|
|
|
private void checkSpellCheck_CheckedChanged(object sender, EventArgs e){
|
|
Config.EnableSpellCheck = checkSpellCheck.Checked;
|
|
PromptRestart();
|
|
}
|
|
|
|
private void trackBarZoom_ValueChanged(object sender, EventArgs e){
|
|
if (trackBarZoom.AlignValueToTick()){
|
|
zoomUpdateTimer.Stop();
|
|
zoomUpdateTimer.Start();
|
|
labelZoomValue.Text = trackBarZoom.Value+"%";
|
|
}
|
|
}
|
|
|
|
private void comboBoxTrayType_SelectedIndexChanged(object sender, EventArgs e){
|
|
Config.TrayBehavior = (TrayIcon.Behavior)comboBoxTrayType.SelectedIndex;
|
|
}
|
|
|
|
private void checkTrayHighlight_CheckedChanged(object sender, EventArgs e){
|
|
Config.EnableTrayHighlight = checkTrayHighlight.Checked;
|
|
}
|
|
|
|
private void checkUpdateNotifications_CheckedChanged(object sender, EventArgs e){
|
|
Config.EnableUpdateCheck = checkUpdateNotifications.Checked;
|
|
}
|
|
|
|
private void btnCheckUpdates_Click(object sender, EventArgs e){
|
|
updateCheckEventId = updates.Check(true);
|
|
|
|
if (updateCheckEventId == -1){
|
|
MessageBox.Show("Sorry, your system is no longer supported.", "Unsupported System", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
}
|
|
else{
|
|
btnCheckUpdates.Enabled = false;
|
|
updates.DismissUpdate(string.Empty);
|
|
}
|
|
}
|
|
|
|
private void updates_CheckFinished(object sender, UpdateCheckEventArgs e){
|
|
this.InvokeAsyncSafe(() => {
|
|
if (e.EventId == updateCheckEventId){
|
|
btnCheckUpdates.Enabled = true;
|
|
|
|
if (!e.UpdateAvailable){
|
|
MessageBox.Show("Your version of "+Program.BrandName+" is up to date.", "No Updates Available", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
private void zoomUpdateTimer_Tick(object sender, EventArgs e){
|
|
Config.ZoomLevel = trackBarZoom.Value;
|
|
zoomUpdateTimer.Stop();
|
|
}
|
|
}
|
|
}
|