[prev in list] [next in list] [prev in thread] [next in thread] 

List:       koffice
Subject:    [Patch] kpresenter copy & paste or load grouped objects
From:       Thorsten Zachmann <t.zachmann () zagge ! de>
Date:       2002-03-21 7:26:03
[Download RAW message or body]

Hello all

The gouped objects in kpresenter are not placed properly when you copy &
paste them or when they are loaded.
The folloing patch solves this problem. Please tell me what you thing
about it. If it is ok I can commit it. 

Thorsten

Index: kpgroupobject.cc
===================================================================
RCS file: /home/kde/koffice/kpresenter/kpgroupobject.cc,v
retrieving revision 1.35
diff -u -3 -p -r1.35 kpgroupobject.cc
--- kpgroupobject.cc	2002/03/04 14:17:36	1.35
+++ kpgroupobject.cc	2002/03/21 06:58:46
@@ -178,75 +178,90 @@ double KPGroupObject::load(const QDomEle
             if(current.tagName()=="OBJECT") {
                 if(current.hasAttribute("type"))
                    
t=static_cast<ObjType>(current.attribute("type").toInt());
+                double objOffset;
                 switch ( t ) {
                     case OT_LINE: {
                         KPLineObject *kplineobject = new
KPLineObject();
-                        kplineobject->load(current);
+                        objOffset = kplineobject->load(current);
+                       
kplineobject->setOrig(kplineobject->getOrig().x(),objOffset);
                         objects.append( kplineobject );
                     } break;
                     case OT_RECT: {
                         KPRectObject *kprectobject = new
KPRectObject();
-                        kprectobject->load(current);
+                        objOffset = kprectobject->load(current);
+                       
kprectobject->setOrig(kprectobject->getOrig().x(),objOffset);
                         objects.append( kprectobject );
                     } break;
                     case OT_ELLIPSE: {
                         KPEllipseObject *kpellipseobject = new
KPEllipseObject();
-                        kpellipseobject->load(current);
+                        objOffset = kpellipseobject->load(current);
+                       
kpellipseobject->setOrig(kpellipseobject->getOrig().x(),objOffset);
                         objects.append( kpellipseobject );
                     } break;
                     case OT_PIE: {
                         KPPieObject *kppieobject = new KPPieObject();
-                        kppieobject->load(current);
+                        objOffset = kppieobject->load(current);
+                       
kppieobject->setOrig(kppieobject->getOrig().x(),objOffset);
                         objects.append( kppieobject );
                     } break;
                     case OT_AUTOFORM: {
                         KPAutoformObject *kpautoformobject = new
KPAutoformObject();
-                        kpautoformobject->load(current);
+                        objOffset = kpautoformobject->load(current);
+                       
kpautoformobject->setOrig(kpautoformobject->getOrig().x(),objOffset);
                         objects.append( kpautoformobject );
                     } break;
                     case OT_CLIPART: {
                         KPClipartObject *kpclipartobject = new
KPClipartObject( doc->getClipartCollection() );
-                        kpclipartobject->load(current);
+                        objOffset = kpclipartobject->load(current);
+                       
kpclipartobject->setOrig(kpclipartobject->getOrig().x(),objOffset);
                         objects.append( kpclipartobject );
                     } break;
                     case OT_TEXT: {
                         KPTextObject *kptextobject = new KPTextObject(
doc );
-                        kptextobject->load(current);
+                        objOffset = kptextobject->load(current);
+                       
kptextobject->setOrig(kptextobject->getOrig().x(),objOffset);
                         objects.append( kptextobject );
                     } break;
                     case OT_PICTURE: {
                         KPPixmapObject *kppixmapobject = new
KPPixmapObject( doc->getImageCollection() );
-                        kppixmapobject->load(current);
+                        objOffset = kppixmapobject->load(current);
+                       
kppixmapobject->setOrig(kppixmapobject->getOrig().x(),objOffset);
                         objects.append( kppixmapobject );
                     } break;
                     case OT_FREEHAND: {
                         KPFreehandObject *kpfreehandobject = new
KPFreehandObject();
-                        kpfreehandobject->load( current );
+                        objOffset = kpfreehandobject->load( current );
+                       
kpfreehandobject->setOrig(kpfreehandobject->getOrig().x(),objOffset);
                         objects.append( kpfreehandobject );
                     } break;
                     case OT_POLYLINE: {
                         KPPolylineObject *kppolylineobject = new
KPPolylineObject();
-                        kppolylineobject->load( current );
+                        objOffset = kppolylineobject->load( current );
+                       
kppolylineobject->setOrig(kppolylineobject->getOrig().x(),objOffset);
                         objects.append( kppolylineobject );
                     } break;
                     case OT_QUADRICBEZIERCURVE: {
                         KPQuadricBezierCurveObject
*kpQuadricBezierCurveObject = new KPQuadricBezierCurveObject();
-                        kpQuadricBezierCurveObject->load( current );
+                        objOffset = kpQuadricBezierCurveObject->load(
current );
+                       
kpQuadricBezierCurveObject->setOrig(kpQuadricBezierCurveObject->getOrig().x(),objOffset);
                         objects.append( kpQuadricBezierCurveObject );
                     } break;
                     case OT_CUBICBEZIERCURVE: {
                         KPCubicBezierCurveObject
*kpCubicBezierCurveObject = new KPCubicBezierCurveObject();
-                        kpCubicBezierCurveObject->load( current );
+                        objOffset = kpCubicBezierCurveObject->load(
current );
+                       
kpCubicBezierCurveObject->setOrig(kpCubicBezierCurveObject->getOrig().x(),objOffset);
                         objects.append( kpCubicBezierCurveObject );
                     } break;
                     case OT_POLYGON: {
                         KPPolygonObject *kpPolygonObject = new
KPPolygonObject();
-                        kpPolygonObject->load( current );
+                        objOffset = kpPolygonObject->load( current );
+                       
kpPolygonObject->setOrig(kpPolygonObject->getOrig().x(),objOffset);
                         objects.append( kpPolygonObject );
                     } break;
                     case OT_GROUP: {
                         KPGroupObject *kpgroupobject = new
KPGroupObject();
-                        kpgroupobject->load(current, doc);
+                        objOffset = kpgroupobject->load(current, doc);
+                       
kpgroupobject->setOrig(kpgroupobject->getOrig().x(),objOffset);
                         objects.append( kpgroupobject );
                     } break;
                     default: break;
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic