Skip to content
This repository was archived by the owner on Oct 31, 2019. It is now read-only.
This repository was archived by the owner on Oct 31, 2019. It is now read-only.

filtering: stages of expansion #5

@sebastianelsner

Description

@sebastianelsner

There are several stages we can improve on filtering table/tree views:

  1. use a basic QSortFilterProxy model to filter one or all columns at once using a QLineEdit to enter arbitrary search terms.
    Advantage: easy to implement (already there), Disadvantage: does not allow to specify more complex filters like "all my done jobs", no selective multi column filtering only one ro all columns
  2. A slightly improved version allows to set the column or either all columns to be filtered in
  3. use QSortFilterProxyModel with regexes to allow regexes like [Unknown|Idle]. This is not very intuitive to the end user, but provides a quick to implement way of getting better filter results.
  4. provide a way to save search strings as presets and display them as buttons, so we do not have to implement specific filters like " [x] Done [x] Unknown " etc. This could make the system very flexible
  5. Use an easy to learn syntax for specifying filter queries: "Status:Idle AND RAM:>=64". Parsing this could be borrowed from the "whoosh" search library. This would allow for very flexible filters and nice presets, but would need a custom (i.e. python, which could mean slow) implementation in the QSortFilterProxy model.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions