Skip to content

Commit

Permalink
Changed refiltering to forced use of insideTabbing
Browse files Browse the repository at this point in the history
  • Loading branch information
Dimitri van Heesch committed Oct 29, 2018
1 parent 88885c2 commit 8deca51
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 58 deletions.
4 changes: 2 additions & 2 deletions src/latexdocvisitor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -565,9 +565,9 @@ void LatexDocVisitor::visit(DocIndexEntry *i)
{
if (m_hide) return;
m_t << "\\index{";
m_t << latexEscapeLabelName(i->entry(),false);
m_t << latexEscapeLabelName(i->entry());
m_t << "@{";
m_t << latexEscapeIndexChars(i->entry(),false);
m_t << latexEscapeIndexChars(i->entry());
m_t << "}}";
}

Expand Down
30 changes: 15 additions & 15 deletions src/latexgen.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1519,9 +1519,9 @@ void LatexGenerator::endTitleHead(const char *fileName,const char *name)
if (name)
{
t << "\\label{" << stripPath(fileName) << "}\\index{";
t << latexEscapeLabelName(name,insideTabbing);
t << latexEscapeLabelName(name);
t << "@{";
t << latexEscapeIndexChars(name,insideTabbing);
t << latexEscapeIndexChars(name);
t << "}}" << endl;
}
}
Expand Down Expand Up @@ -1602,27 +1602,27 @@ void LatexGenerator::startMemberDoc(const char *clname,
t << "\\index{";
if (clname)
{
t << latexEscapeLabelName(clname,insideTabbing);
t << latexEscapeLabelName(clname);
t << "@{";
t << latexEscapeIndexChars(clname,insideTabbing);
t << latexEscapeIndexChars(clname);
t << "}!";
}
t << latexEscapeLabelName(memname,insideTabbing);
t << latexEscapeLabelName(memname);
t << "@{";
t << latexEscapeIndexChars(memname,insideTabbing);
t << latexEscapeIndexChars(memname);
t << "}}" << endl;

t << "\\index{";
t << latexEscapeLabelName(memname,insideTabbing);
t << latexEscapeLabelName(memname);
t << "@{";
t << latexEscapeIndexChars(memname,insideTabbing);
t << latexEscapeIndexChars(memname);
t << "}";
if (clname)
{
t << "!";
t << latexEscapeLabelName(clname,insideTabbing);
t << latexEscapeLabelName(clname);
t << "@{";
t << latexEscapeIndexChars(clname,insideTabbing);
t << latexEscapeIndexChars(clname);
t << "}";
}
t << "}" << endl;
Expand All @@ -1640,7 +1640,7 @@ void LatexGenerator::startMemberDoc(const char *clname,
{
t << "\\texorpdfstring{";
}
t << latexEscapeIndexChars(title,insideTabbing);
t << latexEscapeIndexChars(title);
if (pdfHyperlinks)
{
t << "}{" << latexEscapePDFString(title) << "}";
Expand Down Expand Up @@ -1715,16 +1715,16 @@ void LatexGenerator::addIndexItem(const char *s1,const char *s2)
if (s1)
{
t << "\\index{";
t << latexEscapeLabelName(s1,insideTabbing);
t << latexEscapeLabelName(s1);
t << "@{";
t << latexEscapeIndexChars(s1,insideTabbing);
t << latexEscapeIndexChars(s1);
t << "}";
if (s2)
{
t << "!";
t << latexEscapeLabelName(s2,insideTabbing);
t << latexEscapeLabelName(s2);
t << "@{";
t << latexEscapeIndexChars(s2,insideTabbing);
t << latexEscapeIndexChars(s2);
t << "}";
}
t << "}";
Expand Down
4 changes: 2 additions & 2 deletions src/template.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -698,7 +698,7 @@ class FilterTexLabel
{
if (v.isValid() && (v.type()==TemplateVariant::String))
{
return TemplateVariant(latexEscapeLabelName(v.toString(),FALSE),TRUE);
return TemplateVariant(latexEscapeLabelName(v.toString()),TRUE);
}
else
{
Expand All @@ -717,7 +717,7 @@ class FilterTexIndex
{
if (v.isValid() && (v.type()==TemplateVariant::String))
{
return TemplateVariant(latexEscapeIndexChars(v.toString(),FALSE),TRUE);
return TemplateVariant(latexEscapeIndexChars(v.toString()),TRUE);
}
else
{
Expand Down
42 changes: 5 additions & 37 deletions src/util.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6927,37 +6927,11 @@ void filterLatexString(FTextStream &t,const char *str,
}
}

static void reFilterLatexString(FTextStream &t,const char *str)
{
if (str==0) return;
const unsigned char *p=(const unsigned char *)str;
unsigned char c;
unsigned char pc='\0';
while (*p)
{
c=*p++;

switch(c)
{
case '\\':
if (*p == '+') p++;
else t << '\\';
break;
default:
t << (char)c;
break;
}
pc = c;
}
}

QCString latexEscapeLabelName(const char *s,bool insideTabbing)
QCString latexEscapeLabelName(const char *s)
{
QGString result;
QGString result1;
QCString tmp(qstrlen(s)+1);
FTextStream t(&result);
FTextStream t1(&result1);
const char *p=s;
char c;
int i;
Expand All @@ -6983,20 +6957,14 @@ QCString latexEscapeLabelName(const char *s,bool insideTabbing)
p++;
}
tmp[i]=0;
filterLatexString(t,tmp.data(),insideTabbing);
filterLatexString(t,tmp,TRUE);
break;
}
}
if (!insideTabbing)
{
reFilterLatexString(t1,result.data());
return result1.data();
}
else
return result.data();
return result.data();
}

QCString latexEscapeIndexChars(const char *s,bool insideTabbing)
QCString latexEscapeIndexChars(const char *s)
{
QGString result;
QCString tmp(qstrlen(s)+1);
Expand Down Expand Up @@ -7027,7 +6995,7 @@ QCString latexEscapeIndexChars(const char *s,bool insideTabbing)
p++;
}
tmp[i]=0;
filterLatexString(t,tmp.data(),insideTabbing);
filterLatexString(t,tmp.data(),TRUE);
break;
}
}
Expand Down
4 changes: 2 additions & 2 deletions src/util.h
Original file line number Diff line number Diff line change
Expand Up @@ -345,8 +345,8 @@ void filterLatexString(FTextStream &t,const char *str,
bool insideItem=FALSE,
bool keepSpaces=FALSE);

QCString latexEscapeLabelName(const char *s,bool insideTabbing);
QCString latexEscapeIndexChars(const char *s,bool insideTabbing);
QCString latexEscapeLabelName(const char *s);
QCString latexEscapeIndexChars(const char *s);
QCString latexEscapePDFString(const char *s);
QCString latexFilterURL(const char *s);

Expand Down

0 comments on commit 8deca51

Please sign in to comment.