packages: kdemultimedia/kdemultimedia-branch.diff, kdeutils/kdeutils-branch...
glen
glen at pld-linux.org
Tue Sep 8 00:09:29 CEST 2009
Author: glen Date: Mon Sep 7 22:09:29 2009 GMT
Module: packages Tag: HEAD
---- Log message:
- updated
---- Files affected:
packages/kdemultimedia:
kdemultimedia-branch.diff (1.12 -> 1.13)
packages/kdeutils:
kdeutils-branch.diff (1.7 -> 1.8)
packages/kdewebdev:
kdewebdev-branch.diff (1.8 -> 1.9)
---- Diffs:
================================================================
Index: packages/kdemultimedia/kdemultimedia-branch.diff
diff -u packages/kdemultimedia/kdemultimedia-branch.diff:1.12 packages/kdemultimedia/kdemultimedia-branch.diff:1.13
--- packages/kdemultimedia/kdemultimedia-branch.diff:1.12 Thu Apr 23 12:14:16 2009
+++ packages/kdemultimedia/kdemultimedia-branch.diff Tue Sep 8 00:09:23 2009
@@ -1,7 +1,7 @@
Index: juk/playlist.cpp
===================================================================
---- juk/playlist.cpp (.../tags/KDE/3.5.10/kdemultimedia) (revision 958029)
-+++ juk/playlist.cpp (.../branches/KDE/3.5/kdemultimedia) (revision 958029)
+--- juk/playlist.cpp (.../tags/KDE/3.5.10/kdemultimedia) (revision 1007405)
++++ juk/playlist.cpp (.../branches/KDE/3.5/kdemultimedia) (revision 1007405)
@@ -758,7 +758,7 @@
kdDebug(65432) << "Error while trying to refresh the tag. "
<< "This file has probably been removed."
@@ -11,10 +11,23 @@
}
processEvents();
+Index: juk/tagrenameroptions.cpp
+===================================================================
+--- juk/tagrenameroptions.cpp (.../tags/KDE/3.5.10/kdemultimedia) (revision 1007405)
++++ juk/tagrenameroptions.cpp (.../branches/KDE/3.5/kdemultimedia) (revision 1007405)
+@@ -51,6 +51,8 @@
+ switch(category.category) {
+ case Title:
+ case Artist:
++ case Genre:
++ case Year:
+ case Album:
+ case Track:
+ disabled = false;
Index: juk/collectionlist.cpp
===================================================================
---- juk/collectionlist.cpp (.../tags/KDE/3.5.10/kdemultimedia) (revision 958029)
-+++ juk/collectionlist.cpp (.../branches/KDE/3.5/kdemultimedia) (revision 958029)
+--- juk/collectionlist.cpp (.../tags/KDE/3.5.10/kdemultimedia) (revision 1007405)
++++ juk/collectionlist.cpp (.../branches/KDE/3.5/kdemultimedia) (revision 1007405)
@@ -164,7 +164,7 @@
if(item->file().fileInfo().exists())
item->repaint();
@@ -35,8 +48,8 @@
CollectionList *l = CollectionList::instance();
Index: kmix/mixer_oss4.h
===================================================================
---- kmix/mixer_oss4.h (.../tags/KDE/3.5.10/kdemultimedia) (revision 958029)
-+++ kmix/mixer_oss4.h (.../branches/KDE/3.5/kdemultimedia) (revision 958029)
+--- kmix/mixer_oss4.h (.../tags/KDE/3.5.10/kdemultimedia) (revision 1007405)
++++ kmix/mixer_oss4.h (.../branches/KDE/3.5/kdemultimedia) (revision 1007405)
@@ -33,10 +33,10 @@
virtual int close();
virtual bool needsPolling() { return true; };
@@ -53,8 +66,8 @@
#endif
Index: kmix/kmix-platforms.cpp
===================================================================
---- kmix/kmix-platforms.cpp (.../tags/KDE/3.5.10/kdemultimedia) (revision 958029)
-+++ kmix/kmix-platforms.cpp (.../branches/KDE/3.5/kdemultimedia) (revision 958029)
+--- kmix/kmix-platforms.cpp (.../tags/KDE/3.5.10/kdemultimedia) (revision 1007405)
++++ kmix/kmix-platforms.cpp (.../branches/KDE/3.5/kdemultimedia) (revision 1007405)
@@ -86,7 +86,6 @@
#endif
#if SOUND_VERSION >= 0x040000
@@ -65,8 +78,8 @@
#endif
Index: kmix/mixer_oss4.cpp
===================================================================
---- kmix/mixer_oss4.cpp (.../tags/KDE/3.5.10/kdemultimedia) (revision 958029)
-+++ kmix/mixer_oss4.cpp (.../branches/KDE/3.5/kdemultimedia) (revision 958029)
+--- kmix/mixer_oss4.cpp (.../tags/KDE/3.5.10/kdemultimedia) (revision 1007405)
++++ kmix/mixer_oss4.cpp (.../branches/KDE/3.5/kdemultimedia) (revision 1007405)
@@ -113,6 +113,11 @@
*it = "Bass";
cType = MixDevice::BASS;
================================================================
Index: packages/kdeutils/kdeutils-branch.diff
diff -u packages/kdeutils/kdeutils-branch.diff:1.7 packages/kdeutils/kdeutils-branch.diff:1.8
--- packages/kdeutils/kdeutils-branch.diff:1.7 Thu Apr 23 16:29:34 2009
+++ packages/kdeutils/kdeutils-branch.diff Tue Sep 8 00:09:24 2009
@@ -1,7 +1,20 @@
+Index: kgpg/listkeys.h
+===================================================================
+--- kgpg/listkeys.h (.../tags/KDE/3.5.10/kdeutils) (revision 1007405)
++++ kgpg/listkeys.h (.../branches/KDE/3.5/kdeutils) (revision 1007405)
+@@ -51,7 +51,7 @@
+ class KgpgInterface;
+ class KSelectAction;
+
+-typedef struct gpgKey
++struct gpgKey
+ {
+ QString gpgkeymail;
+ QString gpgkeyname;
Index: kcalc/kcalcdisplay.cpp
===================================================================
---- kcalc/kcalcdisplay.cpp (.../tags/KDE/3.5.10/kdeutils) (revision 958220)
-+++ kcalc/kcalcdisplay.cpp (.../branches/KDE/3.5/kdeutils) (revision 958220)
+--- kcalc/kcalcdisplay.cpp (.../tags/KDE/3.5.10/kdeutils) (revision 1007405)
++++ kcalc/kcalcdisplay.cpp (.../branches/KDE/3.5/kdeutils) (revision 1007405)
@@ -102,11 +102,7 @@
void KCalcDisplay::slotCopy(void)
@@ -17,8 +30,8 @@
(QApplication::clipboard())->setText(txt, QClipboard::Clipboard);
Index: ark/arkwidget.cpp
===================================================================
---- ark/arkwidget.cpp (.../tags/KDE/3.5.10/kdeutils) (revision 958220)
-+++ ark/arkwidget.cpp (.../branches/KDE/3.5/kdeutils) (revision 958220)
+--- ark/arkwidget.cpp (.../tags/KDE/3.5.10/kdeutils) (revision 1007405)
++++ ark/arkwidget.cpp (.../branches/KDE/3.5/kdeutils) (revision 1007405)
@@ -566,11 +566,15 @@
// TODO: remote Archives should be handled by createArchive
================================================================
Index: packages/kdewebdev/kdewebdev-branch.diff
diff -u packages/kdewebdev/kdewebdev-branch.diff:1.8 packages/kdewebdev/kdewebdev-branch.diff:1.9
--- packages/kdewebdev/kdewebdev-branch.diff:1.8 Wed May 20 16:18:49 2009
+++ packages/kdewebdev/kdewebdev-branch.diff Tue Sep 8 00:09:24 2009
@@ -1,7 +1,7 @@
Index: AUTHORS
===================================================================
---- AUTHORS (.../tags/KDE/3.5.10/kdewebdev) (revision 970539)
-+++ AUTHORS (.../branches/KDE/3.5/kdewebdev) (revision 970539)
+--- AUTHORS (.../tags/KDE/3.5.10/kdewebdev) (revision 1007405)
++++ AUTHORS (.../branches/KDE/3.5/kdewebdev) (revision 1007405)
@@ -12,8 +12,7 @@
Nicolas Deschildre <ndeschildre at kdewebdev.org>
Paulo Moura Guedes <moura at kdewebdev.org>
@@ -14,8 +14,8 @@
Kommander (kommander):
Index: quanta/project/projectupload.cpp
===================================================================
---- quanta/project/projectupload.cpp (.../tags/KDE/3.5.10/kdewebdev) (revision 970539)
-+++ quanta/project/projectupload.cpp (.../branches/KDE/3.5/kdewebdev) (revision 970539)
+--- quanta/project/projectupload.cpp (.../tags/KDE/3.5.10/kdewebdev) (revision 1007405)
++++ quanta/project/projectupload.cpp (.../branches/KDE/3.5/kdewebdev) (revision 1007405)
@@ -375,7 +375,7 @@
buttonUpload->setEnabled(false);
KURL u = *baseUrl;
@@ -27,8 +27,8 @@
return;
Index: lib/qextfileinfo.cpp
===================================================================
---- lib/qextfileinfo.cpp (.../tags/KDE/3.5.10/kdewebdev) (revision 970539)
-+++ lib/qextfileinfo.cpp (.../branches/KDE/3.5/kdewebdev) (revision 970539)
+--- lib/qextfileinfo.cpp (.../tags/KDE/3.5.10/kdewebdev) (revision 1007405)
++++ lib/qextfileinfo.cpp (.../branches/KDE/3.5/kdewebdev) (revision 1007405)
@@ -192,11 +192,11 @@
{
int i = 0;
@@ -54,8 +54,8 @@
if (!dirListItems.contains(u) && u.url() != m_listStartURL && !u.isParentOf(item->url()))
Index: klinkstatus/src/engine/linkchecker.cpp
===================================================================
---- klinkstatus/src/engine/linkchecker.cpp (.../tags/KDE/3.5.10/kdewebdev) (revision 970539)
-+++ klinkstatus/src/engine/linkchecker.cpp (.../branches/KDE/3.5/kdewebdev) (revision 970539)
+--- klinkstatus/src/engine/linkchecker.cpp (.../tags/KDE/3.5.10/kdewebdev) (revision 1007405)
++++ klinkstatus/src/engine/linkchecker.cpp (.../branches/KDE/3.5/kdewebdev) (revision 1007405)
@@ -72,41 +72,43 @@
KURL url(linkStatus()->absoluteUrl());
Q_ASSERT(url.isValid());
@@ -130,10 +130,57 @@
}
void LinkChecker::slotTimeOut()
+Index: kommander/widget/parser.h
+===================================================================
+--- kommander/widget/parser.h (.../tags/KDE/3.5.10/kdewebdev) (revision 1007405)
++++ kommander/widget/parser.h (.../branches/KDE/3.5/kdewebdev) (revision 1007405)
+@@ -68,6 +68,16 @@
+ void unsetArray(const QString& name, const QString& key = QString::null);
+ // array value
+ ParseNode arrayValue(const QString& name, const QString& key) const;
++ // access 2D array
++ const QMap<QString, QMap<QString, ParseNode> >& matrix(const QString& name) const;
++ // check if this is name of a 2D array
++ bool isMatrix(const QString& name) const;
++ // set array key
++ void setMatrix(const QString& name, const QString& keyr, const QString& keyc, ParseNode value);
++ // unset array key or whole array
++ void unsetMatrix(const QString& name, const QString& keyr = QString::null, const QString& keyc = QString::null);
++ // array value
++ ParseNode matrixValue(const QString& name, const QString& keyr, const QString& keyc) const;
+ // get associated widget
+ KommanderWidget* currentWidget() const;
+
+@@ -133,6 +143,8 @@
+ void insertNode(ParseNode p, int line);
+ // next item to be parsed
+ ParseNode next() const;
++ // next is Else or Else && If?
++ bool nextElseIf();
+ // check if next item is keyword k, if so - go further, if no, set error
+ bool tryKeyword(Parse::Keyword k, Parse::Mode mode = Parse::Execute);
+ // check if next item is a variable, if so, return its name
+@@ -169,12 +181,16 @@
+ QMap<QString, ParseNode> m_variables;
+ // arrays
+ QMap<QString, QMap<QString, ParseNode> > m_arrays;
++ // 2D arrays
++ QMap<QString, QMap<QString, QMap<QString, ParseNode> > > m_matrices;
+ // Kommander
+ KommanderWidget* m_widget;
+ // global variables
+ static QMap<QString, ParseNode> m_globalVariables;
+ // global arrays
+ static QMap<QString, QMap<QString, ParseNode> > m_globalArrays;
++ // global 2D arrays
++ static QMap<QString, QMap<QString, QMap<QString, ParseNode> > > m_globalMatrices;
+ };
+
+ #endif
Index: kommander/widget/functionlib.cpp
===================================================================
---- kommander/widget/functionlib.cpp (.../tags/KDE/3.5.10/kdewebdev) (revision 970539)
-+++ kommander/widget/functionlib.cpp (.../branches/KDE/3.5/kdewebdev) (revision 970539)
+--- kommander/widget/functionlib.cpp (.../tags/KDE/3.5.10/kdewebdev) (revision 1007405)
++++ kommander/widget/functionlib.cpp (.../branches/KDE/3.5/kdewebdev) (revision 1007405)
@@ -120,6 +120,44 @@
return params[0].toString().isEmpty();
}
@@ -204,21 +251,45 @@
registerFunction("input_savefile", Function(&f_inputSaveFile, ValueString, ValueString, ValueString, ValueString, 0));
Index: kommander/widget/parsenode.h
===================================================================
---- kommander/widget/parsenode.h (.../tags/KDE/3.5.10/kdewebdev) (revision 970539)
-+++ kommander/widget/parsenode.h (.../branches/KDE/3.5/kdewebdev) (revision 970539)
-@@ -23,7 +23,7 @@
+--- kommander/widget/parsenode.h (.../tags/KDE/3.5.10/kdewebdev) (revision 1007405)
++++ kommander/widget/parsenode.h (.../branches/KDE/3.5/kdewebdev) (revision 1007405)
+@@ -23,8 +23,8 @@
{
enum Keyword {For, To, Step, End, While, Do, Foreach, In, If, Then, Else, Elseif, Endif, Switch, Case,
Break, Continue, Exit, Dot, Semicolon, Comma, Assign, Less, LessEqual, Greater, GreaterEqual, Equal, NotEqual,
- Not, And, Or, False, True, LeftParenthesis, RightParenthesis, LeftBracket, RightBracket,
-+ Not, And, Or, False, True, LeftParenthesis, RightParenthesis, LeftBracket, RightBracket, LeftCurlyBrace, RightCurlyBrace, PlusEqual,
- Plus, Minus, Multiply, Divide, Mod, LastRealKeyword = Mod, Variable, Invalid};
+- Plus, Minus, Multiply, Divide, Mod, LastRealKeyword = Mod, Variable, Invalid};
++ Not, And, Or, False, True, LeftParenthesis, RightParenthesis, LeftBracket, DoubleBracket, RightBracket, LeftCurlyBrace, RightCurlyBrace, PlusEqual, MinusEqual, Increment, Decrement,
++ Plus, Minus, Multiply, Divide, Mod, LastRealKeyword = Mod, Variable, Invalid, Array, Matrix};
enum KeywordGroup {GroupComparison, GroupAdd, GroupMultiply, GroupMisc};
+ enum ValueType {ValueString, ValueInt, ValueDouble, ValueValue = ValueDouble, ValueKeyword,
+@@ -74,8 +74,12 @@
+ bool isKeyword(Parse::Keyword k) const;
+ /* Check if current value is a variable */
+ bool isVariable() const;
++ /* Check if current value is an Array */
++ bool isArray() const;
+ /* Return the name of variable */
+ QString variableName() const;
++ /* Return the name of array */
++ QString arrayName() const;
+ /* Return error message if applicable */
+ QString errorMessage() const;
+ /* Calculate common type for two nodes */
+@@ -100,6 +104,8 @@
+ void setValue(const QString& s);
+ /* set value as variable */
+ void setVariable(const QString& name);
++ /* set value as array */
++ void setArray(const QString& name);
+ /* check if it is correct value */
+ bool isValue() const;
+ /* for setting some context information, f. e. for bug reporting */
Index: kommander/widget/parserdata.cpp
===================================================================
---- kommander/widget/parserdata.cpp (.../tags/KDE/3.5.10/kdewebdev) (revision 970539)
-+++ kommander/widget/parserdata.cpp (.../branches/KDE/3.5/kdewebdev) (revision 970539)
+--- kommander/widget/parserdata.cpp (.../tags/KDE/3.5.10/kdewebdev) (revision 1007405)
++++ kommander/widget/parserdata.cpp (.../branches/KDE/3.5/kdewebdev) (revision 1007405)
@@ -59,6 +59,8 @@
m_keywords["else"] = Else;
m_keywords["elseif"] = Elseif;
@@ -228,26 +299,237 @@
m_keywords["switch"] = Switch;
m_keywords["case"] = Case;
m_keywords["while"] = While;
-@@ -96,6 +98,7 @@
+@@ -90,12 +92,17 @@
+ m_keywords["("] = LeftParenthesis;
+ m_keywords[")"] = RightParenthesis;
+ m_keywords["["] = LeftBracket;
++ m_keywords["]["] = DoubleBracket;
+ m_keywords["]"] = RightBracket;
+ m_keywords["+"] = Plus;
+ m_keywords["-"] = Minus;
m_keywords["*"] = Multiply;
m_keywords["/"] = Divide;
m_keywords["%"] = Mod;
+ m_keywords["+="] = PlusEqual;
++ m_keywords["-="] = MinusEqual;
++ m_keywords["++"] = Increment;
++ m_keywords["--"] = Decrement;
m_keywords["mod"] = Mod;
m_groups[Less] = GroupComparison;
Index: kommander/widget/parser.cpp
===================================================================
---- kommander/widget/parser.cpp (.../tags/KDE/3.5.10/kdewebdev) (revision 970539)
-+++ kommander/widget/parser.cpp (.../branches/KDE/3.5/kdewebdev) (revision 970539)
-@@ -499,6 +499,21 @@
+--- kommander/widget/parser.cpp (.../tags/KDE/3.5.10/kdewebdev) (revision 1007405)
++++ kommander/widget/parser.cpp (.../branches/KDE/3.5/kdewebdev) (revision 1007405)
+@@ -99,6 +99,15 @@
+ {
+ while (start < s.length() && s[start] != '\n')
+ start++;
++ } // enable /* */ block comments
++ else if (s[start] == '/' && start < s.length() +1 && s[start+1] == '*')
++ {
++ start += 2;
++ while (s[start] != '*' && start < s.length() +1 && s[start+1] != '/')
++ {
++ start++;
++ }
++ start += 2;
+ } // special keyword: <>
+ else if (m_data->stringToKeyword(s.mid(start, 2)) <= LastRealKeyword)
+ {
+@@ -194,10 +203,12 @@
+ }
+ return p;
+ }
+-
++//attempting to allow assign or copy of array, so far with no joy
+ ParseNode Parser::parseValue(Mode mode)
+ {
+ ParseNode p = next();
++ //QString p2 = QString(p.toString());
++ //qDebug("parseValue p2 = "+p2);
+ if (isFunction())
+ return parseFunction(mode);
+ else if (isWidget())
+@@ -207,6 +218,14 @@
+ if (tryKeyword(LeftBracket, CheckOnly))
+ {
+ QString index = parseValue(mode).toString();
++ if (tryKeyword(DoubleBracket, CheckOnly))
++ {//2D array "matrix"
++ //qDebug("Found double bracket: parseValue");
++ QString index2 = parseValue(mode).toString();
++ tryKeyword(RightBracket);
++ QString arr = p.variableName();
++ return matrixValue(arr, index, index2);
++ }
+ tryKeyword(RightBracket);
+ QString arr = p.variableName();
+ return arrayValue(arr, index);
+@@ -242,6 +261,11 @@
+ return ParseNode(0);
+ else if (tryKeyword(True, CheckOnly))
+ return ParseNode(1);
++/* else if (isArray(p2))
++ {
++ qDebug("returning array fpr p2");
++ return p2;
++ }*/
+ else if (p.isKeyword())
+ setError(i18n("Expected value"));
+ else // single value
+@@ -484,21 +508,194 @@
+ ParseNode Parser::parseAssignment(Mode mode)
+ {
+ QString var = nextVariable();
++ //qDebug("var = "+var+" Pos:"+QString::number(m_start));
+ if (tryKeyword(LeftBracket, CheckOnly))
+ {
+ QString index = parseValue(mode).toString();
+- tryKeyword(RightBracket);
+- tryKeyword(Assign);
++ if (tryKeyword(DoubleBracket, CheckOnly))
++ {//2D array "matrix"
++ ParseNode p1 = next(); //move along...
++ QString index2 = parseValue(mode).toString();
++ tryKeyword(RightBracket);
++ p1 = next();
++ ParseNode p2 = matrixValue(var, index, index2);
++ if (p1.isKeyword(PlusEqual))
++ {
++ tryKeyword(PlusEqual);
++ ParseNode p = parseExpression(mode);
++ if (mode == Execute)
++ {
++ if (p2.type() == ValueString)
++ p = QString(p2.toString() + p.toString());
++ else if (p2.type() == ValueDouble)
++ p = p2.toDouble() + p.toDouble();
++ else
++ p = p2.toInt() + p.toInt();
++ setMatrix(var, index, index2, p);
++ }
++ }
++ else if (p1.isKeyword(MinusEqual))
++ {
++ tryKeyword(MinusEqual);
++ ParseNode p = parseExpression(mode);
++ if (mode == Execute)
++ {
++ if (p2.type() == ValueDouble)
++ p = p2.toDouble() - p.toDouble();
++ else
++ p = p2.toInt() - p.toInt();
++ setMatrix(var, index, index2, p);
++ }
++ }
++ else if (p1.isKeyword(Increment))
++ {
++ tryKeyword(Increment);
++ if (mode == Execute)
++ {
++ p2 = p2.toInt() + 1;
++ setMatrix(var, index, index2, p2);
++ }
++ }
++ else if (p1.isKeyword(Decrement))
++ {
++ tryKeyword(Decrement);
++ if (mode == Execute)
++ {
++ p2 = p2.toInt() - 1;
++ setMatrix(var, index, index2, p2);
++ }
++ }
++ else
++ {
++ tryKeyword(Assign);
++ ParseNode p = parseExpression(mode);
++ if (mode == Execute)
++ setMatrix(var, index, index2, p);
++ }
++ }
++ else
++ {
++ tryKeyword(RightBracket);
++ ParseNode p1 = next();
++ // seems awkward and pedantic but array values are now handled like variables
++ // for special assign with oparator
++ ParseNode p2 = arrayValue(var, index);
++ if (p1.isKeyword(PlusEqual))
++ {
++ tryKeyword(PlusEqual);
++ ParseNode p = parseExpression(mode);
++ if (mode == Execute)
++ {
++ if (p2.type() == ValueString)
++ p = QString(p2.toString() + p.toString());
++ else if (p2.type() == ValueDouble)
++ p = p2.toDouble() + p.toDouble();
++ else
++ p = p2.toInt() + p.toInt();
++ setArray(var, index, p);
++ }
++ }
++ else if (p1.isKeyword(MinusEqual))
++ {
++ tryKeyword(MinusEqual);
++ ParseNode p = parseExpression(mode);
++ if (mode == Execute)
++ {
++ if (p2.type() == ValueDouble)
++ p = p2.toDouble() - p.toDouble();
++ else
++ p = p2.toInt() - p.toInt();
++ setArray(var, index, p);
++ }
++ }
++ else if (p1.isKeyword(Increment))
++ {
++ tryKeyword(Increment);
++ if (mode == Execute)
++ {
++ p2 = p2.toInt() + 1;
++ setArray(var, index, p2);
++ }
++ }
++ else if (p1.isKeyword(Decrement))
++ {
++ tryKeyword(Decrement);
++ if (mode == Execute)
++ {
++ p2 = p2.toInt() - 1;
++ setArray(var, index, p2);
++ }
++ }
++ else
++ {
++ tryKeyword(Assign);
++ ParseNode p = parseExpression(mode);
++ if (mode == Execute)
++ setArray(var, index, p);
++ }
++ }
++ }
++ else if (tryKeyword(Assign, CheckOnly))
++ {
+ ParseNode p = parseExpression(mode);
if (mode == Execute)
- setVariable(var, p);
+- setArray(var, index, p);
++ {
++ QString p2 = QString(p.toString()); //arrays are not found?
++ //qDebug("p2 = "+p2);
++ if (isArray(p2))
++ const QMap<QString, ParseNode> var = array(p2);
++ else
++ setVariable(var, p);
++ }
}
+- else if (tryKeyword(Assign, CheckOnly))
+ else if (tryKeyword(PlusEqual, CheckOnly))
-+ {
-+ ParseNode p = parseExpression(mode);
-+ if (mode == Execute)
+ {
+ ParseNode p = parseExpression(mode);
+ if (mode == Execute)
+ {
+ ParseNode p2 = variable(var);
+ if (p2.type() == ValueString)
@@ -256,13 +538,46 @@
+ p = p2.toDouble() + p.toDouble();
+ else
+ p = p2.toInt() + p.toInt();
+ setVariable(var, p);
++ }
+ }
++ else if (tryKeyword(MinusEqual, CheckOnly))
++ {
++ ParseNode p = parseExpression(mode);
++ if (mode == Execute)
++ {
++ ParseNode p2 = variable(var);
++ if (p2.type() == ValueDouble)
++ p = p2.toDouble() - p.toDouble();
++ else
++ p = p2.toInt() - p.toInt();
++ setVariable(var, p);
++ }
++ }
++ else if (tryKeyword(Increment, CheckOnly))
++ {
++ //ParseNode p = parseExpression(mode);
++ if (mode == Execute)
++ {
++ ParseNode p = variable(var);
++ p = p.toInt() + 1;
++ setVariable(var, p);
++ }
++ }
++ else if (tryKeyword(Decrement, CheckOnly))
++ {
++ //ParseNode p = parseExpression(mode);
++ if (mode == Execute)
++ {
++ ParseNode p = variable(var);
++ p = p.toInt() - 1;
+ setVariable(var, p);
+ }
+ }
else if (tryKeyword(Dot, CheckOnly))
{
QString value = variable(var).toString();
-@@ -529,11 +544,14 @@
+@@ -529,11 +726,14 @@
ParseNode p = next();
Flow flow = FlowStandard;
bool matched = false;
@@ -278,13 +593,14 @@
bool condition = !matched && p.toBool();
if (condition)
{
-@@ -544,14 +562,21 @@
+@@ -544,29 +744,52 @@
else
parseBlock(CheckOnly);
matched = matched || p.toBool();
+- } while (next().isKeyword(Elseif));
+ if (!thenFound)
+ tryKeyword(RightCurlyBrace);
- } while (next().isKeyword(Elseif));
++ } while (nextElseIf() == true);
+ bool braceFound = false;
if (tryKeyword(Else, CheckOnly))
{
@@ -300,7 +616,24 @@
tryKeyword(Endif);
return flow;
}
-@@ -562,11 +587,13 @@
+
++bool Parser::nextElseIf()
++{
++ ParseNode p1 = next();
++ if (p1.isKeyword(Elseif))
++ return true;
++ else
<<Diff was trimmed, longer than 597 lines>>
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kdemultimedia/kdemultimedia-branch.diff?r1=1.12&r2=1.13&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kdeutils/kdeutils-branch.diff?r1=1.7&r2=1.8&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kdewebdev/kdewebdev-branch.diff?r1=1.8&r2=1.9&f=u
More information about the pld-cvs-commit
mailing list