[libcamera-devel] [PATCH] qcam: Use standard PicturesLocation path for capture
Kieran Bingham
kieran.bingham at ideasonboard.com
Tue Feb 18 10:02:18 CET 2020
Hi Laurent,
On 18/02/2020 01:05, Laurent Pinchart wrote:
> Hi Kieran,
>
> Thank you for the patch.
>
> On Mon, Feb 17, 2020 at 03:39:41PM +0000, Kieran Bingham wrote:
>> Utilise the QStandardPaths::PicturesLocation as a starting point for
>> saving images from qcam.
>>
>> Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
>> ---
>> src/qcam/main_window.cpp | 4 +++-
>> 1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/src/qcam/main_window.cpp b/src/qcam/main_window.cpp
>> index 29eaba8454f8..09e4bfc11300 100644
>> --- a/src/qcam/main_window.cpp
>> +++ b/src/qcam/main_window.cpp
>> @@ -17,6 +17,7 @@
>> #include <QImage>
>> #include <QImageWriter>
>> #include <QInputDialog>
>> +#include <QStandardPaths>
>> #include <QTimer>
>> #include <QToolBar>
>> #include <QToolButton>
>> @@ -348,8 +349,9 @@ void MainWindow::stopCapture()
>> void MainWindow::saveImageAs()
>> {
>> QImage image = viewfinder_->getCurrentImage();
>> + QString defaultPath = QStandardPaths::standardLocations(QStandardPaths::PicturesLocation).last();
>
> QStandardPaths::standardLocations() sorts the result from high to low
> priority, shouldn't we thus pick the first entry ? How about using
> QStandardPaths::writableLocation() instead ?
Ok, indeed I see it returns arrays like the following on Linux:
> FontsLocation "~/.fonts", "~/.local/share/fonts", "/usr/local/share/fonts", "/usr/share/fonts"
> ApplicationsLocation "~/.local/share/applications", "/usr/local/share/applications", "/usr/share/applications"
> MusicLocation "~/Music"
> MoviesLocation "~/Videos"
> PicturesLocation "~/Pictures"
So for PicturesLocation first() == last() anyway :-)
But I'm fine with QStandardPaths::writableLocation(), and that reduces
the line length.
>
>>
>> - QString filename = QFileDialog::getSaveFileName(this, "Save Image", "",
>> + QString filename = QFileDialog::getSaveFileName(this, "Save Image", defaultPath,
>> "Image Files (*.png *.jpg *.jpeg)");
>>
>> std::cout << "Save image to " << filename.toStdString() << std::endl;
>
--
Regards
--
Kieran
More information about the libcamera-devel
mailing list