diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2018-05-02 10:47:41 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2018-05-02 10:47:41 +0000 |
| commit | ee5abc61159a81f52f0f3d1fcd2f1fbc13f3b4a2 (patch) | |
| tree | 41a421a7fc1d042a348ec212fb967a124f0b9bd2 | |
| parent | 9bdd208bbb16ec15d52653a9913789b44b3b28b3 (diff) | |
| download | qmmp-ee5abc61159a81f52f0f3d1fcd2f1fbc13f3b4a2.tar.gz qmmp-ee5abc61159a81f52f0f3d1fcd2f1fbc13f3b4a2.tar.bz2 qmmp-ee5abc61159a81f52f0f3d1fcd2f1fbc13f3b4a2.zip | |
refactoring
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@7944 90c681e8-e032-0410-971d-27865f9a5e38
| -rw-r--r-- | src/plugins/CommandLineOptions/StatusOption/statusoption.cpp | 4 | ||||
| -rw-r--r-- | src/plugins/Effect/filewriter/filewriterplugin.cpp | 2 | ||||
| -rw-r--r-- | src/plugins/General/statusicon/statusicon.cpp | 4 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/textscroller.cpp | 2 | ||||
| -rw-r--r-- | src/qmmpui/metadataformatter.cpp | 60 | ||||
| -rw-r--r-- | src/qmmpui/metadataformatter.h | 15 |
6 files changed, 36 insertions, 51 deletions
diff --git a/src/plugins/CommandLineOptions/StatusOption/statusoption.cpp b/src/plugins/CommandLineOptions/StatusOption/statusoption.cpp index 79d2b64bd..96a26b9aa 100644 --- a/src/plugins/CommandLineOptions/StatusOption/statusoption.cpp +++ b/src/plugins/CommandLineOptions/StatusOption/statusoption.cpp @@ -71,7 +71,7 @@ QString StatusOption::executeCommand(const QString &opt_str, const QStringList & out += "TRACK = %n\n"; out += "FILE = %f"; MetaDataFormatter formatter(out); - out = formatter.format(&core->trackInfo()); + out = formatter.format(core->trackInfo()); } out += "\n"; } @@ -79,7 +79,7 @@ QString StatusOption::executeCommand(const QString &opt_str, const QStringList & { QString t = args.join(" "); MetaDataFormatter formatter(t); - out = formatter.format(&core->trackInfo()); + out = formatter.format(core->trackInfo()); out += "\n"; } else if(opt_str == "--nowplaying-syntax") diff --git a/src/plugins/Effect/filewriter/filewriterplugin.cpp b/src/plugins/Effect/filewriter/filewriterplugin.cpp index ecc0d1ba7..e60047ac1 100644 --- a/src/plugins/Effect/filewriter/filewriterplugin.cpp +++ b/src/plugins/Effect/filewriter/filewriterplugin.cpp @@ -123,7 +123,7 @@ void FileWriterPlugin::init(const TrackInfo &info) fileName = info.path().section("/", 1); MetaDataFormatter formatter(fileName); - fileName = formatter.format(&info); + fileName = formatter.format(info); if(!fileName.endsWith(".ogg", Qt::CaseInsensitive)) fileName.append(".ogg"); diff --git a/src/plugins/General/statusicon/statusicon.cpp b/src/plugins/General/statusicon/statusicon.cpp index a4b96b7d3..69ed86387 100644 --- a/src/plugins/General/statusicon/statusicon.cpp +++ b/src/plugins/General/statusicon/statusicon.cpp @@ -136,7 +136,7 @@ void StatusIcon::showMetaData() } } - QString message = m_messageFormatter.format(&info); + QString message = m_messageFormatter.format(info); if (message.isEmpty()) message = info.path().section('/',-1); @@ -146,7 +146,7 @@ void StatusIcon::showMetaData() if(m_showToolTip) { - message = m_toolTipFormatter.format(&info); + message = m_toolTipFormatter.format(info); if(message.isEmpty()) message = info.path().section('/',-1); m_tray->setToolTip(message); diff --git a/src/plugins/Ui/skinned/textscroller.cpp b/src/plugins/Ui/skinned/textscroller.cpp index 5a22049b5..e6b8cfa7d 100644 --- a/src/plugins/Ui/skinned/textscroller.cpp +++ b/src/plugins/Ui/skinned/textscroller.cpp @@ -253,7 +253,7 @@ void TextScroller::processMetaData() { if(m_core->state() == Qmmp::Playing) { - m_titleText = m_formater.format(&m_core->trackInfo()); + m_titleText = m_formater.format(m_core->trackInfo()); updateText(); } } diff --git a/src/qmmpui/metadataformatter.cpp b/src/qmmpui/metadataformatter.cpp index 2b1174cfd..b508f1cad 100644 --- a/src/qmmpui/metadataformatter.cpp +++ b/src/qmmpui/metadataformatter.cpp @@ -98,17 +98,12 @@ const QString MetaDataFormatter::pattern() const QString MetaDataFormatter::format(const PlayListTrack *item) const { - return format(item->metaData(), item->path(), item->duration(), item->trackIndex()); + return evalute(&m_nodes, item, item->trackIndex()); } -QString MetaDataFormatter::format(const QMap<Qmmp::MetaData, QString> &metaData, const QString &path, qint64 duration, int track) const +QString MetaDataFormatter::format(const TrackInfo &info, int trackIndex) const { - return evalute(&m_nodes, &metaData, &path, duration, track).trimmed(); -} - -QString MetaDataFormatter::format(const TrackInfo *info, int track) const -{ - return format(info->metaData(), info->path(), info->duration(), track); + return evalute(&m_nodes, &info, trackIndex); } QString MetaDataFormatter::formatDuration(qint64 duration, bool hideZero, bool showMs) @@ -398,8 +393,7 @@ void MetaDataFormatter::parseEscape(QList<MetaDataFormatter::Node> *nodes, QStri nodes->append(node); } -QString MetaDataFormatter::evalute(const QList<Node> *nodes, const QMap<Qmmp::MetaData, QString> *metaData, - const QString *path, qint64 length, int track) const +QString MetaDataFormatter::evalute(const QList<Node> *nodes, const TrackInfo *info, int trackIndex) const { QString out; for(int i = 0; i < nodes->count(); ++i) @@ -408,57 +402,56 @@ QString MetaDataFormatter::evalute(const QList<Node> *nodes, const QMap<Qmmp::Me if(node.command == Node::PRINT_TEXT) { Param p = node.params.first(); - out.append(printParam(&p, metaData, path, length, track)); + out.append(printParam(&p, info, trackIndex)); } else if(node.command == Node::IF_KEYWORD) { - QString var1 = printParam(&node.params[0], metaData, path, length, track); + QString var1 = printParam(&node.params[0], info, trackIndex); if(var1.isEmpty() || var1 == "0") - out.append(printParam(&node.params[2], metaData, path, length, track)); + out.append(printParam(&node.params[2], info, trackIndex)); else - out.append(printParam(&node.params[1], metaData, path, length, track)); + out.append(printParam(&node.params[1], info, trackIndex)); } else if(node.command == Node::AND_OPERATOR) { - QString var1 = printParam(&node.params[0], metaData, path, length, track); - QString var2 = printParam(&node.params[1], metaData, path, length, track); + QString var1 = printParam(&node.params[0], info, trackIndex); + QString var2 = printParam(&node.params[1], info, trackIndex); if(!var1.isEmpty() && !var2.isEmpty()) out.append("1"); } else if(node.command == Node::OR_OPERATOR) { - QString var1 = printParam(&node.params[0], metaData, path, length, track); + QString var1 = printParam(&node.params[0], info, trackIndex); if(!var1.isEmpty()) out.append("1"); else { - QString var2 = printParam(&node.params[1], metaData, path, length, track); + QString var2 = printParam(&node.params[1], info, trackIndex); if(!var2.isEmpty()) out.append("1"); } } else if(node.command == Node::DIR_FUNCTION) { - out.append(path->section('/', -node.params[0].number - 2, -node.params[0].number - 2)); + out.append(info->path().section('/', -node.params[0].number - 2, -node.params[0].number - 2)); } } return out; } -QString MetaDataFormatter::printParam(MetaDataFormatter::Param *p, const QMap<Qmmp::MetaData, QString> *metaData, - const QString *path, qint64 length, int track) const +QString MetaDataFormatter::printParam(MetaDataFormatter::Param *p, const TrackInfo *info, int trackIndex) const { switch (p->type) { case Param::FIELD: - return printField(p->field, metaData, path, length, track); + return printField(p->field, info, trackIndex); break; case Param::TEXT: return p->text; break; case Param::NODES: - return evalute(&p->children, metaData, path, length, track); + return evalute(&p->children, info, trackIndex); break; default: break; @@ -466,46 +459,45 @@ QString MetaDataFormatter::printParam(MetaDataFormatter::Param *p, const QMap<Qm return QString(); } -QString MetaDataFormatter::printField(int field, const QMap<Qmmp::MetaData, QString> *metaData, - const QString *path, qint64 length, int track) const +QString MetaDataFormatter::printField(int field, const TrackInfo *info, int trackIndex) const { if(field >= Qmmp::TITLE && field <= Qmmp::DISCNUMBER) { if(field == Qmmp::TITLE) { - QString title = metaData->value(Qmmp::TITLE); + QString title = info->value(Qmmp::TITLE); if(title.isEmpty()) //using file name if title is empty { - title = path->section('/',-1); + title = info->path().section('/',-1); title = title.left(title.lastIndexOf('.')); } if(title.isEmpty()) //using full path if file name is empty - title = *path; + title = info->path(); return title; } - return metaData->value((Qmmp::MetaData) field); + return info->value((Qmmp::MetaData) field); } else if(field == Param::PATH) { - return *path; + return info->path(); } else if(field == Param::TWO_DIGIT_TRACK) { - return QString("%1").arg(metaData->value(Qmmp::TRACK),2,'0'); + return QString("%1").arg(info->value(Qmmp::TRACK),2,'0'); } else if(field == Param::DURATION) { - return formatDuration(length); + return formatDuration(info->duration()); } else if(field == Param::FILE_NAME) { - return path->section('/',-1); + return info->path().section('/',-1); } else if(field == Param::TRACK_INDEX) { - return QString::number(track + 1); + return QString::number(trackIndex + 1); } return QString(); } diff --git a/src/qmmpui/metadataformatter.h b/src/qmmpui/metadataformatter.h index 49e317be0..086989e72 100644 --- a/src/qmmpui/metadataformatter.h +++ b/src/qmmpui/metadataformatter.h @@ -71,18 +71,11 @@ public: */ QString format(const PlayListTrack *item) const; /*! - * Converts metadata to one string using template. - * @param metaData Metadata array. - * @param duration Duration in milliseconds seconds. - * @param track Index of track. - */ - QString format(const QMap<Qmmp::MetaData, QString> &metaData, const QString &path, qint64 duration = 0, int track = 0) const; - /*! * Converts metadata of \b TrackInfo pointer \b info to one string using template. * \param info pointer to \b TrackInfo object. * \param track Index of track. */ - QString format(const TrackInfo *info, int track = 0) const; + QString format(const TrackInfo &info, int trackIndex = 0) const; /*! * Returns formatted duration (example: 05:02:03). * \param duration Duration in milliseconds. @@ -140,9 +133,9 @@ private: void parseText(QList<Node> *nodes, QString::const_iterator *i, QString::const_iterator end); void parseEscape(QList<Node> *nodes, QString::const_iterator *i, QString::const_iterator end); - QString evalute(const QList<Node> *nodes, const QMap<Qmmp::MetaData, QString> *metaData, const QString *path, qint64 length, int track) const; - QString printParam(Param *p, const QMap<Qmmp::MetaData, QString> *metaData, const QString *path, qint64 length, int track) const; - QString printField(int field, const QMap<Qmmp::MetaData, QString> *metaData, const QString *path, qint64 length, int track) const; + QString evalute(const QList<Node> *nodes, const TrackInfo *info, int trackIndex) const; + QString printParam(Param *p, const TrackInfo *info, int trackIndex) const; + QString printField(int field, const TrackInfo *info, int trackIndex) const; QString dumpNode(Node node) const; |
