mirror of
				https://github.com/chibicitiberiu/rainmeter-studio.git
				synced 2024-02-24 04:33:31 +00:00 
			
		
		
		
	InputText: Added OnDismissAction
This commit is contained in:
		@@ -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;
 | 
			
		||||
            }
 | 
			
		||||
        };
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
                        }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user