summaryrefslogtreecommitdiffstats
path: root/src/widgets
diff options
context:
space:
mode:
authorGiuseppe D'Angelo <giuseppe.dangelo@kdab.com>2014-11-03 15:14:46 +0100
committerGiuseppe D'Angelo <giuseppe.dangelo@kdab.com>2014-11-03 18:28:45 +0100
commitd8b45a360f99149c42863067e3b40c619a892cd2 (patch)
treecdc98e4ba145ec500d9e2ae49c869f77aedaa9de /src/widgets
parent305f755d4b8d180ea2a4b40565bc327e550af5c5 (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>
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/dialogs/qfiledialog.cpp2
-rw-r--r--src/widgets/dialogs/qfiledialog.ui3
-rw-r--r--src/widgets/dialogs/qfiledialog_embedded.ui3
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">