summaryrefslogtreecommitdiffabout
path: root/korganizer/cellitem.cpp
Unidiff
Diffstat (limited to 'korganizer/cellitem.cpp') (more/less context) (show whitespace changes)
-rw-r--r--korganizer/cellitem.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/korganizer/cellitem.cpp b/korganizer/cellitem.cpp
index 61d06ac..1fd703c 100644
--- a/korganizer/cellitem.cpp
+++ b/korganizer/cellitem.cpp
@@ -14,52 +14,54 @@
14 GNU General Public License for more details. 14 GNU General Public License for more details.
15 15
16 You should have received a copy of the GNU General Public License 16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software 17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19 19
20 As a special exception, permission is given to link this program 20 As a special exception, permission is given to link this program
21 with any edition of Qt, and distribute the resulting executable, 21 with any edition of Qt, and distribute the resulting executable,
22 without including the source code for Qt in the source distribution. 22 without including the source code for Qt in the source distribution.
23*/ 23*/
24 24
25#include "cellitem.h" 25#include "cellitem.h"
26 26
27#include <klocale.h> 27#include <klocale.h>
28#include <kdebug.h> 28#include <kdebug.h>
29 29
30#include <qintdict.h> 30#include <q3intdict.h>
31//Added by qt3to4:
32#include <Q3PtrList>
31 33
32using namespace KOrg; 34using namespace KOrg;
33 35
34QString CellItem::label() const 36QString CellItem::label() const
35{ 37{
36 return i18n("<undefined>"); 38 return i18n("<undefined>");
37} 39}
38 40
39QPtrList<CellItem> CellItem::placeItem( QPtrList<CellItem> cells, 41Q3PtrList<CellItem> CellItem::placeItem( Q3PtrList<CellItem> cells,
40 CellItem *placeItem ) 42 CellItem *placeItem )
41{ 43{
42 kdDebug(5855) << "Placing " << placeItem->label() << endl; 44 kdDebug(5855) << "Placing " << placeItem->label() << endl;
43 45
44 QPtrList<KOrg::CellItem> conflictItems; 46 Q3PtrList<KOrg::CellItem> conflictItems;
45 int maxSubCells = 0; 47 int maxSubCells = 0;
46 QIntDict<KOrg::CellItem> subCellDict; 48 Q3IntDict<KOrg::CellItem> subCellDict;
47 49
48 // Find all items which are in same cell 50 // Find all items which are in same cell
49 QPtrListIterator<KOrg::CellItem> it2( cells ); 51 Q3PtrListIterator<KOrg::CellItem> it2( cells );
50 for( it2.toFirst(); it2.current(); ++it2 ) { 52 for( it2.toFirst(); it2.current(); ++it2 ) {
51 KOrg::CellItem *item = it2.current(); 53 KOrg::CellItem *item = it2.current();
52 if ( item == placeItem ) continue; 54 if ( item == placeItem ) continue;
53 55
54 if ( item->overlaps( placeItem ) ) { 56 if ( item->overlaps( placeItem ) ) {
55 kdDebug(5855) << " Overlaps: " << item->label() << endl; 57 kdDebug(5855) << " Overlaps: " << item->label() << endl;
56 58
57 conflictItems.append( item ); 59 conflictItems.append( item );
58 if ( item->subCells() > maxSubCells ) maxSubCells = item->subCells(); 60 if ( item->subCells() > maxSubCells ) maxSubCells = item->subCells();
59 subCellDict.insert( item->subCell(), item ); 61 subCellDict.insert( item->subCell(), item );
60 } 62 }
61 } 63 }
62 64
63 if ( conflictItems.count() > 0 ) { 65 if ( conflictItems.count() > 0 ) {
64 // Look for unused sub cell and insert item 66 // Look for unused sub cell and insert item
65 int i; 67 int i;
@@ -70,29 +72,29 @@ QPtrList<CellItem> CellItem::placeItem( QPtrList<CellItem> cells,
70 placeItem->setSubCell( i ); 72 placeItem->setSubCell( i );
71 break; 73 break;
72 } 74 }
73 } 75 }
74 if ( i == maxSubCells ) { 76 if ( i == maxSubCells ) {
75 kdDebug(5855) << " New subcell " << i << endl; 77 kdDebug(5855) << " New subcell " << i << endl;
76 placeItem->setSubCell( maxSubCells ); 78 placeItem->setSubCell( maxSubCells );
77 maxSubCells++; // add new item to number of sub cells 79 maxSubCells++; // add new item to number of sub cells
78 } 80 }
79 81
80 kdDebug(5855) << " Sub cells: " << maxSubCells << endl; 82 kdDebug(5855) << " Sub cells: " << maxSubCells << endl;
81 83
82 // Write results to item to be placed 84 // Write results to item to be placed
83 conflictItems.append( placeItem ); 85 conflictItems.append( placeItem );
84 placeItem->setSubCells( maxSubCells ); 86 placeItem->setSubCells( maxSubCells );
85 87
86 QPtrListIterator<KOrg::CellItem> it3( conflictItems ); 88 Q3PtrListIterator<KOrg::CellItem> it3( conflictItems );
87 for( it3.toFirst(); it3.current(); ++it3 ) { 89 for( it3.toFirst(); it3.current(); ++it3 ) {
88 (*it3)->setSubCells( maxSubCells ); 90 (*it3)->setSubCells( maxSubCells );
89 } 91 }
90 // Todo: Adapt subCells of items conflicting with conflicting items 92 // Todo: Adapt subCells of items conflicting with conflicting items
91 } else { 93 } else {
92 kdDebug(5855) << " no conflicts" << endl; 94 kdDebug(5855) << " no conflicts" << endl;
93 placeItem->setSubCell( 0 ); 95 placeItem->setSubCell( 0 );
94 placeItem->setSubCells( 1 ); 96 placeItem->setSubCells( 1 );
95 } 97 }
96 98
97 return conflictItems; 99 return conflictItems;
98} 100}