mirror of
https://github.com/chylex/TweetDuck.git
synced 2025-05-30 05:34:06 +02:00
119 lines
5.6 KiB
C#
119 lines
5.6 KiB
C#
using System;
|
|
using TweetDuck.Core.Controls;
|
|
using TweetDuck.Core.Handling.General;
|
|
using TweetDuck.Updates;
|
|
|
|
namespace TweetDuck.Core.Other.Settings{
|
|
sealed partial class TabSettingsGeneral : BaseTabSettings{
|
|
private readonly FormBrowser browser;
|
|
private readonly UpdateHandler updates;
|
|
private int updateCheckEventId = -1;
|
|
|
|
public TabSettingsGeneral(FormBrowser browser, UpdateHandler updates){
|
|
InitializeComponent();
|
|
|
|
this.browser = browser;
|
|
|
|
this.updates = updates;
|
|
this.updates.CheckFinished += updates_CheckFinished;
|
|
Disposed += (sender, args) => this.updates.CheckFinished -= updates_CheckFinished;
|
|
|
|
toolTip.SetToolTip(checkExpandLinks, "Expands links inside the tweets. If disabled,\r\nthe full links show up in a tooltip instead.");
|
|
toolTip.SetToolTip(checkSwitchAccountSelectors, "When (re)tweeting, click to select a single account or hold Shift to\r\nselect multiple accounts, instead of TweetDeck\'s default behavior.");
|
|
toolTip.SetToolTip(checkOpenSearchInFirstColumn, "By default, TweetDeck adds Search columns at the end.\r\nThis option makes them appear before the first column instead.");
|
|
toolTip.SetToolTip(checkBestImageQuality, "When right-clicking a tweet image, the context menu options\r\nwill use links to the original image size (:orig in the URL).");
|
|
toolTip.SetToolTip(checkAnimatedAvatars, "Some old Twitter avatars could be uploaded as animated GIFs.");
|
|
|
|
toolTip.SetToolTip(labelZoomValue, "Changes the zoom level.\r\nAlso affects notifications and screenshots.");
|
|
toolTip.SetToolTip(trackBarZoom, toolTip.GetToolTip(labelZoomValue));
|
|
|
|
toolTip.SetToolTip(checkUpdateNotifications, "Checks for updates every hour.\r\nIf an update is dismissed, it will not appear again.");
|
|
toolTip.SetToolTip(btnCheckUpdates, "Forces an update check, even for updates that had been dismissed.");
|
|
|
|
trackBarZoom.SetValueSafe(Config.ZoomLevel);
|
|
labelZoomValue.Text = trackBarZoom.Value+"%";
|
|
|
|
checkExpandLinks.Checked = Config.ExpandLinksOnHover;
|
|
checkSwitchAccountSelectors.Checked = Config.SwitchAccountSelectors;
|
|
checkOpenSearchInFirstColumn.Checked = Config.OpenSearchInFirstColumn;
|
|
checkBestImageQuality.Checked = Config.BestImageQuality;
|
|
checkAnimatedAvatars.Checked = Config.EnableAnimatedImages;
|
|
|
|
checkUpdateNotifications.Checked = Config.EnableUpdateCheck;
|
|
}
|
|
|
|
public override void OnReady(){
|
|
checkExpandLinks.CheckedChanged += checkExpandLinks_CheckedChanged;
|
|
checkSwitchAccountSelectors.CheckedChanged += checkSwitchAccountSelectors_CheckedChanged;
|
|
checkOpenSearchInFirstColumn.CheckedChanged += checkOpenSearchInFirstColumn_CheckedChanged;
|
|
checkBestImageQuality.CheckedChanged += checkBestImageQuality_CheckedChanged;
|
|
checkAnimatedAvatars.CheckedChanged += checkAnimatedAvatars_CheckedChanged;
|
|
trackBarZoom.ValueChanged += trackBarZoom_ValueChanged;
|
|
|
|
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 checkOpenSearchInFirstColumn_CheckedChanged(object sender, EventArgs e){
|
|
Config.OpenSearchInFirstColumn = checkOpenSearchInFirstColumn.Checked;
|
|
}
|
|
|
|
private void checkBestImageQuality_CheckedChanged(object sender, EventArgs e){
|
|
Config.BestImageQuality = checkBestImageQuality.Checked;
|
|
}
|
|
|
|
private void checkAnimatedAvatars_CheckedChanged(object sender, EventArgs e){
|
|
Config.EnableAnimatedImages = checkAnimatedAvatars.Checked;
|
|
BrowserProcessHandler.UpdatePrefs().ContinueWith(task => browser.ReloadColumns());
|
|
}
|
|
|
|
private void trackBarZoom_ValueChanged(object sender, EventArgs e){
|
|
if (trackBarZoom.AlignValueToTick()){
|
|
zoomUpdateTimer.Stop();
|
|
zoomUpdateTimer.Start();
|
|
labelZoomValue.Text = trackBarZoom.Value+"%";
|
|
}
|
|
}
|
|
|
|
private void checkUpdateNotifications_CheckedChanged(object sender, EventArgs e){
|
|
Config.EnableUpdateCheck = checkUpdateNotifications.Checked;
|
|
}
|
|
|
|
private void btnCheckUpdates_Click(object sender, EventArgs e){
|
|
Config.DismissedUpdate = null;
|
|
|
|
btnCheckUpdates.Enabled = false;
|
|
updateCheckEventId = updates.Check(true);
|
|
}
|
|
|
|
private void updates_CheckFinished(object sender, UpdateEventArgs e){
|
|
this.InvokeAsyncSafe(() => {
|
|
if (e.EventId == updateCheckEventId){
|
|
btnCheckUpdates.Enabled = true;
|
|
|
|
if (!e.IsUpdateAvailable){
|
|
FormMessage.Information("No Updates Available", "Your version of TweetDuck is up to date.", FormMessage.OK);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
private void zoomUpdateTimer_Tick(object sender, EventArgs e){
|
|
Config.ZoomLevel = trackBarZoom.Value;
|
|
zoomUpdateTimer.Stop();
|
|
}
|
|
}
|
|
}
|