Merge remote-tracking branch 'origin/stable' into dev
authorFrederik Gladhorn <frederik.gladhorn@digia.com>
Mon, 12 Aug 2013 10:48:24 +0000 (12:48 +0200)
committerFrederik Gladhorn <frederik.gladhorn@digia.com>
Mon, 12 Aug 2013 10:48:24 +0000 (12:48 +0200)
Conflicts:
.qmake.conf
src/linguist/lupdate/cpp.cpp

Change-Id: Id27ac2ea8438e60a940d4ae3719ad393d7ad88ea

1  2 
src/linguist/linguist.pro
src/linguist/lupdate/cpp.cpp
src/linguist/lupdate/main.cpp
src/linguist/lupdate/merge.cpp
src/linguist/lupdate/qdeclarative.cpp
src/linguist/shared/translator.cpp
tests/auto/linguist/lupdate/testdata/good/mergecpp/project.ts.before
tests/auto/linguist/lupdate/testdata/good/mergecpp/project.ts.result
tests/auto/linguist/lupdate/testdata/good/multiple_locations/project.ts.result
tests/auto/linguist/lupdate/testdata/good/parsecpp/project.ts.result

Simple merge
@@@ -292,11 -293,11 +293,11 @@@ private
      void truncateNamespaces(NamespaceList *namespaces, int lenght);
      Namespace *modifyNamespace(NamespaceList *namespaces, bool haveLast = true);
  
 -    enum {
 +    enum TokenType {
          Tok_Eof, Tok_class, Tok_friend, Tok_namespace, Tok_using, Tok_return,
          Tok_tr, Tok_trUtf8, Tok_translate, Tok_translateUtf8, Tok_trid,
-         Tok_Q_OBJECT, Tok_Q_DECLARE_TR_FUNCTIONS,
-         Tok_Ident, Tok_Comment, Tok_String, Tok_Arrow, Tok_Colon, Tok_ColonColon,
+         Tok_Q_OBJECT, Tok_Q_DECLARE_TR_FUNCTIONS, Tok_Access, Tok_Cancel,
+         Tok_Ident, Tok_String, Tok_Arrow, Tok_Colon, Tok_ColonColon,
          Tok_Equals, Tok_LeftBracket, Tok_RightBracket,
          Tok_LeftBrace, Tok_RightBrace, Tok_LeftParen, Tok_RightParen, Tok_Comma, Tok_Semicolon,
          Tok_Null, Tok_Integer,
@@@ -482,9 -500,24 +492,16 @@@ STRING(class)
  STRING(friend);
  STRING(namespace);
  STRING(operator);
 -STRING(qtTrId);
  STRING(return);
  STRING(struct);
 -STRING(TR);
 -STRING(Tr);
 -STRING(tr);
 -STRING(trUtf8);
 -STRING(translate);
  STRING(using);
+ STRING(private);
+ STRING(protected);
+ STRING(public);
+ STRING(slots);
+ STRING(signals);
+ STRING(Q_SLOTS);
+ STRING(Q_SIGNALS);
  
  uint CppParser::getToken()
  {
              case 'Q':
                  if (yyWord == strQ_OBJECT)
                      return Tok_Q_OBJECT;
 -                if (yyWord == strQ_DECLARE_TR_FUNCTIONS)
 -                    return Tok_Q_DECLARE_TR_FUNCTIONS;
 -                if (yyWord == strQT_TR_NOOP)
 -                    return Tok_tr;
 -                if (yyWord == strQT_TRID_NOOP)
 -                    return Tok_trid;
 -                if (yyWord == strQT_TRANSLATE_NOOP)
 -                    return Tok_translate;
 -                if (yyWord == strQT_TRANSLATE_NOOP3)
 -                    return Tok_translate;
 -                if (yyWord == strQT_TR_NOOP_UTF8)
 -                    return Tok_trUtf8;
 -                if (yyWord == strQT_TRANSLATE_NOOP_UTF8)
 -                    return Tok_translateUtf8;
 -                if (yyWord == strQT_TRANSLATE_NOOP3_UTF8)
 -                    return Tok_translateUtf8;
+                 if (yyWord == strQ_SLOTS || yyWord == strQ_SIGNALS)
+                     return Tok_Access;
                  break;
 -            case 'T':
 -                // TR() for when all else fails
 -                if (yyWord == strTR || yyWord == strTr)
 -                    return Tok_tr;
 -                break;
              case 'c':
                  if (yyWord == strclass)
                      return Tok_class;
                          yyCh = getChar();
                  }
                  break;
 -            case 'q':
 -                if (yyWord == strqtTrId)
 -                    return Tok_trid;
 -                break;
+             case 'p':
+                 if (yyWord == strpublic || yyWord == strprotected || yyWord == strprivate)
+                     return Tok_Access;
+                 break;
              case 'r':
                  if (yyWord == strreturn)
                      return Tok_return;
              case 's':
                  if (yyWord == strstruct)
                      return Tok_class;
+                 if (yyWord == strslots || yyWord == strsignals)
+                     return Tok_Access;
                  break;
 -            case 't':
 -                if (yyWord == strtr)
 -                    return Tok_tr;
 -                if (yyWord == strtrUtf8)
 -                    return Tok_trUtf8;
 -                if (yyWord == strtranslate)
 -                    return Tok_translate;
 -                break;
              case 'u':
                  if (yyWord == strusing)
                      return Tok_using;
Simple merge
Simple merge
@@@ -141,11 -141,10 +142,11 @@@ protected
                  msg.setExtraComment(extracomment.simplified());
                  msg.setId(msgid);
                  msg.setExtras(extra);
-                 m_translator->extend(msg);
+                 m_translator->extend(msg, m_cd);
                  consumeComment();
 -            } else if (name == QLatin1String("qsTranslate") ||
 -                       name == QLatin1String("QT_TRANSLATE_NOOP")) {
 +                break; }
 +            case TrFunctionAliasManager::Function_qsTranslate:
 +            case TrFunctionAliasManager::Function_QT_TRANSLATE_NOOP: {
                  if (! (node->arguments && node->arguments->next)) {
                      yyMsg(identLineNo) << qPrintable(LU::tr("%1() requires at least two arguments.\n").arg(name));
                      return;
                  msg.setExtraComment(extracomment.simplified());
                  msg.setId(msgid);
                  msg.setExtras(extra);
-                 m_translator->extend(msg);
+                 m_translator->extend(msg, m_cd);
                  consumeComment();
 -            } else if (name == QLatin1String("qsTrId") ||
 -                       name == QLatin1String("QT_TRID_NOOP")) {
 +                break; }
 +            case TrFunctionAliasManager::Function_qsTrId:
 +            case TrFunctionAliasManager::Function_QT_TRID_NOOP: {
                  if (!node->arguments) {
                      yyMsg(identLineNo) << qPrintable(LU::tr("%1() requires at least one argument.\n").arg(name));
                      return;
                  msg.setExtraComment(extracomment.simplified());
                  msg.setId(id);
                  msg.setExtras(extra);
-                 m_translator->extend(msg);
+                 m_translator->extend(msg, m_cd);
                  consumeComment();
 +                break; }
              }
          }
      }
Simple merge
@@@ -1,7 -1,31 +1,31 @@@
  <?xml version="1.0" encoding="utf-8"?>
  <!DOCTYPE TS>
 -<TS version="2.0">
 +<TS version="2.1">
  <context>
+     <name></name>
+     <message id="lollipop">
+         <location filename="main.cpp" line="51"/>
+         <location filename="main.cpp" line="56"/>
+         <location filename="main.cpp" line="75"/>
+         <source>this is the source text</source>
+         <extracomment>commented
+ ----------
+ even more commented</extracomment>
+         <translation type="unfinished"></translation>
+         <extra-meta>so-meta</extra-meta>
+     </message>
+ </context>
+ <context>
+     <name>QObject</name>
+     <message>
+         <location filename="main.cpp" line="67"/>
+         <source>another message</source>
+         <comment>here with a lot of noise in the comment so it is long enough</comment>
+         <translation type="unfinished"></translation>
+         <extra-meta>so-meta</extra-meta>
+     </message>
+ </context>
+ <context>
      <name>context</name>
      <message>
          <location filename="finddialog.cpp" line="42"/>