Merge branch 'master' of github.com:rainmeter/rainmeter

This commit is contained in:
jsmorley 2013-03-25 09:41:48 -04:00
commit 3211f6d902
4 changed files with 21 additions and 3 deletions

View File

@ -47,11 +47,15 @@ namespace DllExporter
{
ildasmPath = Environment.ExpandEnvironmentVariables(@"%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.0A\Bin\ildasm.exe");
if (!System.IO.File.Exists(ildasmPath))
{
ildasmPath = Environment.ExpandEnvironmentVariables(@"%ProgramFiles(x86)%\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\ildasm.exe");
if (!System.IO.File.Exists(ildasmPath))
{
Console.WriteLine("DllExporter error: ildasm.exe not found");
return 1;
}
}
}
System.IO.Directory.SetCurrentDirectory(targetDirectory);

View File

@ -114,6 +114,7 @@ namespace InputText
internal List<Dictionary<string, string>> OverrideOptions;
internal List<string> Commands;
internal string Command;
internal string DismissAction;
internal BangType Type;
internal ExecuteBangParam(string args)
@ -122,6 +123,7 @@ namespace InputText
this.OverrideOptions = new List<Dictionary<string, string>>();
this.Commands = new List<string>();
this.Command = args.Trim();
this.DismissAction = null;
this.Type = BangType.Unknown;
}
};

View File

@ -43,6 +43,8 @@ namespace InputText
ReadOption("Password", param.Options);
ReadOption("TopMost", param.Options);
param.DismissAction = rm.ReadString("OnDismissAction", "", false);
#region Handle a single parameter
// If our parameter list only contains a single word, then open a textbox immediately
@ -184,7 +186,12 @@ namespace InputText
// If the user cancelled out of the inputbox (ESC key, etc.), then abort
if (sInput == null)
{
// Execute OnDismissAction if defined
if (!String.IsNullOrEmpty(param.DismissAction))
API.Execute(rm.GetSkin(), param.DismissAction);
break;
}
// Ask Rainmeter to set the variable using a bang (http://rainmeter.net/RainCMS/?q=Bangs)
API.Execute(rm.GetSkin(), "!SetVariable " + param.Command + " \"" + sInput + "\"");
@ -201,7 +208,12 @@ namespace InputText
// Execute the line, but if there's a problem (error or they cancel the
// input textbox), then abort
if (!ExecuteLine(param.Commands[i], param.Options, param.OverrideOptions[i]))
{
// Execute OnDismissAction if defined
if (!String.IsNullOrEmpty(param.DismissAction))
API.Execute(rm.GetSkin(), param.DismissAction);
break;
}
// Continue to the next line, if there is any
}

View File

@ -110,6 +110,6 @@
</Target>
-->
<PropertyGroup>
<PostBuildEvent>"$(SolutionDir)Plugins\API\DllExporter.exe" "$(ConfigurationName)" "$(PlatformName)" "$(TargetDir)\" "$(TargetFileName)" "$(TargetedFrameworkDir)\ilasm.exe" "$(FrameworkSDKDir)bin\ildasm.exe"</PostBuildEvent>
<PostBuildEvent>"$(SolutionDir)Plugins\API\DllExporter.exe" "$(ConfigurationName)" "$(PlatformName)" "$(TargetDir)\" "$(TargetFileName)"</PostBuildEvent>
</PropertyGroup>
</Project>