]> git.lyx.org Git - lyx.git/blobdiff - src/graphics/Previews.cpp
Change the "empty layout" to the "plain layout", to try to avoid confusion.
[lyx.git] / src / graphics / Previews.cpp
index 5a6772e3dcd0997363d83cbcd6c055ae097c9017..b1d40baf0a1b2b0057a4f585930a5f319aebc783 100644 (file)
@@ -19,6 +19,7 @@
 
 #include "insets/Inset.h"
 
+using namespace std;
 
 namespace lyx {
 
@@ -30,42 +31,22 @@ LyXRC_PreviewStatus Previews::status()
 }
 
 
-Previews & Previews::get()
-{
-       static Previews singleton;
-       return singleton;
-}
-
-
-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()
-{
-       delete pimpl_;
+namespace {
+typedef boost::shared_ptr<PreviewLoader> PreviewLoaderPtr;
+///
+typedef map<Buffer const *, PreviewLoaderPtr> CacheType;
+///
+static CacheType preview_cache_;
 }
 
 
 PreviewLoader & Previews::loader(Buffer const & buffer) const
 {
-       Impl::CacheType::iterator it = pimpl_->cache.find(&buffer);
+       CacheType::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();
        }
 
@@ -75,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);
+       CacheType::iterator it = preview_cache_.find(&buffer);
 
-       if (it != pimpl_->cache.end())
-               pimpl_->cache.erase(it);
+       if (it != preview_cache_.end())
+               preview_cache_.erase(it);
 }