-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(gui): Quick Tabs Overhaul #2241
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, but I found some issues and request small improvements 🙂
jadx-gui/src/main/java/jadx/gui/ui/tab/QuickTabsBookmarkParentNode.java
Outdated
Show resolved
Hide resolved
One more thing. |
@skylot all ready |
Hm, not sure why we need to save index to restore order, is just saving/reading tabs list in correct order not working? |
But maybe we can just consider the order of TabbedPane to be the "default" order, ok I'll implement it by saving/reading tabs list in correct order |
OK, I think we can merge it now.
|
All noted. I'll open a new PR in the near future |
Unchecked tasks are WIP(*1) This change is a must. Previously,
TabbedPane
was the only class interacting with tabs. So it was fine that all the code that controls tabs was found there. However now, that we are addingQuickTabsTree
, (and why not other components), it no longer makes sense thatQuickTabsTree
needs to communicate withTabbedPane
in order to manage the tabs. Counter example ? There may be tabs which are not open inTabbedPane
but are present inQuickTabsTree
, like bookmarked tabs. So if we would keep using old code, we'd have to store inTabbedPane
a seperate reference to tabs that are present but not open, which would transform the code into a mess. I hope you understood the point.Now TabsController hold a "generic reference" to each tab, and TabbedPane holds a "component reference".
Before
Now
Affected issues
Icons from https://intellij-icons.jetbrains.design