Skip to content

Add filter options menu to QuickFilterView and ComboQuickFilterView (#2230)#3582

Open
RealAhmedKhairi wants to merge 1 commit intorizinorg:devfrom
RealAhmedKhairi:issue2230
Open

Add filter options menu to QuickFilterView and ComboQuickFilterView (#2230)#3582
RealAhmedKhairi wants to merge 1 commit intorizinorg:devfrom
RealAhmedKhairi:issue2230

Conversation

@RealAhmedKhairi
Copy link
Copy Markdown

@RealAhmedKhairi RealAhmedKhairi commented Mar 21, 2026

  • I've read the guidelines for contributing to this repository

  • I made sure to follow the project's coding style

  • 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.

  • I've updated the documentation with the relevant information (if needed)

Detailed description
Previously, there was no way to filter quick searches. Users had no menu to toggle certain settings when searching. I have added this menu in QuickFilterView and ComboQuickFilterView widgets as requested in #2230.
I have read SearchBarWidget to understand the requirements of the issue and started working right after, The menu I have created is a line-edit menu instead of creating a separate button. I have achieved this using QLineEdit::addAction() as advised by one of the maintainers.

Changes Made

  • src/widgets/QuickFilterView.h: Added member variables, new signal, and helper method
  • src/widgets/QuickFilterView.cpp: Implemented menu creation and filter logic
  • src/widgets/ComboQuickFilterView.h: Same additions for consistency
  • src/widgets/ComboQuickFilterView.cpp: Same implementation for consistency

References

Test Plan

  1. Open Cutter and load a binary

  2. Verify the cog icon appears

    • Look for a small cog/settings icon on the LEFT side of the filter text input
    • The icon should be inside the line-edit, not outside
  3. Click the cog icon

    • A dropdown menu should appear with 3 options:
      • ☐ Case Sensitive
      • ☐ Exact Match
      • ☐ Regular Expression
  4. Test toggling options

    • Click each option to toggle the checkbox
    • Verify the checkbox state changes visually
    • Try typing in the filter while options are toggled
  5. Verify filtering behavior

    • With "Case Sensitive" checked: searches should be case-sensitive
    • With "Exact Match" checked: only exact matches should be found
    • With "Regular Expression" checked: search should accept regex patterns
  6. Test ComboQuickFilterView (widgets using combo box + filter)

    • Repeat steps 2-6 for any widget using ComboQuickFilterView
    • Verify same menu behavior

case_sensetive
exact_match
regular_expression

closes #2230.

Copy link
Copy Markdown
Member

@wargio wargio left a comment

Choose a reason for hiding this comment

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

you added a lot of useless files. there are even binaries. this is not ok

please follow the instructions on how to build cutter and dont commit llm/ai nonsense

@notxvilka notxvilka added the Requirements not met The PR doesn't meet the minimum contribution requirements. See CONTRIBUTING.md for details. label Mar 21, 2026
@RealAhmedKhairi
Copy link
Copy Markdown
Author

@wargio I have cleaned everything up.

Comment thread src/widgets/ComboQuickFilterView.cpp Outdated
Comment thread src/widgets/QuickFilterView.cpp
Copy link
Copy Markdown
Member

@wargio wargio left a comment

Choose a reason for hiding this comment

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

I feel like the code repeats itself, maybe this could go into a class? @notxvilka what do you think?

@PremadeS
Copy link
Copy Markdown
Collaborator

I feel like the code repeats itself, maybe this could go into a class?

Agreed, See #3580 it moves the old duplicate logic in both to a new class

@RealAhmedKhairi
Copy link
Copy Markdown
Author

RealAhmedKhairi commented Mar 27, 2026

@PremadeS What do I have to do now?

@PremadeS
Copy link
Copy Markdown
Collaborator

PremadeS commented Mar 30, 2026

None of the options work, because there is no logic to handle case sensitive, exact match etc
Please test the PR fully before committing

Copy link
Copy Markdown
Collaborator

@PremadeS PremadeS left a comment

Choose a reason for hiding this comment

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

^

@PremadeS
Copy link
Copy Markdown
Collaborator

@PremadeS What do I have to do now?

Keep it as it is, just make sure it works

@RealAhmedKhairi
Copy link
Copy Markdown
Author

@PremadeS I am sorry, I have been a little busy with my college midterms. I will start working on the functionality as soon as possible.

Comment thread build-output.txt Outdated
Comment thread src/common/CutterSearchable.cpp
Comment thread src/common/CutterSearchable.cpp
@RealAhmedKhairi RealAhmedKhairi force-pushed the issue2230 branch 2 times, most recently from faa6bc1 to e3f5e62 Compare April 6, 2026 05:51
@PremadeS
Copy link
Copy Markdown
Collaborator

PremadeS commented Apr 7, 2026

Filter doesn't update according to text unless any option is changed
Also the item count is not working properly
filter-issue

@RealAhmedKhairi
Copy link
Copy Markdown
Author

@PremadeS I will start working on making CI green.

@PremadeS
Copy link
Copy Markdown
Collaborator

@PremadeS I will start working on making CI green.

It's most likely failing due to #3600

@RealAhmedKhairi
Copy link
Copy Markdown
Author

@PremadeS Should I wait until #3600 is merged?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Requirements not met The PR doesn't meet the minimum contribution requirements. See CONTRIBUTING.md for details.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make sure all the filter-supported widgets are searching with case insensitivity

4 participants