Skip to content

#2214: overhaul language selection logic - #2356

Open
samuelkos17 wants to merge 3 commits into
devonfw:mainfrom
samuelkos17:feature/2214-overhaul-language-selection-logic
Open

#2214: overhaul language selection logic#2356
samuelkos17 wants to merge 3 commits into
devonfw:mainfrom
samuelkos17:feature/2214-overhaul-language-selection-logic

Conversation

@samuelkos17

@samuelkos17 samuelkos17 commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

This PR fixes #2214

Implemented changes:

  • The reloaded main view now receives the previous MainController and restores the selected project and workspace (plus the enabled state of the workspace combo and the IDE open buttons) after a language switch.
  • The previous selection is only reapplied if the project still exists after the reload; a removed project is skipped gracefully instead of pointing to a stale entry.
  • Added a regression test (AppBaseTest#testLanguageSelectionDoesNotResetGuiState) that drives the locale-change reload the same way the GUI does and verifies the GUI state survives, including the stale-project case.

Testing instructions

Please add conscise, understandable instructions on how a reviewer can test/verify the functionality of your contribution here:

  1. Run the build-local-dev.sh script.
  2. Open a new shell and run ide gui
  3. Inside the GUI, select a project and a workspace, then change the language. The state of the GUI should be kept.

Checklist for this PR

Make sure everything is checked before merging this PR. For further info please also see
our DoD.

  • When running mvn clean test locally all tests pass and build is successful
  • PR title is of the form #«issue-id»: «brief summary» (e.g. #921: fixed setup.bat and not feature/921 fixed setup.bat). If no issue ID exists, title only.
  • PR top-level comment summaries what has been done and contains link to addressed issue(s)
  • PR and issue(s) have suitable labels
  • Issue is set to In Progress and assigned to you or there is no issue (might happen for very small PRs)
  • You followed all coding conventions
  • You have added the issue implemented by your PR in CHANGELOG.adoc unless issue is labelled
    with internal
  • You have not changed any dependency in pom.xml files or otherwise if runtime dependencies changed, you have updated our LICENSE.asciidoc
  • You have formulated clear instructions on how to test your contribution under "Testing instructions"

…nguage-selection-logic

# Conflicts:
#	gui/src/main/java/com/devonfw/ide/gui/MainController.java
@samuelkos17
samuelkos17 force-pushed the feature/2214-overhaul-language-selection-logic branch from 1c9714f to d9f06ed Compare August 20, 2026 14:22
@samuelkos17 samuelkos17 moved this from 🆕 New to 🏗 In progress in IDEasy board Aug 20, 2026
@coveralls

Copy link
Copy Markdown
Collaborator

Coverage Report for CI Build 32379718556

Coverage increased (+0.04%) to 72.984%

Details

  • Coverage increased (+0.04%) from the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • 64 coverage regressions across 3 files.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

64 previously-covered lines in 3 files lost coverage.

File Lines Losing Coverage Coverage
com/devonfw/ide/gui/MainController.java 34 73.24%
com/devonfw/ide/gui/App.java 29 0.0%
com/devonfw/tools/ide/tool/ide/IdeToolCommandlet.java 1 78.69%

Coverage Stats

Coverage Status
Relevant Lines: 17586
Covered Lines: 13384
Line Coverage: 76.11%
Relevant Branches: 7777
Covered Branches: 5127
Branch Coverage: 65.93%
Branches in Coverage %: Yes
Coverage Strength: 3.23 hits per line

💛 - Coveralls

@samuelkos17 samuelkos17 moved this from 🏗 In progress to Team Review in IDEasy board Aug 21, 2026
@samuelkos17 samuelkos17 added enhancement New feature or request GUI Graphical User Interface of IDEasy (aka dashboard) build with JavaFx labels Aug 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request GUI Graphical User Interface of IDEasy (aka dashboard) build with JavaFx

Projects

Status: Team Review

Development

Successfully merging this pull request may close these issues.

Overhaul language selection logic

2 participants