]> git.lyx.org Git - lyx.git/blobdiff - src/graphics/Previews.C
The free_spacing patch and fix to the mess that Rob discovered.
[lyx.git] / src / graphics / Previews.C
index 99d49c1265868301acd9d634431c851586f51770..8881df2f1a2620970c5d300d14a0251654e0beb9 100644 (file)
@@ -1,17 +1,15 @@
-/*
+/**
  *  \file Previews.C
- *  Copyright 2002 the LyX Team
- *  Read the file COPYING
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
  *
- * \author Angus Leeming <a.leeming@ic.ac.uk>
+ * \author Angus Leeming
+ *
+ * Full author contact details are available in file CREDITS
  */
 
 #include <config.h>
 
-#ifdef __GNUG__
-#pragma implementation
-#endif
-
 #include "Previews.h"
 #include "PreviewLoader.h"
 
@@ -24,7 +22,6 @@
 
 #include <map>
 
-
 namespace grfx {
 
 bool Previews::activated()
@@ -44,7 +41,7 @@ struct Previews::Impl {
        ///
        typedef boost::shared_ptr<PreviewLoader> PreviewLoaderPtr;
        ///
-       typedef std::map<Buffer *, PreviewLoaderPtr> CacheType;
+       typedef std::map<Buffer const *, PreviewLoaderPtr> CacheType;
        ///
        CacheType cache;
 };
@@ -59,7 +56,7 @@ Previews::~Previews()
 {}
 
 
-PreviewLoader & Previews::loader(Buffer * buffer)
+PreviewLoader & Previews::loader(Buffer const * buffer) const
 {
        lyx::Assert(buffer);
 
@@ -70,12 +67,12 @@ PreviewLoader & Previews::loader(Buffer * buffer)
                pimpl_->cache[buffer] = ptr;
                return *ptr.get();
        }
-       
+
        return *it->second.get();
 }
 
 
-void Previews::removeLoader(Buffer * buffer)
+void Previews::removeLoader(Buffer const * buffer) const
 {
        if (!buffer)
                return;
@@ -87,21 +84,15 @@ void Previews::removeLoader(Buffer * buffer)
 }
 
 
-void Previews::generateBufferPreviews(Buffer * buffer)
+void Previews::generateBufferPreviews(Buffer const & buffer) const
 {
-       if (!buffer || !lyxrc.preview)
-               return;
-
-       PreviewLoader & ploader = loader(buffer);
+       PreviewLoader & ploader = loader(&buffer);
 
-       Buffer::inset_iterator it  = buffer->inset_const_iterator_begin();
-       Buffer::inset_iterator end = buffer->inset_const_iterator_end();
+       Buffer::inset_iterator it  = buffer.inset_const_iterator_begin();
+       Buffer::inset_iterator end = buffer.inset_const_iterator_end();
 
-       for (; it != end; ++it) {
-               if ((*it)->lyxCode() == Inset::MATH_CODE) {
-                       (*it)->generatePreview(ploader);
-               }
-       }
+       for (; it != end; ++it)
+               it->addPreview(ploader);
 
        ploader.startLoading();
 }