X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fcliparser.cpp;h=059ef35011bc7ab019b63fffc789c3db68f7c2be;hp=56fa22a6b1d46bde75c4dcc09f919b75a6e8cbd6;hb=2fde026f4e0509e164be0ccd50174cb6b1103d55;hpb=44a6109557eafd29cc6079dd6521ad3cf80c15b3 diff --git a/src/common/cliparser.cpp b/src/common/cliparser.cpp index 56fa22a6..059ef350 100644 --- a/src/common/cliparser.cpp +++ b/src/common/cliparser.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-08 by the Quassel IRC Team * + * Copyright (C) 2005-09 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -20,11 +20,19 @@ #include "cliparser.h" #include +#include #include #include -#include -void CliParser::addArgument(const QString &longName, const CliParserArg &arg) { +#include + +CliParser::CliParser() : AbstractCliParser() { + +} + +void CliParser::addArgument(const QString &longName_, const CliParserArg &arg) { + QString longName = longName_; + longName.remove(QRegExp("\\s*<.*>\\s*")); // KCmdLineArgs takes args of the form "arg " if(argsHash.contains(longName)) qWarning() << "Warning: Multiple definition of argument" << longName; if(arg.shortName != 0 && !lnameOfShortArg(arg.shortName).isNull()) qWarning().nospace() << "Warning: Redefining shortName '" << arg.shortName << "' for " << longName << " previously defined for " << lnameOfShortArg(arg.shortName); @@ -77,7 +85,7 @@ QString CliParser::escapedValue(const QString &value) { return escapedValue; } -bool CliParser::parse(const QStringList &args) { +bool CliParser::init(const QStringList &args) { argsRaw = args; QStringList::const_iterator currentArg; for (currentArg = argsRaw.constBegin(); currentArg != argsRaw.constEnd(); ++currentArg) { @@ -142,7 +150,7 @@ bool CliParser::parse(const QStringList &args) { } void CliParser::usage() { - qWarning() << "Usage:" << QFileInfo(argsRaw.at(0)).completeBaseName() << "[arguments]"; + std::cout << "Usage: " << qPrintable(QFileInfo(argsRaw.at(0)).completeBaseName()) << " [arguments]" << std::endl; // get size of longName field QStringList keys = argsHash.keys(); @@ -178,7 +186,7 @@ void CliParser::usage() { if(arg.value().type == CliParserArg::CliArgOption && !arg.value().def.isNull()) { output.append(". Default is: ").append(arg.value().def); } - qWarning() << output.toLatin1(); + std::cout << qPrintable(output) << std::endl; } }