From fd2a6bb3da7a0ed2fa71bfe865a1ea0689d58222 Mon Sep 17 00:00:00 2001 From: Stephan Witt Date: Mon, 5 Sep 2011 18:41:39 +0000 Subject: [PATCH] #7740 Add undo for change of text language with LFUN_BUFFER_LANGUAGE 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 | 12 ------------ src/BufferView.cpp | 13 +++++++++++++ status.20x | 3 +++ 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/Buffer.cpp b/src/Buffer.cpp index c6a819afce..8849c7b3d0 100644 --- a/src/Buffer.cpp +++ b/src/Buffer.cpp @@ -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; diff --git a/src/BufferView.cpp b/src/BufferView.cpp index 9ec1e7d4b3..1c5d61f1ec 100644 --- a/src/BufferView.cpp +++ b/src/BufferView.cpp @@ -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); diff --git a/status.20x b/status.20x index d4df24596b..e28259c211 100644 --- a/status.20x +++ b/status.20x @@ -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 -- 2.39.5