X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FRenderPreview.h;h=2f83aff5dc17d2eea2b03dd4777d2ca9a33d9145;hb=88e5e5fd345c280b0927ad84785657cbc9e55f77;hp=e9e3cb10c2440f3d868f5a2893ebbe13e3a8f8be;hpb=bc47054be88467f01fd2f6e437d555743bd8a7c9;p=lyx.git diff --git a/src/insets/RenderPreview.h b/src/insets/RenderPreview.h index e9e3cb10c2..2f83aff5dc 100644 --- a/src/insets/RenderPreview.h +++ b/src/insets/RenderPreview.h @@ -20,20 +20,16 @@ #include "support/docstring.h" #include "support/FileMonitor.h" +#include "support/FileName.h" +#include "support/signals.h" -#include -#include -#include namespace lyx { class Buffer; -class LyXRC_PreviewStatus; class MetricsInfo; class PainterInfo; -namespace support { class FileName; } - namespace graphics { class PreviewImage; @@ -42,7 +38,7 @@ class PreviewLoader; } // namespace graphics -class RenderPreview : public RenderBase, public boost::signals::trackable { +class RenderPreview : public RenderBase { public: /// Return true if preview is enabled in text (from LyXRC::preview) static bool previewText(); @@ -51,7 +47,6 @@ public: RenderPreview(Inset const *); RenderPreview(RenderPreview const &, Inset const *); - ~RenderPreview(); RenderBase * clone(Inset const *) const; /// Compute the size of the object, returned in dim @@ -74,11 +69,6 @@ public: graphics::PreviewLoader & ploader, bool ignore_lyxrc = false); - /// Record math macro definitions added to the preview loader - void addMacroDef(docstring const & latex_snippet, Buffer const & buffer); - /// Has a math macro definition already been added to the preview loader? - bool hasMacroDef(docstring const & latex_snippet, Buffer const & buffer); - /// Begin the loading process. /// \param forexport : whether this is intended for export. if so, /// then we ignore LyXRC and wait for the image to be generated. @@ -111,7 +101,7 @@ private: /** Store the connection to the preview loader so that we connect * only once. */ - boost::signals::connection ploader_connection_; + signals2::scoped_connection ploader_connection_; /// Inform the core that the inset has changed. Inset const * parent_; @@ -126,22 +116,30 @@ public: /// void setAbsFile(support::FileName const & file); /// - bool monitoring() const { return monitor_.monitoring(); } - void startMonitoring() const { monitor_.start(); } - void stopMonitoring() const { monitor_.stop(); } + bool monitoring() const; + void startMonitoring() const; + void stopMonitoring() const; /// Connect and you'll be informed when the file changes. - typedef support::FileMonitor::slot_type slot_type; - boost::signals::connection fileChanged(slot_type const &); + /// Do not forget to track objects used by the slot. + typedef signals2::signal sig; + typedef sig::slot_type slot; + signals2::connection connect(slot const & slot); /// equivalent to dynamic_cast virtual RenderMonitoredPreview * asMonitoredPreview() { return this; } private: + /// This signal is emitted if the file is modified + sig changed_; + /// + mutable support::ActiveFileMonitorPtr monitor_; /// - mutable support::FileMonitor monitor_; + support::FileName filename_; }; + + } // namespace lyx #endif // RENDERPREVIEW_H