QtWidgets: Use C string literals as keys
Addressing a comment from the review of QTBUG-98434. QSettings has been already ported to use QAnyStringView keys so use C literals to call beginGroup, setValue and value. Since the constructor of QSettings does not have an overload for latin1 strings, change the calls to use u""_s instead of _L1. Task-number: QTBUG-103100 Change-Id: I9407ac8cf9d4c6f045a774b2abe7541086401b07 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
This commit is contained in:
parent
fb9213e640
commit
9ff87af7af
@ -2781,37 +2781,37 @@ void QFileDialog::accept()
|
|||||||
void QFileDialogPrivate::saveSettings()
|
void QFileDialogPrivate::saveSettings()
|
||||||
{
|
{
|
||||||
Q_Q(QFileDialog);
|
Q_Q(QFileDialog);
|
||||||
QSettings settings(QSettings::UserScope, "QtProject"_L1);
|
QSettings settings(QSettings::UserScope, u"QtProject"_s);
|
||||||
settings.beginGroup("FileDialog"_L1);
|
settings.beginGroup("FileDialog");
|
||||||
|
|
||||||
if (usingWidgets()) {
|
if (usingWidgets()) {
|
||||||
settings.setValue("sidebarWidth"_L1, qFileDialogUi->splitter->sizes().constFirst());
|
settings.setValue("sidebarWidth", qFileDialogUi->splitter->sizes().constFirst());
|
||||||
settings.setValue("shortcuts"_L1, QUrl::toStringList(qFileDialogUi->sidebar->urls()));
|
settings.setValue("shortcuts", QUrl::toStringList(qFileDialogUi->sidebar->urls()));
|
||||||
settings.setValue("treeViewHeader"_L1, qFileDialogUi->treeView->header()->saveState());
|
settings.setValue("treeViewHeader", qFileDialogUi->treeView->header()->saveState());
|
||||||
}
|
}
|
||||||
QStringList historyUrls;
|
QStringList historyUrls;
|
||||||
const QStringList history = q->history();
|
const QStringList history = q->history();
|
||||||
historyUrls.reserve(history.size());
|
historyUrls.reserve(history.size());
|
||||||
for (const QString &path : history)
|
for (const QString &path : history)
|
||||||
historyUrls << QUrl::fromLocalFile(path).toString();
|
historyUrls << QUrl::fromLocalFile(path).toString();
|
||||||
settings.setValue("history"_L1, historyUrls);
|
settings.setValue("history", historyUrls);
|
||||||
settings.setValue("lastVisited"_L1, lastVisitedDir()->toString());
|
settings.setValue("lastVisited", lastVisitedDir()->toString());
|
||||||
const QMetaEnum &viewModeMeta = q->metaObject()->enumerator(q->metaObject()->indexOfEnumerator("ViewMode"));
|
const QMetaEnum &viewModeMeta = q->metaObject()->enumerator(q->metaObject()->indexOfEnumerator("ViewMode"));
|
||||||
settings.setValue("viewMode"_L1, QLatin1StringView(viewModeMeta.key(q->viewMode())));
|
settings.setValue("viewMode", QLatin1StringView(viewModeMeta.key(q->viewMode())));
|
||||||
settings.setValue("qtVersion"_L1, QT_VERSION_STR ""_L1);
|
settings.setValue("qtVersion", QT_VERSION_STR ""_L1);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QFileDialogPrivate::restoreFromSettings()
|
bool QFileDialogPrivate::restoreFromSettings()
|
||||||
{
|
{
|
||||||
Q_Q(QFileDialog);
|
Q_Q(QFileDialog);
|
||||||
QSettings settings(QSettings::UserScope, "QtProject"_L1);
|
QSettings settings(QSettings::UserScope, u"QtProject"_s);
|
||||||
if (!settings.childGroups().contains("FileDialog"_L1))
|
if (!settings.childGroups().contains("FileDialog"_L1))
|
||||||
return false;
|
return false;
|
||||||
settings.beginGroup("FileDialog"_L1);
|
settings.beginGroup("FileDialog");
|
||||||
|
|
||||||
q->setDirectoryUrl(lastVisitedDir()->isEmpty() ? settings.value("lastVisited"_L1).toUrl() : *lastVisitedDir());
|
q->setDirectoryUrl(lastVisitedDir()->isEmpty() ? settings.value("lastVisited").toUrl() : *lastVisitedDir());
|
||||||
|
|
||||||
QByteArray viewModeStr = settings.value("viewMode"_L1).toString().toLatin1();
|
QByteArray viewModeStr = settings.value("viewMode").toString().toLatin1();
|
||||||
const QMetaEnum &viewModeMeta = q->metaObject()->enumerator(q->metaObject()->indexOfEnumerator("ViewMode"));
|
const QMetaEnum &viewModeMeta = q->metaObject()->enumerator(q->metaObject()->indexOfEnumerator("ViewMode"));
|
||||||
bool ok = false;
|
bool ok = false;
|
||||||
int viewMode = viewModeMeta.keyToValue(viewModeStr.constData(), &ok);
|
int viewMode = viewModeMeta.keyToValue(viewModeStr.constData(), &ok);
|
||||||
@ -2819,21 +2819,21 @@ bool QFileDialogPrivate::restoreFromSettings()
|
|||||||
viewMode = QFileDialog::List;
|
viewMode = QFileDialog::List;
|
||||||
q->setViewMode(static_cast<QFileDialog::ViewMode>(viewMode));
|
q->setViewMode(static_cast<QFileDialog::ViewMode>(viewMode));
|
||||||
|
|
||||||
sidebarUrls = QUrl::fromStringList(settings.value("shortcuts"_L1).toStringList());
|
sidebarUrls = QUrl::fromStringList(settings.value("shortcuts").toStringList());
|
||||||
headerData = settings.value("treeViewHeader"_L1).toByteArray();
|
headerData = settings.value("treeViewHeader").toByteArray();
|
||||||
|
|
||||||
if (!usingWidgets())
|
if (!usingWidgets())
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
QStringList history;
|
QStringList history;
|
||||||
const auto urlStrings = settings.value("history"_L1).toStringList();
|
const auto urlStrings = settings.value("history").toStringList();
|
||||||
for (const QString &urlStr : urlStrings) {
|
for (const QString &urlStr : urlStrings) {
|
||||||
QUrl url(urlStr);
|
QUrl url(urlStr);
|
||||||
if (url.isLocalFile())
|
if (url.isLocalFile())
|
||||||
history << url.toLocalFile();
|
history << url.toLocalFile();
|
||||||
}
|
}
|
||||||
|
|
||||||
return restoreWidgetState(history, settings.value("sidebarWidth"_L1, -1).toInt());
|
return restoreWidgetState(history, settings.value("sidebarWidth", -1).toInt());
|
||||||
}
|
}
|
||||||
#endif // settings
|
#endif // settings
|
||||||
|
|
||||||
@ -2915,8 +2915,8 @@ void QFileDialogPrivate::init(const QFileDialogArgs &args)
|
|||||||
// Try to restore from the FileDialog settings group; if it fails, fall back
|
// Try to restore from the FileDialog settings group; if it fails, fall back
|
||||||
// to the pre-5.5 QByteArray serialized settings.
|
// to the pre-5.5 QByteArray serialized settings.
|
||||||
if (!restoreFromSettings()) {
|
if (!restoreFromSettings()) {
|
||||||
const QSettings settings(QSettings::UserScope, "QtProject"_L1);
|
const QSettings settings(QSettings::UserScope, u"QtProject"_s);
|
||||||
q->restoreState(settings.value("Qt/filedialog"_L1).toByteArray());
|
q->restoreState(settings.value("Qt/filedialog").toByteArray());
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -3079,8 +3079,8 @@ void QFileDialogPrivate::createWidgets()
|
|||||||
// Try to restore from the FileDialog settings group; if it fails, fall back
|
// Try to restore from the FileDialog settings group; if it fails, fall back
|
||||||
// to the pre-5.5 QByteArray serialized settings.
|
// to the pre-5.5 QByteArray serialized settings.
|
||||||
if (!restoreFromSettings()) {
|
if (!restoreFromSettings()) {
|
||||||
const QSettings settings(QSettings::UserScope, "QtProject"_L1);
|
const QSettings settings(QSettings::UserScope, u"QtProject"_s);
|
||||||
q->restoreState(settings.value("Qt/filedialog"_L1).toByteArray());
|
q->restoreState(settings.value("Qt/filedialog").toByteArray());
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user