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 group.
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 "exiftoollistviewgroup.h"
0016 
0017 // Qt includes
0018 
0019 #include <QFont>
0020 
0021 // KDE includes
0022 
0023 #include <klocalizedstring.h>
0024 
0025 // Local includes
0026 
0027 #include "exiftoollistview.h"
0028 
0029 namespace Digikam
0030 {
0031 
0032 ExifToolListViewGroup::ExifToolListViewGroup(ExifToolListView* const parent,
0033                                              const QString& group)
0034     : QTreeWidgetItem(parent)
0035 {
0036     setFlags(Qt::ItemIsEnabled);
0037     setExpanded(true);
0038     setDisabled(false);
0039     QFont fn0(font(0));
0040     fn0.setBold(true);
0041     fn0.setItalic(false);
0042     setFont(0, fn0);
0043     setText(0, group);
0044 
0045     if      (group == QLatin1String("AFCP"))
0046     {
0047         setToolTip(0, i18n("AXS File Concatenation Protocol"));
0048     }
0049     else if (group == QLatin1String("AIFF"))
0050     {
0051         setToolTip(0, i18n("Audio Interchange File Format"));
0052     }
0053     else if (group == QLatin1String("APE"))
0054     {
0055         setToolTip(0, i18n("Monkey's Audio"));
0056     }
0057     else if (group == QLatin1String("APP0"))
0058     {
0059         setToolTip(0, i18n("JPEG Meta Information Level 0"));
0060     }
0061     else if (group == QLatin1String("APP1"))
0062     {
0063         setToolTip(0, i18n("JPEG Meta Information Level 1"));
0064     }
0065     else if (group == QLatin1String("APP11"))
0066     {
0067         setToolTip(0, i18n("JPEG Meta Information Level 11"));
0068     }
0069     else if (group == QLatin1String("APP12"))
0070     {
0071         setToolTip(0, i18n("JPEG Meta Information Level 12"));
0072     }
0073     else if (group == QLatin1String("APP13"))
0074     {
0075         setToolTip(0, i18n("JPEG Meta Information Level 13"));
0076     }
0077     else if (group == QLatin1String("APP14"))
0078     {
0079         setToolTip(0, i18n("JPEG Meta Information Level 14"));
0080     }
0081     else if (group == QLatin1String("APP15"))
0082     {
0083         setToolTip(0, i18n("JPEG Meta Information Level 15"));
0084     }
0085     else if (group == QLatin1String("APP4"))
0086     {
0087         setToolTip(0, i18n("JPEG Meta Information Level 4"));
0088     }
0089     else if (group == QLatin1String("APP5"))
0090     {
0091         setToolTip(0, i18n("JPEG Meta Information Level 5"));
0092     }
0093     else if (group == QLatin1String("APP6"))
0094     {
0095         setToolTip(0, i18n("JPEG Meta Information Level 6"));
0096     }
0097     else if (group == QLatin1String("APP8"))
0098     {
0099         setToolTip(0, i18n("JPEG Meta Information Level 8"));
0100     }
0101     else if (group == QLatin1String("ASF"))
0102     {
0103         setToolTip(0, i18n("Microsoft Advanced Systems Format"));
0104     }
0105     else if (group == QLatin1String("Audible"))
0106     {
0107         setToolTip(0, i18n("Audible Audiobook"));
0108     }
0109     else if (group == QLatin1String("Canon"))
0110     {
0111         setToolTip(0, i18n("Canon Camera Information"));
0112     }
0113     else if (group == QLatin1String("CanonVRD"))
0114     {
0115         setToolTip(0, i18n("Canon Recipe Data Information"));
0116     }
0117     else if (group == QLatin1String("Composite"))
0118     {
0119         setToolTip(0, i18n("Derived Convenience Tags"));
0120     }
0121     else if (group == QLatin1String("DICOM"))
0122     {
0123         setToolTip(0, i18n("Digital Imaging and Communications in Medicine"));
0124     }
0125     else if (group == QLatin1String("DNG"))
0126     {
0127         setToolTip(0, i18n("Digital Negative"));
0128     }
0129     else if (group == QLatin1String("DV"))
0130     {
0131         setToolTip(0, i18n("Digital Video"));
0132     }
0133     else if (group == QLatin1String("DjVu"))
0134     {
0135         setToolTip(0, i18n("DjVu image"));
0136     }
0137     else if (group == QLatin1String("Ducky"))
0138     {
0139         setToolTip(0, i18n("Photoshop Save for Web"));
0140     }
0141     else if (group == QLatin1String("EXE"))
0142     {
0143         setToolTip(0, i18n("DOS/Windows executable"));
0144     }
0145     else if (group == QLatin1String("EXIF"))
0146     {
0147         setToolTip(0, i18n("Exchangeable Image File Format metadata"));
0148     }
0149     else if (group == QLatin1String("FITS"))
0150     {
0151         setToolTip(0, i18n("Flexible Image Transport System"));
0152     }
0153     else if (group == QLatin1String("FLAC"))
0154     {
0155         setToolTip(0, i18n("Free Lossless Audio Codec"));
0156     }
0157     else if (group == QLatin1String("FLIR"))
0158     {
0159         setToolTip(0, i18n("FLIR Thermal Imaging Camera Information"));
0160     }
0161     else if (group == QLatin1String("File"))
0162     {
0163         setToolTip(0, i18n("File System Information"));
0164     }
0165     else if (group == QLatin1String("Flash"))
0166     {
0167         setToolTip(0, i18n("Macromedia/Adobe Flash Information"));
0168     }
0169     else if (group == QLatin1String("FlashPix"))
0170     {
0171         setToolTip(0, i18n("FlashPix Information"));
0172     }
0173     else if (group == QLatin1String("Font"))
0174     {
0175         setToolTip(0, i18n("Font Name Tags"));
0176     }
0177     else if (group == QLatin1String("FotoStation"))
0178     {
0179         setToolTip(0, i18n("FotoWare FotoStation Information"));
0180     }
0181     else if (group == QLatin1String("GIF"))
0182     {
0183         setToolTip(0, i18n("Compuserve Graphics Interchange Format"));
0184     }
0185     else if (group == QLatin1String("GIMP"))
0186     {
0187         setToolTip(0, i18n("GNU Image Manipulation Program"));
0188     }
0189     else if (group == QLatin1String("GeoTiff"))
0190     {
0191         setToolTip(0, i18n("Geolocated Tagged Image File Format"));
0192     }
0193     else if (group == QLatin1String("GoPro"))
0194     {
0195         setToolTip(0, i18n("GoPro Tags"));
0196     }
0197     else if (group == QLatin1String("H264"))
0198     {
0199         setToolTip(0, i18n("H.264 Video Streams Information"));
0200     }
0201     else if (group == QLatin1String("HTML"))
0202     {
0203         setToolTip(0, i18n("HyperText Markup Language"));
0204     }
0205     else if (group == QLatin1String("ICC Profile"))
0206     {
0207         setToolTip(0, i18n("International Color Consortium Color Profile"));
0208     }
0209     else if (group == QLatin1String("ID3"))
0210     {
0211         setToolTip(0, i18n("ID3 And Lyrics3 information"));
0212     }
0213     else if (group == QLatin1String("IPTC"))
0214     {
0215         setToolTip(0, i18n("International Press Telecommunications Council"));
0216     }
0217     else if (group == QLatin1String("ISO"))
0218     {
0219         setToolTip(0, i18n("ISO 9660 Disk Image"));
0220     }
0221     else if (group == QLatin1String("ITC"))
0222     {
0223         setToolTip(0, i18n("iTunes Cover Flow Artwork"));
0224     }
0225     else if (group == QLatin1String("JFIF"))
0226     {
0227         setToolTip(0, i18n("JPEG File Interchange Format"));
0228     }
0229     else if (group == QLatin1String("JPEG"))
0230     {
0231         setToolTip(0, i18n("Joint Photographic Experts Group"));
0232     }
0233     else if (group == QLatin1String("JSON"))
0234     {
0235         setToolTip(0, i18n("JavaScript Object Notation"));
0236     }
0237     else if (group == QLatin1String("Jpeg2000"))
0238     {
0239         setToolTip(0, i18n("Joint Photographic Experts Group 2000"));
0240     }
0241     else if (group == QLatin1String("LNK"))
0242     {
0243         setToolTip(0, i18n("Microsoft Shell Link"));
0244     }
0245     else if (group == QLatin1String("Leaf"))
0246     {
0247         setToolTip(0, i18n("Creo Leaf Capture Information"));
0248     }
0249     else if (group == QLatin1String("Lytro"))
0250     {
0251         setToolTip(0, i18n("Lytro Light Field Picture Info"));
0252     }
0253     else if (group == QLatin1String("M2TS"))
0254     {
0255         setToolTip(0, i18n("MPEG-2 Transport Stream"));
0256     }
0257     else if (group == QLatin1String("MIE"))
0258     {
0259         setToolTip(0, i18n("Meta Information Encapsulation"));
0260     }
0261     else if (group == QLatin1String("MIFF"))
0262     {
0263         setToolTip(0, i18n("Magick Image File Format"));
0264     }
0265     else if (group == QLatin1String("MNG"))
0266     {
0267         setToolTip(0, i18n("Multiple-image Network Graphics"));
0268     }
0269     else if (group == QLatin1String("MOI"))
0270     {
0271         setToolTip(0, i18n("JVC Canon and Panasonic Camcorders Information"));
0272     }
0273     else if (group == QLatin1String("MPC"))
0274     {
0275         setToolTip(0, i18n("Musepack Audio Information"));
0276     }
0277     else if (group == QLatin1String("MPEG"))
0278     {
0279         setToolTip(0, i18n("Motion Picture Experts Group"));
0280     }
0281     else if (group == QLatin1String("MPF"))
0282     {
0283         setToolTip(0, i18n("CIPA Multi-Picture Format Specification"));
0284     }
0285     else if (group == QLatin1String("MXF"))
0286     {
0287         setToolTip(0, i18n("Material Exchange Format"));
0288     }
0289     else if (group == QLatin1String("MakerNotes"))
0290     {
0291         setToolTip(0, i18n("Maker Notes Information"));
0292     }
0293     else if (group == QLatin1String("Matroska"))
0294     {
0295         setToolTip(0, i18n("Matroska Audio/Video/Subtitle Information"));
0296     }
0297     else if (group == QLatin1String("Meta"))
0298     {
0299         setToolTip(0, i18n("Meta Information"));
0300     }
0301     else if (group == QLatin1String("Ogg"))
0302     {
0303         setToolTip(0, i18n("Ogg Bitstream Container"));
0304     }
0305     else if (group == QLatin1String("OpenEXR"))
0306     {
0307         setToolTip(0, i18n("Open Extended Range"));
0308     }
0309     else if (group == QLatin1String("Opus"))
0310     {
0311         setToolTip(0, i18n("Ogg Opus Audio"));
0312     }
0313     else if (group == QLatin1String("PDF"))
0314     {
0315         setToolTip(0, i18n("Adobe Portable Document Format"));
0316     }
0317     else if (group == QLatin1String("PICT"))
0318     {
0319         setToolTip(0, i18n("Apple Picture Information"));
0320     }
0321     else if (group == QLatin1String("PLIST"))
0322     {
0323         setToolTip(0, i18n("Apple Property List"));
0324     }
0325     else if (group == QLatin1String("PNG"))
0326     {
0327         setToolTip(0, i18n("Portable Network Graphics"));
0328     }
0329     else if (group == QLatin1String("PSP"))
0330     {
0331         setToolTip(0, i18n("Paint Shop Pro Information"));
0332     }
0333     else if (group == QLatin1String("Palm"))
0334     {
0335         setToolTip(0, i18n("Palm database, Mobipocket electronic books, and Amazon Kindle Information"));
0336     }
0337     else if (group == QLatin1String("PanasonicRaw"))
0338     {
0339         setToolTip(0, i18n("Panasonic RAW 2 Information"));
0340     }
0341     else if (group == QLatin1String("Parrot"))
0342     {
0343         setToolTip(0, i18n("Streaming Parrot Drone Video Information"));
0344     }
0345     else if (group == QLatin1String("PhotoCD"))
0346     {
0347         setToolTip(0, i18n("Kodak Photo CD Image Pac"));
0348     }
0349     else if (group == QLatin1String("PhotoMechanic"))
0350     {
0351         setToolTip(0, i18n("Photo Mechanic Trailer Information"));
0352     }
0353     else if (group == QLatin1String("Photoshop"))
0354     {
0355         setToolTip(0, i18n("Adobe Photoshop Information"));
0356     }
0357     else if (group == QLatin1String("PostScript"))
0358     {
0359         setToolTip(0, i18n("PostScript Information"));
0360     }
0361     else if (group == QLatin1String("PrintIM"))
0362     {
0363         setToolTip(0, i18n("PrintIM Information"));
0364     }
0365     else if (group == QLatin1String("QuickTime"))
0366     {
0367         setToolTip(0, i18n("Apple QuickTime Movie Information"));
0368     }
0369     else if (group == QLatin1String("RAF"))
0370     {
0371         setToolTip(0, i18n("FujiFilm RAW Format Information"));
0372     }
0373     else if (group == QLatin1String("RIFF"))
0374     {
0375         setToolTip(0, i18n("Resource Interchange File Format Information"));
0376     }
0377     else if (group == QLatin1String("RSRC"))
0378     {
0379         setToolTip(0, i18n("Mac OS Resource"));
0380     }
0381     else if (group == QLatin1String("RTF"))
0382     {
0383         setToolTip(0, i18n("Rich Text Format"));
0384     }
0385     else if (group == QLatin1String("Radiance"))
0386     {
0387         setToolTip(0, i18n("RGBE High Dynamic-Range"));
0388     }
0389     else if (group == QLatin1String("Rawzor"))
0390     {
0391         setToolTip(0, i18n("Rawzor Image Information"));
0392     }
0393     else if (group == QLatin1String("Real"))
0394     {
0395         setToolTip(0, i18n("Real Media/Video Information"));
0396     }
0397     else if (group == QLatin1String("Red"))
0398     {
0399         setToolTip(0, i18n("Redcode RAW Video Information"));
0400     }
0401     else if (group == QLatin1String("SVG"))
0402     {
0403         setToolTip(0, i18n("Scalable Vector Graphics"));
0404     }
0405     else if (group == QLatin1String("SigmaRaw"))
0406     {
0407         setToolTip(0, i18n("Sigma/Foveon RAW Information"));
0408     }
0409     else if (group == QLatin1String("Sony"))
0410     {
0411         setToolTip(0, i18n("Sony Cameras Information"));
0412     }
0413     else if (group == QLatin1String("Stim"))
0414     {
0415         setToolTip(0, i18n("Stereo Still Image Information"));
0416     }
0417     else if (group == QLatin1String("Theora"))
0418     {
0419         setToolTip(0, i18n("Ogg Theora Video Specification"));
0420     }
0421     else if (group == QLatin1String("Torrent"))
0422     {
0423         setToolTip(0, i18n("BitTorrent Description Information"));
0424     }
0425     else if (group == QLatin1String("Trailer"))
0426     {
0427         setToolTip(0, i18n("Trailer Information"));
0428     }
0429     else if (group == QLatin1String("VCard"))
0430     {
0431         setToolTip(0, i18n("Virtual Card Information"));
0432     }
0433     else if (group == QLatin1String("Vorbis"))
0434     {
0435         setToolTip(0, i18n("Ogg Vorbis Specification"));
0436     }
0437     else if (group == QLatin1String("WTV"))
0438     {
0439         setToolTip(0, i18n("Windows Recorded TV Show Information"));
0440     }
0441     else if (group == QLatin1String("XML"))
0442     {
0443         setToolTip(0, i18n("Extensible Markup Language"));
0444     }
0445     else if (group == QLatin1String("XMP"))
0446     {
0447         setToolTip(0, i18n("Extensible Metadata Platform"));
0448     }
0449     else if (group == QLatin1String("ZIP"))
0450     {
0451         setToolTip(0, i18n("ZIP Archive Information"));
0452     }
0453 }
0454 
0455 ExifToolListViewGroup::~ExifToolListViewGroup()
0456 {
0457 }
0458 
0459 } // namespace Digikam