MCPcopy Create free account
hub / github.com/TranslucentTB/TranslucentTB / SystemMenuOpening

Method SystemMenuOpening

Xaml/Pages/FramelessPage.cpp:129–159  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

127 }
128
129 void FramelessPage::SystemMenuOpening(const IInspectable &, const IInspectable &)
130 {
131 if (m_NeedsSystemMenuRefresh)
132 {
133 const auto menuItems = SystemMenu().Items();
134
135 // remove everything but the Close menu item
136 const auto closeItem = CloseMenuItem();
137 menuItems.Clear();
138 menuItems.Append(closeItem);
139
140 bool needsMergeStyle = false;
141 if (m_SystemMenuContent.Size() > 0)
142 {
143 menuItems.InsertAt(0, wuxc::MenuFlyoutSeparator());
144 for (const auto newItem : m_SystemMenuContent | std::views::reverse)
145 {
146 if (newItem.try_as<wuxc::ToggleMenuFlyoutItem>())
147 {
148 needsMergeStyle = true;
149 }
150
151 menuItems.InsertAt(0, newItem);
152 }
153 }
154
155 closeItem.Style(needsMergeStyle ? LookupStyle(winrt::box_value(L"MergeIconsMenuFlyoutItem")) : nullptr);
156
157 m_NeedsSystemMenuRefresh = false;
158 }
159 }
160
161 FramelessPage::~FramelessPage()
162 {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected