diff options
| author | 2016-01-10 17:55:32 +0100 | |
|---|---|---|
| committer | 2016-01-10 17:55:32 +0100 | |
| commit | 7df15a3d41d87bbed9155a5cff2fda70acbf2f0e (patch) | |
| tree | 12acda80f00901f06ec72e77a2ac3aab9e03f9b2 | |
| parent | 20812f196cfba490952d2e148b4e321c10cbad7e (diff) | |
| parent | db15e41502743d1124062eddb8d2bb3617e2593c (diff) | |
| download | OneRoll-7df15a3d41d87bbed9155a5cff2fda70acbf2f0e.tar.gz OneRoll-7df15a3d41d87bbed9155a5cff2fda70acbf2f0e.zip | |
merge MergeOp into master
| -rw-r--r-- | booleancondition.cpp | 14 | ||||
| -rw-r--r-- | compositevalidator.cpp | 1 | ||||
| -rw-r--r-- | dicealias.cpp | 25 | ||||
| -rw-r--r-- | dicealias.h | 20 | ||||
| -rw-r--r-- | diceparser.cpp | 66 | ||||
| -rw-r--r-- | diceparser.h | 2 | ||||
| -rw-r--r-- | die.cpp | 6 | ||||
| -rw-r--r-- | die.h | 6 | ||||
| -rw-r--r-- | node/scalaroperatornode.cpp | 4 | ||||
| -rw-r--r-- | node/scalaroperatornode.h | 6 | ||||
| -rw-r--r-- | parsingtoolbox.cpp | 43 | ||||
| -rw-r--r-- | range.cpp | 6 | ||||
| -rw-r--r-- | range.h | 2 | ||||
| -rw-r--r-- | result/diceresult.cpp | 23 | ||||
| -rw-r--r-- | result/result.cpp | 2 | ||||
| -rw-r--r-- | result/result.h | 2 |
16 files changed, 112 insertions, 116 deletions
diff --git a/booleancondition.cpp b/booleancondition.cpp index c09166e..40a3804 100644 --- a/booleancondition.cpp +++ b/booleancondition.cpp @@ -83,26 +83,26 @@ void BooleanCondition::setValue(qint64 v) } QString BooleanCondition::toString() { - QString str=""; + QString str(QStringLiteral("")); switch (m_operator) { case Equal: - str.append("="); + str.append(QStringLiteral("=")); break; case GreaterThan: - str.append(">"); + str.append(QStringLiteral(">")); break; case LesserThan: - str.append("<"); + str.append(QStringLiteral("<")); break; case GreaterOrEqual: - str.append(">="); + str.append(QStringLiteral(">=")); break; case LesserOrEqual: - str.append("<="); + str.append(QStringLiteral("<=")); break; } - return QString("[%1%2]").arg(str).arg(m_value); + return QStringLiteral("[%1%2]").arg(str).arg(m_value); } quint64 BooleanCondition::getValidRangeSize(quint64 faces) const { diff --git a/compositevalidator.cpp b/compositevalidator.cpp index cc52fdd..167c73b 100644 --- a/compositevalidator.cpp +++ b/compositevalidator.cpp @@ -23,6 +23,7 @@ CompositeValidator::CompositeValidator() + : m_operators(NULL),m_validatorList(NULL) { } qint64 CompositeValidator::hasValid(Die* b,bool recursive,bool unhighlight) const diff --git a/dicealias.cpp b/dicealias.cpp index f9c366c..59e8d69 100644 --- a/dicealias.cpp +++ b/dicealias.cpp @@ -22,8 +22,10 @@ #include "dicealias.h" #include <QRegularExpression> -DiceAlias::DiceAlias(QString cmd, QString key, bool isReplace) - : m_command(cmd),m_value(key) +#include <QDebug> + +DiceAlias::DiceAlias(QString cmd, QString key, bool isReplace,bool isEnable) + : m_command(cmd),m_value(key),m_isEnable(isEnable) { if(isReplace) { @@ -42,6 +44,9 @@ DiceAlias::~DiceAlias() bool DiceAlias::resolved(QString & str) { + if(!m_isEnable) + return false; + if((m_type == REPLACE)&&(str.contains(m_command))) { str.replace(m_command,m_value); @@ -70,17 +75,17 @@ void DiceAlias::setType(RESOLUTION_TYPE type) { m_type = type; } -QString DiceAlias::getCommand() +QString DiceAlias::getCommand() const { return m_command; } -QString DiceAlias::getValue() +QString DiceAlias::getValue() const { return m_value; } -bool DiceAlias::isReplace() +bool DiceAlias::isReplace() const { return (m_type == REPLACE) ? true : false; } @@ -97,3 +102,13 @@ void DiceAlias::setReplace(bool b) m_type = REGEXP; } } + +bool DiceAlias::isEnable() const +{ + return m_isEnable; +} + +void DiceAlias::setEnable(bool b) +{ + m_isEnable = b; +} diff --git a/dicealias.h b/dicealias.h index 5acca46..189b0f9 100644 --- a/dicealias.h +++ b/dicealias.h @@ -37,7 +37,7 @@ public: * @param key * @param isReplace */ - DiceAlias(QString cmd, QString key, bool isReplace = true); + DiceAlias(QString cmd, QString key, bool isReplace = true, bool isEnable = true); /** * @brief ~DiceAlias */ @@ -67,25 +67,37 @@ public: * @brief getCommand * @return */ - QString getCommand(); + QString getCommand() const; /** * @brief getValue * @return */ - QString getValue(); + QString getValue() const; /** * @brief isReplace * @return */ - bool isReplace(); + bool isReplace() const; /** * @brief setReplace */ void setReplace(bool); + + /** + * @brief isEnable + * @return + */ + bool isEnable() const; + /** + * @brief setEnable + * @param b + */ + void setEnable(bool b); private: QString m_command; QString m_value; RESOLUTION_TYPE m_type; + bool m_isEnable; }; diff --git a/diceparser.cpp b/diceparser.cpp index 9bb4309..7fcf267 100644 --- a/diceparser.cpp +++ b/diceparser.cpp @@ -49,18 +49,17 @@ DiceParser::DiceParser() m_parsingToolbox = new ParsingToolBox(); m_mapDiceOp = new QMap<QString,DiceOperator>(); - m_mapDiceOp->insert("D",D); - m_mapDiceOp->insert("L",L); + m_mapDiceOp->insert(QStringLiteral("D"),D); + m_mapDiceOp->insert(QStringLiteral("L"),L); m_OptionOp = new QMap<QString,OptionOperator>(); - m_OptionOp->insert(QObject::tr("k"),Keep); - m_OptionOp->insert(QObject::tr("K"),KeepAndExplose); - m_OptionOp->insert(QObject::tr("s"),Sort); - m_OptionOp->insert(QObject::tr("c"),Count); - m_OptionOp->insert(QObject::tr("r"),Reroll); - m_OptionOp->insert(QObject::tr("e"),Explosing); - m_OptionOp->insert(QObject::tr("a"),RerollAndAdd); - m_OptionOp->insert(QObject::tr("m"),Merge); + m_OptionOp->insert(QStringLiteral("k"),Keep); + m_OptionOp->insert(QStringLiteral("K"),KeepAndExplose); + m_OptionOp->insert(QStringLiteral("s"),Sort); + m_OptionOp->insert(QStringLiteral("c"),Count); + m_OptionOp->insert(QStringLiteral("r"),Reroll); + m_OptionOp->insert(QStringLiteral("e"),Explosing); + m_OptionOp->insert(QStringLiteral("a"),RerollAndAdd); //m_OptionOp->insert(QObject::tr("@"),JumpBackward); @@ -71,11 +70,11 @@ DiceParser::DiceParser() m_aliasList->append(new DiceAlias("(.*)wod(.*)","\\1d10e[=10]c[>=\\2]-@c[=1]",false));*/ m_nodeActionMap = new QMap<QString,NodeAction>(); - m_nodeActionMap->insert("@",JumpBackward); + m_nodeActionMap->insert(QStringLiteral("@"),JumpBackward); m_commandList = new QStringList(); - m_commandList->append("help"); - m_commandList->append("la"); + m_commandList->append(QStringLiteral("help")); + m_commandList->append(QStringLiteral("la")); } DiceParser::~DiceParser() @@ -116,7 +115,6 @@ DiceParser::~DiceParser() m_start = NULL; } } - ExecutionNode* DiceParser::getLatestNode(ExecutionNode* node) { ExecutionNode* next = node; @@ -130,7 +128,10 @@ QString DiceParser::convertAlias(QString str) { foreach(DiceAlias* cmd, *m_aliasList) { - cmd->resolved(str); + if(cmd->isEnable()) + { + cmd->resolved(str); + } } return str; } @@ -289,8 +290,8 @@ QString DiceParser::displayResult() QTextStream stream(&str); Result* result=next->getResult(); - QString totalValue("you got %1 ;"); - QString dieValue("D%1 : {%2} "); + QString totalValue("you got %1 ;"); + QString dieValue("D%1 : {%2} "); bool scalarDone=false; while(NULL!=result) @@ -314,22 +315,22 @@ QString DiceParser::displayResult() { if(!die->hasBeenDisplayed()) { - resulStr+=QString("%1").arg(die->getValue()); + resulStr+=QStringLiteral("%1").arg(die->getValue()); die->displayed(); face = die->getFaces(); if(die->hasChildrenValue()) { - resulStr+=" ["; + resulStr+=QStringLiteral(" ["); foreach(qint64 i, die->getListValue()) { - resulStr+=QString("%1 ").arg(i); + resulStr+=QStringLiteral("%1 ").arg(i); } resulStr.remove(resulStr.size()-1,1); - resulStr+="]"; + resulStr+=QStringLiteral("]"); } - resulStr+=", "; + resulStr+=QStringLiteral(", "); } } resulStr.remove(resulStr.size()-2,2); @@ -354,7 +355,7 @@ QString DiceParser::displayResult() out << endl; - return QString("%1, you rolled:%3").arg(str.simplified()).arg(m_command) ; + return QStringLiteral("%1, you rolled:%3").arg(str.simplified()).arg(m_command) ; // qDebug() << "result count:" << resulCount; } @@ -503,7 +504,7 @@ void DiceParser::getLastDiceResult(ExportedDiceResult& diceValues,bool& homogene result = result->getPrevious(); } } -QString DiceParser::getDiceCommand() +QString DiceParser::getDiceCommand() const { return m_command; } @@ -657,14 +658,14 @@ bool DiceParser::readCommand(QString& str,ExecutionNode* & node) { if(m_commandList->contains(str)) { - if(str=="help") + if(str== QLatin1String("help")) { HelpNode* help = new HelpNode(); help->setHelpPath(m_helpPath); node = help; } - else if(str=="la") + else if(str== QLatin1String("la")) { node = new ListAliasNode(m_aliasList); } @@ -705,7 +706,6 @@ bool DiceParser::readInstructionOperator(QChar c) return true; } return false; - } bool DiceParser::readOperator(QString& str,ExecutionNode* previous) @@ -916,7 +916,7 @@ bool DiceParser::readOption(QString& str,ExecutionNode* previous, bool hasDice)/ } else { - m_errorMap.insert(ExecutionNode::BAD_SYNTAXE,QObject::tr("Validator is missing after the %1 operator. Please, change it").arg(m_OptionOp->value(tmp)==Reroll?"r":"a")); + m_errorMap.insert(ExecutionNode::BAD_SYNTAXE,QObject::tr("Validator is missing after the %1 operator. Please, change it").arg(m_OptionOp->value(tmp)==Reroll?QStringLiteral("r"):QStringLiteral("a"))); } } @@ -966,12 +966,12 @@ QMap<ExecutionNode::ERROR_CODE,QString> DiceParser::getErrorMap() QString DiceParser::humanReadableError() { QMapIterator<ExecutionNode::ERROR_CODE,QString> i(m_errorMap); - QString str=""; + QString str(""); while (i.hasNext()) { i.next(); str.append(i.value()); - str.append("\n"); + str.append(QStringLiteral("\n")); } ///list @@ -980,7 +980,7 @@ QString DiceParser::humanReadableError() { j.next(); str.append(j.value()); - str.append("\n"); + str.append(QStringLiteral("\n")); } return str; } @@ -1001,9 +1001,9 @@ bool DiceParser::readOperand(QString& str,ExecutionNode* & node) } void DiceParser::writeDownDotTree(QString filepath) { - QString str("digraph ExecutionTree {\n"); + QString str(QStringLiteral("digraph ExecutionTree {\n")); m_start->generateDotTree(str); - str.append("}\n"); + str.append(QStringLiteral("}\n")); QFile file(filepath); diff --git a/diceparser.h b/diceparser.h index 045ec12..bc92034 100644 --- a/diceparser.h +++ b/diceparser.h @@ -150,7 +150,7 @@ public: * @brief getDiceCommand * @return */ - QString getDiceCommand(); + QString getDiceCommand() const; /** * @brief hasStringResult * @return @@ -110,7 +110,7 @@ void Die::roll(bool adding) } } -quint64 Die::getFaces() +quint64 Die::getFaces() const { return m_faces; } @@ -128,7 +128,7 @@ qint64 Die::getLastRolledValue() else return 0; } -bool Die::hasBeenDisplayed() +bool Die::hasBeenDisplayed() const { return m_displayStatus; } @@ -141,7 +141,7 @@ void Die::setHighlighted(bool a) m_highlighted = a; } -bool Die::isHighlighted() +bool Die::isHighlighted() const { return m_highlighted; } @@ -99,12 +99,12 @@ public: * @brief getFaces * @return */ - quint64 getFaces(); + quint64 getFaces() const; /** * @brief hasBeenDisplayed * @return */ - bool hasBeenDisplayed(); + bool hasBeenDisplayed() const; /** * @brief displayed */ @@ -117,7 +117,7 @@ public: * @brief isHighlighted * @return */ - bool isHighlighted(); + bool isHighlighted() const; /** * @brief setBase diff --git a/node/scalaroperatornode.cpp b/node/scalaroperatornode.cpp index f69cb01..67fda8d 100644 --- a/node/scalaroperatornode.cpp +++ b/node/scalaroperatornode.cpp @@ -109,7 +109,6 @@ bool ScalarOperatorNode::setOperatorChar(QChar c) return false; } - void ScalarOperatorNode::setInternalNode(ExecutionNode* node) { m_internalNode = node; @@ -118,12 +117,10 @@ qint64 ScalarOperatorNode::add(qint64 a,qint64 b) { return a+b; } - qint64 ScalarOperatorNode::substract(qint64 a,qint64 b) { return a-b; } - qreal ScalarOperatorNode::divide(qint64 a,qint64 b) { if(b==0) @@ -133,7 +130,6 @@ qreal ScalarOperatorNode::divide(qint64 a,qint64 b) } return (qreal)a/b; } - qint64 ScalarOperatorNode::multiple(qint64 a,qint64 b) { return a*b; diff --git a/node/scalaroperatornode.h b/node/scalaroperatornode.h index ea0f7e1..ca6f3ac 100644 --- a/node/scalaroperatornode.h +++ b/node/scalaroperatornode.h @@ -53,10 +53,10 @@ public: virtual QMap<ExecutionNode::ERROR_CODE,QString> getExecutionErrorMap(); private: - qint64 add(qint64,qint64); - qint64 substract(qint64,qint64); + static qint64 add(qint64,qint64); + static qint64 substract(qint64,qint64); qreal divide(qint64,qint64); - qint64 multiple(qint64,qint64); + static qint64 multiple(qint64,qint64); private: ScalarOperator m_operator; diff --git a/parsingtoolbox.cpp b/parsingtoolbox.cpp index d511e44..495ae6e 100644 --- a/parsingtoolbox.cpp +++ b/parsingtoolbox.cpp @@ -80,10 +80,6 @@ ParsingToolBox::~ParsingToolBox() Validator* ParsingToolBox::readValidator(QString& str) { Validator* returnVal=NULL; - - bool isOk = true; - - BooleanCondition::LogicOperator myLogicOp = BooleanCondition::Equal; bool hasReadLogicOperator = readLogicOperator(str,myLogicOp); qint64 value=0; @@ -96,41 +92,18 @@ Validator* ParsingToolBox::readValidator(QString& str) qint64 end=0; if(readNumber(str,end)) { - /* if(expectSquareBrasket) - { - if(str.startsWith("]")) - { - str=str.remove(0,1); - isOk=true; - } - else - { - isOk=false; - } - }*/ - if(isOk) - { - str=str.remove(0,1); - Range* range = new Range(); - range->setValue(value,end); - returnVal = range; - } + str=str.remove(0,1); + Range* range = new Range(); + range->setValue(value,end); + returnVal = range; } } else { - /* if((expectSquareBrasket)&&(str.startsWith("]"))) - { - str=str.remove(0,1); - isOk=true; - }*/ - //if(isOk) - { - BooleanCondition* condition = new BooleanCondition(); - condition->setValue(value); - condition->setOperator(myLogicOp); - returnVal = condition; - } + BooleanCondition* condition = new BooleanCondition(); + condition->setValue(value); + condition->setOperator(myLogicOp); + returnVal = condition; } } return returnVal; @@ -61,7 +61,7 @@ qint64 Range::hasValid(Die* m,bool recursive, bool unhighlight) const } QString Range::toString() { - return QString("[%1-%2]").arg(m_start).arg(m_end); + return QStringLiteral("[%1-%2]").arg(m_start).arg(m_end); } quint64 Range::getValidRangeSize(quint64 faces) const { @@ -79,9 +79,9 @@ void Range::setEnd(qint64 end) m_hasEnd = true; } -bool Range::isFullyDefined() +bool Range::isFullyDefined() const { - return (m_hasEnd & m_hasStart); + return (m_hasEnd && m_hasStart); } qint64 Range::getStart() const { @@ -40,7 +40,7 @@ public: virtual QString toString(); virtual quint64 getValidRangeSize(quint64 faces) const; - bool isFullyDefined(); + bool isFullyDefined() const; qint64 getStart() const; qint64 getEnd() const; diff --git a/result/diceresult.cpp b/result/diceresult.cpp index 26b8ef8..37db727 100644 --- a/result/diceresult.cpp +++ b/result/diceresult.cpp @@ -56,19 +56,18 @@ DiceResult::~DiceResult() } QVariant DiceResult::getResult(RESULT_TYPE type) { - switch (type) { - case SCALAR: - return getScalarResult(); - break; - case DICE_LIST: - { - return QVariant(); - break; - } - default: - break; + case SCALAR: + { + return getScalarResult(); + } + case DICE_LIST: + { + return QVariant(); + } + default: + break; } return QVariant(); @@ -104,7 +103,7 @@ QString DiceResult::toString(bool wl) } if(wl) { - return QString("%3 [label=\"DiceResult Value %1 dice %2\"]").arg(getScalarResult()).arg(scalarSum.join('_')).arg(m_id); + return QStringLiteral("%3 [label=\"DiceResult Value %1 dice %2\"]").arg(getScalarResult()).arg(scalarSum.join('_')).arg(m_id); } else { diff --git a/result/result.cpp b/result/result.cpp index 7b6633c..163d539 100644 --- a/result/result.cpp +++ b/result/result.cpp @@ -37,7 +37,7 @@ void Result::setPrevious(Result* p) m_previous = p; } -bool Result::isStringResult() +bool Result::isStringResult() const { return false; } diff --git a/result/result.h b/result/result.h index 3f16535..2a5b7f9 100644 --- a/result/result.h +++ b/result/result.h @@ -62,7 +62,7 @@ public: * @brief isStringResult * @return */ - bool isStringResult(); + virtual bool isStringResult() const; /** * @brief getStringResult |