Skip to content

Commit 84df819

Browse files
committed
close event
1 parent 5b3aa54 commit 84df819

File tree

5 files changed

+7
-4
lines changed

5 files changed

+7
-4
lines changed

src/cascadia/TerminalApp/IPaneContent.idl

+2
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,7 @@ namespace TerminalApp
2121
void Close();
2222
// event CloseRequested(...);
2323

24+
event Windows.Foundation.TypedEventHandler<Object, Object> CloseRequested;
25+
2426
};
2527
}

src/cascadia/TerminalApp/TerminalPaneContent.cpp

+3-2
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@ namespace winrt::TerminalApp::implementation
6565
_bellPlayer = nullptr;
6666
_bellPlayerCreated = false;
6767
}
68+
69+
CloseRequested.raise(*this, nullptr);
6870
}
6971

7072
NewTerminalArgs TerminalPaneContent::GetNewTerminalArgs(const bool asContent) const
@@ -164,8 +166,7 @@ namespace winrt::TerminalApp::implementation
164166
if ((mode == CloseOnExitMode::Always) ||
165167
((mode == CloseOnExitMode::Graceful || mode == CloseOnExitMode::Automatic) && newConnectionState == ConnectionState::Closed))
166168
{
167-
// TODO! ask the Pane to close
168-
// Close();
169+
Close();
169170
}
170171
}
171172
}

src/cascadia/TerminalApp/TerminalPaneContent.h

+1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ namespace winrt::TerminalApp::implementation
3737
bool ReadOnly() { return _control.ReadOnly(); }
3838

3939
til::typed_event<TerminalApp::TerminalPaneContent, winrt::Windows::Foundation::IInspectable> RestartTerminalRequested;
40+
til::typed_event<> CloseRequested;
4041

4142
private:
4243
winrt::Microsoft::Terminal::Control::TermControl _control{ nullptr };

src/cascadia/TerminalApp/TerminalPaneContent.idl

-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ namespace TerminalApp
1616

1717
Microsoft.Terminal.Settings.Model.Profile GetProfile();
1818

19-
2019
event Windows.Foundation.TypedEventHandler<TerminalPaneContent, Object> RestartTerminalRequested;
2120
}
2221
}

src/inc/til/winrt.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ namespace til // Terminal Implementation Library. Also: "Today I Learned"
7070
winrt::event<ArgsT> _handlers;
7171
};
7272

73-
template<typename SenderT, typename ArgsT>
73+
template<typename SenderT = winrt::Windows::Foundation::IInspectable, typename ArgsT = winrt::Windows::Foundation::IInspectable>
7474
struct typed_event
7575
{
7676
typed_event<SenderT, ArgsT>() = default;

0 commit comments

Comments
 (0)