+
+ wxString contents;
+ wxNode *node = m_MapList->GetFirst();
+ wxExtHelpMapEntry *entry;
+ while(node)
+ {
+ entry = (wxExtHelpMapEntry *)node->GetData();
+ if(entry->id == CONTENTS_ID)
+ {
+ contents = entry->url;
+ break;
+ }
+ node = node->GetNext();
+ }
+
+ bool rc = FALSE;
+ wxString file;
+ file << m_MapFile << WXEXTHELP_SEPARATOR << contents;
+ if(file.Contains(wxT('#')))
+ file = file.BeforeLast(wxT('#'));
+ if(contents.Length() && wxFileExists(file))
+ rc = DisplaySection(CONTENTS_ID);
+
+ // if not found, open homemade toc:
+ return rc ? TRUE : KeywordSearch(wxT(""));