2 * \file ControlEmbeddedFiles.cpp
3 * This file is part of LyX, the document processor.
4 * Licence details can be found in the file COPYING.
8 * Full author contact details are available in file CREDITS.
13 #include "ControlEmbeddedFiles.h"
17 #include "FuncRequest.h"
23 #include "frontend_helpers.h"
24 #include "frontends/LyXView.h"
26 #include "support/FileFilterList.h"
27 #include "support/convert.h"
33 using support::FileFilterList;
37 ControlEmbeddedFiles::ControlEmbeddedFiles(Dialog & parent)
38 : Dialog::Controller(parent), embedded_files(NULL)
42 bool ControlEmbeddedFiles::initialiseParams(string const &)
48 void ControlEmbeddedFiles::updateEmbeddedFiles()
50 // copy buffer embeddedFiles to a local copy
51 kernel().buffer().embeddedFiles().update();
52 embedded_files = &kernel().buffer().embeddedFiles();
56 void ControlEmbeddedFiles::dispatchParams()
58 // lyx view will only be updated if we do something to the main window. :-)
59 kernel().dispatch(FuncRequest(LFUN_MESSAGE, message_));
63 void ControlEmbeddedFiles::goTo(EmbeddedFile const & item)
65 int id = item.parID();
67 string const tmp = convert<string>(item.parID());
68 kernel().lyxview().dispatch(FuncRequest(LFUN_PARAGRAPH_GOTO, tmp));
73 void ControlEmbeddedFiles::view(EmbeddedFile const & item)
75 formats.view(kernel().buffer(), item, formats.getFormatFromFile(item));
79 docstring const ControlEmbeddedFiles::browseFile()
81 std::pair<docstring, docstring> dir1(_("Documents|#o#O"),
82 lyx::from_utf8(lyxrc.document_path));
83 FileFilterList const filter(_("All file (*.*)"));
84 return browseRelFile(docstring(), lyx::from_utf8(kernel().bufferFilepath()),
85 _("Select a file to embed"),
90 bool ControlEmbeddedFiles::extract(EmbeddedFile const & item)
92 return item.extract(&kernel().buffer());
96 } // namespace frontend