This code is execute when you click this button :
[Serializable]
public class ResetSettings : Command, ISupportsContinuation
{
/// <summary>
/// Executes the command in the specified context.
/// </summary>
/// <param name="context">The context.</param>
public override void Execute(CommandContext context)
{
Assert.ArgumentNotNull(context, "context");
string text = context.Parameters["username"];
if (!ValidationHelper.ValidateUserWithMessage(text))
{
return;
}
System.Collections.Specialized.NameValueCollection nameValueCollection = new System.Collections.Specialized.NameValueCollection();
nameValueCollection["username"] = text;
ClientPipelineArgs args = new ClientPipelineArgs(nameValueCollection);
ContinuationManager.Current.Start(this, "Run", args);
}
/// <summary>
/// Runs the pipeline.
/// </summary>
/// <param name="args">The args.</param>
protected void Run(ClientPipelineArgs args)
{
Assert.ArgumentNotNull(args, "args");
ListString listString = new ListString(args.Parameters["username"]);
if (args.IsPostBack)
{
if (args.Result == "yes")
{
foreach (string current in listString)
{
User user = User.FromName(current, true);
Assert.IsNotNull(user, typeof(User));
UserProfile profile = user.Profile;
List<string> customPropertyNames = profile.GetCustomPropertyNames();
string value = "/" + current + "/";
foreach (string current2 in customPropertyNames)
{
if (current2.StartsWith(value, StringComparison.InvariantCultureIgnoreCase))
{
profile.RemoveCustomProperty(current2);
}
}
profile.Save();
RegistryCache registryCache = CacheManager.GetRegistryCache(Context.Site);
if (registryCache != null)
{
registryCache.Clear();
}
Log.Audit(this, "Reset settings: {0}", new string[]
{
user.Name
});
}
AjaxScriptManager.Current.Dispatch("usermanager:refresh");
return;
}
}
else
{
if (listString.Count == 1)
{
User user2 = User.FromName(listString[0], true);
Assert.IsNotNull(user2, typeof(User));
SheerResponse.Confirm(Translate.Text("Are you sure you want to reset the settings of {0}?", new object[]
{
user2.GetLocalName()
}));
}
else
{
SheerResponse.Confirm(Translate.Text("Are you sure you want to reset the settings of these {0} users?", new object[]
{
listString.Count
}));
}
args.WaitForPostBack();
}
}
}
Update:
Reset should remove only custom information like size of the dialogs or preselect options in some controls.
Example: You click on right corner Show Database Name for an editor.

If you press Reset Settings for that editor, Database Name will be reset and will not be shown on the bottom right corner.