// Copyright (c) Microsoft Corporation // The Microsoft Corporation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. using System.Globalization; using System.Runtime.InteropServices; using System.Threading; using System.Windows; using Wox.Plugin; namespace Microsoft.Plugin.Calculator { public static class ResultHelper { public static Result CreateResult(CalculateResult result, string iconPath) { return CreateResult(result.RoundedResult, iconPath); } public static Result CreateResult(decimal roundedResult, string iconPath) { return new Result { Title = roundedResult.ToString(CultureInfo.CurrentCulture), IcoPath = iconPath, Score = 300, SubTitle = Properties.Resources.wox_plugin_calculator_copy_number_to_clipboard, Action = c => Action(roundedResult), }; } public static bool Action(decimal roundedResult) { var ret = false; var thread = new Thread(() => { try { Clipboard.SetText(roundedResult.ToString(CultureInfo.CurrentUICulture.NumberFormat)); ret = true; } catch (ExternalException) { MessageBox.Show(Properties.Resources.wox_plugin_calculator_copy_failed); } }); thread.SetApartmentState(ApartmentState.STA); thread.Start(); thread.Join(); return ret; } } }