[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