rkflx added a comment.

  Gave this a spin, it's a really nice improvement. As for the categories, I do 
not feel they "get in the way", because:
  
  - In most cases, even after only typing three letters there is only one 
result left, which is already preselected so [Enter] will accept seemlessly.
  - It is actually helpful to also see which category an app is in, as this 
provides confirmation you are on the right track (e.g. if you do "graphics" 
things, you do not want "devel" stuff) as well as disambiguation of similar 
entries.
  - In a way those visual anchors help finding results faster in case the 
resulting list is long, as you can easily move to the next category instead of 
having to scan the complete list of results.
  
  Here is an idea for a compromise which both preserves important context and 
reduces visual noise: Include subtle grouping like in the new type-ahead search 
in System Settings, i.e. instead of a tree, flatten the list and include the 
categories as disabled items / intermediate headers. (Not sure how difficult 
this would be to implement, though.)
  
  At least any duplicates should be removed if you should decide to remove 
categories altogether (e.g. KMail is both in Internet and Office, which would 
be confusing without context). Note the duplication is actually helpful when 
just using categories, and searching in Kickoff already de-duplicates results.
  
  That said, there are some improvements I could imagine would polish this even 
further:
  
  - Expand the categories once the first character is typed. This gives a hint 
on what to type next (e.g. `km` would hint at KMail and KMag instead of just 
showing the categories).
  - Search in the descriptions too (e.g. `browser` would show Firefox and 
Chromium instead of returning nothing).
  - First line of text: Make it clear what is description and what is the item 
being opened, i.e. like on Phab I would not write "install the arc helper" but 
add markup like "install the `arc` helper". Not sure about the best way to do 
this, but using bold text would be a first step (also see screenshot below).
  - It is not discoverable you are allowed to type in a full path to a binary, 
which is important for a lot of third party / proprietary / binary.tar.gz-style 
software not installing proper desktop files and one of the primary use cases 
of this dialog IMHO. Ideas: Add something to the tooltip? Add a gray text (e.g. 
"Type to search or enter full path" – exact formulation could be better) to the 
line edit which is currently just empty?
  
  That said, I would suggest to just commit this patch as is and work on any 
further improvements in a followup patch (just wanted to put this out there to 
give a complete picture).
  
  ---
  
  In addition to the screenshot in https://phabricator.kde.org/D8056#159491, 
the dialog is used when opening `kcmshell5 filetypes` and then navigating 
"text" > "css" > Application Preference Order > Add…. Note the bold text 
(although I wish the colon in front of it could go):
  
  F5478956: app-chooser.png <https://phabricator.kde.org/F5478956>
  
  I'm showing this because there is actually a mention of "If the program is 
not listed…". In the end both dialogs should be consistent in intro text, line 
edit background text and tooltip help text. I'd be happy to help implementing 
any adaptations in wording once we've reached a conclusion here.

INLINE COMMENTS

> dfaure wrote in kopenwithdialog.cpp:826
> Please use QRegularExpression; QRegExp is deprecated.
> 
> Although, if this is about FixedString, why not just use setFilterFixedString?
> Regexps are slow, better avoid them when not necessary.

@simgunz This is marked as done, but still uses `QRegExp` and not 
`QRegularExpression`?

> kopenwithdialog.cpp:1099
> +            // FIXME: Disable arrow down in CompletionPopup and 
> CompletionPopupAuto only when the dropdown list is shown.
> +            // When popup completion mode is used the down arrow is used to 
> navigate the dropdown list of results
> +            if (combo->completionMode() != KCompletion::CompletionPopup && 
> combo->completionMode() != KCompletion::CompletionPopupAuto) {

Is this a "fixme-before-commit" or a "fixme-sometimes-in-the-future" FIXME?

REPOSITORY
  R241 KIO

BRANCH
  openwithdialog-filter-app-tree

REVISION DETAIL
  https://phabricator.kde.org/D8056

To: simgunz, dfaure, #frameworks, #vdg, ngraham
Cc: rkflx, subdiff, fabianr, abetts, ngraham, alexeymin, #frameworks

Reply via email to