Skip to content

Improve inefficient screen space usage#3580

Merged
PremadeS merged 7 commits intorizinorg:devfrom
PremadeS:inefficient-screen-space-usage
Apr 17, 2026
Merged

Improve inefficient screen space usage#3580
PremadeS merged 7 commits intorizinorg:devfrom
PremadeS:inefficient-screen-space-usage

Conversation

@PremadeS
Copy link
Copy Markdown
Collaborator

@PremadeS PremadeS commented Mar 19, 2026

Your checklist for this pull request

  • I've read the guidelines for contributing to this repository
  • I made sure to follow the project's coding style
  • I've updated the documentation with the relevant information (if needed)
  • I've used AI tools to generate fully or partially these code changes and I'm sure the changes are not copyrighted by somebody else.

Detailed description

  • Removes the CutterTreeWidget that showed the item count in a status bar underneath the quick filter view

  • Moves all duplicate logic from QuickFilterView and ComboQuickFilterView to AbstractFilterView which serves as a base class for both

  • Adds the item count inside the line edit on the right side (see images below)

    • All quick filters can be hidden by default via Edit-Preferences->Interface->Show Quick Filter By Default
    • The item count label for all quick filters can be disabled via Edit->Preferences->Interface->Show Item Count in Quick Filter
    • The item count label by default takes up fixed space, meaning whatever space is left will be given to the text in the quick filter. If this is confusing try reaching the item count label by typing long text in the quick filter and/or resizing the widget that contains the quick filter
    • To save space the option Edit->Preferences->Interface->Hide Item Count on overflow can be set to checked, when checked the label will auto hide on overflow. Try reaching the item count label again by methods described above
    • Quick filter also shows two new options in context menu which contains individual options for showing and auto hiding the item count label. These options are temporary and will not be preserved when re-opening cutter. Only reason to add them is if a user wants to hide/show the label on just one quick filter. (note that all default line edit options will appear as normal but it will contain an "options" sub-menu underneath)
  • Moving aside from quick filter, this PR also shrinks the height of header sections for QTableView, QTreeView and basically any other view that has header labels in all 4 cutter themes (see images below) .

The Border between widgets is too big.
In the 1366 screen, it is not very good thing IMO

This was mentioned in the original issue, not really sure if the user meant the header view sections or the title bar when referring to "border". Although the title bar seems reasonable in height, even when seeing on 1366x768 resolution

Also sets the shortcut context in search bar to be WidgetWithChildrenShortcut so it doesn't collide with same shortcuts in other widgets

Media
Item Count label
with Hide on overflow off:
search-without-auto-hide

with Hide on overflow on:
search-with-auto-hide

Header View sections
before (full image at the end):
header-sections-before

after:
header-sections-after

Comapred to IDA:
header-section-ida

Compared to Ghidra:
header-section-ghidra

Full images:
before:
before-full

after - notice the quick filter and header sections of string widget, (that contains Address, String... labels):
after-full

before (1368 x 768):
before-full-1366

after (1368 x 768):
after-full-1366

Test plan (required)

  • Open cutter with any binary
  • Observe the height of HeaderView sections
  • Try searching in the quick filter view
    • Right click and show/hide the label
    • Right click and set/unset hide on overflow
    • try typing long texts, try resizing the parent widget
    • Go to Edit->Preferences->Appearance test all options in Quick Filter
    • Re-open cutter to make sure these options are preserved

Closing issues

closes #1923

@PremadeS
Copy link
Copy Markdown
Collaborator Author

I will check for any missed widgets one tests are green

@PremadeS PremadeS marked this pull request as draft March 19, 2026 20:55
@notxvilka
Copy link
Copy Markdown
Contributor

@karliss what do you think about this change?

@PremadeS PremadeS marked this pull request as ready for review March 24, 2026 13:23
Copy link
Copy Markdown
Contributor

@notxvilka notxvilka left a comment

Choose a reason for hiding this comment

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

Tested on macOS ARM64 - works as intended

@PremadeS PremadeS force-pushed the inefficient-screen-space-usage branch from df5eb23 to db60b2a Compare April 6, 2026 17:52
@PremadeS PremadeS merged commit 1e0c172 into rizinorg:dev Apr 17, 2026
14 checks passed
tsogp pushed a commit to tsogp/cutter that referenced this pull request Apr 19, 2026
* Add new class `ItemCountLineEdit`
* Create a parent class `AbstractFilterView` for `QuickFilterView` and `ComboQuickFilterView`
* Remove `CutterTreeWidget`
* Add new tab in preferences (`Interface`) for interface related options 
* Add the options to hide item count by default or on overflow (saved in config)
* Add the option to hide item count by default or on overflow for an individual view (not saved)
* Decrease height for Header view sections
@PremadeS PremadeS deleted the inefficient-screen-space-usage branch May 1, 2026 10:16
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.

Inefficient screen-space usage in Cutter

3 participants