Go to the documentation of this file.
22 "Exif.Photo.ExposureTime",
23 "Exif.Photo.ShutterSpeedValue",
25 "Exif.Photo.ApertureValue",
26 "Exif.Photo.ExposureBiasValue",
28 "Exif.Photo.FocalLength",
29 "Exif.Photo.FocalLengthIn35mmFilm",
31 "Exif.Photo.MeteringMode",
32 "Exif.Photo.PixelXDimension",
33 "Exif.Photo.PixelYDimension",
35 "FFmpeg.format.format_long_name",
36 "FFmpeg.format.duration",
37 "FFmpeg.format.creation_time",
38 "FFmpeg.format.model",
41 "FFmpeg.stream0:.codec_long_name",
42 "FFmpeg.stream1:.codec_long_name",
43 "FFmpeg.stream0:.width",
44 "FFmpeg.stream1:.width",
45 "FFmpeg.stream0:.height",
46 "FFmpeg.stream1:.height",
47 "FFmpeg.stream0:.sample_rate",
48 "FFmpeg.stream1:.sample_rate",
49 "FFmpeg.stream0:.rotate",
50 "FFmpeg.stream1:.rotate" };
146 infoMap.insert(
"name", name);
147 infoMap.insert(
"value", value);
149 item->SetTextFromMap(infoMap);
167 report << tr(
"%Ln image(s)",
"", imageCount);
169 report << tr(
"%Ln video(s)",
"", videoCount);
171 report << tr(
"%Ln directory(ies)",
"", dirCount);
184 CreateButton(tr(
"Free space"), tr(
"%L1 (%L2\%) Used: %L3 / %L4")
186 .arg(100 * free / total)
240 tagPath = tr(
"Storage Group");
249 CreateButton(tr(
"Path"), QString(
"%1%2 %3").arg(host, tagPath, clone));
275 QList groups = tags.uniqueKeys();
276 for (
const QString & group : std::as_const(groups))
279 using TagList = QList<QStringList>;
280 TagList tagList = tags.values(group);
281 TagList::const_iterator i = tagList.constEnd();
286 while (i-- != tagList.constBegin())
292 while (i-- != tagList.constBegin())
QSharedPointer< ImageItemK > ImagePtrK
ImageManagerFe & m_mgr
Image Manager.
MythUIButtonList * m_btnList
Overlay buttonlist.
void Display(ImageItemK &im, const QStringList &tagStrings)
Build list of metadata tags.
QString toString(const QDateTime &raw_dt, uint format)
Returns formatted string representing the time.
bool CanTakeFocus(void) const
Return if this widget can accept input focus.
MythScreenType & m_screen
Parent screen.
int m_type
Type of node: dir, video etc.
void CreateButton(const QString &name, const QString &value)
Populate a buttonlist item with exif tag name & value.
int m_id
Uniquely identifies an image (file/dir).
int64_t getDiskSpace(const QString &file_on_disk, int64_t &total, int64_t &used)
InfoVisibleState m_infoVisible
Info list state.
void SetCanTakeFocus(bool set=true)
Set whether this widget can take focus.
void Update(const ImagePtrK &im)
Populates available exif details for the current image/dir.
Screen in which all other widgets are contained and rendered.
QTimer m_timer
Clears list if no new metadata arrives.
QHash< QString, QString > InfoMap
QString DeviceCaption(ImageItemK &im) const
Return translated device name.
@ kBasicInfo
Shows just the most useful exif tags.
MBASE_PUBLIC QDateTime fromSecsSinceEpoch(int64_t seconds)
This function takes the number of seconds since the start of the epoch and returns a QDateTime with t...
void Toggle(const ImagePtrK &im)
Toggle infolist state for an image. Focusable widgets toggle between Basic & Full info....
bool SetFocusWidget(MythUIType *widget=nullptr)
static QString FormatSize(int sizeKib)
@ kFullInfo
Shows all exif tags.
std::chrono::seconds m_modTime
Filesystem modified datestamp.
The info/details overlay that shows image metadata.
void CreateCount(ImageItemK &im)
Creates buttons detailing dir counts & size.
MythCoreContext * gCoreContext
This global variable contains the MythCoreContext instance for the app.
static bool Assign(ContainerType *container, UIType *&item, const QString &name, bool *err=nullptr)
static QSet< QString > kBasicInfoSet
The exif/video tags comprising the Basic file info.
void GetDescendantCount(int id, int &dirs, int &pics, int &videos, int &sizeKb) const
Return counts of dirs, pics and videos in the subtree of a dir. Also dir size.
bool Hide()
Remove infolist from display.
@ kAddYear
Add year to string if not included.
The image manager for use by Frontends.
@ kCloneDir
A device sub dir comprised from multiple SG dirs.
Represents a picture, video or directory.
virtual void SetVisible(bool visible)
static constexpr int PHOTO_DB_ID
QString GetHostName(void)
std::chrono::seconds m_date
Image creation date, from Exif metadata.
bool Create(bool focusable)
Initialise buttonlist from XML.
@ kDateTimeFull
Default local time.
static constexpr int GALLERY_DB_ID
void RequestMetaData(int id)
Requests all exif/ffmpeg tags for an image, which returns by event.
InfoList(MythScreenType &screen)
Constructor.
@ kNoInfo
Details not displayed.
QString m_filePath
Absolute for local images. Usually SG-relative for remotes.