]> git.lyx.org Git - lyx.git/blobdiff - src/LyXFunc.cpp
Fix http://bugzilla.lyx.org/show_bug.cgi?id=4607
[lyx.git] / src / LyXFunc.cpp
index 7bbeba7aef521276c6e4fc9aa6e244291ee83f6f..88cd8c4a15bfc28000da8f803b1c41efc9a8d230 100644 (file)
@@ -453,6 +453,20 @@ FuncStatus LyXFunc::getStatus(FuncRequest const & cmd) const
                        enable = false;
                break;
 
+       // FIXME optimally this should be in Text::getStatus. In such a case the flags
+       // are not passed when using context menu. This way it works.
+       case LFUN_SET_GRAPHICS_GROUP: {
+               if (!view())
+                       break;
+               InsetGraphics * ins = InsetGraphics::getCurrentGraphicsInset(view()->cursor());
+               if (!ins)
+                       break;
+               if (!cmd.argument().empty())
+                       flag.setOnOff(to_utf8(cmd.argument()) == ins->getParams().groupId);
+               enable = true;
+               break;
+       }
+
        case LFUN_TOOLBAR_TOGGLE:
        case LFUN_INSET_APPLY:
        case LFUN_BUFFER_WRITE:
@@ -1465,7 +1479,8 @@ void LyXFunc::dispatch(FuncRequest const & cmd)
 
                case LFUN_GRAPHICS_GROUPS_UNIFY: {
                        LASSERT(lyx_view_, /**/);
-                       if (argument.empty() || !lyx_view_->buffer()) break;
+                       if (argument.empty() || !lyx_view_->buffer())
+                               break;
                        //view()->cursor().recordUndoFullDocument(); let inset-apply do that job
                        InsetGraphics::unifyGraphicsGroups(*lyx_view_->buffer(), argument);
                        lyx_view_->buffer()->markDirty();