digiKam
itempropertiestab.h
Go to the documentation of this file.
1 /* ============================================================
2  *
3  * This file is a part of digiKam project
4  * https://www.digikam.org
5  *
6  * Date : 2006-04-19
7  * Description : A tab to display general item information
8  *
9  * Copyright (C) 2006-2022 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_ITEM_PROPERTIES_TAB_H
25 #define DIGIKAM_ITEM_PROPERTIES_TAB_H
26 
27 // Qt includes
28 
29 #include <QString>
30 #include <QColor>
31 #include <QUrl>
32 #include <QFileInfo>
33 
34 // Local includes
35 
36 #include "dexpanderbox.h"
37 #include "digikam_export.h"
38 
39 namespace Digikam
40 {
41 
42 class DIGIKAM_EXPORT ItemPropertiesTab : public DExpanderBox
43 {
44  Q_OBJECT
45 
46 public:
47 
48  explicit ItemPropertiesTab(QWidget* const parent);
49  ~ItemPropertiesTab() override;
50 
51  void setCurrentURL(const QUrl& url = QUrl());
52 
53  void setPhotoInfoDisable(const bool b);
54  void setVideoInfoDisable(const bool b);
55  void showOrHideCaptionAndTags();
56 
57  void setFileModifiedDate(const QString& str);
58  void setFileSize(const QString& str);
59  void setFileOwner(const QString& str);
60  void setFilePermissions(const QString& str);
61 
62  void setItemDimensions(const QString& str);
63  void setImageRatio(const QString& str);
64  void setImageMime(const QString& str);
65  void setImageBitDepth(const QString& str);
66  void setImageColorMode(const QString& str);
67  void setHasSidecar(const QString& str);
68 
69  void setPhotoMake(const QString& str);
70  void setPhotoModel(const QString& str);
71  void setPhotoDateTime(const QString& str);
72  void setPhotoLens(const QString& str);
73  void setPhotoAperture(const QString& str);
74  void setPhotoFocalLength(const QString& str);
75  void setPhotoExposureTime(const QString& str);
76  void setPhotoSensitivity(const QString& str);
77  void setPhotoExposureMode(const QString& str);
78  void setPhotoFlash(const QString& str);
79  void setPhotoWhiteBalance(const QString& str);
80 
81  void setVideoAspectRatio(const QString& str);
82  void setVideoAudioBitRate(const QString& str);
83  void setVideoAudioChannelType(const QString& str);
84  void setVideoAudioCodec(const QString& str);
85  void setVideoDuration(const QString& str);
86  void setVideoFrameRate(const QString& str);
87  void setVideoVideoCodec(const QString& str);
88 
89  void setCaption(const QString& str);
90  void setPickLabel(int pickId);
91  void setColorLabel(int colorId);
92  void setRating(int rating);
93  void setTags(const QStringList& tagPaths, const QStringList& tagNames = QStringList());
94 
102  static QStringList shortenedTagPaths(const QStringList& tagPaths, QList<QVariant>* identifiers = nullptr);
103 
108  static void shortenedMakeInfo(QString& make);
109  static void shortenedModelInfo(QString& model);
110 
114  static bool aspectRatioToString(int width, int height, QString& arString);
115 
119  static QString permissionsString(const QFileInfo& fi);
120 
125  static QString humanReadableBytesCount(qint64 bytes, bool si = false);
126 
127 private:
128 
129  static double doubleToHumanReadableFraction(double val, long* num, long* den, long maxden = 2);
130 
131 private:
132 
133  class Private;
134  Private* const d;
135 };
136 
137 } // namespace Digikam
138 
139 #endif // DIGIKAM_ITEM_PROPERTIES_TAB_H
Definition: dexpanderbox.h:244
Definition: itempropertiestab.h:43
Definition: datefolderview.cpp:43