mirror of
https://github.com/microsoft/terminal.git
synced 2025-12-10 00:48:23 -06:00
You'll never believe this. Clicking on the dropdown button on a ComboBox doesn't set `e.Tapped = true`. It bubbles up, and lands in our `Pane`'s `Border`'s tapped handler. And in there, we yeet focus to the first content. We end up stealing focus from the combobox, and then the combobox doesn't actually open its dropdown. So yea we can just fix that. Easy enough. Closes #17062 --------- Co-authored-by: Dustin L. Howett <duhowett@microsoft.com> Co-authored-by: Leonard Hecker <lhecker@microsoft.com>
50 lines
1.8 KiB
C++
50 lines
1.8 KiB
C++
/*++
|
|
Copyright (c) Microsoft Corporation
|
|
Licensed under the MIT license.
|
|
--*/
|
|
#pragma once
|
|
#include "../../inc/cppwinrt_utils.h"
|
|
#include "../types/inc/colorTable.hpp"
|
|
#include "../../inc/ControlProperties.h"
|
|
|
|
#include <DefaultSettings.h>
|
|
#include <conattrs.hpp>
|
|
#include "MySettings.g.h"
|
|
|
|
using IFontFeatureMap = winrt::Windows::Foundation::Collections::IMap<winrt::hstring, float>;
|
|
using IFontAxesMap = winrt::Windows::Foundation::Collections::IMap<winrt::hstring, float>;
|
|
|
|
namespace winrt::SampleApp::implementation
|
|
{
|
|
struct MySettings : MySettingsT<MySettings>
|
|
{
|
|
// Color Table is special because it's an array
|
|
std::array<winrt::Microsoft::Terminal::Core::Color, COLOR_TABLE_SIZE> _ColorTable;
|
|
|
|
#define SETTINGS_GEN(type, name, ...) WINRT_PROPERTY(type, name, __VA_ARGS__);
|
|
CORE_SETTINGS(SETTINGS_GEN)
|
|
CORE_APPEARANCE_SETTINGS(SETTINGS_GEN)
|
|
CONTROL_SETTINGS(SETTINGS_GEN)
|
|
CONTROL_APPEARANCE_SETTINGS(SETTINGS_GEN)
|
|
#undef SETTINGS_GEN
|
|
|
|
public:
|
|
winrt::Microsoft::Terminal::Core::Color GetColorTableEntry(int32_t index) noexcept { return _ColorTable.at(index); }
|
|
std::array<winrt::Microsoft::Terminal::Core::Color, 16> ColorTable() { return _ColorTable; }
|
|
void ColorTable(std::array<winrt::Microsoft::Terminal::Core::Color, 16> /*colors*/) {}
|
|
|
|
MySettings()
|
|
{
|
|
const auto campbellSpan = ::Microsoft::Console::Utils::CampbellColorTable();
|
|
std::transform(campbellSpan.begin(), campbellSpan.end(), _ColorTable.begin(), [](auto&& color) {
|
|
return static_cast<winrt::Microsoft::Terminal::Core::Color>(til::color{ color });
|
|
});
|
|
}
|
|
};
|
|
}
|
|
|
|
namespace winrt::SampleApp::factory_implementation
|
|
{
|
|
BASIC_FACTORY(MySettings);
|
|
}
|