summaryrefslogtreecommitdiff
path: root/sw/source/uibase/wrtsh
diff options
context:
space:
mode:
authorJustin Luth <justin_luth@sil.org>2015-10-01 10:57:33 +0300
committerCaolán McNamara <caolanm@redhat.com>2015-10-02 10:47:21 +0000
commit329e6f1a033dc45e9d9f7a50e3237bb65618ed3f (patch)
tree1825b1fed90cd335cdfe7bde2ee0349d770631ec /sw/source/uibase/wrtsh
parent39a438dec58f0502a45cccbbc5257ae47e74df68 (diff)
tdf#88128 fix unevaluated undo variable: autocorrect
When replacing a selection with an autocorrect character (like space, *, _) in Writer, the undo/redo remark was "Insert $1" on Linux/Mac. Change-Id: I2e7be035ec1cc107458cc30c14174a22fa31c075 Reviewed-on: https://gerrit.libreoffice.org/19069 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sw/source/uibase/wrtsh')
-rw-r--r--sw/source/uibase/wrtsh/wrtsh1.cxx19
1 files changed, 17 insertions, 2 deletions
diff --git a/sw/source/uibase/wrtsh/wrtsh1.cxx b/sw/source/uibase/wrtsh/wrtsh1.cxx
index 719e23730eff..249321e6b018 100644
--- a/sw/source/uibase/wrtsh/wrtsh1.cxx
+++ b/sw/source/uibase/wrtsh/wrtsh1.cxx
@@ -1588,12 +1588,27 @@ void SwWrtShell::AutoCorrect( SvxAutoCorrect& rACorr, sal_Unicode cChar )
if(CanInsert())
{
bool bStarted = false;
+ SwRewriter aRewriter;
+
if(HasSelection())
{
// Only parenthese here, because the regular insert
// is already clipped to the editshell
StartAllAction();
- StartUndo(UNDO_INSERT);
+
+ OUString aTmpStr1;
+ aTmpStr1 += SW_RES(STR_START_QUOTE);
+ aTmpStr1 += GetSelText();
+ aTmpStr1 += SW_RES(STR_END_QUOTE);
+ OUString aTmpStr3;
+ aTmpStr3 += SW_RES(STR_START_QUOTE);
+ aTmpStr3 += OUString(cChar);
+ aTmpStr3 += SW_RES(STR_END_QUOTE);
+ aRewriter.AddRule( UndoArg1, aTmpStr1 );
+ aRewriter.AddRule( UndoArg2, SW_RES(STR_YIELDS) );
+ aRewriter.AddRule( UndoArg3, aTmpStr3 );
+
+ StartUndo( UNDO_REPLACE, &aRewriter );
bStarted = true;
DelRight();
}
@@ -1602,7 +1617,7 @@ void SwWrtShell::AutoCorrect( SvxAutoCorrect& rACorr, sal_Unicode cChar )
if(bStarted)
{
EndAllAction();
- EndUndo(UNDO_INSERT);
+ EndUndo( UNDO_REPLACE, &aRewriter );
}
}
}