-
Notifications
You must be signed in to change notification settings - Fork 77
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
Different design: more compact windows and collapsing/closing control on each tab bar #237
Conversation
This should be feature-complete and bug-free AFAIK. |
- Close all tabs: "×" - Collapse all tabs: "▼"
370e477
to
417f665
Compare
Hi, sorry for the massive delay! My irl stuff has been insane in the last couple of months. I think the features you've added are great, although I think having a button that lets you collapse a whole window (which we lost in this PR) would be really nice to have. Can we add it back? I've fixed up a few things following the release of 0.13 and rebasing to the next release branch. Let me know if there's anything I could help you with. |
* remove Clone bound on map_tabs and filter_map_tabs * remove Clone bound from all functions with Clone + FnMut bounds * Update changelog * Add missing period in changelog --------- Co-authored-by: Adanos020 <adanos020@gmail.com>
I'd be glad to add this feature, but I'm not fully certain how this should be designed. Should collapsing a whole window be:
|
@Adanos020 I've implemented this feature like this: Recording.at.2024-07-10.01.04.44.mp4So essentially all features available in the original design is now in the right-click context menu of the relevant buttons. I named this feature minimizing a window, to avoid frequent confusions with collapsing a node in the codebase. Let me know if there's a better way to name this ;) |
@micfong-z This looks good, although it isn't immediately obvious that you can right-click on the buttons. I reckon a tooltip on each button could help with that. |
@Adanos020 Done – I've also fixed cargo test. I reckon another design of activating these features by shift-clicking (or ctrl/alt/...-clicking?) the buttons might be possible, but I'm not really sure *: I just checked the way how egui handles modifier keys. This shouldn't be a problem now. |
That sounds good, I'd say let's come up with a few designs and let the library users choose. One design I've been thinking of is to have separate buttons for windows, but make them look like little bookmarks behind the window (or the tab bar) that'll pull out when you hover over them. How does that sound? |
That design sounds brilliant! Though I would have to dig deep enough to figure out a way to display some sort of floating panels behind windows. AFAIK, since all Edit: could tooltip/menu implementations help? |
Sorry for not being active on this PR recently due to ... irl stuff ( :( ) – but I think I've caught up a bit. For now I have implemented the two options I've mentioned for the user to choose (modifier key method and context menu method), but I've been really struggling to get the bookmark button method done. I have experimented with creating new I'd be happy to carry on experimenting if someone could give me some directions to work on. Nevertheless, this feature could probably be put in a separate PR instead considering its complexity. @Adanos020 if creating a separate PR for this specific issue is okay, I'll go on finalizing/cleaning up the codebase then! Edit: I'll layout the issues I've encountered so far.
|
Hey, no worries at all, I've also been dealing with lots of personal issues because of which I didn't have much time to dedicate to this project. Thanks for coming back to this PR! If the bookmark button is too big of a pain to implement, then I'd say let's drop it for now. We can make do with the current designs. |
@Adanos020 Everything is good to go now (from my side), but I'll point out a few possible caveats
|
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.
I think this is good to go! The machine translations aren't bad, I just made some changes for consistency's sake.
Thank you for working on this :)
Thanks for merging! A side note for consistency in JP translations: the lines ending with However, as per Material Design Guidelines, the full stops should not follow single-sentence tooltip texts. Maybe remove all full stops in translations would be good. |
* Different design: more compact windows and collapsing/closing control on each tab bar (#237) * Correct comment typos * Add two buttons on tab bars - Close all tabs: "×" - Collapse all tabs: "▼" * Add some utility for recursive node collapse checking * Preliminary implementation of collapsing windows * Handle tab collapsing layout * Resize windows when subnodes collapsed * Implements leaf close all button * Update changelog * Allow dragging to a collapsed leaf * Fix collapsed state checking after dnd splits * Update examples * Update changelog * Fix up changelog after rebase * Fix failing test and rename `Translations::window` to `Translations::leaf`. * Remove `Clone` bound on `map_tabs` and `filter_map_tabs` (#241) * remove Clone bound on map_tabs and filter_map_tabs * remove Clone bound from all functions with Clone + FnMut bounds * Update changelog * Add missing period in changelog --------- Co-authored-by: Adanos020 <adanos020@gmail.com> * Update crate version and add MSRV change to changelog * Fix heading type in changelog * Fix tab bar scroll bar width on window surfaces * Add close window button in context menu * Add minimize window button * Update CHANGELOG.md * Fix cargo test * Add tooltips to right-clickable tab bar buttons * Add minimization activation with modifiers * Add close window with modifiers * Correct tooltip display conditions * Upgrade to egui 0.29 * Add secondary button feature toggle * Cleanup code * Update examples * Fix cursor icon logic * Update examples * Update changelog * Make Japanese translations in the example more consistent with each other --------- Co-authored-by: Adanos020 <adanos020@gmail.com> Co-authored-by: Ved_s <vedomir.samarin.03@gmail.com> * Egui 0.30 (#255) * Egui 0.30 * Upgrade to egui 0.30. * Update changelog and readme * Update the crate version in Cargo.toml * Fix winit compile error * Make Clippy happy --------- Co-authored-by: Adanos020 <adanos020@gmail.com> --------- Co-authored-by: Michael Zhang <micfong2@outlook.com> Co-authored-by: Ved_s <vedomir.samarin.03@gmail.com> Co-authored-by: Bryce Berger <bryce.z.berger@gmail.com>
Resolves #238. See the issue for a full discussion of this design.
Here's a list of technically missing features in this PR, but I'd like to hear some opinions before carrying on ;)
Proper styling (especially rounding)Leaf
(fd805c9, ccce02f)