]> git.lyx.org Git - features.git/commitdiff
Do nothing if converting to the same type of Note
authorScott Kostyshak <skostysh@lyx.org>
Thu, 13 Nov 2014 01:31:38 +0000 (20:31 -0500)
committerScott Kostyshak <skostysh@lyx.org>
Tue, 18 Nov 2014 00:47:37 +0000 (19:47 -0500)
The advantage is that the buffer will no longer be
marked as dirty when converting to the same type.

A quick break here is done instead of disabling the
LFUN because disabling the LFUN would lead to a greyed out
entry, which might confuse users. In the future, we might
want to have a radio button for switching between notes.

src/insets/InsetNote.cpp

index 6bb294de3d98b78d6f423b507b304732a5f19279..37055027862167ce14776f1b327c751b17d2dcce 100644 (file)
@@ -149,7 +149,18 @@ void InsetNote::doDispatch(Cursor & cur, FuncRequest & cmd)
 {
        switch (cmd.action()) {
 
-       case LFUN_INSET_MODIFY:
+       case LFUN_INSET_MODIFY: {
+               // Do not do anything if converting to the same type of Note.
+               // A quick break here is done instead of disabling the LFUN
+               // because disabling the LFUN would lead to a greyed out
+               // entry, which might confuse users.
+               // In the future, we might want to have a radio button for
+               // switching between notes.
+               InsetNoteParams params;
+               string2params(to_utf8(cmd.argument()), params);
+               if (params_.type == params.type)
+                 break;
+
                cur.recordUndoInset(ATOMIC_UNDO, this);
                string2params(to_utf8(cmd.argument()), params_);
                setButtonLabel();
@@ -157,6 +168,7 @@ void InsetNote::doDispatch(Cursor & cur, FuncRequest & cmd)
                // a full buffer update
                cur.forceBufferUpdate();
                break;
+       }
 
        case LFUN_INSET_DIALOG_UPDATE:
                cur.bv().updateDialog("note", params2string(params()));