summaryrefslogtreecommitdiffstats
path: root/src/widgets/dialogs
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/dialogs')
-rw-r--r--src/widgets/dialogs/qcolordialog.cpp3
-rw-r--r--src/widgets/dialogs/qfiledialog.cpp35
-rw-r--r--src/widgets/dialogs/qwizard.cpp7
3 files changed, 33 insertions, 12 deletions
diff --git a/src/widgets/dialogs/qcolordialog.cpp b/src/widgets/dialogs/qcolordialog.cpp
index 689002b589..4247731275 100644
--- a/src/widgets/dialogs/qcolordialog.cpp
+++ b/src/widgets/dialogs/qcolordialog.cpp
@@ -346,7 +346,8 @@ void QWellArray::paintCell(QPainter* p, int row, int col, const QRect &rect)
const QPalette & g = palette();
QStyleOptionFrame opt;
- int dfw = style()->pixelMetric(QStyle::PM_DefaultFrameWidth);
+ opt.initFrom(this);
+ int dfw = style()->pixelMetric(QStyle::PM_DefaultFrameWidth, &opt);
opt.lineWidth = dfw;
opt.midLineWidth = 1;
opt.rect = rect.adjusted(b, b, -b, -b);
diff --git a/src/widgets/dialogs/qfiledialog.cpp b/src/widgets/dialogs/qfiledialog.cpp
index 044401ac13..437ce4a114 100644
--- a/src/widgets/dialogs/qfiledialog.cpp
+++ b/src/widgets/dialogs/qfiledialog.cpp
@@ -2200,8 +2200,12 @@ QString QFileDialog::getOpenFileName(QWidget *parent,
Options options)
{
const QStringList schemes = QStringList(QStringLiteral("file"));
- const QUrl selectedUrl = getOpenFileUrl(parent, caption, QUrl::fromLocalFile(dir), filter, selectedFilter, options, schemes);
- return selectedUrl.toLocalFile();
+ const QUrl selectedUrl = getOpenFileUrl(parent, caption, QUrl::fromLocalFile(dir), filter,
+ selectedFilter, options, schemes);
+ if (selectedUrl.isLocalFile() || selectedUrl.isEmpty())
+ return selectedUrl.toLocalFile();
+ else
+ return selectedUrl.toString();
}
/*!
@@ -2310,11 +2314,16 @@ QStringList QFileDialog::getOpenFileNames(QWidget *parent,
Options options)
{
const QStringList schemes = QStringList(QStringLiteral("file"));
- const QList<QUrl> selectedUrls = getOpenFileUrls(parent, caption, QUrl::fromLocalFile(dir), filter, selectedFilter, options, schemes);
+ const QList<QUrl> selectedUrls = getOpenFileUrls(parent, caption, QUrl::fromLocalFile(dir),
+ filter, selectedFilter, options, schemes);
QStringList fileNames;
fileNames.reserve(selectedUrls.size());
- for (const QUrl &url : selectedUrls)
- fileNames << url.toLocalFile();
+ for (const QUrl &url : selectedUrls) {
+ if (url.isLocalFile() || url.isEmpty())
+ fileNames << url.toLocalFile();
+ else
+ fileNames << url.toString();
+ }
return fileNames;
}
@@ -2556,8 +2565,12 @@ QString QFileDialog::getSaveFileName(QWidget *parent,
Options options)
{
const QStringList schemes = QStringList(QStringLiteral("file"));
- const QUrl selectedUrl = getSaveFileUrl(parent, caption, QUrl::fromLocalFile(dir), filter, selectedFilter, options, schemes);
- return selectedUrl.toLocalFile();
+ const QUrl selectedUrl = getSaveFileUrl(parent, caption, QUrl::fromLocalFile(dir), filter,
+ selectedFilter, options, schemes);
+ if (selectedUrl.isLocalFile() || selectedUrl.isEmpty())
+ return selectedUrl.toLocalFile();
+ else
+ return selectedUrl.toString();
}
/*!
@@ -2664,8 +2677,12 @@ QString QFileDialog::getExistingDirectory(QWidget *parent,
Options options)
{
const QStringList schemes = QStringList(QStringLiteral("file"));
- const QUrl selectedUrl = getExistingDirectoryUrl(parent, caption, QUrl::fromLocalFile(dir), options, schemes);
- return selectedUrl.toLocalFile();
+ const QUrl selectedUrl =
+ getExistingDirectoryUrl(parent, caption, QUrl::fromLocalFile(dir), options, schemes);
+ if (selectedUrl.isLocalFile() || selectedUrl.isEmpty())
+ return selectedUrl.toLocalFile();
+ else
+ return selectedUrl.toString();
}
/*!
diff --git a/src/widgets/dialogs/qwizard.cpp b/src/widgets/dialogs/qwizard.cpp
index 87f6875c8c..31e32bb931 100644
--- a/src/widgets/dialogs/qwizard.cpp
+++ b/src/widgets/dialogs/qwizard.cpp
@@ -64,6 +64,7 @@
# include "qshortcut.h"
#endif
#include "qstyle.h"
+#include "qstyleoption.h"
#include "qvarlengtharray.h"
#if defined(Q_OS_MACX)
#include <QtCore/QMetaMethod>
@@ -897,7 +898,9 @@ QWizardLayoutInfo QWizardPrivate::layoutInfoForCurrentPage()
QWizardLayoutInfo info;
- const int layoutHorizontalSpacing = style->pixelMetric(QStyle::PM_LayoutHorizontalSpacing);
+ QStyleOption option;
+ option.initFrom(q);
+ const int layoutHorizontalSpacing = style->pixelMetric(QStyle::PM_LayoutHorizontalSpacing, &option);
info.topLevelMarginLeft = style->pixelMetric(QStyle::PM_LayoutLeftMargin, nullptr, q);
info.topLevelMarginRight = style->pixelMetric(QStyle::PM_LayoutRightMargin, nullptr, q);
info.topLevelMarginTop = style->pixelMetric(QStyle::PM_LayoutTopMargin, nullptr, q);
@@ -909,7 +912,7 @@ QWizardLayoutInfo QWizardPrivate::layoutInfoForCurrentPage()
info.hspacing = (layoutHorizontalSpacing == -1)
? style->layoutSpacing(QSizePolicy::DefaultType, QSizePolicy::DefaultType, Qt::Horizontal)
: layoutHorizontalSpacing;
- info.vspacing = style->pixelMetric(QStyle::PM_LayoutVerticalSpacing);
+ info.vspacing = style->pixelMetric(QStyle::PM_LayoutVerticalSpacing, &option);
info.buttonSpacing = (layoutHorizontalSpacing == -1)
? style->layoutSpacing(QSizePolicy::PushButton, QSizePolicy::PushButton, Qt::Horizontal)
: layoutHorizontalSpacing;