2879fcf65b
This fixes some places where we were in fact not using winrt::make<> Related to #10264 Closes #10323
55 lines
2.6 KiB
C++
55 lines
2.6 KiB
C++
// Copyright (c) Microsoft Corporation.
|
|
// Licensed under the MIT license.
|
|
|
|
#pragma once
|
|
|
|
#include "MainPage.g.h"
|
|
#include "Utils.h"
|
|
|
|
namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
|
|
{
|
|
struct MainPage : MainPageT<MainPage>
|
|
{
|
|
MainPage() = delete;
|
|
MainPage(const Model::CascadiaSettings& settings);
|
|
|
|
fire_and_forget UpdateSettings(Model::CascadiaSettings settings);
|
|
|
|
void OpenJsonKeyDown(Windows::Foundation::IInspectable const& sender, Windows::UI::Xaml::Input::KeyRoutedEventArgs const& args);
|
|
void OpenJsonTapped(Windows::Foundation::IInspectable const& sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs const& args);
|
|
void SettingsNav_Loaded(Windows::Foundation::IInspectable const& sender, Windows::UI::Xaml::RoutedEventArgs const& args);
|
|
void SettingsNav_ItemInvoked(Microsoft::UI::Xaml::Controls::NavigationView const& sender, Microsoft::UI::Xaml::Controls::NavigationViewItemInvokedEventArgs const& args);
|
|
void SaveButton_Click(Windows::Foundation::IInspectable const& sender, Windows::UI::Xaml::RoutedEventArgs const& args);
|
|
void ResetButton_Click(Windows::Foundation::IInspectable const& sender, Windows::UI::Xaml::RoutedEventArgs const& args);
|
|
|
|
void SetHostingWindow(uint64_t hostingWindow) noexcept;
|
|
bool TryPropagateHostingWindow(IInspectable object) noexcept;
|
|
uint64_t GetHostingWindow() const noexcept;
|
|
|
|
TYPED_EVENT(OpenJson, Windows::Foundation::IInspectable, Model::SettingsTarget);
|
|
|
|
private:
|
|
Model::CascadiaSettings _settingsSource;
|
|
Model::CascadiaSettings _settingsClone;
|
|
|
|
std::optional<HWND> _hostingHwnd;
|
|
|
|
void _InitializeProfilesList();
|
|
void _CreateAndNavigateToNewProfile(const uint32_t index, const Model::Profile& profile);
|
|
winrt::Microsoft::UI::Xaml::Controls::NavigationViewItem _CreateProfileNavViewItem(const Editor::ProfileViewModel& profile);
|
|
void _DeleteProfile(const Windows::Foundation::IInspectable sender, const Editor::DeleteProfileEventArgs& args);
|
|
void _AddProfileHandler(const winrt::guid profileGuid);
|
|
|
|
void _Navigate(hstring clickedItemTag);
|
|
void _Navigate(const Editor::ProfileViewModel& profile);
|
|
|
|
winrt::Microsoft::Terminal::Settings::Editor::ColorSchemesPageNavigationState _colorSchemesNavState{ nullptr };
|
|
winrt::Microsoft::Terminal::Settings::Editor::ProfilePageNavigationState _lastProfilesNavState{ nullptr };
|
|
};
|
|
}
|
|
|
|
namespace winrt::Microsoft::Terminal::Settings::Editor::factory_implementation
|
|
{
|
|
BASIC_FACTORY(MainPage);
|
|
}
|