Make advanced options of "open with" dialog collabsible and hidden by default

Review Request #130180 - Created July 12, 2017 and submitted

Simone Gaiarin

The current "open with" dialog implementation does not follow the KDE principle "Simple by default, powerful when needed" for the following reasons:
- The "run in terminal" and "keep terminal open" options are advanced options and should not be exposed by default
- The primary goal of the dialog should be to select an application from the app tree, running command is an advanced feature

My patch changes the behavior as follow:

  • Put the two options in a KCollapsibleComboBox collapsed by default
  • The user can expand it only if he needs to use a command line command

Implementation details:
- When the KCollapsibleComboBox is clicked it is expanded upward keeping the dialog size fixed and compressing the treeview, I'm not sure this is the best approach, but to make it expand downwards we need to fix the size of the dialog with setSizeConstraint(QLayout::SetFixedSize); which may not be desiderable. Maybe there is a way to keep the dialog resizable and expand the combobox downwards, but I couldn't find it.
- I've increased the vertical size of the dialog (which I think it was too small) also to accomodate the upward expansion which otherwise would make the app tree almost disappear

Relevant discussions:

David Faure
Simone Gaiarin
Simone Gaiarin
Review request changed

Status: Closed (submitted)

Change Summary:

Submitted with commit 0296b89714ce96b247322d9be09b387573d79193 by David Faure on behalf of Simone Gaiarin to branch master.