diff --git a/Plugins/PluginInputText/AssemblyInfo.cs b/Plugins/PluginInputText/AssemblyInfo.cs
index d8745063..094bfd12 100644
--- a/Plugins/PluginInputText/AssemblyInfo.cs
+++ b/Plugins/PluginInputText/AssemblyInfo.cs
@@ -2,6 +2,6 @@
using System.Runtime.CompilerServices;
[assembly: AssemblyCopyright("© 2010 - Peter Souza IV")]
-[assembly: AssemblyVersion("1.4.0.0")]
+[assembly: AssemblyVersion("1.6.0.0")]
[assembly: AssemblyInformationalVersion(Rainmeter.Version.Informational)]
[assembly: AssemblyProduct("Rainmeter")]
diff --git a/Plugins/PluginInputText/Main.cs b/Plugins/PluginInputText/Main.cs
index 40a91c02..131181b5 100644
--- a/Plugins/PluginInputText/Main.cs
+++ b/Plugins/PluginInputText/Main.cs
@@ -18,7 +18,7 @@ namespace InputText
"Peter Souza IV",
// Version
- 1.05,
+ 1.06,
// E-mail
"psouza4@gmail.com",
@@ -125,13 +125,13 @@ namespace InputText
///
/// The unique instance ID of this request.
/// Current value for this meter.
- [DllExport]
- public static double Update2(UInt32 id)
- {
- // Do not modify this member (although you can comment it out). Instead, update
- // your code in 'PluginCode.cs'.
- return new YourPlugin().Update2(Plugin, id);
- }
+ //[DllExport]
+ //public static double Update2(UInt32 id)
+ //{
+ // // Do not modify this member (although you can comment it out). Instead, update
+ // // your code in 'PluginCode.cs'.
+ // return new YourPlugin().Update2(Plugin, id);
+ //}
///
/// Rainmeter's request for text data from the plugin.
diff --git a/Plugins/PluginInputText/PluginCode.cs b/Plugins/PluginInputText/PluginCode.cs
index a24e42b5..2cdfc4fc 100644
--- a/Plugins/PluginInputText/PluginCode.cs
+++ b/Plugins/PluginInputText/PluginCode.cs
@@ -19,10 +19,10 @@ namespace InputText
return 0;
}
- public double Update2(Rainmeter.Settings.InstanceSettings Instance)
- {
- return 0.0;
- }
+ //public double Update2(Rainmeter.Settings.InstanceSettings Instance)
+ //{
+ // return 0.0;
+ //}
public string GetString(Rainmeter.Settings.InstanceSettings Instance)
{
@@ -176,20 +176,20 @@ namespace InputText
// used. For example:
//
// DefaultValue="hello there, how are you"
- sLine = ScanAndReplace(sLine, "DefaultValue", ref Overrides);
- sLine = ScanAndReplace(sLine, "X", ref Overrides);
- sLine = ScanAndReplace(sLine, "Y", ref Overrides);
- sLine = ScanAndReplace(sLine, "W", ref Overrides);
- sLine = ScanAndReplace(sLine, "H", ref Overrides);
- sLine = ScanAndReplace(sLine, "StringStyle", ref Overrides);
- sLine = ScanAndReplace(sLine, "StringAlign", ref Overrides);
- sLine = ScanAndReplace(sLine, "FocusDismiss", ref Overrides);
- sLine = ScanAndReplace(sLine, "FontColor", ref Overrides);
- sLine = ScanAndReplace(sLine, "FontFace", ref Overrides);
- sLine = ScanAndReplace(sLine, "SolidColor", ref Overrides);
- sLine = ScanAndReplace(sLine, "Password", ref Overrides);
- sLine = ScanAndReplace(sLine, "FontSize", ref Overrides);
- sLine = ScanAndReplace(sLine, "TopMost", ref Overrides);
+ sLine = ScanAndReplace(sLine, "DefaultValue", Overrides);
+ sLine = ScanAndReplace(sLine, "X", Overrides);
+ sLine = ScanAndReplace(sLine, "Y", Overrides);
+ sLine = ScanAndReplace(sLine, "W", Overrides);
+ sLine = ScanAndReplace(sLine, "H", Overrides);
+ sLine = ScanAndReplace(sLine, "StringStyle", Overrides);
+ sLine = ScanAndReplace(sLine, "StringAlign", Overrides);
+ sLine = ScanAndReplace(sLine, "FocusDismiss", Overrides);
+ sLine = ScanAndReplace(sLine, "FontColor", Overrides);
+ sLine = ScanAndReplace(sLine, "FontFace", Overrides);
+ sLine = ScanAndReplace(sLine, "SolidColor", Overrides);
+ sLine = ScanAndReplace(sLine, "Password", Overrides);
+ sLine = ScanAndReplace(sLine, "FontSize", Overrides);
+ sLine = ScanAndReplace(sLine, "TopMost", Overrides);
#endregion
// Get user input
@@ -352,7 +352,6 @@ namespace InputText
{
input.ShowDialog(new WindowWrapper(Rainmeter.GetConfigWindow(Instance)));
}
-
if (input.drBackup != System.Windows.Forms.DialogResult.None)
{
@@ -454,7 +453,7 @@ namespace InputText
}
#endregion
#region ScanAndReplace() -- searches for a tag and its value, adding it to overrides if found, and then removing it from the input line
- private string ScanAndReplace(string sLine, string sTagName, ref Dictionary Overrides)
+ private string ScanAndReplace(string sLine, string sTagName, Dictionary Overrides)
{
if (FindTag(sLine, sTagName))
{
diff --git a/Plugins/PluginInputText/Rainmeter.cs b/Plugins/PluginInputText/Rainmeter.cs
index 4f73c519..6c6be2fc 100644
--- a/Plugins/PluginInputText/Rainmeter.cs
+++ b/Plugins/PluginInputText/Rainmeter.cs
@@ -583,104 +583,94 @@ namespace InputText
public UInt32 Update(Rainmeter.Settings Plugin, UInt32 id)
{
- bool bAlreadyRunning = (bool)Plugin.Instances[id].GetTempValue("__RMT_U_AlreadyRunning", false);
- if (!bAlreadyRunning)
- {
- UpdateThread thread_details = new UpdateThread(Plugin.Instances[id]);
- Thread thread = new Thread(new ThreadStart(thread_details.Go));
- thread.Start();
- }
+ //bool bAlreadyRunning = (bool)Plugin.Instances[id].GetTempValue("__RMT_U_AlreadyRunning", false);
+ //if (!bAlreadyRunning)
+ //{
+ // Plugin.Instances[id].SetTempValue("__RMT_U_AlreadyRunning", true);
- try
- {
- return (UInt32)Plugin.Instances[id].GetTempValue("__RMT_U_LastValue", 0);
- }
- catch
+ // ThreadPool.QueueUserWorkItem(_instance =>
+ // {
+ // Rainmeter.Settings.InstanceSettings Instance = (Rainmeter.Settings.InstanceSettings)_instance;
+
+ // try
+ // {
+ // Instance.SetTempValue("__RMT_U_LastValue", new PluginCode().Update(Instance));
+ // }
+ // catch (Exception ex)
+ // {
+ // Rainmeter.Log(Rainmeter.LogLevel.Error, "C# plugin in Update(), " + ex.GetType().ToString() + ": " + ex.Message);
+ // }
+
+ // Instance.SetTempValue("__RMT_U_AlreadyRunning", false);
+ // }, Plugin.Instances[id]);
+ //}
+
+ //try
+ //{
+ // return (UInt32)Plugin.Instances[id].GetTempValue("__RMT_U_LastValue", 0);
+ //}
+ //catch
{
return 0;
}
}
- private class UpdateThread
- {
- private Rainmeter.Settings.InstanceSettings Instance = null;
+ //public double Update2(Rainmeter.Settings Plugin, UInt32 id)
+ //{
+ // bool bAlreadyRunning = (bool)Plugin.Instances[id].GetTempValue("__RMT_U2_AlreadyRunning", false);
+ // if (!bAlreadyRunning)
+ // {
+ // Plugin.Instances[id].SetTempValue("__RMT_U2_AlreadyRunning", true);
- public UpdateThread(Rainmeter.Settings.InstanceSettings _Instance)
- {
- this.Instance = _Instance;
- }
+ // ThreadPool.QueueUserWorkItem(_instance =>
+ // {
+ // Rainmeter.Settings.InstanceSettings Instance = (Rainmeter.Settings.InstanceSettings)_instance;
- public void Go()
- {
- this.Instance.SetTempValue("__RMT_U_AlreadyRunning", true);
+ // try
+ // {
+ // Instance.SetTempValue("__RMT_U2_LastValue", new PluginCode().Update2(Instance));
+ // }
+ // catch (Exception ex)
+ // {
+ // Rainmeter.Log(Rainmeter.LogLevel.Error, "C# plugin in Update2(), " + ex.GetType().ToString() + ": " + ex.Message);
+ // }
- try
- {
- this.Instance.SetTempValue("__RMT_U_LastValue", new PluginCode().Update(this.Instance));
- }
- catch (Exception ex)
- {
- Rainmeter.Log(Rainmeter.LogLevel.Error, "C# plugin in GetString(), " + ex.GetType().ToString() + ": " + ex.Message);
- }
+ // Instance.SetTempValue("__RMT_U2_AlreadyRunning", false);
+ // }, Plugin.Instances[id]);
+ // }
- this.Instance.SetTempValue("__RMT_U_AlreadyRunning", false);
- }
- }
-
- public double Update2(Rainmeter.Settings Plugin, UInt32 id)
- {
- bool bAlreadyRunning = (bool)Plugin.Instances[id].GetTempValue("__RMT_U2_AlreadyRunning", false);
- if (!bAlreadyRunning)
- {
- Update2Thread thread_details = new Update2Thread(Plugin.Instances[id]);
- Thread thread = new Thread(new ThreadStart(thread_details.Go));
- thread.Start();
- }
-
- try
- {
- return (double)Plugin.Instances[id].GetTempValue("__RMT_U2_LastValue", 0.0);
- }
- catch
- {
- return 0.0;
- }
- }
-
- private class Update2Thread
- {
- private Rainmeter.Settings.InstanceSettings Instance = null;
-
- public Update2Thread(Rainmeter.Settings.InstanceSettings _Instance)
- {
- this.Instance = _Instance;
- }
-
- public void Go()
- {
- this.Instance.SetTempValue("__RMT_U2_AlreadyRunning", true);
-
- try
- {
- this.Instance.SetTempValue("__RMT_U2_LastValue", new PluginCode().Update2(this.Instance));
- }
- catch (Exception ex)
- {
- Rainmeter.Log(Rainmeter.LogLevel.Error, "C# plugin in GetString(), " + ex.GetType().ToString() + ": " + ex.Message);
- }
-
- this.Instance.SetTempValue("__RMT_U2_AlreadyRunning", false);
- }
- }
+ // try
+ // {
+ // return (double)Plugin.Instances[id].GetTempValue("__RMT_U2_LastValue", 0.0);
+ // }
+ // catch
+ // {
+ // return 0.0;
+ // }
+ //}
public string GetString(Rainmeter.Settings Plugin, UInt32 id)
{
bool bAlreadyRunning = (bool)Plugin.Instances[id].GetTempValue("__RMT_GS_AlreadyRunning", false);
if (!bAlreadyRunning)
{
- GetStringThread thread_details = new GetStringThread(Plugin.Instances[id]);
- Thread thread = new Thread(new ThreadStart(thread_details.Go));
- thread.Start();
+ Plugin.Instances[id].SetTempValue("__RMT_GS_AlreadyRunning", true);
+
+ ThreadPool.QueueUserWorkItem(_instance =>
+ {
+ Rainmeter.Settings.InstanceSettings Instance = (Rainmeter.Settings.InstanceSettings)_instance;
+
+ try
+ {
+ Instance.SetTempValue("__RMT_GS_LastValue", new PluginCode().GetString(Instance));
+ }
+ catch (Exception ex)
+ {
+ Rainmeter.Log(Rainmeter.LogLevel.Error, "C# plugin in GetString(), " + ex.GetType().ToString() + ": " + ex.Message);
+ }
+
+ Instance.SetTempValue("__RMT_GS_AlreadyRunning", false);
+ }, Plugin.Instances[id]);
}
try
@@ -693,70 +683,43 @@ namespace InputText
}
}
- private class GetStringThread
- {
- private Rainmeter.Settings.InstanceSettings Instance = null;
-
- public GetStringThread(Rainmeter.Settings.InstanceSettings _Instance)
- {
- this.Instance = _Instance;
- }
-
- public void Go()
- {
- this.Instance.SetTempValue("__RMT_GS_AlreadyRunning", true);
-
- try
- {
- this.Instance.SetTempValue("__RMT_GS_LastValue", new PluginCode().GetString(this.Instance));
- }
- catch (Exception ex)
- {
- Rainmeter.Log(Rainmeter.LogLevel.Error, "C# plugin in GetString(), " + ex.GetType().ToString() + ": " + ex.Message);
- }
-
- this.Instance.SetTempValue("__RMT_GS_AlreadyRunning", false);
- }
- }
-
public void ExecuteBang(Rainmeter.Settings Plugin, UInt32 id, string sArguments)
{
bool bAlreadyRunning = (bool)Plugin.Instances[id].GetTempValue("__RMT_EB_AlreadyRunning", false);
if (!bAlreadyRunning)
{
- ExecuteBangThread thread_details = new ExecuteBangThread(Plugin.Instances[id], sArguments);
- Thread thread = new Thread(new ThreadStart(thread_details.Go));
- thread.Start();
+ Plugin.Instances[id].SetTempValue("__RMT_EB_AlreadyRunning", true);
+
+ ThreadPool.QueueUserWorkItem(_param =>
+ {
+ Rainmeter.Settings.InstanceSettings Instance = (Rainmeter.Settings.InstanceSettings)((ExecuteBangParam)_param).Instance;
+ string Command = (string)((ExecuteBangParam)_param).Command;
+
+ try
+ {
+ new PluginCode().ExecuteBang(Instance, Command);
+ }
+ catch (Exception ex)
+ {
+ Rainmeter.Log(Rainmeter.LogLevel.Error, "C# plugin in ExecuteBang(), " + ex.GetType().ToString() + ": " + ex.Message);
+ }
+
+ Instance.SetTempValue("__RMT_EB_AlreadyRunning", false);
+ }, new ExecuteBangParam(Plugin.Instances[id], sArguments));
}
return;
}
- private class ExecuteBangThread
+ private class ExecuteBangParam
{
- private Rainmeter.Settings.InstanceSettings Instance = null;
- private string Command = string.Empty;
+ public Rainmeter.Settings.InstanceSettings Instance = null;
+ public string Command = string.Empty;
- public ExecuteBangThread(Rainmeter.Settings.InstanceSettings _Instance, string _Command)
+ public ExecuteBangParam(Rainmeter.Settings.InstanceSettings _Instance, string _Command)
{
this.Instance = _Instance;
this.Command = _Command;
}
-
- public void Go()
- {
- this.Instance.SetTempValue("__RMT_EB_AlreadyRunning", true);
-
- try
- {
- new PluginCode().ExecuteBang(this.Instance, this.Command);
- }
- catch (Exception ex)
- {
- Rainmeter.Log(Rainmeter.LogLevel.Error, "C# plugin in GetString(), " + ex.GetType().ToString() + ": " + ex.Message);
- }
-
- this.Instance.SetTempValue("__RMT_EB_AlreadyRunning", false);
- }
}
#endregion