]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetCommand.cpp
Cosmetics.
[lyx.git] / src / insets / InsetCommand.cpp
index 7a51624adfd937982eee78868318f2bea155985a..c1fa7b6f06dec976503e20745de174fa11d9a0df 100644 (file)
@@ -35,8 +35,7 @@ InsetCommand::InsetCommand(InsetCommandParams const & p,
                           string const & mailer_name)
        : p_(p),
          mailer_name_(mailer_name),
-         mouse_hover_(false),
-         updateButtonLabel_(true)
+         mouse_hover_(false)
 {}
 
 
@@ -49,10 +48,7 @@ InsetCommand::~InsetCommand()
 
 void InsetCommand::metrics(MetricsInfo & mi, Dimension & dim) const
 {
-       if (updateButtonLabel_) {
-               updateButtonLabel_ = false;
-               button_.update(screenLabel(), editable() != NOT_EDITABLE);
-       }
+       button_.update(screenLabel(), editable() != NOT_EDITABLE);
        button_.metrics(mi, dim);
 }
 
@@ -74,7 +70,7 @@ void InsetCommand::draw(PainterInfo & pi, int x, int y) const
 void InsetCommand::setParams(InsetCommandParams const & p)
 {
        p_ = p;
-       updateButtonLabel_ = true;
+       initView();
 }
 
 
@@ -103,10 +99,6 @@ int InsetCommand::docbook(odocstream &, OutputParams const &) const
 void InsetCommand::doDispatch(Cursor & cur, FuncRequest & cmd)
 {
        switch (cmd.action) {
-       case LFUN_INSET_REFRESH:
-               updateButtonLabel_ = true;
-               break;
-
        case LFUN_INSET_MODIFY: {
                InsetCommandParams p(p_.code());
                InsetCommandMailer::string2params(mailer_name_, to_utf8(cmd.argument()), p);
@@ -124,7 +116,7 @@ void InsetCommand::doDispatch(Cursor & cur, FuncRequest & cmd)
        }
 
        case LFUN_MOUSE_RELEASE: {
-               if (!cur.selection())
+               if (!cur.selection() && cmd.button() != mouse_button::button3)
                        edit(cur, true);
                break;
        }
@@ -146,7 +138,6 @@ bool InsetCommand::getStatus(Cursor & cur, FuncRequest const & cmd,
                status.enabled(false);
                return true;
        // we handle these
-       case LFUN_INSET_REFRESH:
        case LFUN_INSET_MODIFY:
        case LFUN_INSET_DIALOG_UPDATE:
                status.enabled(true);
@@ -157,6 +148,12 @@ bool InsetCommand::getStatus(Cursor & cur, FuncRequest const & cmd,
 }
 
 
+docstring InsetCommand::contextMenu(BufferView const &, int, int) const
+{
+       return from_ascii("context-") + from_ascii(mailer_name_);
+}
+
+
 void InsetCommand::edit(Cursor & cur, bool, EntryDirection)
 {
        if (!mailer_name_.empty())