From 5ecdcaa78f1f7cd91a5335b74fc10ec875883992 Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Thu, 7 Mar 2002 21:45:03 +0000 Subject: [PATCH] rewrote Chris' fix properly git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14485 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/html/helpdata.h | 8 +++++--- src/html/helpctrl.cpp | 2 +- src/html/helpdata.cpp | 32 +++++++++----------------------- 3 files changed, 15 insertions(+), 27 deletions(-) diff --git a/include/wx/html/helpdata.h b/include/wx/html/helpdata.h index 640747f84a..b58ff12022 100644 --- a/include/wx/html/helpdata.h +++ b/include/wx/html/helpdata.h @@ -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 diff --git a/src/html/helpctrl.cpp b/src/html/helpctrl.cpp index 99ed88855f..dbbf32c474 100644 --- a/src/html/helpctrl.cpp +++ b/src/html/helpctrl.cpp @@ -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; } diff --git a/src/html/helpdata.cpp b/src/html/helpdata.cpp index 59cdca10d4..312857dedf 100644 --- a/src/html/helpdata.cpp +++ b/src/html/helpdata.cpp @@ -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; iGetBasePath()) && - 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)); -- 2.45.2