From cff13630cc1af16eb3028e0078d6e3e53dfedb2e Mon Sep 17 00:00:00 2001 From: Carlos Zamora Date: Thu, 18 Feb 2021 10:28:50 -0800 Subject: [PATCH 1/3] Enable text search on combo boxes --- src/cascadia/TerminalSettingsEditor/EnumEntry.h | 5 +++++ src/cascadia/TerminalSettingsEditor/EnumEntry.idl | 3 ++- src/cascadia/TerminalSettingsModel/ColorScheme.h | 5 +++++ src/cascadia/TerminalSettingsModel/ColorScheme.idl | 3 ++- src/cascadia/TerminalSettingsModel/Profile.h | 6 ++++++ src/cascadia/TerminalSettingsModel/Profile.idl | 4 +++- 6 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/cascadia/TerminalSettingsEditor/EnumEntry.h b/src/cascadia/TerminalSettingsEditor/EnumEntry.h index 810f567e36a..17f9b9cfe5a 100644 --- a/src/cascadia/TerminalSettingsEditor/EnumEntry.h +++ b/src/cascadia/TerminalSettingsEditor/EnumEntry.h @@ -46,6 +46,11 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation _EnumName{ enumName }, _EnumValue{ enumValue } {} + hstring ToString() + { + return EnumName(); + } + WINRT_CALLBACK(PropertyChanged, Windows::UI::Xaml::Data::PropertyChangedEventHandler); OBSERVABLE_GETSET_PROPERTY(winrt::hstring, EnumName, _PropertyChangedHandlers); OBSERVABLE_GETSET_PROPERTY(winrt::Windows::Foundation::IInspectable, EnumValue, _PropertyChangedHandlers); diff --git a/src/cascadia/TerminalSettingsEditor/EnumEntry.idl b/src/cascadia/TerminalSettingsEditor/EnumEntry.idl index 4b78051370c..dc3b3f60f6f 100644 --- a/src/cascadia/TerminalSettingsEditor/EnumEntry.idl +++ b/src/cascadia/TerminalSettingsEditor/EnumEntry.idl @@ -3,9 +3,10 @@ namespace Microsoft.Terminal.Settings.Editor { - [default_interface] runtimeclass EnumEntry : Windows.UI.Xaml.Data.INotifyPropertyChanged + [default_interface] runtimeclass EnumEntry : Windows.UI.Xaml.Data.INotifyPropertyChanged, Windows.Foundation.IStringable { String EnumName { get; }; IInspectable EnumValue { get; }; + String ToString(); } } diff --git a/src/cascadia/TerminalSettingsModel/ColorScheme.h b/src/cascadia/TerminalSettingsModel/ColorScheme.h index 6f0bdb50240..fd417eaf934 100644 --- a/src/cascadia/TerminalSettingsModel/ColorScheme.h +++ b/src/cascadia/TerminalSettingsModel/ColorScheme.h @@ -37,6 +37,11 @@ namespace winrt::Microsoft::Terminal::Settings::Model::implementation ColorScheme(hstring name, COLORREF defaultFg, COLORREF defaultBg, COLORREF cursorColor); com_ptr Copy() const; + hstring ToString() + { + return Name(); + } + static com_ptr FromJson(const Json::Value& json); bool ShouldBeLayered(const Json::Value& json) const; void LayerJson(const Json::Value& json); diff --git a/src/cascadia/TerminalSettingsModel/ColorScheme.idl b/src/cascadia/TerminalSettingsModel/ColorScheme.idl index 694c62ae8e7..eba1338f25a 100644 --- a/src/cascadia/TerminalSettingsModel/ColorScheme.idl +++ b/src/cascadia/TerminalSettingsModel/ColorScheme.idl @@ -3,8 +3,9 @@ namespace Microsoft.Terminal.Settings.Model { - [default_interface] runtimeclass ColorScheme { + [default_interface] runtimeclass ColorScheme : Windows.Foundation.IStringable { ColorScheme(String name); + String ToString(); String Name; diff --git a/src/cascadia/TerminalSettingsModel/Profile.h b/src/cascadia/TerminalSettingsModel/Profile.h index b7964abe516..228c75506ab 100644 --- a/src/cascadia/TerminalSettingsModel/Profile.h +++ b/src/cascadia/TerminalSettingsModel/Profile.h @@ -47,6 +47,12 @@ namespace winrt::Microsoft::Terminal::Settings::Model::implementation public: Profile(); Profile(guid guid); + + hstring ToString() + { + return Name(); + } + static com_ptr CloneInheritanceGraph(com_ptr oldProfile, com_ptr newProfile, std::unordered_map>& visited); static com_ptr CopySettings(com_ptr source); diff --git a/src/cascadia/TerminalSettingsModel/Profile.idl b/src/cascadia/TerminalSettingsModel/Profile.idl index f65b34e5c5a..62e95854936 100644 --- a/src/cascadia/TerminalSettingsModel/Profile.idl +++ b/src/cascadia/TerminalSettingsModel/Profile.idl @@ -31,10 +31,12 @@ namespace Microsoft.Terminal.Settings.Model Vertical_Bottom = 0x20 }; - [default_interface] runtimeclass Profile { + [default_interface] runtimeclass Profile : Windows.Foundation.IStringable { Profile(); Profile(Guid guid); + String ToString(); + Boolean HasName(); void ClearName(); String Name; From ac9125402bcb29ffee16faba17f83dc6d068299c Mon Sep 17 00:00:00 2001 From: Carlos Zamora Date: Thu, 18 Feb 2021 10:38:15 -0800 Subject: [PATCH 2/3] add IStringable to dictionary --- .github/actions/spelling/dictionary/apis.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/actions/spelling/dictionary/apis.txt b/.github/actions/spelling/dictionary/apis.txt index d3b3ac73bce..973246186ba 100644 --- a/.github/actions/spelling/dictionary/apis.txt +++ b/.github/actions/spelling/dictionary/apis.txt @@ -41,6 +41,7 @@ IObject IPackage IPeasant IStorage +IStringable ITab ITaskbar LCID From a5333b5c0b74faac2c272dd5b7d571e7683d79e9 Mon Sep 17 00:00:00 2001 From: Carlos Zamora Date: Fri, 19 Feb 2021 09:43:55 -0800 Subject: [PATCH 3/3] we don't actually need ToString in the IDL --- src/cascadia/TerminalSettingsEditor/EnumEntry.idl | 1 - src/cascadia/TerminalSettingsModel/ColorScheme.idl | 1 - src/cascadia/TerminalSettingsModel/Profile.idl | 2 -- 3 files changed, 4 deletions(-) diff --git a/src/cascadia/TerminalSettingsEditor/EnumEntry.idl b/src/cascadia/TerminalSettingsEditor/EnumEntry.idl index dc3b3f60f6f..ce92d75762a 100644 --- a/src/cascadia/TerminalSettingsEditor/EnumEntry.idl +++ b/src/cascadia/TerminalSettingsEditor/EnumEntry.idl @@ -7,6 +7,5 @@ namespace Microsoft.Terminal.Settings.Editor { String EnumName { get; }; IInspectable EnumValue { get; }; - String ToString(); } } diff --git a/src/cascadia/TerminalSettingsModel/ColorScheme.idl b/src/cascadia/TerminalSettingsModel/ColorScheme.idl index eba1338f25a..f2f5615c3ec 100644 --- a/src/cascadia/TerminalSettingsModel/ColorScheme.idl +++ b/src/cascadia/TerminalSettingsModel/ColorScheme.idl @@ -5,7 +5,6 @@ namespace Microsoft.Terminal.Settings.Model { [default_interface] runtimeclass ColorScheme : Windows.Foundation.IStringable { ColorScheme(String name); - String ToString(); String Name; diff --git a/src/cascadia/TerminalSettingsModel/Profile.idl b/src/cascadia/TerminalSettingsModel/Profile.idl index 62e95854936..8586aee90a5 100644 --- a/src/cascadia/TerminalSettingsModel/Profile.idl +++ b/src/cascadia/TerminalSettingsModel/Profile.idl @@ -35,8 +35,6 @@ namespace Microsoft.Terminal.Settings.Model Profile(); Profile(Guid guid); - String ToString(); - Boolean HasName(); void ClearName(); String Name;