File indexing completed on 2025-01-05 04:00:13

0001 /* ============================================================
0002  *
0003  * This file is a part of digiKam project
0004  * https://www.digikam.org
0005  *
0006  * Date        : 2003-08-03
0007  * Description : setup Metadata tab.
0008  *
0009  * SPDX-FileCopyrightText: 2003-2004 by Ralf Holzer <ralf at well dot com>
0010  * SPDX-FileCopyrightText: 2003-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
0011  * SPDX-FileCopyrightText: 2009-2012 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
0012  * SPDX-FileCopyrightText: 2017      by Simon Frei <freisim93 at gmail dot com>
0013  *
0014  * SPDX-License-Identifier: GPL-2.0-or-later
0015  *
0016  * ============================================================ */
0017 
0018 #ifndef DIGIKAM_SETUP_METADATA_P_H
0019 #define DIGIKAM_SETUP_METADATA_P_H
0020 
0021 #include "setupmetadata.h"
0022 
0023 // Qt includes
0024 
0025 #include <QApplication>
0026 #include <QButtonGroup>
0027 #include <QCheckBox>
0028 #include <QComboBox>
0029 #include <QFrame>
0030 #include <QGridLayout>
0031 #include <QGroupBox>
0032 #include <QIcon>
0033 #include <QTimer>
0034 #include <QLabel>
0035 #include <QLineEdit>
0036 #include <QMessageBox>
0037 #include <QPointer>
0038 #include <QRadioButton>
0039 #include <QStandardPaths>
0040 #include <QStyle>
0041 #include <QToolButton>
0042 #include <QVBoxLayout>
0043 
0044 // KDE includes
0045 
0046 #include <klocalizedstring.h>
0047 
0048 // Local includes
0049 
0050 #include "advancedmetadatatab.h"
0051 #include "applicationsettings.h"
0052 #include "dactivelabel.h"
0053 #include "digikam_config.h"
0054 #include "digikam_debug.h"
0055 #include "metaengine.h"
0056 #include "metadatapanel.h"
0057 #include "metaenginesettings.h"
0058 #include "setuputils.h"
0059 #include "exiftoolconfpanel.h"
0060 #include "dexpanderbox.h"
0061 #include "dlayoutbox.h"
0062 #include "drawfiles.h"
0063 
0064 namespace Digikam
0065 {
0066 
0067 class Q_DECL_HIDDEN SetupMetadata::Private
0068 {
0069 public:
0070 
0071     explicit Private();
0072 
0073     void readSettings();
0074 
0075 public:
0076 
0077     bool                 exifAutoRotateOriginal;
0078     bool                 exifAutoRotateShowedInfo;
0079     bool                 sidecarFileNameShowedInfo;
0080 
0081     QGroupBox*           fieldsGroup;
0082     QGroupBox*           readWriteGroup;
0083     QGroupBox*           rotationGroup;
0084     QGroupBox*           rotationAdvGroup;
0085 
0086     QCheckBox*           saveTagsBox;
0087     QCheckBox*           saveCommentsBox;
0088     QCheckBox*           saveRatingBox;
0089     QCheckBox*           savePickLabelBox;
0090     QCheckBox*           saveColorLabelBox;
0091     QCheckBox*           saveDateTimeBox;
0092     QCheckBox*           saveTemplateBox;
0093     QCheckBox*           saveFaceTags;
0094     QCheckBox*           savePosition;
0095 
0096     QCheckBox*           useLazySync;
0097     QCheckBox*           writeWithExifToolBox;
0098     QCheckBox*           writeDngFilesBox;
0099     QCheckBox*           writeRawFilesBox;
0100     QLabel*              writeWithExifToolLabel;
0101     QCheckBox*           writeXMPSidecarBox;
0102     QCheckBox*           readXMPSidecarBox;
0103     QCheckBox*           sidecarFileNameBox;
0104     QCheckBox*           updateFileTimeStampBox;
0105     QCheckBox*           rescanImageIfModifiedBox;
0106     QComboBox*           writingModeCombo;
0107 
0108     QRadioButton*        rotateByFlag;
0109     QRadioButton*        rotateByContents;
0110     QCheckBox*           allowRotateByMetadata;
0111     QCheckBox*           allowLossyRotate;
0112     QCheckBox*           exifRotateBox;
0113     QCheckBox*           exifSetOrientationBox;
0114 
0115     QCheckBox*           saveToBalooBox;
0116     QCheckBox*           readFromBalooBox;
0117 
0118     QTabWidget*          tab;
0119     QTabWidget*          displaySubTab;
0120 
0121     MetadataPanel*       tagsCfgPanel;
0122     AdvancedMetadataTab* advTab;
0123 
0124     ExifToolConfPanel*   exifToolView;
0125 
0126     QLineEdit*           extensionsEdit;
0127 };
0128 
0129 } // namespace Digikam
0130 
0131 #endif // DIGIKAM_SETUP_METADATA_P_H