]> git.saurik.com Git - wxWidgets.git/commitdiff
rewrote Chris' fix properly
authorVáclav Slavík <vslavik@fastmail.fm>
Thu, 7 Mar 2002 21:45:03 +0000 (21:45 +0000)
committerVáclav Slavík <vslavik@fastmail.fm>
Thu, 7 Mar 2002 21:45:03 +0000 (21:45 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14485 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/html/helpdata.h
src/html/helpctrl.cpp
src/html/helpdata.cpp

index 640747f84a72647242917b6f9891d6d5d95c8ce2..b58ff120224926b62754459bfae32aa2550cfc9a 100644 (file)
@@ -35,15 +35,17 @@ class WXDLLEXPORT wxHtmlHelpData;
 class WXDLLEXPORT wxHtmlBookRecord : public wxObject
 {
 public:
-    wxHtmlBookRecord(const wxString& basepath, const wxString& title,
-                     const wxString& start)
+    wxHtmlBookRecord(const wxString& bookfile, const wxString& basepath, 
+                     const wxString& title, const wxString& start)
     {
+        m_BookFile = bookfile;
         m_BasePath = basepath;
         m_Title = title;
         m_Start = start;
         // for debugging, give the contents index obvious default values
         m_ContentsStart = m_ContentsEnd = -1;
     }
+    wxString GetBookFile() const { return m_BookFile; }
     wxString GetTitle() const { return m_Title; }
     wxString GetStart() const { return m_Start; }
     wxString GetBasePath() const { return m_BasePath; }
@@ -66,6 +68,7 @@ public:
     wxString GetFullPath(const wxString &page) const;
 
 protected:
+    wxString m_BookFile;
     wxString m_BasePath;
     wxString m_Title;
     wxString m_Start;
@@ -171,7 +174,6 @@ public:
                       const wxString& deftopic = wxEmptyString,
                       const wxString& path = wxEmptyString);
 
-    bool AlreadyHasBook(wxHtmlBookRecord * bookr) ;
     // Some accessing stuff:
 
     // returns URL of page on basis of (file)name
index 99ed88855fd0f767a96debf6ba2c255c6e327947..dbbf32c4742c1fa23792f81f34ce71e200a4f86e 100644 (file)
@@ -97,7 +97,7 @@ bool wxHtmlHelpController::AddBook(const wxString& book, bool show_wait_msg)
         delete busy;
 #endif
     if (m_helpFrame) 
-        m_helpFrame->RefreshLists() ;
+        m_helpFrame->RefreshLists();
     return retval;
 }
 
index 59cdca10d49c250cd7f4b2e2b572bcc730580622..312857dedfde84d9b0d492abb350909e01102df5 100644 (file)
@@ -439,25 +439,6 @@ static wxString SafeFileName(const wxString& s)
     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,
@@ -471,12 +452,17 @@ bool wxHtmlHelpData::AddBookParam(const wxFSFile& bookfile,
     int IndexOld = m_IndexCnt,
         ContentsOld = m_ContentsCnt;
 
-    if (! path.IsEmpty())
+    if (!path.IsEmpty())
         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));