aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui
diff options
context:
space:
mode:
Diffstat (limited to 'src/qmmpui')
-rw-r--r--src/qmmpui/commandlinehandler.cpp22
-rw-r--r--src/qmmpui/commandlinehandler.h13
-rw-r--r--src/qmmpui/commandlinemanager.cpp2
-rw-r--r--src/qmmpui/commandlinemanager.h2
4 files changed, 36 insertions, 3 deletions
diff --git a/src/qmmpui/commandlinehandler.cpp b/src/qmmpui/commandlinehandler.cpp
index 7bf98f069..e8a5e81da 100644
--- a/src/qmmpui/commandlinehandler.cpp
+++ b/src/qmmpui/commandlinehandler.cpp
@@ -25,7 +25,9 @@ QStringList CommandLineHandler::helpString() const
QStringList out;
foreach (const CommandLineOption &opt, m_options.values())
{
- if(opt.values.isEmpty())
+ if(opt.flags & HIDDEN_FROM_HELP)
+ continue;
+ else if(opt.values.isEmpty())
out << opt.names.join(", ") + "||" + opt.helpString;
else
out << opt.names.join(", ") + " <" + opt.values.join("> <") + ">||" + opt.helpString;
@@ -33,6 +35,14 @@ QStringList CommandLineHandler::helpString() const
return out;
}
+QString CommandLineHandler::helpString(int id) const
+{
+ if(m_options[id].values.isEmpty())
+ return m_options[id].names.join(", ") + "||" + m_options[id].helpString;
+ else
+ return m_options[id].names.join(", ") + " <" + m_options[id].values.join("> <") + ">||" + m_options[id].helpString;
+}
+
int CommandLineHandler::identify(const QString &name) const
{
foreach (const CommandLineOption &opt, m_options.values())
@@ -43,6 +53,11 @@ int CommandLineHandler::identify(const QString &name) const
return -1;
}
+CommandLineHandler::OptionFlags CommandLineHandler::flags(int id) const
+{
+ return m_options.value(id).flags;
+}
+
void CommandLineHandler::registerOption(int id, const QString &name, const QString &helpString, const QStringList &values)
{
registerOption(id, QStringList() << name, helpString, values);
@@ -56,3 +71,8 @@ void CommandLineHandler::registerOption(int id, const QStringList &names, const
opt.helpString = helpString;
m_options.insert(id, opt);
}
+
+void CommandLineHandler::setOptionFlags(int id, OptionFlags flags)
+{
+ m_options[id].flags = flags;
+}
diff --git a/src/qmmpui/commandlinehandler.h b/src/qmmpui/commandlinehandler.h
index 78e2262ed..bc998fe0d 100644
--- a/src/qmmpui/commandlinehandler.h
+++ b/src/qmmpui/commandlinehandler.h
@@ -24,6 +24,7 @@
#include <QMap>
#include <QStringList>
#include <QtPlugin>
+#include <QFlags>
#include "qmmpui_export.h"
@@ -64,11 +65,22 @@ public:
virtual QString executeCommand(int id, const QStringList &args) = 0;
QStringList helpString() const;
+ QString helpString(int id) const;
int identify(const QString &name) const;
+ enum OptionFlag
+ {
+ HIDDEN_FROM_HELP = 0x1,
+ NO_START = 0x2
+ };
+ Q_DECLARE_FLAGS(OptionFlags, OptionFlag)
+
+ CommandLineHandler::OptionFlags flags(int id) const;
+
protected:
void registerOption(int id, const QString &name, const QString &helpString, const QStringList &values = QStringList());
void registerOption(int id, const QStringList &names, const QString &helpString, const QStringList &values = QStringList());
+ void setOptionFlags(int id, OptionFlags flags);
private:
struct CommandLineOption
@@ -76,6 +88,7 @@ private:
QStringList names;
QStringList values;
QString helpString;
+ OptionFlags flags;
inline bool operator == (const CommandLineOption &opt) const
{
diff --git a/src/qmmpui/commandlinemanager.cpp b/src/qmmpui/commandlinemanager.cpp
index 1c56e7db4..d1f28b1ba 100644
--- a/src/qmmpui/commandlinemanager.cpp
+++ b/src/qmmpui/commandlinemanager.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2008-2017 by Ilya Kotov *
+ * Copyright (C) 2008-2019 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
diff --git a/src/qmmpui/commandlinemanager.h b/src/qmmpui/commandlinemanager.h
index a57114ff2..78cba92c6 100644
--- a/src/qmmpui/commandlinemanager.h
+++ b/src/qmmpui/commandlinemanager.h
@@ -38,7 +38,7 @@ public:
* @param args Command arguments.
* @return Command output result.
*/
- static QString executeCommand(const QString& name, const QStringList &args = QStringList());
+ static QString executeCommand(const QString &name, const QStringList &args = QStringList());
/*!
* Return \b true if command \b opt_str is supported, otherwise returns \b false.
*/