From e995699ad88e6c6f1980d11c45a544c79993ccb5 Mon Sep 17 00:00:00 2001 From: Aaron Seigo Date: Wed, 23 Dec 2015 17:02:59 +0100 Subject: set/get syntax, currently just for debug level --- akonadi2_cli/syntax_modules/core_syntax.cpp | 35 +++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'akonadi2_cli/syntax_modules/core_syntax.cpp') diff --git a/akonadi2_cli/syntax_modules/core_syntax.cpp b/akonadi2_cli/syntax_modules/core_syntax.cpp index f71c1d6..f9cd622 100644 --- a/akonadi2_cli/syntax_modules/core_syntax.cpp +++ b/akonadi2_cli/syntax_modules/core_syntax.cpp @@ -19,6 +19,7 @@ #include "core_syntax.h" +#include #include // tr() #include #include @@ -31,6 +32,15 @@ SyntaxTree::SyntaxList syntax() SyntaxTree::SyntaxList syntax; syntax << SyntaxTree::Syntax("exit", QObject::tr("Exits the application. Ctrl-d also works!"), &CoreSyntax::exit); syntax << SyntaxTree::Syntax(QObject::tr("help"), QObject::tr("Print command information: help [command]"), &CoreSyntax::showHelp); + + SyntaxTree::Syntax set(QObject::tr("set"), QObject::tr("Sets settings for the session")); + set.children << SyntaxTree::Syntax(QObject::tr("debug"), QObject::tr("Set the debug level from 0 to 6"), &CoreSyntax::setDebugLevel); + syntax << set; + + SyntaxTree::Syntax get(QObject::tr("get"), QObject::tr("Gets settings for the session")); + get.children << SyntaxTree::Syntax(QObject::tr("debug"), QObject::tr("Set the debug level from 0 to 6"), &CoreSyntax::printDebugLevel); + syntax << get; + return syntax; } @@ -82,5 +92,30 @@ bool showHelp(const QStringList &commands, State &state) return true; } +bool setDebugLevel(const QStringList &commands, State &state) +{ + if (commands.count() != 1) { + state.printError(QObject::tr("Wrong number of arguments; expected 1 got %1").arg(commands.count())); + return false; + } + + bool ok = false; + int level = commands[0].toUInt(&ok); + + if (!ok) { + state.printError(QObject::tr("Expected a number between 0 and 6, got %1").arg(commands[0])); + return false; + } + + state.setDebugLevel(level); + return true; +} + +bool printDebugLevel(const QStringList &commands, State &state) +{ + state.printLine(QString::number(state.debugLevel())); + return true; +} + } // namespace CoreSyntax -- cgit v1.2.3