Brush up the imageviewer example

- Fix the save as file dialog being in "Open" mode by setting
acceptMode
- Fix clazy warnings about detaching QList by using constFirst()
- Fix clazy warning about passing a context to slot connection

Change-Id: I0c800e9829e118fcec477322aa2a13660e3b51d2
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
(cherry picked from commit fe1ef3ebcbfe017bdb01e16480a5c38cad6e39b9)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Friedemann Kleint 2021-02-26 07:55:28 +01:00 committed by Qt Cherry-pick Bot
parent b861f65fab
commit f82b504ef4
2 changed files with 5 additions and 4 deletions

View File

@ -176,6 +176,7 @@ static void initializeImageFileDialog(QFileDialog &dialog, QFileDialog::AcceptMo
mimeTypeFilters.sort(); mimeTypeFilters.sort();
dialog.setMimeTypeFilters(mimeTypeFilters); dialog.setMimeTypeFilters(mimeTypeFilters);
dialog.selectMimeTypeFilter("image/jpeg"); dialog.selectMimeTypeFilter("image/jpeg");
dialog.setAcceptMode(acceptMode);
if (acceptMode == QFileDialog::AcceptSave) if (acceptMode == QFileDialog::AcceptSave)
dialog.setDefaultSuffix("jpg"); dialog.setDefaultSuffix("jpg");
} }
@ -185,7 +186,7 @@ void ImageViewer::open()
QFileDialog dialog(this, tr("Open File")); QFileDialog dialog(this, tr("Open File"));
initializeImageFileDialog(dialog, QFileDialog::AcceptOpen); initializeImageFileDialog(dialog, QFileDialog::AcceptOpen);
while (dialog.exec() == QDialog::Accepted && !loadFile(dialog.selectedFiles().first())) {} while (dialog.exec() == QDialog::Accepted && !loadFile(dialog.selectedFiles().constFirst())) {}
} }
//! [1] //! [1]
@ -194,7 +195,7 @@ void ImageViewer::saveAs()
QFileDialog dialog(this, tr("Save File As")); QFileDialog dialog(this, tr("Save File As"));
initializeImageFileDialog(dialog, QFileDialog::AcceptSave); initializeImageFileDialog(dialog, QFileDialog::AcceptSave);
while (dialog.exec() == QDialog::Accepted && !saveFile(dialog.selectedFiles().first())) {} while (dialog.exec() == QDialog::Accepted && !saveFile(dialog.selectedFiles().constFirst())) {}
} }
//! [5] //! [5]
@ -365,7 +366,7 @@ void ImageViewer::createActions()
QMenu *helpMenu = menuBar()->addMenu(tr("&Help")); QMenu *helpMenu = menuBar()->addMenu(tr("&Help"));
helpMenu->addAction(tr("&About"), this, &ImageViewer::about); helpMenu->addAction(tr("&About"), this, &ImageViewer::about);
helpMenu->addAction(tr("About &Qt"), &QApplication::aboutQt); helpMenu->addAction(tr("About &Qt"), this, &QApplication::aboutQt);
} }
//! [18] //! [18]

View File

@ -63,7 +63,7 @@ int main(int argc, char *argv[])
commandLineParser.process(QCoreApplication::arguments()); commandLineParser.process(QCoreApplication::arguments());
ImageViewer imageViewer; ImageViewer imageViewer;
if (!commandLineParser.positionalArguments().isEmpty() if (!commandLineParser.positionalArguments().isEmpty()
&& !imageViewer.loadFile(commandLineParser.positionalArguments().front())) { && !imageViewer.loadFile(commandLineParser.positionalArguments().constFirst())) {
return -1; return -1;
} }
imageViewer.show(); imageViewer.show();