node: merge various metadata functions into one

This commit is contained in:
itsmattkc
2023-02-19 21:16:05 -08:00
parent b8ee27e1cb
commit 2c4347e9a6
12 changed files with 127 additions and 107 deletions
+6 -2
View File
@@ -37,9 +37,13 @@ Folder::Folder()
AddInput(kChildInput, NodeValue::kNone, InputFlags(kInputFlagArray | kInputFlagNotKeyframable));
}
QIcon Folder::icon() const
QVariant Folder::data(const DataType &d) const
{
return icon::Folder;
if (d == ICON) {
return icon::Folder;
}
return super::data(d);
}
void Folder::Retranslate()
+1 -1
View File
@@ -59,7 +59,7 @@ public:
return tr("Organize several items into a single collection.");
}
virtual QIcon icon() const override;
virtual QVariant data(const DataType &d) const override;
virtual void Retranslate() override;
+41 -36
View File
@@ -203,26 +203,6 @@ const QString &Footage::decoder() const
return decoder_;
}
QIcon Footage::icon() const
{
if (valid_ && GetTotalStreamCount()) {
// Prioritize video > audio > image
VideoParams s = GetFirstEnabledVideoStream();
if (s.is_valid() && s.video_type() != VideoParams::kVideoTypeStill) {
return icon::Video;
} else if (HasEnabledAudioStreams()) {
return icon::Audio;
} else if (s.is_valid() && s.video_type() == VideoParams::kVideoTypeStill) {
return icon::Image;
} else if (HasEnabledSubtitleStreams()) {
return icon::Subtitles;
}
}
return icon::Error;
}
QString Footage::DescribeVideoStream(const VideoParams &params)
{
if (params.video_type() == VideoParams::kVideoTypeStill) {
@@ -375,26 +355,51 @@ void Footage::LoadFinishedEvent()
}
}
qint64 Footage::creation_time() const
QVariant Footage::data(const DataType &d) const
{
QFileInfo info(filename());
switch (d) {
case CREATED_TIME:
{
QFileInfo info(filename());
if (info.exists()) {
return QtUtils::GetCreationDate(info).toSecsSinceEpoch();
if (info.exists()) {
return QtUtils::GetCreationDate(info).toSecsSinceEpoch();
}
break;
}
case MODIFIED_TIME:
{
QFileInfo info(filename());
if (info.exists()) {
return info.lastModified().toSecsSinceEpoch();
}
break;
}
case ICON:
{
if (valid_ && GetTotalStreamCount()) {
// Prioritize video > audio > image
VideoParams s = GetFirstEnabledVideoStream();
if (s.is_valid() && s.video_type() != VideoParams::kVideoTypeStill) {
return icon::Video;
} else if (HasEnabledAudioStreams()) {
return icon::Audio;
} else if (s.is_valid() && s.video_type() == VideoParams::kVideoTypeStill) {
return icon::Image;
} else if (HasEnabledSubtitleStreams()) {
return icon::Subtitles;
}
}
return icon::Error;
}
default:
break;
}
return 0;
}
qint64 Footage::mod_time() const
{
QFileInfo info(filename());
if (info.exists()) {
return info.lastModified().toSecsSinceEpoch();
}
return 0;
return super::data(d);
}
void Footage::UpdateTooltip()
+1 -4
View File
@@ -153,8 +153,6 @@ public:
*/
const QString& decoder() const;
virtual QIcon icon() const override;
virtual bool IsItem() const override
{
return true;
@@ -176,8 +174,7 @@ public:
virtual void LoadFinishedEvent() override;
virtual qint64 creation_time() const override;
virtual qint64 mod_time() const override;
virtual QVariant data(const DataType &d) const override;
virtual int GetTotalStreamCount() const override { return total_stream_count_; }
+6 -2
View File
@@ -71,9 +71,13 @@ void Sequence::add_default_nodes(MultiUndoCommand* command)
}
}
QIcon Sequence::icon() const
QVariant Sequence::data(const DataType &d) const
{
return icon::Sequence;
if (d == ICON) {
return icon::Sequence;
}
return super::data(d);
}
QVector<Track *> Sequence::GetUnlockedTracks() const
+1 -1
View File
@@ -59,7 +59,7 @@ public:
void add_default_nodes(MultiUndoCommand *command = nullptr);
virtual QIcon icon() const override;
virtual QVariant data(const DataType &d) const override;
const QVector<Track *> &GetTracks() const
{