X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fgraphics%2FGraphicsCacheItem.cpp;h=ea59173eff79bc93588ed18373b7c167965f4a68;hb=338cef2a976d5bf36c334d2cc8ce437da7f6d815;hp=9fab10dbf9c4549363efcf780c10a87234b61f82;hpb=c057d4e7ee7a64954d0be7ddb544e175de6a904e;p=lyx.git diff --git a/src/graphics/GraphicsCacheItem.cpp b/src/graphics/GraphicsCacheItem.cpp index 9fab10dbf9..ea59173eff 100644 --- a/src/graphics/GraphicsCacheItem.cpp +++ b/src/graphics/GraphicsCacheItem.cpp @@ -26,6 +26,7 @@ #include "support/filetools.h" #include "support/FileMonitor.h" #include "support/lassert.h" +#include "support/unique_ptr.h" #include "support/bind.h" #include "support/TempFile.h" @@ -37,7 +38,7 @@ namespace lyx { namespace graphics { -class CacheItem::Impl : public boost::signals::trackable { +class CacheItem::Impl : public boost::signals2::trackable { public: /// @@ -109,18 +110,18 @@ public: bool remove_loaded_file_; /// The image and its loading status. - shared_ptr image_; + std::shared_ptr image_; /// ImageStatus status_; /// This signal is emitted when the image loading status changes. - boost::signal statusChanged; + boost::signals2::signal statusChanged; /// The connection of the signal ConvProcess::finishedConversion, - boost::signals::connection cc_; + boost::signals2::connection cc_; /// - boost::scoped_ptr converter_; + unique_ptr converter_; }; @@ -192,7 +193,7 @@ ImageStatus CacheItem::status() const } -boost::signals::connection CacheItem::connect(slot_type const & slot) const +boost::signals2::connection CacheItem::connect(slot_type const & slot) const { return pimpl_->statusChanged.connect(slot); } @@ -244,7 +245,7 @@ void CacheItem::Impl::reset() if (cc_.connected()) cc_.disconnect(); - if (converter_.get()) + if (converter_) converter_.reset(); } @@ -264,8 +265,8 @@ void CacheItem::Impl::imageConverted(bool success) string const text = success ? "succeeded" : "failed"; LYXERR(Debug::GRAPHICS, "Image conversion " << text << '.'); - file_to_load_ = converter_.get() ? - FileName(converter_->convertedFile()) : FileName(); + file_to_load_ = converter_ ? FileName(converter_->convertedFile()) + : FileName(); converter_.reset(); cc_.disconnect(); @@ -364,9 +365,10 @@ bool CacheItem::Impl::tryDisplayFormat(FileName & filename, string & from) if (zipped_) { string tempname = unzippedFileName(filename_.toFilesystemEncoding()); string const ext = getExtension(tempname); + tempname = changeExtension(tempname, "") + "-XXXXXX"; if (!ext.empty()) - tempname = changeExtension(tempname, ""); - TempFile tempfile(tempname + "-XXXXXX." + ext); + tempname = addExtension(tempname, ext); + TempFile tempfile(tempname); tempfile.setAutoRemove(false); unzipped_filename_ = tempfile.name(); if (unzipped_filename_.empty()) { @@ -436,7 +438,8 @@ void CacheItem::Impl::convertToDisplayFormat() // Connect a signal to this->imageConverted and pass this signal to // the graphics converter so that we can load the modified file // on completion of the conversion process. - converter_.reset(new Converter(filename, to_file_base.absFileName(), from, to_)); + converter_ = make_unique(filename, to_file_base.absFileName(), + from, to_); converter_->connect(bind(&Impl::imageConverted, this, _1)); converter_->startConversion(); }