]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetGraphicsParams.cpp
This should be the last of the commits refactoring the InsetLayout code.
[lyx.git] / src / insets / InsetGraphicsParams.cpp
index c9a01e5ca420d8653b2173a537633aa07d42af61..c7419b39eaeae8f77d04c0c342c8feadab7e013c 100644 (file)
@@ -13,7 +13,6 @@
 
 #include "InsetGraphicsParams.h"
 
-#include "debug.h"
 #include "LyX.h" // for use_gui
 #include "Lexer.h"
 #include "LyXRC.h"
 #include "graphics/GraphicsTypes.h"
 
 #include "support/convert.h"
+#include "support/debug.h"
 #include "support/filetools.h"
 #include "support/lyxlib.h"
 #include "support/lstrings.h"
 #include "support/Translator.h"
 
+#include <ostream>
 
-namespace lyx {
-
-using support::float_equal;
-using support::readBB_from_PSFile;
-using support::token;
-using support::DocFileName;
+using namespace std;
+using namespace lyx::support;
 
-using std::string;
-using std::ostream;
+namespace lyx {
 
 
 InsetGraphicsParams::InsetGraphicsParams()
@@ -55,14 +51,12 @@ InsetGraphicsParams::InsetGraphicsParams(InsetGraphicsParams const & igp)
 }
 
 
-InsetGraphicsParams &
-InsetGraphicsParams::operator=(InsetGraphicsParams const & params)
+void InsetGraphicsParams::operator=(InsetGraphicsParams const & params)
 {
        // Are we assigning the object into itself?
        if (this == &params)
-               return *this;
+               return;
        copy(params);
-       return *this;
 }
 
 
@@ -151,8 +145,7 @@ void InsetGraphicsParams::Write(ostream & os, Buffer const & buffer) const
        // Do not write the default values
        if (!filename.empty()) {
                os << "\tfilename " << filename.outputFilename(buffer.filePath()) << '\n';
-               os << "\tinzipName " << filename.inzipName() << '\n';
-               os << "\tembed " << (filename.embedded() ? "true" : "false") << '\n';
+               os << "\tembed " << (filename.embedded() ? filename.inzipName() : "\"\"") << '\n';
        }
        if (lyxscale != 100)
                os << "\tlyxscale " << lyxscale << '\n';
@@ -202,11 +195,15 @@ bool InsetGraphicsParams::Read(Lexer & lex, string const & token, string const &
                lex.eatLine();
                filename.set(lex.getString(), bufpath);
        } else if (token == "inzipName") {
+               // this option is currently ignored because only files in
+               // or under current document path is embeddable, and their
+               // inzipName is automatically determined.
                lex.eatLine();
-               filename.setInzipName(lex.getString());
        } else if (token == "embed") {
                lex.next();
-               filename.setEmbed(lex.getBool());               
+               string const name = lex.getString();
+               filename.setInzipName(name);
+               filename.setEmbed(!name.empty());
        } else if (token == "lyxscale") {
                lex.next();
                lyxscale = lex.getInteger();
@@ -278,7 +275,8 @@ bool InsetGraphicsParams::Read(Lexer & lex, string const & token, string const &
 graphics::Params InsetGraphicsParams::as_grfxParams() const
 {
        graphics::Params pars;
-       pars.filename = filename;
+       pars.filename = filename.availableFile();
+       pars.icon = filename.embedded() ? "pin.png" : "";
        pars.scale = lyxscale;
        pars.angle = convert<double>(rotateAngle);
 
@@ -287,7 +285,7 @@ graphics::Params InsetGraphicsParams::as_grfxParams() const
 
                // Get the original Bounding Box from the file
                string const tmp = readBB_from_PSFile(filename);
-               LYXERR(Debug::GRAPHICS) << "BB_from_File: " << tmp << std::endl;
+               LYXERR(Debug::GRAPHICS, "BB_from_File: " << tmp);
                if (!tmp.empty()) {
                        // FIXME: why not convert to unsigned int? (Lgb)
                        unsigned int const bb_orig_xl = convert<int>(token(tmp, ' ', 0));