]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetExternal.cpp
This should be the last of the commits refactoring the InsetLayout code.
[lyx.git] / src / insets / InsetExternal.cpp
index 2b5a87e83c3572407ed62618996976a764f06425..102fb5398d0f38a320e900dc9048cecbce50b8a2 100644 (file)
 
 #include "Buffer.h"
 #include "Cursor.h"
-#include "support/debug.h"
 #include "DispatchResult.h"
 #include "Exporter.h"
 #include "FuncStatus.h"
 #include "FuncRequest.h"
-#include "support/gettext.h"
 #include "LaTeXFeatures.h"
 #include "Lexer.h"
+#include "LyX.h" // use_gui
 #include "LyXRC.h"
 #include "MetricsInfo.h"
 #include "OutputParams.h"
 
 #include "graphics/PreviewLoader.h"
 
+#include "support/debug.h"
 #include "support/ExceptionMessage.h"
 #include "support/filetools.h"
+#include "support/gettext.h"
 #include "support/lstrings.h"
 #include "support/lyxlib.h"
 #include "support/convert.h"
@@ -64,8 +65,6 @@ namespace lyx {
 
 namespace Alert = frontend::Alert;
 
-extern bool use_gui;
-
 namespace external {
 
 TempName::TempName()
@@ -189,7 +188,7 @@ void InsetExternalParams::write(Buffer const & buffer, ostream & os) const
 
        if (!filename.empty()) {
                os << "\tfilename " << filename.outputFilename(buffer.filePath()) << '\n';
-               os << "\tembed " << (filename.embedded() ? "true" : "false") << '\n';
+               os << "\tembed " << (filename.embedded() ? filename.inzipName() : "\"\"") << '\n';
        }
        if (display != defaultDisplayType)
                os << "\tdisplay "
@@ -269,9 +268,9 @@ bool InsetExternalParams::read(Buffer const & buffer, Lexer & lex)
                { "clip",            EX_CLIP },
                { "display",         EX_DISPLAY},
                { "draft",           EX_DRAFT},
+               { "embed",           EX_EMBED},
                { "extra",           EX_EXTRA },
                { "filename",        EX_FILENAME},
-               { "embed",           EX_EMBED},
                { "height",          EX_HEIGHT },
                { "keepAspectRatio", EX_KEEPASPECTRATIO },
                { "lyxscale",        EX_LYXSCALE},
@@ -303,7 +302,9 @@ bool InsetExternalParams::read(Buffer const & buffer, Lexer & lex)
                
                case EX_EMBED: {
                        lex.next();
-                       filename.setEmbed(lex.getBool());
+                       string const name = lex.getString();
+                       filename.setInzipName(name);
+                       filename.setEmbed(!name.empty());
                        break;
                }
 
@@ -514,7 +515,7 @@ void InsetExternal::updateEmbeddedFile(Buffer const & buf,
 }
 
 
-void InsetExternal::edit(Cursor & cur, bool)
+void InsetExternal::edit(Cursor & cur, bool, EntryDirection)
 {
        InsetExternalMailer(*this).showDialog(&cur.bv());
 }