26 #include <qstringlist.h> 
   32   QCString result=withoutExtension;
 
   33   if (!result.isEmpty())
 
   35     if (result.at(0)==
'!') 
 
   47 static QCString 
makeRef(
const char * withoutExtension, 
const char * anchor)
 
   50   if (!withoutExtension) 
return QCString(); 
 
   52   if (!anchor) 
return result;
 
   53   return result+
"#"+anchor;
 
   56 Qhp::Qhp() : m_prevSectionLevel(0), m_sectionLevel(0), m_skipMainPageSection(FALSE)
 
   89   const char * rootAttributes[] =
 
   90   { 
"version", 
"1.0", 0 };
 
   92   m_doc.
open(
"QtHelpProject", rootAttributes);
 
   98   if (!filterName.isEmpty())
 
  100     const char * tagAttributes[] = 
 
  101     { 
"name", filterName, 0 };
 
  102     m_doc.
open(
"customFilter", tagAttributes);
 
  105     for (
int i = 0; i < (int)customFilterAttributes.count(); i++)
 
  117   if (!sectionFilterAttributes.contains(QString(
"doxygen")))
 
  119     sectionFilterAttributes << 
"doxygen";
 
  121   for (
int i = 0; i < (int)sectionFilterAttributes.count(); i++)
 
  131   const char * 
const attributes[] =
 
  132   { 
"title", fullProjectname,
 
  168   QFile file(fileName);
 
  169   if (!file.open(IO_WriteOnly))
 
  171     err(
"Could not open file %s for writing\n", fileName.data());
 
  193                           const char * , 
const char * file, 
 
  194                           const char *anchor, 
bool ,
 
  202   if (!f.isEmpty() && f.at(0)==
'^') 
return; 
 
  211   for (; diff > 0; diff--)
 
  218                        const char *sectionAnchor,
const char *word)
 
  228     static bool separateMemberPages = 
Config_getBool(SEPARATE_MEMBER_PAGES);
 
  236     if (context==0) 
return; 
 
  239     QCString level1  = context->
name();
 
  240     QCString level2  = word ? QCString(word) : md->
name();
 
  241     QCString contRef = separateMemberPages ? cfname : cfiname;
 
  242     QCString anchor  = sectionAnchor ? QCString(sectionAnchor) : md->
anchor();
 
  247     ref = 
makeRef(contRef, anchor);
 
  248     QCString 
id = level1+
"::"+level2;
 
  249     const char * attributes[] =
 
  262     QCString level1  = word ? QCString(word) : context->
name();
 
  263     QCString ref = 
makeRef(contRef,sectionAnchor);
 
  264     const char * attributes[] =
 
  289   if (projectName.isEmpty()) projectName=
"Root";
 
  290   return projectName + (versionText.isEmpty()
 
  292       : QCString(
" ") + versionText);
 
  317     const char * 
const attributes[] =