Merge pull request #97 from Bombe/focus-host-input
[quassel.git] / src / uisupport / kcmdlinewrapper.cpp
index 1f1704e..a263e3c 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-08 by the Quassel IRC Team                         *
+ *   Copyright (C) 2005-2015 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
  *   You should have received a copy of the GNU General Public License     *
  *   along with this program; if not, write to the                         *
  *   Free Software Foundation, Inc.,                                       *
- *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.         *
  ***************************************************************************/
+
 #include "kcmdlinewrapper.h"
 
 #include <KCmdLineArgs>
 
-KCmdLineWrapper::KCmdLineWrapper() {
-
+KCmdLineWrapper::KCmdLineWrapper()
+{
 }
 
-void KCmdLineWrapper::addArgument(const QString &longName, const CliParserArg &arg) {
-  if(arg.shortName != 0) {
-    _cmdLineOptions.add(QByteArray().append(arg.shortName));
-  }
-  _cmdLineOptions.add(longName.toUtf8(), ki18n(arg.help.toUtf8()), arg.def.toUtf8());
+
+void KCmdLineWrapper::addArgument(const QString &longName_, const CliParserArg &arg)
+{
+    QString longName = longName_;
+    if (arg.type == CliParserArg::CliArgOption && !arg.valueName.isEmpty())
+        longName += " <" + arg.valueName + ">";
+
+    if (arg.shortName != 0) {
+        _cmdLineOptions.add(QByteArray(1, arg.shortName));
+    }
+
+    _cmdLineOptions.add(longName.toUtf8(), ki18n(arg.help.toUtf8()), arg.def.toUtf8());
 }
 
-bool KCmdLineWrapper::init(const QStringList &) {
-  KCmdLineArgs::addCmdLineOptions(_cmdLineOptions);
-  return true;
+
+bool KCmdLineWrapper::init(const QStringList &)
+{
+    KCmdLineArgs::addCmdLineOptions(_cmdLineOptions);
+    return true;
 }
 
-QString KCmdLineWrapper::value(const QString &longName) {
-  return KCmdLineArgs::parsedArgs()->getOption(longName.toUtf8());
+
+QString KCmdLineWrapper::value(const QString &longName)
+{
+    return KCmdLineArgs::parsedArgs()->getOption(longName.toUtf8());
 }
 
-bool KCmdLineWrapper::isSet(const QString &longName) {
-  // KCmdLineArgs handles --nooption like NOT --option
-  if(longName.startsWith("no"))
-    return !KCmdLineArgs::parsedArgs()->isSet(longName.mid(2).toUtf8());
-  return KCmdLineArgs::parsedArgs()->isSet(longName.toUtf8());
+
+bool KCmdLineWrapper::isSet(const QString &longName)
+{
+    // KCmdLineArgs handles --nooption like NOT --option
+    if (longName.startsWith("no"))
+        return !KCmdLineArgs::parsedArgs()->isSet(longName.mid(2).toUtf8());
+    return KCmdLineArgs::parsedArgs()->isSet(longName.toUtf8());
 }
 
-void KCmdLineWrapper::usage() {
-  KCmdLineArgs::usage();
+
+void KCmdLineWrapper::usage()
+{
+    KCmdLineArgs::usage();
 }