2b4b8dd1bd
## Summary of the Pull Request Two parts: * Hide the BG image settings when no image is specified * Add a checkbox for "Use desktop wallpaper". When that's checked, the BG image path input is hidden. Unchecking that box restores the path to what it was before. ## PR Checklist * [x] Closes #8763 * [x] I work here ## Validation Steps Performed Tested manually
51 lines
2.9 KiB
C++
51 lines
2.9 KiB
C++
// Copyright (c) Microsoft Corporation.
|
|
// Licensed under the MIT license.
|
|
|
|
#include "pch.h"
|
|
#include "StringIsNotDesktopConverter.h"
|
|
#include "StringIsNotDesktopConverter.g.cpp"
|
|
#include "DesktopWallpaperToEmptyStringConverter.g.cpp"
|
|
|
|
using namespace winrt::Windows;
|
|
using namespace winrt::Windows::UI::Xaml;
|
|
using namespace winrt::Windows::UI::Text;
|
|
|
|
namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
|
{
|
|
Foundation::IInspectable StringIsNotDesktopConverter::Convert(Foundation::IInspectable const& value,
|
|
Windows::UI::Xaml::Interop::TypeName const& /* targetType */,
|
|
Foundation::IInspectable const& /* parameter */,
|
|
hstring const& /* language */)
|
|
{
|
|
// Returns Visible if the string is _not_ "desktopWallpaper", else returns Collapsed
|
|
const auto& name = winrt::unbox_value_or<hstring>(value, L"");
|
|
return winrt::box_value(name != L"desktopWallpaper");
|
|
}
|
|
|
|
Foundation::IInspectable StringIsNotDesktopConverter::ConvertBack(Foundation::IInspectable const& /*value*/,
|
|
Windows::UI::Xaml::Interop::TypeName const& /* targetType */,
|
|
Foundation::IInspectable const& /*parameter*/,
|
|
hstring const& /* language */)
|
|
{
|
|
throw hresult_not_implemented();
|
|
}
|
|
|
|
Foundation::IInspectable DesktopWallpaperToEmptyStringConverter::Convert(Foundation::IInspectable const& value,
|
|
Windows::UI::Xaml::Interop::TypeName const& /* targetType */,
|
|
Foundation::IInspectable const& /* parameter */,
|
|
hstring const& /* language */)
|
|
{
|
|
// Returns the empty string if the string is "desktopWallpaper", else returns the original value.
|
|
const auto& name = winrt::unbox_value_or<hstring>(value, L"");
|
|
return winrt::box_value(name == L"desktopWallpaper" ? L"" : name);
|
|
}
|
|
|
|
Foundation::IInspectable DesktopWallpaperToEmptyStringConverter::ConvertBack(Foundation::IInspectable const& value,
|
|
Windows::UI::Xaml::Interop::TypeName const& /* targetType */,
|
|
Foundation::IInspectable const& /*parameter*/,
|
|
hstring const& /* language */)
|
|
{
|
|
return value;
|
|
}
|
|
}
|