aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/CommandLineOptions/StatusOption
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2018-12-25 20:50:08 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2018-12-25 20:50:08 +0000
commitc28061c4cf64e468dd3e230df1b96d1a72e295fd (patch)
tree85cdef77d8851ab89e8a57ba1d5f823531a15831 /src/plugins/CommandLineOptions/StatusOption
parent164e24517d01eb95f74563cc66a691adf07ed514 (diff)
downloadqmmp-c28061c4cf64e468dd3e230df1b96d1a72e295fd.tar.gz
qmmp-c28061c4cf64e468dd3e230df1b96d1a72e295fd.tar.bz2
qmmp-c28061c4cf64e468dd3e230df1b96d1a72e295fd.zip
fixed command line plugins
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@8532 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/CommandLineOptions/StatusOption')
-rw-r--r--src/plugins/CommandLineOptions/StatusOption/statusoption.cpp49
-rw-r--r--src/plugins/CommandLineOptions/StatusOption/statusoption.h25
2 files changed, 43 insertions, 31 deletions
diff --git a/src/plugins/CommandLineOptions/StatusOption/statusoption.cpp b/src/plugins/CommandLineOptions/StatusOption/statusoption.cpp
index 9bc6d72ec..8c729c5d3 100644
--- a/src/plugins/CommandLineOptions/StatusOption/statusoption.cpp
+++ b/src/plugins/CommandLineOptions/StatusOption/statusoption.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2010-2017 by Ilya Kotov *
+ * Copyright (C) 2010-2019 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -25,29 +25,32 @@
#include <qmmpui/metadataformatter.h>
#include "statusoption.h"
-CommandLineProperties StatusOption::properties() const
+
+StatusOption::StatusOption()
{
- CommandLineProperties properties;
- properties.shortName = "StatusOption";
- properties.helpString << QString("--status") + "||" + tr("Print playback status")
- << QString("--nowplaying <fmt>") + "||"
- + tr("Print formatted track name (example: qmmp --nowplaying \"%t - %a\")")
- << QString("--nowplaying-syntax") + "||" + tr("Print --nowplaying syntax");
- return properties;
+ registerOption(STATUS, "--status", tr("Print playback status"));
+ registerOption(NOW_PLAYING, "--nowplaying", tr("Print formatted track name (example: qmmp --nowplaying \"%t - %a\")"),
+ QStringList() << "fmt");
+ registerOption(NOW_PLAYING_SYNTAX, "--nowplaying-syntax", tr("Print --nowplaying syntax"));
}
-bool StatusOption::identify(const QString &str) const
+QString StatusOption::shortName() const
{
- QStringList opts;
- opts << "--status" << "--nowplaying" << "--nowplaying-syntax";
- return opts.contains(str);
+ return QLatin1String("StatusOption");
}
-QString StatusOption::executeCommand(const QString &opt_str, const QStringList &args)
+QString StatusOption::translation() const
+{
+ return QLatin1String(":/status_plugin_");
+}
+
+QString StatusOption::executeCommand(int id, const QStringList &args)
{
SoundCore *core = SoundCore::instance();
QString out;
- if(opt_str == "--status")
+ switch (id)
+ {
+ case STATUS:
{
QMap<int, QString> state_names;
state_names.insert(Qmmp::Playing, "[playing]");
@@ -76,14 +79,16 @@ QString StatusOption::executeCommand(const QString &opt_str, const QStringList &
}
out += "\n";
}
- else if(opt_str == "--nowplaying")
+ break;
+ case NOW_PLAYING:
{
QString t = args.join(" ");
MetaDataFormatter formatter(t);
out = formatter.format(core->trackInfo());
out += "\n";
}
- else if(opt_str == "--nowplaying-syntax")
+ break;
+ case NOW_PLAYING_SYNTAX:
{
out += tr("Syntax:") + "\n";
out += tr("%p - artist") + "\n";
@@ -110,12 +115,12 @@ QString StatusOption::executeCommand(const QString &opt_str, const QStringList &
out += tr("%if(A&B&C,D,E) - condition") + "\n";
out += tr("%dir(n) - directory name located on n levels above");
}
- return out;
-}
+ break;
+ default:
+ ;
+ }
-QString StatusOption::translation() const
-{
- return QLatin1String(":/status_plugin_");
+ return out;
}
QString StatusOption::genProgressBar()
diff --git a/src/plugins/CommandLineOptions/StatusOption/statusoption.h b/src/plugins/CommandLineOptions/StatusOption/statusoption.h
index 0dd83c919..85171de3e 100644
--- a/src/plugins/CommandLineOptions/StatusOption/statusoption.h
+++ b/src/plugins/CommandLineOptions/StatusOption/statusoption.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2011-2017 by Ilya Kotov *
+ * Copyright (C) 2011-2019 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -24,24 +24,31 @@
#include <QString>
#include <QObject>
#include <QStringList>
-#include <qmmpui/commandlineoption.h>
+#include <qmmpui/commandlinehandler.h>
#include <qmmpui/commandlinemanager.h>
/**
@author Ilya Kotov <forkotov02@ya.ru>
*/
-class StatusOption : public QObject, public CommandLineOption
+class StatusOption : public QObject, public CommandLineHandler
{
Q_OBJECT
-Q_PLUGIN_METADATA(IID "org.qmmp.qmmpui.CommandLineOptionInterface.1.0")
-Q_INTERFACES(CommandLineOption)
+Q_PLUGIN_METADATA(IID "org.qmmp.qmmpui.CommandLineHandlerInterface.1.0")
+Q_INTERFACES(CommandLineHandler)
public:
- virtual CommandLineProperties properties() const;
- virtual bool identify(const QString& opt_str) const;
- virtual QString executeCommand(const QString& opt_str, const QStringList &args);
- virtual QString translation() const;
+ StatusOption();
+ QString shortName() const;
+ QString translation() const;
+ QString executeCommand(int id, const QStringList &args);
private:
+ enum Commamnd
+ {
+ STATUS = 0,
+ NOW_PLAYING,
+ NOW_PLAYING_SYNTAX
+ };
+
QString genProgressBar();
};