--------------Boundary-00=_7SDE2FA4Z32UZ10YD67G Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8bit (Sorry if it's a duplicate work) This patch fixes bug #39525 in KSpread (change angle not fully undoable). Please review. --------------Boundary-00=_7SDE2FA4Z32UZ10YD67G Content-Type: text/x-diff; charset="us-ascii"; name="changeangle.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="changeangle.patch" Index: kspread_table.cc =================================================================== RCS file: /home/kde/koffice/kspread/kspread_table.cc,v retrieving revision 1.453 diff -u -3 -p -r1.453 kspread_table.cc --- kspread_table.cc 2002/08/18 06:54:57 1.453 +++ kspread_table.cc 2002/08/25 12:29:44 @@ -1299,6 +1299,10 @@ struct SetSelectionAngleWorker : public SetSelectionAngleWorker( int value ) : _value( value ) { } QString getUndoTitle() { return i18n("Change Angle"); } + KSpreadUndoAction* createUndoAction( KSpreadDoc* doc, KSpreadTable* table, QRect& r ){ + return new KSpreadUndoChangeAngle( doc, table, r ); + } + bool testCondition( RowLayout* rw ) { return ( rw->hasProperty( KSpreadCell::PAngle ) ); } Index: kspread_table.h =================================================================== RCS file: /home/kde/koffice/kspread/kspread_table.h,v retrieving revision 1.223 diff -u -3 -p -r1.223 kspread_table.h --- kspread_table.h 2002/07/31 05:33:17 1.223 +++ kspread_table.h 2002/08/25 12:29:48 @@ -480,7 +480,7 @@ public: const QString &_comment); void setSelectionRemoveComment(KSpreadSelection* selectionInfo); - void setSelectionAngle(KSpreadSelection* selectionInfo, int _value); + void setSelectionAngle(KSpreadSelection* selectionInfo, int _value ); void setSelectionTextColor( KSpreadSelection* selectionInfo, const QColor &tbColor ); Index: kspread_undo.cc =================================================================== RCS file: /home/kde/koffice/kspread/kspread_undo.cc,v retrieving revision 1.87 diff -u -3 -p -r1.87 kspread_undo.cc --- kspread_undo.cc 2002/07/28 09:43:38 1.87 +++ kspread_undo.cc 2002/08/25 12:29:49 @@ -1165,6 +1165,40 @@ void KSpreadUndoCellLayout::redo() /**************************************************************************** * + * KSpreadUndoChangeAngle + * + ***************************************************************************/ + +KSpreadUndoChangeAngle::KSpreadUndoChangeAngle( KSpreadDoc * _doc, + KSpreadTable * _table, + const QRect & _selection ) : + KSpreadUndoAction( _doc ) +{ + name = i18n("Change Angle"); + m_layoutUndo = new KSpreadUndoCellLayout( _doc, _table, _selection, QString::null ); + m_resizeUndo = new KSpreadUndoResizeColRow( _doc, _table, _selection ); +} + +KSpreadUndoChangeAngle::~KSpreadUndoChangeAngle() +{ + delete m_resizeUndo; + delete m_layoutUndo; +} + +void KSpreadUndoChangeAngle::undo() +{ + m_layoutUndo->undo(); + m_resizeUndo->undo(); +} + +void KSpreadUndoChangeAngle::redo() +{ + m_layoutUndo->redo(); + m_resizeUndo->redo(); +} + +/**************************************************************************** + * * KSpreadUndoSort * ***************************************************************************/ Index: kspread_undo.h =================================================================== RCS file: /home/kde/koffice/kspread/kspread_undo.h,v retrieving revision 1.47 diff -u -3 -p -r1.47 kspread_undo.h --- kspread_undo.h 2002/07/29 06:59:38 1.47 +++ kspread_undo.h 2002/08/25 12:29:50 @@ -348,6 +348,24 @@ protected: QString m_tableName; }; +class KSpreadUndoResizeColRow; + +class KSpreadUndoChangeAngle : public KSpreadUndoAction +{ +public: + KSpreadUndoChangeAngle( KSpreadDoc *_doc, KSpreadTable *_table, const QRect &_selection ); + virtual ~KSpreadUndoChangeAngle(); + + virtual void undo(); + virtual void redo(); + +protected: + + KSpreadUndoCellLayout* m_layoutUndo; + KSpreadUndoResizeColRow* m_resizeUndo; + +}; + class KSpreadUndoDelete : public KSpreadUndoAction { public: --------------Boundary-00=_7SDE2FA4Z32UZ10YD67G-- _______________________________________________ koffice-devel mailing list koffice-devel@mail.kde.org http://mail.kde.org/mailman/listinfo/koffice-devel