node: merge various metadata functions into one
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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 ¶ms)
|
||||
{
|
||||
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()
|
||||
|
||||
@@ -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_; }
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user