]> git.saurik.com Git - wxWidgets.git/blobdiff - src/html/helpdata.cpp
Fix wxListCtrl background colour bug Part I
[wxWidgets.git] / src / html / helpdata.cpp
index 59cdca10d49c250cd7f4b2e2b572bcc730580622..44392854d328aca559ca8a164db12d991733ddfd 100644 (file)
@@ -439,25 +439,6 @@ static wxString SafeFileName(const wxString& s)
     return res;
 }
 
     return res;
 }
 
-bool wxHtmlHelpData::AlreadyHasBook(wxHtmlBookRecord * bookr)
-{
-    size_t bookCount = m_BookRecords.GetCount();
-    if (bookCount == 0) return FALSE ;
-    
-    wxHtmlBookRecord currentBook(wxEmptyString,wxEmptyString,wxEmptyString);
-    size_t i;
-    for (i=0; i<bookCount; i++)
-        {
-        currentBook = m_BookRecords.Item(i) ;
-        if (currentBook.GetBasePath().IsSameAs(bookr->GetBasePath()) &&
-            currentBook.GetTitle().IsSameAs(bookr->GetTitle()) &&
-            currentBook.GetStart().IsSameAs(bookr->GetStart()) )
-          return TRUE ;  
-            
-        }
-    return FALSE ;    
-}
-
 bool wxHtmlHelpData::AddBookParam(const wxFSFile& bookfile,
                                   wxFontEncoding encoding,
                                   const wxString& title, const wxString& contfile,
 bool wxHtmlHelpData::AddBookParam(const wxFSFile& bookfile,
                                   wxFontEncoding encoding,
                                   const wxString& title, const wxString& contfile,
@@ -471,12 +452,17 @@ bool wxHtmlHelpData::AddBookParam(const wxFSFile& bookfile,
     int IndexOld = m_IndexCnt,
         ContentsOld = m_ContentsCnt;
 
     int IndexOld = m_IndexCnt,
         ContentsOld = m_ContentsCnt;
 
-    if (! path.IsEmpty())
+    if (!path.IsEmpty())
         fsys.ChangePathTo(path, TRUE);
 
         fsys.ChangePathTo(path, TRUE);
 
-    bookr = new wxHtmlBookRecord(fsys.GetPath(), title, deftopic);
-    // return TRUE to indicate book is loaded
-    if (AlreadyHasBook(bookr)) return TRUE ; 
+    size_t booksCnt = m_BookRecords.GetCount();
+    for (size_t i = 0; i < booksCnt; i++)
+    {
+        if ( m_BookRecords[i].GetBookFile() == bookfile.GetLocation() )
+            return TRUE; // book is (was) loaded
+    }
+
+    bookr = new wxHtmlBookRecord(bookfile.GetLocation(), fsys.GetPath(), title, deftopic);
     
     if (m_ContentsCnt % wxHTML_REALLOC_STEP == 0)
         m_Contents = (wxHtmlContentsItem*) realloc(m_Contents, (m_ContentsCnt + wxHTML_REALLOC_STEP) * sizeof(wxHtmlContentsItem));
     
     if (m_ContentsCnt % wxHTML_REALLOC_STEP == 0)
         m_Contents = (wxHtmlContentsItem*) realloc(m_Contents, (m_ContentsCnt + wxHTML_REALLOC_STEP) * sizeof(wxHtmlContentsItem));
@@ -632,7 +618,7 @@ bool wxHtmlHelpData::AddBook(const wxString& book)
 
         wxFontEncoding enc;
         if (charset == wxEmptyString) enc = wxFONTENCODING_SYSTEM;
 
         wxFontEncoding enc;
         if (charset == wxEmptyString) enc = wxFONTENCODING_SYSTEM;
-        else enc = wxTheFontMapper->CharsetToEncoding(charset);
+        else enc = wxFontMapper::Get()->CharsetToEncoding(charset);
         bool rtval = AddBookParam(*fi, enc,
                                   title, contents, index, start, fsys.GetPath());
         delete fi;
         bool rtval = AddBookParam(*fi, enc,
                                   title, contents, index, start, fsys.GetPath());
         delete fi;