Skip to content

Feature: Improve layout and UI#47

Merged
irockel merged 9 commits intomainfrom
feat/ImproveLayout
Jan 30, 2026
Merged

Feature: Improve layout and UI#47
irockel merged 9 commits intomainfrom
feat/ImproveLayout

Conversation

@irockel
Copy link
Copy Markdown
Owner

@irockel irockel commented Jan 30, 2026

Fixed main pain point, the top slider always being on the right, fully hiding the right panel. Also improved some other UI elements. Fixed opening the default browser when clicking on a link.

@irockel irockel requested a review from Copilot January 30, 2026 12:32
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR addresses critical UI/UX issues in TDA's Swing interface, primarily fixing the top split pane slider behavior that was hiding the right panel on startup. The changes modernize browser integration, improve visual styling, and ensure proper split pane positioning across the application.

Changes:

  • Fixed split pane divider positioning to prevent the right panel from being hidden on first load
  • Replaced platform-specific browser commands with Desktop API for URL launching
  • Updated welcome page styling with modern CSS and cleaned up recent files/sessions handling
  • Refactored parser code to properly handle Category nodes and improved null safety

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
TDA.java Fixed split pane divider positioning using resize weights and SwingUtilities.invokeLater; removed persistence of divider positions; added recent files cleanup
Browser.java Replaced manual browser commands with Desktop.browse() API; improved cross-platform support
welcome.html Updated CSS styling for modern look; improved section layout and link formatting
README Added changelog entry for right pane fix; corrected GitHub branch reference from master to main
PrefManager.java Removed unused divider position getters/setters; added setRecentFiles/setRecentSessions methods; cleaned imports
SunJDKParser.java Added null checks for getNextLine(); fixed monitor node copying to preserve children
AbstractDumpParser.java Added copyNode() method; fixed addToCategory to handle TableCategory
SunJDKParserTest.java Updated tests to use Category.getNodeAt(); added testMonitorNodesHaveChildren test
HeadlessAnalysisProvider.java Updated to access nodes via Category instead of directly from tree
PreferencesDialog.java Removed GTK L&F option; converted to lambdas; improved generics; made inner classes static
Comments suppressed due to low confidence (1)

tda/src/main/java/de/grimmfrost/tda/TDA.java:1

  • The comment 'second call to ensure it sticks after layout' suggests a workaround for a layout timing issue. This pattern of nested invokeLater calls can be fragile. Consider using addComponentListener or addHierarchyBoundsListener to set divider positions after the component is fully laid out and sized, which is more reliable than hoping two sequential invokeLater calls will execute at the right time.
/**

@irockel irockel merged commit f5d2b0b into main Jan 30, 2026
1 check passed
@irockel irockel deleted the feat/ImproveLayout branch January 30, 2026 13:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants