diff options
Diffstat (limited to 'libutil')
-rw-r--r-- | libutil/include/cmdutils.h | 17 | ||||
-rw-r--r-- | libutil/src/cmdutils.cpp | 16 |
2 files changed, 15 insertions, 18 deletions
diff --git a/libutil/include/cmdutils.h b/libutil/include/cmdutils.h index 32261dd7..83397e73 100644 --- a/libutil/include/cmdutils.h +++ b/libutil/include/cmdutils.h @@ -73,15 +73,6 @@ enum LIBUTIL_EXPORT Enum }; } -namespace OptionType -{ -enum LIBUTIL_EXPORT Enum -{ - Switch, - Option -}; -} - /** * @brief The ParsingError class */ @@ -210,6 +201,12 @@ public: private: FlagStyle::Enum m_flagStyle; ArgumentStyle::Enum m_argStyle; + + enum OptionType + { + otSwitch, + otOption + }; // Important: the common part MUST BE COMMON ON ALL THREE structs struct CommonDef { @@ -226,7 +223,7 @@ private: QString metavar; QVariant def; // option - OptionType::Enum type; + OptionType type; QChar flag; }; diff --git a/libutil/src/cmdutils.cpp b/libutil/src/cmdutils.cpp index 3bf4e872..13db503d 100644 --- a/libutil/src/cmdutils.cpp +++ b/libutil/src/cmdutils.cpp @@ -56,7 +56,7 @@ void Parser::addSwitch(QString name, bool def) throw "Name not unique"; OptionDef *param = new OptionDef; - param->type = OptionType::Switch; + param->type = otSwitch; param->name = name; param->metavar = QString("<%1>").arg(name); param->def = def; @@ -72,7 +72,7 @@ void Parser::addOption(QString name, QVariant def) throw "Name not unique"; OptionDef *param = new OptionDef; - param->type = OptionType::Option; + param->type = otOption; param->name = name; param->metavar = QString("<%1>").arg(name); param->def = def; @@ -161,7 +161,7 @@ QString Parser::compileHelp(QString progName, int helpIndent, bool useFlags) help << flagPrefix << option->flag << ", "; } help << optPrefix << option->name; - if (option->type == OptionType::Option) + if (option->type == otOption) { QString arg = QString("%1%2").arg(((m_argStyle == ArgumentStyle::Equals) ? "=" : " "), option->metavar); nameLength += arg.length(); @@ -193,7 +193,7 @@ QString Parser::compileUsage(QString progName, bool useFlags) usage << flagPrefix << option->flag; else usage << optPrefix << option->name; - if (option->type == OptionType::Option) + if (option->type == otOption) usage << ((m_argStyle == ArgumentStyle::Equals) ? "=" : " ") << option->metavar; usage << "]"; } @@ -265,9 +265,9 @@ QHash<QString, QVariant> Parser::parse(QStringList argv) throw ParsingError(QString("Option %2%1 was given multiple times").arg(name, optionPrefix)); OptionDef *option = m_options[name]; - if (option->type == OptionType::Switch) + if (option->type == otSwitch) map[name] = true; - else //if (option->type == OptionType::Option) + else //if (option->type == otOption) { if (m_argStyle == ArgumentStyle::Space) expecting.append(name); @@ -312,9 +312,9 @@ QHash<QString, QVariant> Parser::parse(QStringList argv) if (map.contains(option->name)) throw ParsingError(QString("Option %2%1 was given multiple times").arg(option->name, optionPrefix)); - if (option->type == OptionType::Switch) + if (option->type == otSwitch) map[option->name] = true; - else //if (option->type == OptionType::Option) + else //if (option->type == otOption) { if (m_argStyle == ArgumentStyle::Space) expecting.append(option->name); |