mirror of
https://github.com/chylex/TweetDuck.git
synced 2025-05-20 11:34:08 +02:00
Fuck CultureInfo some more and fix analysis violations (dispose pattern, lang features)
This commit is contained in:
parent
eb8159ca0f
commit
14d44528b0
Core
Data
Plugins
Program.csReporter.cslib/TweetLib.Audio
@ -198,7 +198,7 @@ private void browser_LoadError(object sender, LoadErrorEventArgs e){
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!e.FailedUrl.StartsWith("http://td/")){
|
if (!e.FailedUrl.StartsWith("http://td/", StringComparison.Ordinal)){
|
||||||
string errorPage = ScriptLoader.LoadResource("pages/error.html", true);
|
string errorPage = ScriptLoader.LoadResource("pages/error.html", true);
|
||||||
|
|
||||||
if (errorPage != null){
|
if (errorPage != null){
|
||||||
|
@ -113,7 +113,7 @@ protected void SetClipboardText(string text){
|
|||||||
form.InvokeAsyncSafe(() => WindowsUtils.SetClipboard(text, TextDataFormat.UnicodeText));
|
form.InvokeAsyncSafe(() => WindowsUtils.SetClipboard(text, TextDataFormat.UnicodeText));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void AddDebugMenuItems(IMenuModel model){
|
protected static void AddDebugMenuItems(IMenuModel model){
|
||||||
model.AddItem((CefMenuCommand)MenuOpenDevTools, "Open dev tools");
|
model.AddItem((CefMenuCommand)MenuOpenDevTools, "Open dev tools");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,12 +18,8 @@ partial class FormNotificationMain : FormNotificationBase{
|
|||||||
private static readonly string NotificationScriptIdentifier = ScriptLoader.GetRootIdentifier(NotificationScriptFile);
|
private static readonly string NotificationScriptIdentifier = ScriptLoader.GetRootIdentifier(NotificationScriptFile);
|
||||||
private static readonly string PluginScriptIdentifier = ScriptLoader.GetRootIdentifier(PluginManager.PluginNotificationScriptFile);
|
private static readonly string PluginScriptIdentifier = ScriptLoader.GetRootIdentifier(PluginManager.PluginNotificationScriptFile);
|
||||||
|
|
||||||
private static readonly string NotificationJS, PluginJS;
|
private static readonly string NotificationJS = ScriptLoader.LoadResource(NotificationScriptFile);
|
||||||
|
private static readonly string PluginJS = ScriptLoader.LoadResource(PluginManager.PluginNotificationScriptFile);
|
||||||
static FormNotificationMain(){
|
|
||||||
NotificationJS = ScriptLoader.LoadResource(NotificationScriptFile);
|
|
||||||
PluginJS = ScriptLoader.LoadResource(PluginManager.PluginNotificationScriptFile);
|
|
||||||
}
|
|
||||||
|
|
||||||
private readonly PluginManager plugins;
|
private readonly PluginManager plugins;
|
||||||
|
|
||||||
|
@ -68,10 +68,10 @@ public TabSettingsNotifications(FormNotificationMain notification){
|
|||||||
checkNonIntrusive.Checked = Config.NotificationNonIntrusiveMode;
|
checkNonIntrusive.Checked = Config.NotificationNonIntrusiveMode;
|
||||||
|
|
||||||
trackBarScrollSpeed.SetValueSafe(Config.NotificationScrollSpeed);
|
trackBarScrollSpeed.SetValueSafe(Config.NotificationScrollSpeed);
|
||||||
labelScrollSpeedValue.Text = trackBarScrollSpeed.Value.ToString(CultureInfo.InvariantCulture)+"%";
|
labelScrollSpeedValue.Text = trackBarScrollSpeed.Value+"%";
|
||||||
|
|
||||||
trackBarEdgeDistance.SetValueSafe(Config.NotificationEdgeDistance);
|
trackBarEdgeDistance.SetValueSafe(Config.NotificationEdgeDistance);
|
||||||
labelEdgeDistanceValue.Text = trackBarEdgeDistance.Value.ToString(CultureInfo.InvariantCulture)+" px";
|
labelEdgeDistanceValue.Text = trackBarEdgeDistance.Value+" px";
|
||||||
|
|
||||||
this.notification.CanMoveWindow = () => radioLocCustom.Checked;
|
this.notification.CanMoveWindow = () => radioLocCustom.Checked;
|
||||||
this.notification.CanResizeWindow = radioSizeCustom.Checked;
|
this.notification.CanResizeWindow = radioSizeCustom.Checked;
|
||||||
@ -233,7 +233,7 @@ private void comboBoxIdlePause_SelectedValueChanged(object sender, EventArgs e){
|
|||||||
|
|
||||||
private void trackBarScrollSpeed_ValueChanged(object sender, EventArgs e){
|
private void trackBarScrollSpeed_ValueChanged(object sender, EventArgs e){
|
||||||
if (trackBarScrollSpeed.AlignValueToTick()){
|
if (trackBarScrollSpeed.AlignValueToTick()){
|
||||||
labelScrollSpeedValue.Text = trackBarScrollSpeed.Value.ToString(CultureInfo.InvariantCulture)+"%";
|
labelScrollSpeedValue.Text = trackBarScrollSpeed.Value+"%";
|
||||||
Config.NotificationScrollSpeed = trackBarScrollSpeed.Value;
|
Config.NotificationScrollSpeed = trackBarScrollSpeed.Value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -244,7 +244,7 @@ private void comboBoxDisplay_SelectedValueChanged(object sender, EventArgs e){
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void trackBarEdgeDistance_ValueChanged(object sender, EventArgs e){
|
private void trackBarEdgeDistance_ValueChanged(object sender, EventArgs e){
|
||||||
labelEdgeDistanceValue.Text = trackBarEdgeDistance.Value.ToString(CultureInfo.InvariantCulture)+" px";
|
labelEdgeDistanceValue.Text = trackBarEdgeDistance.Value+" px";
|
||||||
Config.NotificationEdgeDistance = trackBarEdgeDistance.Value;
|
Config.NotificationEdgeDistance = trackBarEdgeDistance.Value;
|
||||||
notification.ShowNotificationForSettings(false);
|
notification.ShowNotificationForSettings(false);
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@ public static string HeaderAcceptLanguage{
|
|||||||
return "en-us,en";
|
return "en-us,en";
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
return culture.ToLowerInvariant()+",en;q=0.9";
|
return culture.ToLower()+",en;q=0.9";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,7 @@ public static int[] ParseInts(string str, char separator){
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static string ConvertPascalCaseToScreamingSnakeCase(string str){
|
public static string ConvertPascalCaseToScreamingSnakeCase(string str){
|
||||||
return Regex.Replace(str, @"(\p{Ll})(\P{Ll})|(\P{Ll})(\P{Ll}\p{Ll})", "$1$3_$2$4").ToUpperInvariant();
|
return Regex.Replace(str, @"(\p{Ll})(\P{Ll})|(\P{Ll})(\P{Ll}\p{Ll})", "$1$3_$2$4").ToUpper();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -38,31 +38,31 @@ public static void ReadStringArray(char entryChar, string[] array, CommandLineAr
|
|||||||
public int Count => flags.Count+values.Count;
|
public int Count => flags.Count+values.Count;
|
||||||
|
|
||||||
public void AddFlag(string flag){
|
public void AddFlag(string flag){
|
||||||
flags.Add(flag.ToLowerInvariant());
|
flags.Add(flag.ToLower());
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool HasFlag(string flag){
|
public bool HasFlag(string flag){
|
||||||
return flags.Contains(flag.ToLowerInvariant());
|
return flags.Contains(flag.ToLower());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RemoveFlag(string flag){
|
public void RemoveFlag(string flag){
|
||||||
flags.Remove(flag.ToLowerInvariant());
|
flags.Remove(flag.ToLower());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetValue(string key, string value){
|
public void SetValue(string key, string value){
|
||||||
values[key.ToLowerInvariant()] = value;
|
values[key.ToLower()] = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool HasValue(string key){
|
public bool HasValue(string key){
|
||||||
return values.ContainsKey(key.ToLowerInvariant());
|
return values.ContainsKey(key.ToLower());
|
||||||
}
|
}
|
||||||
|
|
||||||
public string GetValue(string key, string defaultValue){
|
public string GetValue(string key, string defaultValue){
|
||||||
return values.TryGetValue(key.ToLowerInvariant(), out string val) ? val : defaultValue;
|
return values.TryGetValue(key.ToLower(), out string val) ? val : defaultValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RemoveValue(string key){
|
public void RemoveValue(string key){
|
||||||
values.Remove(key.ToLowerInvariant());
|
values.Remove(key.ToLower());
|
||||||
}
|
}
|
||||||
|
|
||||||
public CommandLineArgs Clone(){
|
public CommandLineArgs Clone(){
|
||||||
|
@ -132,8 +132,7 @@ public override int GetHashCode(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
public override bool Equals(object obj){
|
public override bool Equals(object obj){
|
||||||
Plugin plugin = obj as Plugin;
|
return obj is Plugin plugin && plugin.Identifier.Equals(Identifier);
|
||||||
return plugin != null && plugin.Identifier.Equals(Identifier);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Plugin CreateFromFolder(string path, PluginGroup group, out string error){
|
public static Plugin CreateFromFolder(string path, PluginGroup group, out string error){
|
||||||
@ -184,7 +183,7 @@ private static bool LoadMetadata(string path, Plugin plugin, out string error){
|
|||||||
plugin.metadata[currentTag] = currentContents;
|
plugin.metadata[currentTag] = currentContents;
|
||||||
}
|
}
|
||||||
|
|
||||||
currentTag = line.Substring(1, line.Length-2).ToUpperInvariant();
|
currentTag = line.Substring(1, line.Length-2).ToUpper();
|
||||||
currentContents = "";
|
currentContents = "";
|
||||||
|
|
||||||
if (line.Equals(endTag[0])){
|
if (line.Equals(endTag[0])){
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
using System.Globalization;
|
using TweetDuck.Plugins.Enums;
|
||||||
using TweetDuck.Plugins.Enums;
|
|
||||||
|
|
||||||
namespace TweetDuck.Plugins{
|
namespace TweetDuck.Plugins{
|
||||||
static class PluginScriptGenerator{
|
static class PluginScriptGenerator{
|
||||||
@ -11,7 +10,7 @@ public static string GeneratePlugin(string pluginIdentifier, string pluginConten
|
|||||||
return PluginGen
|
return PluginGen
|
||||||
.Replace("%params", environment.GetScriptVariables())
|
.Replace("%params", environment.GetScriptVariables())
|
||||||
.Replace("%id", pluginIdentifier)
|
.Replace("%id", pluginIdentifier)
|
||||||
.Replace("%token", pluginToken.ToString(CultureInfo.InvariantCulture))
|
.Replace("%token", pluginToken.ToString())
|
||||||
.Replace("%contents", pluginContents);
|
.Replace("%contents", pluginContents);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
13
Program.cs
13
Program.cs
@ -51,7 +51,7 @@ static class Program{
|
|||||||
|
|
||||||
public static UserConfig UserConfig { get; private set; }
|
public static UserConfig UserConfig { get; private set; }
|
||||||
public static SystemConfig SystemConfig { get; private set; }
|
public static SystemConfig SystemConfig { get; private set; }
|
||||||
public static Reporter Reporter { get; private set; }
|
public static Reporter Reporter { get; }
|
||||||
public static CultureInfo Culture { get; }
|
public static CultureInfo Culture { get; }
|
||||||
|
|
||||||
public static event EventHandler UserConfigReplaced;
|
public static event EventHandler UserConfigReplaced;
|
||||||
@ -61,21 +61,22 @@ static Program(){
|
|||||||
Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
|
Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
|
||||||
CultureInfo.DefaultThreadCurrentCulture = CultureInfo.InvariantCulture;
|
CultureInfo.DefaultThreadCurrentCulture = CultureInfo.InvariantCulture;
|
||||||
|
|
||||||
|
Reporter = new Reporter(ErrorLogFilePath);
|
||||||
|
Reporter.SetupUnhandledExceptionHandler(BrandName+" Has Failed :(");
|
||||||
|
}
|
||||||
|
|
||||||
[STAThread]
|
[STAThread]
|
||||||
private static void Main(){
|
private static void Main(){
|
||||||
Application.EnableVisualStyles();
|
Application.EnableVisualStyles();
|
||||||
Application.SetCompatibleTextRenderingDefault(false);
|
Application.SetCompatibleTextRenderingDefault(false);
|
||||||
|
|
||||||
WindowRestoreMessage = NativeMethods.RegisterWindowMessage("TweetDuckRestore");
|
WindowRestoreMessage = NativeMethods.RegisterWindowMessage("TweetDuckRestore");
|
||||||
|
|
||||||
if (!WindowsUtils.CheckFolderWritePermission(StoragePath)){
|
if (!WindowsUtils.CheckFolderWritePermission(StoragePath)){
|
||||||
MessageBox.Show(BrandName+" does not have write permissions to the storage folder: "+StoragePath, "Permission Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
MessageBox.Show(BrandName+" does not have write permissions to the storage folder: "+StoragePath, "Permission Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Reporter = new Reporter(ErrorLogFilePath);
|
|
||||||
Reporter.SetupUnhandledExceptionHandler(BrandName+" Has Failed :(");
|
|
||||||
|
|
||||||
if (Arguments.HasFlag(Arguments.ArgRestart)){
|
if (Arguments.HasFlag(Arguments.ArgRestart)){
|
||||||
for(int attempt = 0; attempt < 21; attempt++){
|
for(int attempt = 0; attempt < 21; attempt++){
|
||||||
LockManager.Result lockResult = LockManager.Lock();
|
LockManager.Result lockResult = LockManager.Lock();
|
||||||
|
@ -16,9 +16,7 @@ public Reporter(string logFile){
|
|||||||
|
|
||||||
public void SetupUnhandledExceptionHandler(string caption){
|
public void SetupUnhandledExceptionHandler(string caption){
|
||||||
AppDomain.CurrentDomain.UnhandledException += (sender, args) => {
|
AppDomain.CurrentDomain.UnhandledException += (sender, args) => {
|
||||||
Exception ex = args.ExceptionObject as Exception;
|
if (args.ExceptionObject is Exception ex) {
|
||||||
|
|
||||||
if (ex != null){
|
|
||||||
HandleException(caption, "An unhandled exception has occurred.", false, ex);
|
HandleException(caption, "An unhandled exception has occurred.", false, ex);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -31,6 +31,11 @@ public static AudioPlayer New(){
|
|||||||
|
|
||||||
public abstract void Play(string file);
|
public abstract void Play(string file);
|
||||||
public abstract void Stop();
|
public abstract void Stop();
|
||||||
public abstract void Dispose();
|
protected abstract void Dispose(bool disposing);
|
||||||
|
|
||||||
|
public void Dispose(){
|
||||||
|
Dispose(true);
|
||||||
|
GC.SuppressFinalize(this);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -38,7 +38,7 @@ public override void Stop(){
|
|||||||
player.Stop();
|
player.Stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Dispose(){
|
protected override void Dispose(bool disposing){
|
||||||
player.Dispose();
|
player.Dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@ public override void Stop(){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Dispose(){
|
protected override void Dispose(bool disposing){
|
||||||
player.close();
|
player.close();
|
||||||
Marshal.ReleaseComObject(player);
|
Marshal.ReleaseComObject(player);
|
||||||
}
|
}
|
||||||
|
@ -82,9 +82,7 @@ private static ISimpleAudioVolume GetVolumeObject(string name){
|
|||||||
ISimpleAudioVolume volumeObj = null;
|
ISimpleAudioVolume volumeObj = null;
|
||||||
|
|
||||||
for(int index = sessions.GetCount()-1; index >= 0; index--){
|
for(int index = sessions.GetCount()-1; index >= 0; index--){
|
||||||
IAudioSessionControl2 ctl = sessions.GetSession(index) as IAudioSessionControl2;
|
if (sessions.GetSession(index) is IAudioSessionControl2 ctl){
|
||||||
|
|
||||||
if (ctl != null){
|
|
||||||
string identifier = ctl.GetSessionIdentifier();
|
string identifier = ctl.GetSessionIdentifier();
|
||||||
|
|
||||||
if (identifier != null && identifier.Contains(name)){
|
if (identifier != null && identifier.Contains(name)){
|
||||||
|
Loading…
Reference in New Issue
Block a user