diff -uNr sw.old/inc/swundo.hxx sw.new/inc/swundo.hxx --- sw.old/inc/swundo.hxx 2005-09-09 10:17:42.000000000 +0800 +++ sw.new/inc/swundo.hxx 2008-02-21 15:36:56.332144000 +0800 @@ -87,7 +87,7 @@ UNDO_PASTE_CLIPBOARD, // 40 UNDO_TYPING, // 41 // <- #111827# - UNDO_REPEAT_DUMMY_6, // 42 + UNDO_CHGNUM, // 42 UNDO_REPEAT_DUMMY_7, // 43 UNDO_REPEAT_DUMMY_8, // 44 UNDO_REPEAT_DUMMY_9, // 45 diff -uNr sw.old/inc/undobj.hxx sw.new/inc/undobj.hxx --- sw.old/inc/undobj.hxx 2007-07-26 16:17:44.000000000 +0800 +++ sw.new/inc/undobj.hxx 2008-02-21 15:40:21.256811200 +0800 @@ -1431,7 +1431,7 @@ USHORT nLRSavePos; public: SwUndoInsNum( const SwPaM& rPam, const SwNumRule& rRule ); - SwUndoInsNum( const SwNumRule& rOldRule, const SwNumRule& rNewRule ); + SwUndoInsNum( const SwNumRule& rOldRule, const SwNumRule& rNewRule, USHORT nId = 22 ); SwUndoInsNum( const SwPosition& rPos, const SwNumRule& rRule, const String& rReplaceRule ); virtual ~SwUndoInsNum(); @@ -1446,6 +1446,12 @@ void SetLRSpaceEndPos(); OUT_UNDOBJ( InsNum ) + +private: + SwRewriter mRewriter; +public: + void SetRewriter(const SwRewriter & rRewriter) { mRewriter = rRewriter; } + virtual SwRewriter GetRewriter() const { return mRewriter; } }; class SwUndoDelNum : public SwUndo, private SwUndRng diff -uNr sw.old/source/core/doc/docnum.cxx sw.new/source/core/doc/docnum.cxx --- sw.old/source/core/doc/docnum.cxx 2007-07-26 16:18:48.000000000 +0800 +++ sw.new/source/core/doc/docnum.cxx 2008-02-21 15:41:53.759824000 +0800 @@ -1216,7 +1216,10 @@ if( DoesUndo() && pRule->IsAutoRule() ) { ClearRedo(); - pUndo = new SwUndoInsNum( *pRule, rRule ); + SwRewriter aRewriter; + aRewriter.AddRule(UNDO_ARG1, rRule.GetName()); + pUndo = new SwUndoInsNum( *pRule, rRule, UNDO_CHGNUM ); + pUndo->SetRewriter(aRewriter); pHistory = pUndo->GetHistory(); AppendUndo( pUndo ); } diff -uNr sw.old/source/core/undo/undo.hrc sw.new/source/core/undo/undo.hrc --- sw.old/source/core/undo/undo.hrc 2005-09-09 13:18:54.000000000 +0800 +++ sw.new/source/core/undo/undo.hrc 2008-02-21 15:44:23.885694400 +0800 @@ -81,7 +81,7 @@ #define STR_PASTE_CLIPBOARD_UNDO (UNDO_BASE +40) #define STR_TYPING_UNDO (UNDO_BASE +41) -#define STR_REPEAT_DUMMY_6 (UNDO_BASE +42) +#define STR_CHGNUM (UNDO_BASE +42) #define STR_REPEAT_DUMMY_7 (UNDO_BASE +43) #define STR_REPEAT_DUMMY_8 (UNDO_BASE +44) #define STR_REPEAT_DUMMY_9 (UNDO_BASE +45) diff -uNr sw.old/source/core/undo/undo.src sw.new/source/core/undo/undo.src --- sw.old/source/core/undo/undo.src 2007-04-19 20:45:28.000000000 +0800 +++ sw.new/source/core/undo/undo.src 2008-02-21 15:44:58.225072000 +0800 @@ -655,3 +655,7 @@ { Text[ en-US ] = "paragraph"; }; +String STR_CHGNUM +{ + Text [ en-US ] = "Change numbering style: $1" ; +}; \ No newline at end of file diff -uNr sw.old/source/core/undo/unnum.cxx sw.new/source/core/undo/unnum.cxx --- sw.old/source/core/undo/unnum.cxx 2006-09-17 05:52:32.000000000 +0800 +++ sw.new/source/core/undo/unnum.cxx 2008-02-21 15:45:45.933673600 +0800 @@ -70,8 +70,9 @@ inline SwDoc& SwUndoIter::GetDoc() const { return *pAktPam->GetDoc(); } SwUndoInsNum::SwUndoInsNum( const SwNumRule& rOldRule, - const SwNumRule& rNewRule ) - : SwUndo( UNDO_INSNUM ), + const SwNumRule& rNewRule, + USHORT nId ) + : SwUndo( nId ), aNumRule( rNewRule ), pHistory( 0 ), nLRSavePos( 0 ), nSttSet( ULONG_MAX ), pOldNumRule( new SwNumRule( rOldRule )) {