X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetGraphicsParams.cpp;h=f4cd119f6e34ffd762e24c1bf3b8ce52d8a2ced4;hb=a25569ebb3e739779ff458b287e403c3bf79777a;hp=596f738503f8563f9fad31ac4877e6fe67b4204b;hpb=e1ce2f92db49d50c688414a32944be8e718faa2e;p=lyx.git diff --git a/src/insets/InsetGraphicsParams.cpp b/src/insets/InsetGraphicsParams.cpp index 596f738503..f4cd119f6e 100644 --- a/src/insets/InsetGraphicsParams.cpp +++ b/src/insets/InsetGraphicsParams.cpp @@ -4,7 +4,7 @@ * Licence details can be found in the file COPYING. * * \author Baruch Even - * \author Herbert Voß + * \author Herbert Voß * * Full author contact details are available in file CREDITS. */ @@ -13,31 +13,27 @@ #include "InsetGraphicsParams.h" -#include "debug.h" +#include "Buffer.h" #include "LyX.h" // for use_gui #include "Lexer.h" #include "LyXRC.h" -#include "Buffer.h" +#include "graphics/epstools.h" #include "graphics/GraphicsParams.h" #include "graphics/GraphicsTypes.h" #include "support/convert.h" -#include "support/filetools.h" +#include "support/debug.h" #include "support/lyxlib.h" #include "support/lstrings.h" #include "support/Translator.h" +#include -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 == ¶ms) - return *this; + return; copy(params); - return *this; } @@ -70,7 +64,7 @@ void InsetGraphicsParams::init() { filename.erase(); lyxscale = 100; // lyx scaling in percentage - display = graphics::DefaultDisplay; // display mode; see preferences + display = true; // may be overriden by display mode in preferences scale = string("100"); // output scaling in percentage width = Length(); height = Length(); @@ -84,9 +78,8 @@ void InsetGraphicsParams::init() rotateAngle = "0"; // angle of rotation in degrees rotateOrigin.erase(); // Origin of rotation - subcaption = false; // subfigure - subcaptionText.erase(); // subfigure caption special.erase(); // additional userdefined stuff + groupId.clear(); } @@ -108,9 +101,8 @@ void InsetGraphicsParams::copy(InsetGraphicsParams const & igp) rotateAngle = igp.rotateAngle; rotateOrigin = igp.rotateOrigin; - subcaption = igp.subcaption; - subcaptionText = igp.subcaptionText; special = igp.special; + groupId = igp.groupId; } @@ -133,9 +125,8 @@ bool operator==(InsetGraphicsParams const & left, left.rotateAngle == right.rotateAngle && left.rotateOrigin == right.rotateOrigin && - left.subcaption == right.subcaption && - left.subcaptionText == right.subcaptionText && - left.special == right.special; + left.special == right.special && + left.groupId == right.groupId; } @@ -149,15 +140,12 @@ bool operator!=(InsetGraphicsParams const & left, 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'; - } + if (!filename.empty()) + os << "\tfilename " << filename.outputFileName(buffer.filePath()) << '\n'; if (lyxscale != 100) os << "\tlyxscale " << lyxscale << '\n'; - if (display != graphics::DefaultDisplay) - os << "\tdisplay " << graphics::displayTranslator().find(display) << '\n'; + if (!display) + os << "\tdisplay false\n"; if (!scale.empty() && !float_equal(convert(scale), 0.0, 0.05)) { if (!float_equal(convert(scale), 100.0, 0.05)) os << "\tscale " << scale << '\n'; @@ -187,12 +175,10 @@ void InsetGraphicsParams::Write(ostream & os, Buffer const & buffer) const os << "\trotateAngle " << rotateAngle << '\n'; if (!rotateOrigin.empty()) os << "\trotateOrigin " << rotateOrigin << '\n'; - if (subcaption) - os << "\tsubcaption\n"; - if (!subcaptionText.empty()) - os << "\tsubcaptionText \"" << subcaptionText << '\"' << '\n'; if (!special.empty()) os << "\tspecial " << special << '\n'; + if (!groupId.empty()) + os << "\tgroupId "<< groupId << '\n'; } @@ -201,19 +187,13 @@ bool InsetGraphicsParams::Read(Lexer & lex, string const & token, string const & if (token == "filename") { lex.eatLine(); filename.set(lex.getString(), bufpath); - } else if (token == "inzipName") { - lex.eatLine(); - filename.setInzipName(lex.getString()); - } else if (token == "embed") { - lex.next(); - filename.setEmbed(lex.getBool()); } else if (token == "lyxscale") { lex.next(); lyxscale = lex.getInteger(); } else if (token == "display") { lex.next(); string const type = lex.getString(); - display = graphics::displayTranslator().find(type); + display = lex.getString() != "false"; } else if (token == "scale") { lex.next(); scale = lex.getString(); @@ -249,16 +229,12 @@ bool InsetGraphicsParams::Read(Lexer & lex, string const & token, string const & } else if (token == "rotateOrigin") { lex.next(); rotateOrigin=lex.getString(); - } else if (token == "subcaption") { - subcaption = true; - } else if (token == "subcaptionText") { - lex.eatLine(); - string sub = lex.getString(); - // strip surrounding " " - subcaptionText = sub.substr(1, sub.length() - 2); } else if (token == "special") { lex.eatLine(); special = lex.getString(); + } else if (token == "groupId") { + lex.eatLine(); + groupId = lex.getString(); // catch and ignore following two old-format tokens and their arguments. // e.g. "size_kind scale" clashes with the setting of the @@ -286,12 +262,11 @@ graphics::Params InsetGraphicsParams::as_grfxParams() const pars.bb = bb; // Get the original Bounding Box from the file - string const tmp = readBB_from_PSFile(filename); + string const tmp = graphics::readBB_from_PSFile(filename); 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(token(tmp, ' ', 0)); - unsigned int const bb_orig_yb = convert(token(tmp, ' ', 1)); + unsigned int const bb_orig_xl = convert(token(tmp, ' ', 0)); + unsigned int const bb_orig_yb = convert(token(tmp, ' ', 1)); // new pars.bb values must be >= zero if (pars.bb.xl > bb_orig_xl) @@ -327,15 +302,11 @@ graphics::Params InsetGraphicsParams::as_grfxParams() const } } - if (display == graphics::DefaultDisplay) { - pars.display = graphics::DisplayType(lyxrc.display_graphics); - } else { - pars.display = display; - } + pars.display = display; // Override the above if we're not using a gui if (!use_gui) - pars.display = graphics::NoDisplay; + pars.display = false; return pars; }