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

List:       koffice-devel
Subject:    Re: QList::at and so on :}
From:       Toshitaka Fujioka <toshitaka () kde ! gr ! jp>
Date:       2001-06-28 13:27:16
[Download RAW message or body]

On Thursday 28 June 2001 08:32, David Faure wrote:
> On Thursday 28 June 2001 00:43, Toshitaka Fujioka wrote:
> > Thank you for advice. I remade patch.
> > Please review.
>
> -            objectList()->remove( i );
> +            objectList()->remove( kpobject );
>
> Hmm, this is actually slower. Instead of removing the item number i,
> it's going to have to look for kpobject from the scratch !

Ah, I see. Thank you for advice.

> Using a real iterator would be better, because you can remove the item
> directly using it.

I remade patch. Is this OK ?

Thank you.

-- 
Toshitaka Fujioka
http://www.kde.org                The K Desktop Environment Project
                                                    fujioka@kde.org
http://www.kde.gr.jp               Japan KDE User's Group
                                                    toshitaka@kde.gr.jp

-- We offer the best Desktop Environment to you.  (This is my goal. ;-)) --     


["koffice-kpresenter-fix-qlist-20010628.diff" (text/x-diff)]

diff -ur koffice.orig/kpresenter/page.cc koffice/kpresenter/page.cc
--- koffice.orig/kpresenter/page.cc	Thu Jun 28 01:04:03 2001
+++ koffice/kpresenter/page.cc	Thu Jun 28 22:04:37 2001
@@ -109,7 +109,7 @@
         ratio = 0;
         keepRatio = false;
         mouseSelectedObject = false;
-        selectedObjectNumber = -1;
+        selectedObjectPosition = -1;
     } else {
         view = 0;
         hide();
@@ -1296,9 +1296,9 @@
     if(view->kPresenterDoc()->numSelected()==0)
         return;
 
-    if ( !view->kPresenterDoc()->raiseAndLowerObject && selectedObjectNumber != -1 ) \
{ +    if ( !view->kPresenterDoc()->raiseAndLowerObject && selectedObjectPosition != \
-1 ) {  lowerObject();
-        selectedObjectNumber = -1;
+        selectedObjectPosition = -1;
     }
     else
         view->kPresenterDoc()->raiseAndLowerObject = false;
@@ -4368,44 +4368,32 @@
 
 void Page::raiseObject()
 {
-    if ( selectedObjectNumber == -1 ) {
-        KPObject *kpobject = 0;
-        int j = 0;
-        // Examine number of the object which user selected.
-        for ( uint i = 0; i < objectList()->count(); ++i ) {
-            kpobject = objectList()->at( i );
-            if ( kpobject->isSelected() ) {
-                ++j;
-                if ( j > 1 )
-                    break;
-            }
-        }
+    if ( selectedObjectPosition == -1 ) {
+        KPObject *kpobject;
 
-        if ( j == 1 ) { // execute this if user selected is one object.
-            for ( uint i = 0; i < objectList()->count(); ++i ) {
-                kpobject = objectList()->at( i );
+        if ( view->kPresenterDoc()->numSelected() == 1 ) { // execute this if user \
selected is one object. +            for ( kpobject = objectList()->first(); kpobject \
!= 0; kpobject = objectList()->next() ) {  if ( kpobject->isSelected() ) {
-                    objectList()->remove( i );
+                    selectedObjectPosition = objectList()->at();
+                    objectList()->remove( selectedObjectPosition );
                     objectList()->append( kpobject );
-                    selectedObjectNumber = i;
                     break;
                 }
             }
         }
         else
-            selectedObjectNumber = -1;
+            selectedObjectPosition = -1;
     }
 }
 
 void Page::lowerObject()
 {
-    KPObject *kpobject = 0;
+    KPObject *kpobject;
 
-    for ( uint i = 0; i < objectList()->count(); ++i ) {
-        kpobject = objectList()->at( i );
+    for ( kpobject = objectList()->first(); kpobject != 0; kpobject = \
objectList()->next() ) {  if ( kpobject->isSelected() ) {
-            objectList()->remove( i );
-            objectList()->insert( selectedObjectNumber, kpobject );
+            objectList()->remove( objectList()->at() );
+            objectList()->insert( selectedObjectPosition, kpobject );
             break;
         }
     }
diff -ur koffice.orig/kpresenter/page.h koffice/kpresenter/page.h
--- koffice.orig/kpresenter/page.h	Thu Jun 28 01:04:03 2001
+++ koffice/kpresenter/page.h	Thu Jun 28 22:06:57 2001
@@ -270,7 +270,7 @@
 
     void raiseObject();
     void lowerObject();
-    int selectedObjectNumber;
+    int selectedObjectPosition;
 
 public slots:
     void chPic();


_______________________________________________
Koffice-devel mailing list
Koffice-devel@master.kde.org
http://master.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