1 /* ============================================================
2  *
3  * This file is a part of digiKam project
4  * https://www.digikam.org
5  *
6  * Date        : 2006-21-07
7  * Description : Camera item download settings container.
8  *
9  * Copyright (C) 2006-2021 by Gilles Caulier <caulier dot gilles at gmail dot com>
10  *
11  * This program is free software; you can redistribute it
12  * and/or modify it under the terms of the GNU General
13  * Public License as published by the Free Software Foundation;
14  * either version 2, or (at your option)
15  * any later version.
16  *
17  * This program is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20  * GNU General Public License for more details.
21  *
22  * ============================================================ */
23 
24 #ifndef DIGIKAM_DOWNLOAD_SETTINGS_H
25 #define DIGIKAM_DOWNLOAD_SETTINGS_H
26 
27 // Qt includes
28 
29 #include <QString>
30 #include <QDateTime>
31 
32 // Local includes
33 
34 #include "digikam_globals.h"
35 #include "dngwriter.h"
36 
37 namespace Digikam
38 {
39 
40 class DownloadSettings
41 {
42 
43 public:
44 
DownloadSettings()45     DownloadSettings()
46       : autoRotate  (true),
47         fixDateTime (false),
48         convertJpeg (false),
49         documentName(false),
50         backupRaw   (false),
51         convertDng  (false),
52         compressDng (true),
53         previewMode (DNGWriter::MEDIUM),
54         rating      (NoRating),
55         pickLabel   (NoPickLabel),
56         colorLabel  (NoColorLabel)
57     {
58     };
59 
~DownloadSettings()60     ~DownloadSettings()
61     {
62     };
63 
64 public:
65 
66     /// Settings from AdvancedSettings widget
67     bool       autoRotate;
68     bool       fixDateTime;
69     bool       convertJpeg;
70     bool       documentName;
71 
72     QDateTime  newDateTime;
73 
74     /// New format to convert Jpeg files.
75     QString    losslessFormat;
76 
77     /// Metadata template title.
78     QString    templateTitle;
79 
80     /// File path to download
81     QString    folder;
82     QString    file;
83     QString    dest;
84 
85     /// Mime type from file to download
86     QString    mime;
87 
88     /// Settings from DNG convert widget
89     bool       backupRaw;
90     bool       convertDng;
91     bool       compressDng;
92     int        previewMode;
93 
94     /// Settings from ScriptingSettings widget
95     QString    script;
96 
97     /// Pre-rating of each camera file
98     int        rating;
99 
100     /// Pre-pickLabel of each camera file
101     int        pickLabel;
102 
103     /// Pre-colorLabel of each camera file
104     int        colorLabel;
105 
106     /// Pre-tags of each camera file
107     QList<int> tagIds;
108 };
109 
110 typedef QList<DownloadSettings> DownloadSettingsList;
111 
112 } // namespace Digikam
113 
114 #endif // DIGIKAM_DOWNLOAD_SETTINGS_H
115