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,
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;
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; }
}
}
}
<?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"/>