]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/controllers/ControlGraphics.C
fix crash due to invalidated iterator
[lyx.git] / src / frontends / controllers / ControlGraphics.C
index d7ca70aacfb960394d76ad0766e1b0c691c8a611..f409c02b0e0d2a715eb656e2ec2583a29e882115 100644 (file)
 
 #include "insets/insetgraphics.h"
 
-#include "support/FileInfo.h"
+#include "support/convert.h"
+#include "support/filefilterlist.h"
 #include "support/filetools.h"
-#include "support/globbing.h"
-#include "support/path_defines.h"
-#include "support/tostr.h"
+#include "support/package.h"
 #include "support/types.h"
 
+#include <boost/filesystem/operations.hpp>
+
 using std::make_pair;
 using std::string;
 using std::pair;
 using std::vector;
 
+namespace fs = boost::filesystem;
+
 namespace lyx {
 
 using support::AddName;
 using support::FileFilterList;
-using support::FileInfo;
 using support::IsFileReadable;
 using support::MakeAbsPath;
+using support::package;
 using support::readBB_from_PSFile;
-using support::system_lyxdir;
-using support::user_lyxdir;
 
 namespace frontend {
 
@@ -76,7 +77,7 @@ void ControlGraphics::dispatchParams()
        InsetGraphicsParams tmp_params(params());
        string const lfun =
                InsetGraphicsMailer::params2string(tmp_params, kernel().buffer());
-       kernel().dispatch(FuncRequest(LFUN_INSET_APPLY, lfun));
+       kernel().dispatch(FuncRequest(getLfun(), lfun));
 }
 
 
@@ -85,11 +86,10 @@ string const ControlGraphics::browse(string const & in_name) const
        string const title = _("Select graphics file");
 
        // Does user clipart directory exist?
-       string clipdir = AddName (user_lyxdir(), "clipart");
-       FileInfo fileInfo(clipdir);
-       if (!(fileInfo.isOK() && fileInfo.isDir()))
+       string clipdir = AddName (package().user_support(), "clipart");
+       if (!(fs::exists(clipdir) && fs::is_directory(clipdir)))
                // No - bail out to system clipart directory
-               clipdir = AddName (system_lyxdir(), "clipart");
+               clipdir = AddName (package().system_support(), "clipart");
        pair<string, string> dir1(_("Clipart|#C#c"), clipdir);
        pair<string, string> dir2(_("Documents|#o#O"), string(lyxrc.document_path));
        // Show the file browser dialog
@@ -125,7 +125,7 @@ string const ControlGraphics::readBB(string const & file)
                }
        }
 
-       return ("0 0 " + tostr(width) + ' ' + tostr(height));
+       return ("0 0 " + convert<string>(width) + ' ' + convert<string>(height));
 }