[prev in list] [next in list] [prev in thread] [next in thread]
List: koffice-devel
Subject: patch to fix bug #39525
From: Ariya Hidayat <ariya () tf ! itb ! ac ! id>
Date: 2002-08-25 11:40:55
[Download RAW message or body]
(Sorry if it's a duplicate work)
This patch fixes bug #39525 in KSpread (change angle not fully undoable).
Please review.
["changeangle.patch" (text/x-diff)]
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:
_______________________________________________
koffice-devel mailing list
koffice-devel@mail.kde.org
http://mail.kde.org/mailman/listinfo/koffice-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic