]> git.lyx.org Git - features.git/commitdiff
#7740 Add undo for change of text language with LFUN_BUFFER_LANGUAGE
authorStephan Witt <switt@lyx.org>
Mon, 5 Sep 2011 18:41:39 +0000 (18:41 +0000)
committerStephan Witt <switt@lyx.org>
Mon, 5 Sep 2011 18:41:39 +0000 (18:41 +0000)
When a document is not multi-lingual the text contents is changed
to the new language. This should be recorded for Undo.
Because Undo wants a cursor the implemantation has to be
moved to the BufferView class.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@39594 a592a061-630c-0410-9148-cb99ea01b6c8

src/Buffer.cpp
src/BufferView.cpp
status.20x

index c6a819afcec95e609b2b089540cb608061577d63..8849c7b3d0483921cd5a013738c0cdd36c619fe4 100644 (file)
@@ -2212,18 +2212,6 @@ void Buffer::dispatch(FuncRequest const & func, DispatchResult & dr)
                break;
        }
 
-       case LFUN_BUFFER_LANGUAGE: {
-               Language const * oldL = params().language;
-               Language const * newL = languages.getLanguage(argument);
-               if (!newL || oldL == newL)
-                       break;
-               if (oldL->rightToLeft() == newL->rightToLeft() && !isMultiLingual()) {
-                       changeLanguage(oldL, newL);
-                       dr.forceBufferUpdate();
-               }
-               break;
-       }
-
        default:
                dispatched = false;
                break;
index 9ec1e7d4b3443e5b5823acf8457ff61012a24725..1c5d61f1ecb7bbccdb38eb984dce21ec270f470c 100644 (file)
@@ -1884,6 +1884,19 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
                break;
        }
 
+       case LFUN_BUFFER_LANGUAGE: {
+               Language const * oldL = buffer_.params().language;
+               Language const * newL = languages.getLanguage(argument);
+               if (!newL || oldL == newL)
+                       break;
+               if (oldL->rightToLeft() == newL->rightToLeft() && !buffer_.isMultiLingual()) {
+                       cur.recordUndoFullDocument();
+                       buffer_.changeLanguage(oldL, newL);
+                       dr.forceBufferUpdate();
+               }
+               break;
+       }
+
        default:
                // OK, so try the Buffer itself...
                buffer_.dispatch(cmd, dr);
index d4df24596b5be2eebdd5c706d4edff31351714ce..e28259c21107c1a636a436f3f83f28b6e64aa115 100644 (file)
@@ -49,6 +49,9 @@ What's new
 
 - Group correctly Koma Book environments inside environment combo-box listing.
 
+- Add undo for change of text language when document language is changed.
+  When a document is not multi-lingual the text contents is changed to the
+  new language. This should be recorded for Undo (bug 7740).
 
 * ADVANCED FIND AND REPLACE