[PR #10513] [MERGED] Introduce a basic ApplicationState class #28088

Open
opened 2026-01-31 09:26:14 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/10513
Author: @lhecker
Created: 6/25/2021
Status: Merged
Merged: 6/30/2021
Merged by: @lhecker

Base: mainHead: dev/lhecker/app-state


📝 Commits (4)

  • 7d45da3 Introduce a basic ApplicationState class
  • 48d12b5 Fix spell check
  • 2c12673 Fix formatting check
  • 08ef30b Address reviewer comments & improve docs

📊 Changes

12 files changed (+485 additions, -237 deletions)

View changed files

📝 .github/actions/spelling/expect/expect.txt (+1 -2)
📝 doc/cascadia/AddASetting.md (+7 -7)
📝 src/cascadia/TerminalApp/AppLogic.cpp (+30 -55)
📝 src/cascadia/TerminalApp/AppLogic.h (+8 -8)
src/cascadia/TerminalSettingsModel/ApplicationState.cpp (+173 -0)
src/cascadia/TerminalSettingsModel/ApplicationState.h (+69 -0)
src/cascadia/TerminalSettingsModel/ApplicationState.idl (+13 -0)
📝 src/cascadia/TerminalSettingsModel/CascadiaSettings.h (+1 -2)
📝 src/cascadia/TerminalSettingsModel/CascadiaSettingsSerialization.cpp (+26 -163)
src/cascadia/TerminalSettingsModel/FileUtils.cpp (+137 -0)
src/cascadia/TerminalSettingsModel/FileUtils.h (+11 -0)
📝 src/cascadia/TerminalSettingsModel/Microsoft.Terminal.Settings.ModelLib.vcxproj (+9 -0)

📄 Description

This commit introduces a basic ApplicationState class, without being used for anything yet to aid reviewers. At a later point actual usages of this new class may be added separately.

References

This commit is an initial step towards implementing #8324.

PR Checklist

  • I work here
  • Tests added/passed

Validation Steps Performed

  • Creating a state.json with {"generatedProfiles":["{53e75ed9-2b63-4118-856d-0510c4f6b97e}"]} updates the ApplicationState, as observed through a debugger ✔️
  • Deleting the "generatedProfiles" field sets the corresponding field back to nullopt ✔️

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/microsoft/terminal/pull/10513 **Author:** [@lhecker](https://github.com/lhecker) **Created:** 6/25/2021 **Status:** ✅ Merged **Merged:** 6/30/2021 **Merged by:** [@lhecker](https://github.com/lhecker) **Base:** `main` ← **Head:** `dev/lhecker/app-state` --- ### 📝 Commits (4) - [`7d45da3`](https://github.com/microsoft/terminal/commit/7d45da3b95f54f842549faac7b05b5674a03d999) Introduce a basic ApplicationState class - [`48d12b5`](https://github.com/microsoft/terminal/commit/48d12b543d3d1fe9a6c87165b6197d21330031c3) Fix spell check - [`2c12673`](https://github.com/microsoft/terminal/commit/2c12673d29f9433e3141d635ac17ae63c21aad46) Fix formatting check - [`08ef30b`](https://github.com/microsoft/terminal/commit/08ef30b0a14cb5f9ac915d36e8d9f72484763994) Address reviewer comments & improve docs ### 📊 Changes **12 files changed** (+485 additions, -237 deletions) <details> <summary>View changed files</summary> 📝 `.github/actions/spelling/expect/expect.txt` (+1 -2) 📝 `doc/cascadia/AddASetting.md` (+7 -7) 📝 `src/cascadia/TerminalApp/AppLogic.cpp` (+30 -55) 📝 `src/cascadia/TerminalApp/AppLogic.h` (+8 -8) ➕ `src/cascadia/TerminalSettingsModel/ApplicationState.cpp` (+173 -0) ➕ `src/cascadia/TerminalSettingsModel/ApplicationState.h` (+69 -0) ➕ `src/cascadia/TerminalSettingsModel/ApplicationState.idl` (+13 -0) 📝 `src/cascadia/TerminalSettingsModel/CascadiaSettings.h` (+1 -2) 📝 `src/cascadia/TerminalSettingsModel/CascadiaSettingsSerialization.cpp` (+26 -163) ➕ `src/cascadia/TerminalSettingsModel/FileUtils.cpp` (+137 -0) ➕ `src/cascadia/TerminalSettingsModel/FileUtils.h` (+11 -0) 📝 `src/cascadia/TerminalSettingsModel/Microsoft.Terminal.Settings.ModelLib.vcxproj` (+9 -0) </details> ### 📄 Description This commit introduces a basic ApplicationState class, without being used for anything yet to aid reviewers. At a later point actual usages of this new class may be added separately. ## References This commit is an initial step towards implementing #8324. ## PR Checklist * [x] I work here * [x] Tests added/passed ## Validation Steps Performed * Creating a `state.json` with `{"generatedProfiles":["{53e75ed9-2b63-4118-856d-0510c4f6b97e}"]}` updates the ApplicationState, as observed through a debugger ✔️ * Deleting the "generatedProfiles" field sets the corresponding field back to nullopt ✔️ --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-31 09:26:14 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#28088