]> git.lyx.org Git - lyx.git/blobdiff - src/graphics/Previews.cpp
Correct the mess introduced in r33250.
[lyx.git] / src / graphics / Previews.cpp
index 0da83d901c9146096443b5183a9515a2b2e17ea1..7c50618a9a6fe99a313384d82b2740e66517cc21 100644 (file)
 #include "Previews.h"
 #include "PreviewLoader.h"
 
-#include "buffer.h"
-#include "insetiterator.h"
-#include "lyxrc.h"
-#include "paragraph.h"
+#include "Buffer.h"
+#include "InsetIterator.h"
+#include "LyXRC.h"
 
 #include "insets/Inset.h"
 
+using namespace std;
 
 namespace lyx {
 
@@ -31,40 +31,22 @@ LyXRC_PreviewStatus Previews::status()
 }
 
 
-Previews & Previews::get()
-{
-       static Previews singleton;
-       return singleton;
+namespace {
+typedef boost::shared_ptr<PreviewLoader> PreviewLoaderPtr;
+///
+typedef map<Buffer const *, PreviewLoaderPtr> LyxCacheType;
+///
+static LyxCacheType preview_cache_;
 }
 
 
-class Previews::Impl {
-public:
-       ///
-       typedef boost::shared_ptr<PreviewLoader> PreviewLoaderPtr;
-       ///
-       typedef std::map<Buffer const *, PreviewLoaderPtr> CacheType;
-       ///
-       CacheType cache;
-};
-
-
-Previews::Previews()
-       : pimpl_(new Impl)
-{}
-
-
-Previews::~Previews()
-{}
-
-
 PreviewLoader & Previews::loader(Buffer const & buffer) const
 {
-       Impl::CacheType::iterator it = pimpl_->cache.find(&buffer);
+       LyxCacheType::iterator it = preview_cache_.find(&buffer);
 
-       if (it == pimpl_->cache.end()) {
-               Impl::PreviewLoaderPtr ptr(new PreviewLoader(buffer));
-               pimpl_->cache[&buffer] = ptr;
+       if (it == preview_cache_.end()) {
+               PreviewLoaderPtr ptr(new PreviewLoader(buffer));
+               preview_cache_[&buffer] = ptr;
                return *ptr.get();
        }
 
@@ -74,10 +56,10 @@ PreviewLoader & Previews::loader(Buffer const & buffer) const
 
 void Previews::removeLoader(Buffer const & buffer) const
 {
-       Impl::CacheType::iterator it = pimpl_->cache.find(&buffer);
+       LyxCacheType::iterator it = preview_cache_.find(&buffer);
 
-       if (it != pimpl_->cache.end())
-               pimpl_->cache.erase(it);
+       if (it != preview_cache_.end())
+               preview_cache_.erase(it);
 }
 
 
@@ -85,12 +67,12 @@ void Previews::generateBufferPreviews(Buffer const & buffer) const
 {
        PreviewLoader & ploader = loader(buffer);
 
-       InsetBase & inset = buffer.inset();
+       Inset & inset = buffer.inset();
        InsetIterator it = inset_iterator_begin(inset);
        InsetIterator const end = inset_iterator_end(inset);
 
        for (; it != end; ++it)
-               it->addPreview(ploader);
+               it->addPreview(it, ploader);
 
        ploader.startLoading();
 }