diff options
author | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2014-11-03 15:14:46 +0100 |
---|---|---|
committer | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2014-11-03 18:28:45 +0100 |
commit | d8b45a360f99149c42863067e3b40c619a892cd2 (patch) | |
tree | cdc98e4ba145ec500d9e2ae49c869f77aedaa9de | |
parent | 305f755d4b8d180ea2a4b40565bc327e550af5c5 (diff) |
QFileDialog: prevent section collapsing in the main selection area
In the non-native QFileDialog, a QSplitter separates the two central
views (the list view of "places" and the tree view for navigating
the file system).
Unfortunately, that splitter allows sections to be collapsed,
resulting in a weird status where the user doesn't
understand what has just happened and thinks that (s)he may have
broken something. Worse, that gets actually saved into the
application settings, so the splitter may stay collapsed forever.
Instead, let's simply prevent sections from being collapsible.
Task-number: QTBUG-19467
Change-Id: I11ff7c55a5535680a3edce5f4e70c9338291b94f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
-rw-r--r-- | src/widgets/dialogs/qfiledialog.cpp | 2 | ||||
-rw-r--r-- | src/widgets/dialogs/qfiledialog.ui | 3 | ||||
-rw-r--r-- | src/widgets/dialogs/qfiledialog_embedded.ui | 3 |
3 files changed, 7 insertions, 1 deletions
diff --git a/src/widgets/dialogs/qfiledialog.cpp b/src/widgets/dialogs/qfiledialog.cpp index 0ba3ea40e0..6065ad015e 100644 --- a/src/widgets/dialogs/qfiledialog.cpp +++ b/src/widgets/dialogs/qfiledialog.cpp @@ -510,7 +510,7 @@ bool QFileDialog::restoreState(const QByteArray &state) if (!d->qFileDialogUi->splitter->restoreState(d->splitterState)) return false; QList<int> list = d->qFileDialogUi->splitter->sizes(); - if (list.count() >= 2 && list.at(0) == 0 && list.at(1) == 0) { + if (list.count() >= 2 && (list.at(0) == 0 || list.at(1) == 0)) { for (int i = 0; i < list.count(); ++i) list[i] = d->qFileDialogUi->splitter->widget(i)->sizeHint().width(); d->qFileDialogUi->splitter->setSizes(list); diff --git a/src/widgets/dialogs/qfiledialog.ui b/src/widgets/dialogs/qfiledialog.ui index 89adaf530e..7f6e59c908 100644 --- a/src/widgets/dialogs/qfiledialog.ui +++ b/src/widgets/dialogs/qfiledialog.ui @@ -179,6 +179,9 @@ <property name="orientation"> <enum>Qt::Horizontal</enum> </property> + <property name="childrenCollapsible"> + <bool>false</bool> + </property> <widget class="QSidebar" name="sidebar"> <property name="accessibleName"> <string>Sidebar</string> diff --git a/src/widgets/dialogs/qfiledialog_embedded.ui b/src/widgets/dialogs/qfiledialog_embedded.ui index 69fc3255a1..4cdc620437 100644 --- a/src/widgets/dialogs/qfiledialog_embedded.ui +++ b/src/widgets/dialogs/qfiledialog_embedded.ui @@ -121,6 +121,9 @@ <property name="orientation"> <enum>Qt::Horizontal</enum> </property> + <property name="childrenCollapsible"> + <bool>false</bool> + </property> <widget class="QSidebar" name="sidebar"/> <widget class="QFrame" name="frame"> <property name="frameShape"> |