From f58e47c2f34c6a703115c9b4486040ba12bd97e9 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 27 Feb 2019 14:33:10 +0100 Subject: QtWidgets: Fix deprecation warnings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix deprecation warnings where possible or add warnings scopes, fixing: dialogs/qdialog.cpp:783:41: warning: ‘void QDialog::showExtension(bool)’ is deprecated [-Wdeprecated-declarations] ^~~~~~~~~~~~~ widgets/qcombobox.cpp:1386:37: warning: ‘void QComboBox::currentIndexChanged(const QString&)’ is deprecated: Use currentTextChanged() instead [-Wdeprecated-declarations]= dialogs/qfiledialog_p.h:168:38: warning: ‘DirectoryOnly’ is deprecated: Use setOption(ShowDirsOnly, true) instead [-Wdeprecated-declarations] dialogs/qfiledialog.cpp:590:38: warning: ‘DirectoryOnly’ is deprecated: Use setOption(ShowDirsOnly, true) instead [-Wdeprecated-declarations] dialogs/qfiledialog.cpp:617:27: warning: ‘DirectoryOnly’ is deprecated: Use setOption(ShowDirsOnly, true) instead [-Wdeprecated-declarations] dialogs/qfiledialog.cpp:617:27: warning: ‘DirectoryOnly’ is deprecated: Use setOption(ShowDirsOnly, true) instead [-Wdeprecated-declarations] dialogs/qfiledialog.cpp:645:27: warning: ‘DirectoryOnly’ is deprecated: Use setOption(ShowDirsOnly, true) instead [-Wdeprecated-declarations] dialogs/qfiledialog.cpp:1730:17: warning: ‘DirectoryOnly’ is deprecated: Use setOption(ShowDirsOnly, true) instead [-Wdeprecated-declarations] dialogs/qfiledialog.cpp:2637:43: warning: ‘DirectoryOnly’ is deprecated: Use setOption(ShowDirsOnly, true) instead [-Wdeprecated-declarations] dialogs/qfiledialog.cpp:2750:10: warning: ‘DirectoryOnly’ is deprecated: Use setOption(ShowDirsOnly, true) instead [-Wdeprecated-declarations] dialogs/qfiledialog.cpp:2786:49: warning: ‘bool QFileDialog::confirmOverwrite() const’ is deprecated: Use !testOption(DontConfirmOverwrite) instead [-Wdeprecated-declarations] dialogs/qfiledialog.cpp:3654:27: warning: ‘DirectoryOnly’ is deprecated: Use setOption(ShowDirsOnly, true) instead [-Wdeprecated-declarations] dialogs/qfiledialog.cpp:3843:48: warning: ‘DirectoryOnly’ is deprecated: Use setOption(ShowDirsOnly, true) instead [-Wdeprecated-declarations] dialogs/qfiledialog.cpp:3895:72: warning: ‘DirectoryOnly’ is deprecated: Use setOption(ShowDirsOnly, true) instead [-Wdeprecated-declarations] styles/qwindowsstyle.cpp:836:19: warning: ‘PE_IndicatorViewItemCheck’ is deprecated [-Wdeprecated-declarations] graphicsview/qgraphicswidget.cpp:2309:51: warning: ‘PM_MDIFrameWidth’ is deprecated [-Wdeprecated-declarations] styles/qstylesheetstyle.cpp:4302:10: warning: ‘PE_FrameStatusBar’ is deprecated [-Wdeprecated-declarations] styles/qfusionstyle.cpp:3676:10: warning: ‘SH_ScrollBar_StopMouseOverSlider’ is deprecated [-Wdeprecated-declarations] Change-Id: I9e15f4a0996476ec88d8823b72f0c537dce97b9c Reviewed-by: Christian Ehrlicher --- src/widgets/dialogs/qfiledialog.cpp | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) (limited to 'src/widgets/dialogs/qfiledialog.cpp') diff --git a/src/widgets/dialogs/qfiledialog.cpp b/src/widgets/dialogs/qfiledialog.cpp index 625da78794..f772eb1241 100644 --- a/src/widgets/dialogs/qfiledialog.cpp +++ b/src/widgets/dialogs/qfiledialog.cpp @@ -587,10 +587,13 @@ void QFileDialogPrivate::retranslateWindowTitle() return; if (q->acceptMode() == QFileDialog::AcceptOpen) { const QFileDialog::FileMode fileMode = q->fileMode(); +QT_WARNING_PUSH +QT_WARNING_DISABLE_DEPRECATED if (fileMode == QFileDialog::DirectoryOnly || fileMode == QFileDialog::Directory) q->setWindowTitle(QFileDialog::tr("Find Directory")); else q->setWindowTitle(QFileDialog::tr("Open")); +QT_WARNING_POP } else q->setWindowTitle(QFileDialog::tr("Save As")); @@ -614,7 +617,10 @@ void QFileDialogPrivate::updateFileNameLabel() setLabelTextControl(QFileDialog::FileName, options->labelText(QFileDialogOptions::FileName)); } else { switch (q_func()->fileMode()) { +QT_WARNING_PUSH +QT_WARNING_DISABLE_DEPRECATED case QFileDialog::DirectoryOnly: +QT_WARNING_POP case QFileDialog::Directory: setLabelTextControl(QFileDialog::FileName, QFileDialog::tr("Directory:")); break; @@ -642,7 +648,10 @@ void QFileDialogPrivate::updateOkButtonText(bool saveAsOnFolder) return; } else { switch (q->fileMode()) { +QT_WARNING_PUSH +QT_WARNING_DISABLE_DEPRECATED case QFileDialog::DirectoryOnly: +QT_WARNING_POP case QFileDialog::Directory: setLabelTextControl(QFileDialog::Accept, QFileDialog::tr("&Choose")); break; @@ -1709,7 +1718,10 @@ void QFileDialog::setFileMode(QFileDialog::FileMode mode) d->options->setFileMode(static_cast(mode)); // keep ShowDirsOnly option in sync with fileMode (BTW, DirectoryOnly is obsolete) +QT_WARNING_PUSH +QT_WARNING_DISABLE_DEPRECATED setOption(ShowDirsOnly, mode == DirectoryOnly); +QT_WARNING_POP if (!d->usingWidgets()) return; @@ -1727,11 +1739,14 @@ void QFileDialog::setFileMode(QFileDialog::FileMode mode) // set filter d->model->setFilter(d->filterForMode(filter())); // setup file type for directory +QT_WARNING_PUSH +QT_WARNING_DISABLE_DEPRECATED if (mode == DirectoryOnly || mode == Directory) { d->qFileDialogUi->fileTypeCombo->clear(); d->qFileDialogUi->fileTypeCombo->addItem(tr("Directories")); d->qFileDialogUi->fileTypeCombo->setEnabled(false); } +QT_WARNING_POP d->updateFileNameLabel(); d->updateOkButtonText(); d->qFileDialogUi->fileTypeCombo->setEnabled(!testOption(ShowDirsOnly)); @@ -2634,7 +2649,10 @@ QUrl QFileDialog::getExistingDirectoryUrl(QWidget *parent, args.parent = parent; args.caption = caption; args.directory = QFileDialogPrivate::workingDirectory(dir); +QT_WARNING_PUSH +QT_WARNING_DISABLE_DEPRECATED args.mode = (options & ShowDirsOnly ? DirectoryOnly : Directory); +QT_WARNING_POP args.options = options; QFileDialog dialog(args); @@ -2747,7 +2765,10 @@ void QFileDialog::accept() } switch (fileMode()) { +QT_WARNING_PUSH +QT_WARNING_DISABLE_DEPRECATED case DirectoryOnly: +QT_WARNING_POP case Directory: { QString fn = files.first(); QFileInfo info(fn); @@ -2783,7 +2804,7 @@ void QFileDialog::accept() } // check if we have to ask for permission to overwrite the file - if (!info.exists() || !confirmOverwrite() || acceptMode() == AcceptOpen) { + if (!info.exists() || testOption(DontConfirmOverwrite) || acceptMode() == AcceptOpen) { d->emitFilesSelected(QStringList(fn)); QDialog::accept(); #if QT_CONFIG(messagebox) @@ -3651,7 +3672,10 @@ void QFileDialogPrivate::_q_updateOkButton() isOpenDirectory = true; } else { switch (fileMode) { +QT_WARNING_PUSH +QT_WARNING_DISABLE_DEPRECATED case QFileDialog::DirectoryOnly: +QT_WARNING_POP case QFileDialog::Directory: { QString fn = files.first(); QModelIndex idx = model->index(fn); @@ -3743,12 +3767,15 @@ void QFileDialogPrivate::_q_enterDirectory(const QModelIndex &index) const QFileDialog::FileMode fileMode = q->fileMode(); q->setDirectory(path); emit q->directoryEntered(path); +QT_WARNING_PUSH +QT_WARNING_DISABLE_DEPRECATED if (fileMode == QFileDialog::Directory || fileMode == QFileDialog::DirectoryOnly) { // ### find out why you have to do both of these. lineEdit()->setText(QString()); lineEdit()->clear(); } +QT_WARNING_POP } else { // Do not accept when shift-clicking to multi-select a file in environments with single-click-activation (KDE) if (!q->style()->styleHint(QStyle::SH_ItemView_ActivateItemOnSingleClick, nullptr, qFileDialogUi->treeView) @@ -3840,7 +3867,10 @@ void QFileDialogPrivate::_q_selectionChanged() { const QFileDialog::FileMode fileMode = q_func()->fileMode(); const QModelIndexList indexes = qFileDialogUi->listView->selectionModel()->selectedRows(); +QT_WARNING_PUSH +QT_WARNING_DISABLE_DEPRECATED bool stripDirs = (fileMode != QFileDialog::DirectoryOnly && fileMode != QFileDialog::Directory); +QT_WARNING_POP QStringList allFiles; for (const auto &index : indexes) { @@ -3892,10 +3922,13 @@ void QFileDialogPrivate::_q_rowsInserted(const QModelIndex &parent) void QFileDialogPrivate::_q_fileRenamed(const QString &path, const QString &oldName, const QString &newName) { const QFileDialog::FileMode fileMode = q_func()->fileMode(); +QT_WARNING_PUSH +QT_WARNING_DISABLE_DEPRECATED if (fileMode == QFileDialog::Directory || fileMode == QFileDialog::DirectoryOnly) { if (path == rootPath() && lineEdit()->text() == oldName) lineEdit()->setText(newName); } +QT_WARNING_POP } void QFileDialogPrivate::_q_emitUrlSelected(const QUrl &file) -- cgit v1.2.3