File indexing completed on 2025-01-05 03:53:58

0001 /* ============================================================
0002  *
0003  * This file is a part of digiKam project
0004  * https://www.digikam.org
0005  *
0006  * Date        : 2007-04-21
0007  * Description : Structures for use in CoreDB
0008  *
0009  * SPDX-FileCopyrightText: 2007-2011 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
0010  * SPDX-FileCopyrightText: 2010-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
0011  * SPDX-FileCopyrightText:      2005 by Renchi Raju <renchi dot raju at gmail dot com>
0012  *
0013  * SPDX-License-Identifier: GPL-2.0-or-later
0014  *
0015  * ============================================================ */
0016 
0017 #ifndef DIGIKAM_CORE_DB_CONSTANTS_H
0018 #define DIGIKAM_CORE_DB_CONSTANTS_H
0019 
0020 // Qt includes
0021 
0022 #include <QLatin1String>
0023 
0024 // Local includes
0025 
0026 #include "digikam_export.h"
0027 
0028 namespace Digikam
0029 {
0030 
0031 namespace DatabaseSearch
0032 {
0033 
0034 enum Type
0035 {
0036     UndefinedType,
0037     KeywordSearch,
0038     AdvancedSearch,
0039     LegacyUrlSearch,
0040     TimeLineSearch,
0041     HaarSearch,
0042     MapSearch,
0043     DuplicatesSearch
0044 };
0045 
0046 enum HaarSearchType
0047 {
0048     HaarImageSearch,
0049     HaarSketchSearch
0050 };
0051 
0052 } // namespace DatabaseSearch
0053 
0054 // ----------------------------------------------------------------------------------
0055 
0056 namespace DatabaseItem
0057 {
0058 
0059 enum Status
0060 {
0061     // Keep values constant
0062     UndefinedStatus = 0,
0063     Visible         = 1,
0064     Hidden          = 2,
0065     Trashed         = 3, // previously "Removed"
0066     Obsolete        = 4
0067 };
0068 
0069 enum Category
0070 {
0071     // Keep values constant
0072     UndefinedCategory = 0,
0073     Image             = 1,
0074     Video             = 2,
0075     Audio             = 3,
0076     Other             = 4
0077 };
0078 
0079 } // namespace DatabaseItem
0080 
0081 // ----------------------------------------------------------------------------------
0082 
0083 namespace DatabaseRelation
0084 {
0085 
0086 enum Type
0087 {
0088     UndefinedType = 0,
0089     /** The subject is a derivative of the object */
0090     DerivedFrom   = 1,
0091     /** The subject is grouped behind the object */
0092     Grouped       = 2
0093 };
0094 
0095 } // namespace DatabaseRelation
0096 
0097 // ----------------------------------------------------------------------------------
0098 
0099 namespace DatabaseComment
0100 {
0101 
0102 enum Type
0103 {
0104     // Keep values constant
0105     /// UndefinedType: Shall never appear in the database
0106     UndefinedType   = 0,
0107     /**
0108      *  Comment: The default - a normal comment
0109      *  This is what the user in digikam edits as the comment.
0110      *  It is mapped to and from the JFIF comment,
0111      *  the EXIF user comment, the IPTC Caption,
0112      *  Dublin Core and Photoshop Description.
0113      */
0114     Comment         = 1,
0115     /// Headline: as with IPTC or Photoshop
0116     Headline        = 2,
0117     /// Title: as with Dublin Core Title, Photoshop Title, IPTC Object Name
0118     Title           = 3
0119     // Feel free to add here any more types that you need!
0120 };
0121 
0122 } // namespace DatabaseComment
0123 
0124 // ----------------------------------------------------------------------------------
0125 
0126 class DIGIKAM_DATABASE_EXPORT InternalTagName
0127 {
0128 public:
0129 
0130     static QLatin1String scannedForFaces();
0131     static QLatin1String needResolvingHistory();
0132     static QLatin1String needTaggingHistoryGraph();
0133 
0134     static QLatin1String originalVersion();
0135     static QLatin1String currentVersion();
0136     static QLatin1String intermediateVersion();
0137     static QLatin1String versionAlwaysVisible();
0138 
0139     static QLatin1String colorLabelNone();
0140     static QLatin1String colorLabelRed();
0141     static QLatin1String colorLabelOrange();
0142     static QLatin1String colorLabelYellow();
0143     static QLatin1String colorLabelGreen();
0144     static QLatin1String colorLabelBlue();
0145     static QLatin1String colorLabelMagenta();
0146     static QLatin1String colorLabelGray();
0147     static QLatin1String colorLabelBlack();
0148     static QLatin1String colorLabelWhite();
0149 
0150     static QLatin1String pickLabelNone();
0151     static QLatin1String pickLabelRejected();
0152     static QLatin1String pickLabelPending();
0153     static QLatin1String pickLabelAccepted();
0154 };
0155 
0156 // ----------------------------------------------------------------------------------
0157 
0158 class DIGIKAM_DATABASE_EXPORT TagPropertyName
0159 {
0160 public:
0161 
0162     static QLatin1String person();
0163     static QLatin1String unknownPerson();
0164     static QLatin1String unconfirmedPerson();
0165     static QLatin1String ignoredPerson();
0166     static QLatin1String faceEngineName();
0167     static QLatin1String tagKeyboardShortcut();
0168     static QLatin1String faceEngineUuid();
0169 };
0170 
0171 // ----------------------------------------------------------------------------------
0172 
0173 class DIGIKAM_DATABASE_EXPORT ImageTagPropertyName
0174 {
0175 public:
0176 
0177     static QLatin1String tagRegion();
0178     static QLatin1String autodetectedFace();
0179     static QLatin1String autodetectedPerson();
0180     static QLatin1String ignoredFace();
0181     static QLatin1String faceToTrain();
0182 };
0183 
0184 } // namespace Digikam
0185 
0186 #endif // DIGIKAM_CORE_DB_CONSTANTS_H