| 226 | } |
| 227 | |
| 228 | script::Value open(const std::string& fn) { |
| 229 | if (fn.empty()) |
| 230 | return {}; |
| 231 | auto oldDoc = static_cast<doc::Document*>(UIContext::instance()->activeDocument()); |
| 232 | Command* openCommand = CommandsModule::instance()->getCommandByName(CommandId::OpenFile); |
| 233 | Params params; |
| 234 | params.set("filename", fn.c_str()); |
| 235 | UIContext::instance()->executeCommand(openCommand, params); |
| 236 | auto newDoc = static_cast<doc::Document*>(UIContext::instance()->activeDocument()); |
| 237 | if (newDoc == oldDoc) |
| 238 | return {}; |
| 239 | return getEngine()->getScriptObject(newDoc); |
| 240 | } |
| 241 | |
| 242 | bool launch(const std::string& cmd) { |
| 243 | return base::launcher::open_file(cmd); |
no test coverage detected