+
+
+dispatch_result InsetExternal::localDispatch(FuncRequest const & cmd)
+{
+ dispatch_result result = UNDISPATCHED;
+
+ switch (cmd.action) {
+ case LFUN_INSET_MODIFY: {
+ InsetExternal::Params p;
+ InsetExternalMailer::string2params(cmd.argument, p);
+ if (p.filename.empty())
+ break;
+
+ setFromParams(p);
+ cmd.view()->updateInset(this);
+ result = DISPATCHED;
+ }
+ break;
+
+ case LFUN_INSET_DIALOG_UPDATE: {
+ InsetExternalMailer mailer(*this);
+ mailer.updateDialog(cmd.view());
+ }
+ break;
+
+ case LFUN_MOUSE_RELEASE:
+ edit(cmd.view(), cmd.x, cmd.y, cmd.button());
+ break;
+
+ default:
+ break;
+ }
+
+ return result;
+}
+
+