D8056: Improve usability of "Open With" dialog by adding option to filter the application tree

Henrik Fehlauer noreply at phabricator.kde.org
Mon Nov 6 16:43:32 UTC 2017


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20171106/182f774f/attachment-0001.html>


More information about the Kde-frameworks-devel mailing list