aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui/metadataformatter.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2010-01-27 22:25:47 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2010-01-27 22:25:47 +0000
commitabaab158ba5c7e46ecfee3846ae9d596df871212 (patch)
tree28a8a6eafecc4b6908fae4528ba45990d53460b9 /src/qmmpui/metadataformatter.cpp
parent57da9f81de51faa5daba43346c35424d854f3ced (diff)
downloadqmmp-abaab158ba5c7e46ecfee3846ae9d596df871212.tar.gz
qmmp-abaab158ba5c7e46ecfee3846ae9d596df871212.tar.bz2
qmmp-abaab158ba5c7e46ecfee3846ae9d596df871212.zip
added template editor, improved status icon plugin
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1530 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/qmmpui/metadataformatter.cpp')
-rw-r--r--src/qmmpui/metadataformatter.cpp26
1 files changed, 24 insertions, 2 deletions
diff --git a/src/qmmpui/metadataformatter.cpp b/src/qmmpui/metadataformatter.cpp
index dba32abd2..073c6ef88 100644
--- a/src/qmmpui/metadataformatter.cpp
+++ b/src/qmmpui/metadataformatter.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2009 by Ilya Kotov *
+ * Copyright (C) 2009-2010 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -33,6 +33,7 @@ Syntax:
%f - file name
%F - full path
%y - year
+%l - duration
%if(A,B,C)
%if(A&B&C,D,E)
*/
@@ -46,7 +47,12 @@ MetaDataFormatter::MetaDataFormatter(const QString &format)
m_format = format;
}
-QString MetaDataFormatter::parse(const QMap<Qmmp::MetaData, QString> metaData)
+QString MetaDataFormatter::parse(AbstractPlaylistItem *item)
+{
+ return parse(item->metaData(), item->length());
+}
+
+QString MetaDataFormatter::parse(const QMap<Qmmp::MetaData, QString> metaData, qint64 length)
{
QString title = m_format;
title.replace("\\(", "%28");
@@ -66,6 +72,22 @@ QString MetaDataFormatter::parse(const QMap<Qmmp::MetaData, QString> metaData)
title.replace("%f", metaData[Qmmp::URL].section('/',-1));
title.replace("%F", metaData[Qmmp::URL]);
title.replace("%y", metaData[Qmmp::YEAR]);
+ if(title.contains("l"))
+ {
+ if (length)
+ {
+ QString time;
+ int l = length;
+ if(l > 3600)
+ time == QString("%1:%2:%3").arg(l/3600,2,10,QChar('0'))
+ .arg(l%3600/60,2,10,QChar('0')).arg(l%60,2,10,QChar('0'));
+ else
+ time = QString("%1:%2").arg(l/60,2,10,QChar('0')).arg(l%60,2,10,QChar('0'));
+ title.replace("%l",time);
+ }
+ else
+ title.replace("%l","");
+ }
if(title.contains("%if"))
title = processIfKeyWord(title);