File indexing completed on 2025-04-27 03:58:34
0001 /* ============================================================ 0002 * 0003 * This file is a part of digiKam project 0004 * https://www.digikam.org 0005 * 0006 * Date : 2021-04-18 0007 * Description : ExifTool metadata list view item. 0008 * 0009 * SPDX-FileCopyrightText: 2021-2024 by Gilles Caulier <caulier dot gilles at gmail dot com> 0010 * 0011 * SPDX-License-Identifier: GPL-2.0-or-later 0012 * 0013 * ============================================================ */ 0014 0015 #include "exiftoollistviewitem.h" 0016 0017 // Qt includes 0018 0019 #include <QHeaderView> 0020 #include <QFont> 0021 0022 // KDE includes 0023 0024 #include <klocalizedstring.h> 0025 0026 // Local includes 0027 0028 #include "ditemtooltip.h" 0029 #include "exiftoollistviewgroup.h" 0030 0031 namespace Digikam 0032 { 0033 0034 class Q_DECL_HIDDEN ExifToolListViewItem::Private 0035 { 0036 public: 0037 0038 explicit Private() 0039 { 0040 } 0041 0042 QString key; 0043 QString desc; 0044 }; 0045 0046 ExifToolListViewItem::ExifToolListViewItem(ExifToolListViewGroup* const parent, 0047 const QString& key, 0048 const QString& value, 0049 const QString& desc) 0050 : QTreeWidgetItem(parent), 0051 d (new Private) 0052 { 0053 d->key = key; 0054 d->desc = desc; 0055 0056 setChildIndicatorPolicy(QTreeWidgetItem::DontShowIndicator); 0057 setDisabled(false); 0058 setSelected(false); 0059 0060 QString name = d->key.section(QLatin1Char('.'), -1); 0061 setText(0, name); 0062 setToolTip(0, name); 0063 0064 QString tagVal = value.simplified(); 0065 0066 if (tagVal.length() > 512) 0067 { 0068 tagVal.truncate(512); 0069 tagVal.append(QLatin1String("...")); 0070 } 0071 0072 setText(1, tagVal); 0073 0074 DToolTipStyleSheet cnt; 0075 setToolTip(1, QLatin1String("<qt><p>") + cnt.breakString(tagVal) + QLatin1String("</p></qt>")); 0076 } 0077 0078 ExifToolListViewItem::ExifToolListViewItem(ExifToolListViewGroup* const parent, 0079 const QString& key) 0080 : QTreeWidgetItem(parent), 0081 d (new Private) 0082 { 0083 d->key = key; 0084 0085 setChildIndicatorPolicy(QTreeWidgetItem::DontShowIndicator); 0086 0087 QString name = d->key.section(QLatin1Char('.'), -1); 0088 setText(0, name); 0089 setToolTip(0, name); 0090 0091 setDisabled(true); 0092 setText(1, i18n("Unavailable")); 0093 QFont fnt = font(1); 0094 fnt.setItalic(true); 0095 setFont(1, fnt); 0096 } 0097 0098 ExifToolListViewItem::~ExifToolListViewItem() 0099 { 0100 delete d; 0101 } 0102 0103 QString ExifToolListViewItem::getKey() const 0104 { 0105 return d->key; 0106 } 0107 0108 QString ExifToolListViewItem::getTitle() const 0109 { 0110 return text(0); 0111 } 0112 0113 QString ExifToolListViewItem::getValue() const 0114 { 0115 return text(1); 0116 } 0117 0118 QString ExifToolListViewItem::getDescription() const 0119 { 0120 return d->desc; 0121 } 0122 0123 } // namespace Digikam