author | mickeyl <mickeyl> | 2004-08-26 09:49:39 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2004-08-26 09:49:39 (UTC) |
commit | f64f691f57b134a839b4913e9a2f524790916f51 (patch) (unidiff) | |
tree | 4b8f5b6c066e9ad53a033ee16d42c8bb26556121 | |
parent | 98061531d572e3ded13ec7f8a1a6085362eaa50e (diff) | |
download | opie-f64f691f57b134a839b4913e9a2f524790916f51.zip opie-f64f691f57b134a839b4913e9a2f524790916f51.tar.gz opie-f64f691f57b134a839b4913e9a2f524790916f51.tar.bz2 |
fix bogus NOP as pointed out by zecke
-rw-r--r-- | libopie2/opieui/olistview.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libopie2/opieui/olistview.cpp b/libopie2/opieui/olistview.cpp index 0b3bdea..b90c786 100644 --- a/libopie2/opieui/olistview.cpp +++ b/libopie2/opieui/olistview.cpp | |||
@@ -1,764 +1,764 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of the Opie Project | 2 | This file is part of the Opie Project |
3 | =. (C) 2003-2004 Michael 'Mickey' Lauer <mickey@Vanille.de> | 3 | =. (C) 2003-2004 Michael 'Mickey' Lauer <mickey@Vanille.de> |
4 | .=l. | 4 | .=l. |
5 | .>+-= | 5 | .>+-= |
6 | _;:, .> :=|. This program is free software; you can | 6 | _;:, .> :=|. This program is free software; you can |
7 | .> <`_, > . <= redistribute it and/or modify it under | 7 | .> <`_, > . <= redistribute it and/or modify it under |
8 | :`=1 )Y*s>-.-- : the terms of the GNU Library General Public | 8 | :`=1 )Y*s>-.-- : the terms of the GNU Library General Public |
9 | .="- .-=="i, .._ License as published by the Free Software | 9 | .="- .-=="i, .._ License as published by the Free Software |
10 | - . .-<_> .<> Foundation; either version 2 of the License, | 10 | - . .-<_> .<> Foundation; either version 2 of the License, |
11 | ._= =} : or (at your option) any later version. | 11 | ._= =} : or (at your option) any later version. |
12 | .%`+i> _;_. | 12 | .%`+i> _;_. |
13 | .i_,=:_. -<s. This program is distributed in the hope that | 13 | .i_,=:_. -<s. This program is distributed in the hope that |
14 | + . -:. = it will be useful, but WITHOUT ANY WARRANTY; | 14 | + . -:. = it will be useful, but WITHOUT ANY WARRANTY; |
15 | : .. .:, . . . without even the implied warranty of | 15 | : .. .:, . . . without even the implied warranty of |
16 | =_ + =;=|` MERCHANTABILITY or FITNESS FOR A | 16 | =_ + =;=|` MERCHANTABILITY or FITNESS FOR A |
17 | _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU | 17 | _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU |
18 | ..}^=.= = ; Library General Public License for more | 18 | ..}^=.= = ; Library General Public License for more |
19 | ++= -. .` .: details. | 19 | ++= -. .` .: details. |
20 | : = ...= . :.=- | 20 | : = ...= . :.=- |
21 | -. .:....=;==+<; You should have received a copy of the GNU | 21 | -. .:....=;==+<; You should have received a copy of the GNU |
22 | -_. . . )=. = Library General Public License along with | 22 | -_. . . )=. = Library General Public License along with |
23 | -- :-=` this library; see the file COPYING.LIB. | 23 | -- :-=` this library; see the file COPYING.LIB. |
24 | If not, write to the Free Software Foundation, | 24 | If not, write to the Free Software Foundation, |
25 | Inc., 59 Temple Place - Suite 330, | 25 | Inc., 59 Temple Place - Suite 330, |
26 | Boston, MA 02111-1307, USA. | 26 | Boston, MA 02111-1307, USA. |
27 | 27 | ||
28 | */ | 28 | */ |
29 | 29 | ||
30 | /* QT */ | 30 | /* QT */ |
31 | 31 | ||
32 | #include <qpixmap.h> | 32 | #include <qpixmap.h> |
33 | 33 | ||
34 | /* OPIE */ | 34 | /* OPIE */ |
35 | 35 | ||
36 | #include <opie2/odebug.h> | 36 | #include <opie2/odebug.h> |
37 | #include <opie2/olistview.h> | 37 | #include <opie2/olistview.h> |
38 | 38 | ||
39 | using namespace Opie::Core; | 39 | using namespace Opie::Core; |
40 | 40 | ||
41 | 41 | ||
42 | namespace Opie { | 42 | namespace Opie { |
43 | namespace Ui { | 43 | namespace Ui { |
44 | /*====================================================================================== | 44 | /*====================================================================================== |
45 | * OListView | 45 | * OListView |
46 | *======================================================================================*/ | 46 | *======================================================================================*/ |
47 | 47 | ||
48 | OListView::OListView( QWidget *parent, const char *name, WFlags fl ) | 48 | OListView::OListView( QWidget *parent, const char *name, WFlags fl ) |
49 | :QListView( parent, name, fl ) | 49 | :QListView( parent, name, fl ) |
50 | { | 50 | { |
51 | //FIXME: get from global settings and calculate ==> see oglobalsettings.* | 51 | //FIXME: get from global settings and calculate ==> see oglobalsettings.* |
52 | 52 | ||
53 | m_alternateBackground = QColor( 238, 246, 255 ); | 53 | m_alternateBackground = QColor( 238, 246, 255 ); |
54 | m_columnSeparator = QPen( QColor( 150, 160, 170 ), 0, DotLine ); | 54 | m_columnSeparator = QPen( QColor( 150, 160, 170 ), 0, DotLine ); |
55 | m_fullWidth = true; | 55 | m_fullWidth = true; |
56 | connect( this, SIGNAL(expanded(QListViewItem*)), SLOT(expand(QListViewItem*))); | 56 | connect( this, SIGNAL(expanded(QListViewItem*)), SLOT(expand(QListViewItem*))); |
57 | } | 57 | } |
58 | 58 | ||
59 | OListView::~OListView() | 59 | OListView::~OListView() |
60 | { | 60 | { |
61 | } | 61 | } |
62 | 62 | ||
63 | void OListView::setFullWidth( bool fullWidth ) | 63 | void OListView::setFullWidth( bool fullWidth ) |
64 | { | 64 | { |
65 | m_fullWidth = m_fullWidth; | 65 | m_fullWidth = fullWidth; |
66 | #if QT_VERSION > 290 | 66 | #if QT_VERSION > 290 |
67 | header()->setStretchEnabled( fullWidth, columns()-1 ); | 67 | header()->setStretchEnabled( fullWidth, columns()-1 ); |
68 | #endif | 68 | #endif |
69 | } | 69 | } |
70 | 70 | ||
71 | bool OListView::fullWidth() const | 71 | bool OListView::fullWidth() const |
72 | { | 72 | { |
73 | return m_fullWidth; | 73 | return m_fullWidth; |
74 | } | 74 | } |
75 | 75 | ||
76 | int OListView::addColumn( const QString& label, int width ) | 76 | int OListView::addColumn( const QString& label, int width ) |
77 | { | 77 | { |
78 | int result = QListView::addColumn( label, width ); | 78 | int result = QListView::addColumn( label, width ); |
79 | #if QT_VERSION > 290 | 79 | #if QT_VERSION > 290 |
80 | if (m_fullWidth) { | 80 | if (m_fullWidth) { |
81 | header()->setStretchEnabled( false, columns()-2 ); | 81 | header()->setStretchEnabled( false, columns()-2 ); |
82 | header()->setStretchEnabled( true, columns()-1 ); | 82 | header()->setStretchEnabled( true, columns()-1 ); |
83 | } | 83 | } |
84 | #endif | 84 | #endif |
85 | return result; | 85 | return result; |
86 | } | 86 | } |
87 | 87 | ||
88 | int OListView::addColumn( const QIconSet& iconset, const QString& label, int width ) | 88 | int OListView::addColumn( const QIconSet& iconset, const QString& label, int width ) |
89 | { | 89 | { |
90 | int result = QListView::addColumn( iconset, label, width ); | 90 | int result = QListView::addColumn( iconset, label, width ); |
91 | #if QT_VERSION > 290 | 91 | #if QT_VERSION > 290 |
92 | if (m_fullWidth) { | 92 | if (m_fullWidth) { |
93 | header()->setStretchEnabled( false, columns()-2 ); | 93 | header()->setStretchEnabled( false, columns()-2 ); |
94 | header()->setStretchEnabled( true, columns()-1 ); | 94 | header()->setStretchEnabled( true, columns()-1 ); |
95 | } | 95 | } |
96 | #endif | 96 | #endif |
97 | return result; | 97 | return result; |
98 | } | 98 | } |
99 | 99 | ||
100 | void OListView::removeColumn( int index ) | 100 | void OListView::removeColumn( int index ) |
101 | { | 101 | { |
102 | QListView::removeColumn(index); | 102 | QListView::removeColumn(index); |
103 | #if QT_VERSION > 290 | 103 | #if QT_VERSION > 290 |
104 | if ( m_fullWidth && index == columns() ) | 104 | if ( m_fullWidth && index == columns() ) |
105 | { | 105 | { |
106 | header()->setStretchEnabled( true, columns()-1 ); | 106 | header()->setStretchEnabled( true, columns()-1 ); |
107 | } | 107 | } |
108 | #endif | 108 | #endif |
109 | } | 109 | } |
110 | 110 | ||
111 | const QColor& OListView::alternateBackground() const | 111 | const QColor& OListView::alternateBackground() const |
112 | { | 112 | { |
113 | return m_alternateBackground; | 113 | return m_alternateBackground; |
114 | } | 114 | } |
115 | 115 | ||
116 | void OListView::setAlternateBackground( const QColor &c ) | 116 | void OListView::setAlternateBackground( const QColor &c ) |
117 | { | 117 | { |
118 | m_alternateBackground = c; | 118 | m_alternateBackground = c; |
119 | repaint(); | 119 | repaint(); |
120 | } | 120 | } |
121 | 121 | ||
122 | const QPen& OListView::columnSeparator() const | 122 | const QPen& OListView::columnSeparator() const |
123 | { | 123 | { |
124 | return m_columnSeparator; | 124 | return m_columnSeparator; |
125 | } | 125 | } |
126 | 126 | ||
127 | void OListView::setColumnSeparator( const QPen& p ) | 127 | void OListView::setColumnSeparator( const QPen& p ) |
128 | { | 128 | { |
129 | m_columnSeparator = p; | 129 | m_columnSeparator = p; |
130 | repaint(); | 130 | repaint(); |
131 | } | 131 | } |
132 | 132 | ||
133 | void OListView::expand(QListViewItem *item) | 133 | void OListView::expand(QListViewItem *item) |
134 | { | 134 | { |
135 | ((OListViewItem*)item)->expand(); | 135 | ((OListViewItem*)item)->expand(); |
136 | } | 136 | } |
137 | 137 | ||
138 | OListViewItem* OListView::childFactory() | 138 | OListViewItem* OListView::childFactory() |
139 | { | 139 | { |
140 | return new OListViewItem( this ); | 140 | return new OListViewItem( this ); |
141 | } | 141 | } |
142 | 142 | ||
143 | #ifndef QT_NO_DATASTREAM | 143 | #ifndef QT_NO_DATASTREAM |
144 | void OListView::serializeTo( QDataStream& s ) const | 144 | void OListView::serializeTo( QDataStream& s ) const |
145 | { | 145 | { |
146 | #warning Caution... the binary format is still under construction... | 146 | #warning Caution... the binary format is still under construction... |
147 | odebug << "storing OListView..." << oendl; | 147 | odebug << "storing OListView..." << oendl; |
148 | 148 | ||
149 | // store number of columns and the labels | 149 | // store number of columns and the labels |
150 | s << columns(); | 150 | s << columns(); |
151 | for ( int i = 0; i < columns(); ++i ) | 151 | for ( int i = 0; i < columns(); ++i ) |
152 | s << columnText( i ); | 152 | s << columnText( i ); |
153 | 153 | ||
154 | // calculate the number of top-level items to serialize | 154 | // calculate the number of top-level items to serialize |
155 | int items = 0; | 155 | int items = 0; |
156 | QListViewItem* item = firstChild(); | 156 | QListViewItem* item = firstChild(); |
157 | while ( item ) | 157 | while ( item ) |
158 | { | 158 | { |
159 | item = item->nextSibling(); | 159 | item = item->nextSibling(); |
160 | items++; | 160 | items++; |
161 | } | 161 | } |
162 | 162 | ||
163 | // store number of items and the items itself | 163 | // store number of items and the items itself |
164 | s << items; | 164 | s << items; |
165 | item = firstChild(); | 165 | item = firstChild(); |
166 | for ( int i = 0; i < items; ++i ) | 166 | for ( int i = 0; i < items; ++i ) |
167 | { | 167 | { |
168 | s << *static_cast<OListViewItem*>( item ); | 168 | s << *static_cast<OListViewItem*>( item ); |
169 | item = item->nextSibling(); | 169 | item = item->nextSibling(); |
170 | } | 170 | } |
171 | 171 | ||
172 | odebug << "OListview stored." << oendl; | 172 | odebug << "OListview stored." << oendl; |
173 | } | 173 | } |
174 | 174 | ||
175 | void OListView::serializeFrom( QDataStream& s ) | 175 | void OListView::serializeFrom( QDataStream& s ) |
176 | { | 176 | { |
177 | #warning Caution... the binary format is still under construction... | 177 | #warning Caution... the binary format is still under construction... |
178 | odebug << "loading OListView..." << oendl; | 178 | odebug << "loading OListView..." << oendl; |
179 | 179 | ||
180 | int cols; | 180 | int cols; |
181 | s >> cols; | 181 | s >> cols; |
182 | odebug << "read number of columns = " << cols << oendl; | 182 | odebug << "read number of columns = " << cols << oendl; |
183 | 183 | ||
184 | while ( columns() < cols ) addColumn( QString::null ); | 184 | while ( columns() < cols ) addColumn( QString::null ); |
185 | 185 | ||
186 | for ( int i = 0; i < cols; ++i ) | 186 | for ( int i = 0; i < cols; ++i ) |
187 | { | 187 | { |
188 | QString coltext; | 188 | QString coltext; |
189 | s >> coltext; | 189 | s >> coltext; |
190 | odebug << "read text '" << coltext << "' for column " << i << "" << oendl; | 190 | odebug << "read text '" << coltext << "' for column " << i << "" << oendl; |
191 | setColumnText( i, coltext ); | 191 | setColumnText( i, coltext ); |
192 | } | 192 | } |
193 | 193 | ||
194 | int items; | 194 | int items; |
195 | s >> items; | 195 | s >> items; |
196 | odebug << "read number of items = " << items << oendl; | 196 | odebug << "read number of items = " << items << oendl; |
197 | 197 | ||
198 | for ( int i = 0; i < items; ++i ) | 198 | for ( int i = 0; i < items; ++i ) |
199 | { | 199 | { |
200 | OListViewItem* item = childFactory(); | 200 | OListViewItem* item = childFactory(); |
201 | s >> *item; | 201 | s >> *item; |
202 | } | 202 | } |
203 | 203 | ||
204 | odebug << "OListView loaded." << oendl; | 204 | odebug << "OListView loaded." << oendl; |
205 | 205 | ||
206 | } | 206 | } |
207 | 207 | ||
208 | 208 | ||
209 | void OListView::expand() | 209 | void OListView::expand() |
210 | { | 210 | { |
211 | odebug << "OListView::expand" << oendl; | 211 | odebug << "OListView::expand" << oendl; |
212 | 212 | ||
213 | QListViewItemIterator it( this ); | 213 | QListViewItemIterator it( this ); |
214 | while ( it.current() ) { | 214 | while ( it.current() ) { |
215 | it.current()->setOpen( true ); | 215 | it.current()->setOpen( true ); |
216 | ++it; | 216 | ++it; |
217 | } | 217 | } |
218 | } | 218 | } |
219 | 219 | ||
220 | 220 | ||
221 | void OListView::collapse() | 221 | void OListView::collapse() |
222 | { | 222 | { |
223 | odebug << "OListView::collapse" << oendl; | 223 | odebug << "OListView::collapse" << oendl; |
224 | QListViewItemIterator it( this ); | 224 | QListViewItemIterator it( this ); |
225 | while ( it.current() ) { | 225 | while ( it.current() ) { |
226 | it.current()->setOpen( false ); | 226 | it.current()->setOpen( false ); |
227 | ++it; | 227 | ++it; |
228 | } | 228 | } |
229 | } | 229 | } |
230 | 230 | ||
231 | 231 | ||
232 | QDataStream& operator<<( QDataStream& s, const OListView& lv ) | 232 | QDataStream& operator<<( QDataStream& s, const OListView& lv ) |
233 | { | 233 | { |
234 | lv.serializeTo( s ); | 234 | lv.serializeTo( s ); |
235 | } | 235 | } |
236 | 236 | ||
237 | QDataStream& operator>>( QDataStream& s, OListView& lv ) | 237 | QDataStream& operator>>( QDataStream& s, OListView& lv ) |
238 | { | 238 | { |
239 | lv.serializeFrom( s ); | 239 | lv.serializeFrom( s ); |
240 | } | 240 | } |
241 | #endif // QT_NO_DATASTREAM | 241 | #endif // QT_NO_DATASTREAM |
242 | 242 | ||
243 | /*====================================================================================== | 243 | /*====================================================================================== |
244 | * OListViewItem | 244 | * OListViewItem |
245 | *======================================================================================*/ | 245 | *======================================================================================*/ |
246 | 246 | ||
247 | OListViewItem::OListViewItem(QListView *parent) | 247 | OListViewItem::OListViewItem(QListView *parent) |
248 | : QListViewItem(parent) | 248 | : QListViewItem(parent) |
249 | { | 249 | { |
250 | init(); | 250 | init(); |
251 | } | 251 | } |
252 | 252 | ||
253 | 253 | ||
254 | OListViewItem::OListViewItem(QListViewItem *parent) | 254 | OListViewItem::OListViewItem(QListViewItem *parent) |
255 | : QListViewItem(parent) | 255 | : QListViewItem(parent) |
256 | { | 256 | { |
257 | init(); | 257 | init(); |
258 | } | 258 | } |
259 | 259 | ||
260 | 260 | ||
261 | OListViewItem::OListViewItem(QListView *parent, QListViewItem *after) | 261 | OListViewItem::OListViewItem(QListView *parent, QListViewItem *after) |
262 | : QListViewItem(parent, after) | 262 | : QListViewItem(parent, after) |
263 | { | 263 | { |
264 | init(); | 264 | init(); |
265 | } | 265 | } |
266 | 266 | ||
267 | 267 | ||
268 | OListViewItem::OListViewItem(QListViewItem *parent, QListViewItem *after) | 268 | OListViewItem::OListViewItem(QListViewItem *parent, QListViewItem *after) |
269 | : QListViewItem(parent, after) | 269 | : QListViewItem(parent, after) |
270 | { | 270 | { |
271 | init(); | 271 | init(); |
272 | } | 272 | } |
273 | 273 | ||
274 | 274 | ||
275 | OListViewItem::OListViewItem(QListView *parent, | 275 | OListViewItem::OListViewItem(QListView *parent, |
276 | QString label1, QString label2, QString label3, QString label4, | 276 | QString label1, QString label2, QString label3, QString label4, |
277 | QString label5, QString label6, QString label7, QString label8) | 277 | QString label5, QString label6, QString label7, QString label8) |
278 | : QListViewItem(parent, label1, label2, label3, label4, label5, label6, label7, label8) | 278 | : QListViewItem(parent, label1, label2, label3, label4, label5, label6, label7, label8) |
279 | { | 279 | { |
280 | init(); | 280 | init(); |
281 | } | 281 | } |
282 | 282 | ||
283 | 283 | ||
284 | OListViewItem::OListViewItem(QListViewItem *parent, | 284 | OListViewItem::OListViewItem(QListViewItem *parent, |
285 | QString label1, QString label2, QString label3, QString label4, | 285 | QString label1, QString label2, QString label3, QString label4, |
286 | QString label5, QString label6, QString label7, QString label8) | 286 | QString label5, QString label6, QString label7, QString label8) |
287 | : QListViewItem(parent, label1, label2, label3, label4, label5, label6, label7, label8) | 287 | : QListViewItem(parent, label1, label2, label3, label4, label5, label6, label7, label8) |
288 | { | 288 | { |
289 | init(); | 289 | init(); |
290 | } | 290 | } |
291 | 291 | ||
292 | 292 | ||
293 | OListViewItem::OListViewItem(QListView *parent, QListViewItem *after, | 293 | OListViewItem::OListViewItem(QListView *parent, QListViewItem *after, |
294 | QString label1, QString label2, QString label3, QString label4, | 294 | QString label1, QString label2, QString label3, QString label4, |
295 | QString label5, QString label6, QString label7, QString label8) | 295 | QString label5, QString label6, QString label7, QString label8) |
296 | : QListViewItem(parent, after, label1, label2, label3, label4, label5, label6, label7, label8) | 296 | : QListViewItem(parent, after, label1, label2, label3, label4, label5, label6, label7, label8) |
297 | { | 297 | { |
298 | init(); | 298 | init(); |
299 | } | 299 | } |
300 | 300 | ||
301 | 301 | ||
302 | OListViewItem::OListViewItem(QListViewItem *parent, QListViewItem *after, | 302 | OListViewItem::OListViewItem(QListViewItem *parent, QListViewItem *after, |
303 | QString label1, QString label2, QString label3, QString label4, | 303 | QString label1, QString label2, QString label3, QString label4, |
304 | QString label5, QString label6, QString label7, QString label8) | 304 | QString label5, QString label6, QString label7, QString label8) |
305 | : QListViewItem(parent, after, label1, label2, label3, label4, label5, label6, label7, label8) | 305 | : QListViewItem(parent, after, label1, label2, label3, label4, label5, label6, label7, label8) |
306 | { | 306 | { |
307 | init(); | 307 | init(); |
308 | } | 308 | } |
309 | 309 | ||
310 | 310 | ||
311 | OListViewItem::~OListViewItem() | 311 | OListViewItem::~OListViewItem() |
312 | { | 312 | { |
313 | } | 313 | } |
314 | 314 | ||
315 | 315 | ||
316 | void OListViewItem::init() | 316 | void OListViewItem::init() |
317 | { | 317 | { |
318 | m_known = false; | 318 | m_known = false; |
319 | } | 319 | } |
320 | 320 | ||
321 | 321 | ||
322 | const QColor &OListViewItem::backgroundColor() | 322 | const QColor &OListViewItem::backgroundColor() |
323 | { | 323 | { |
324 | return isAlternate() ? static_cast<OListView*>(listView())->alternateBackground() : | 324 | return isAlternate() ? static_cast<OListView*>(listView())->alternateBackground() : |
325 | listView()->viewport()->colorGroup().base(); | 325 | listView()->viewport()->colorGroup().base(); |
326 | } | 326 | } |
327 | 327 | ||
328 | 328 | ||
329 | bool OListViewItem::isAlternate() | 329 | bool OListViewItem::isAlternate() |
330 | { | 330 | { |
331 | OListView *lv = static_cast<OListView*>( listView() ); | 331 | OListView *lv = static_cast<OListView*>( listView() ); |
332 | 332 | ||
333 | // check if the item above is an OListViewItem | 333 | // check if the item above is an OListViewItem |
334 | OListViewItem *above = static_cast<OListViewItem*>( itemAbove() ); | 334 | OListViewItem *above = static_cast<OListViewItem*>( itemAbove() ); |
335 | /*if (! itemAbove()->inherits( "OListViewItem" )) return false;*/ | 335 | /*if (! itemAbove()->inherits( "OListViewItem" )) return false;*/ |
336 | 336 | ||
337 | // check if we have a valid alternate background color | 337 | // check if we have a valid alternate background color |
338 | if (!(lv && lv->alternateBackground().isValid())) return false; | 338 | if (!(lv && lv->alternateBackground().isValid())) return false; |
339 | 339 | ||
340 | m_known = above ? above->m_known : true; | 340 | m_known = above ? above->m_known : true; |
341 | if (m_known) | 341 | if (m_known) |
342 | { | 342 | { |
343 | m_odd = above ? !above->m_odd : false; | 343 | m_odd = above ? !above->m_odd : false; |
344 | } | 344 | } |
345 | else | 345 | else |
346 | { | 346 | { |
347 | OListViewItem *item; | 347 | OListViewItem *item; |
348 | bool previous = true; | 348 | bool previous = true; |
349 | if (parent()) | 349 | if (parent()) |
350 | { | 350 | { |
351 | item = static_cast<OListViewItem *>(parent()); | 351 | item = static_cast<OListViewItem *>(parent()); |
352 | if ( item /*&& item->inherits( "OListViewItem" )*/ ) previous = item->m_odd; | 352 | if ( item /*&& item->inherits( "OListViewItem" )*/ ) previous = item->m_odd; |
353 | item = static_cast<OListViewItem *>(parent()->firstChild()); | 353 | item = static_cast<OListViewItem *>(parent()->firstChild()); |
354 | /* if ( !item.inherits( "OListViewItem" ) item = 0; */ | 354 | /* if ( !item.inherits( "OListViewItem" ) item = 0; */ |
355 | } | 355 | } |
356 | else | 356 | else |
357 | { | 357 | { |
358 | item = static_cast<OListViewItem *>(lv->firstChild()); | 358 | item = static_cast<OListViewItem *>(lv->firstChild()); |
359 | } | 359 | } |
360 | 360 | ||
361 | while(item) | 361 | while(item) |
362 | { | 362 | { |
363 | item->m_odd = previous = !previous; | 363 | item->m_odd = previous = !previous; |
364 | item->m_known = true; | 364 | item->m_known = true; |
365 | item = static_cast<OListViewItem *>(item->nextSibling()); | 365 | item = static_cast<OListViewItem *>(item->nextSibling()); |
366 | /* if (!item.inherits( "OListViewItem" ) ) break; */ | 366 | /* if (!item.inherits( "OListViewItem" ) ) break; */ |
367 | } | 367 | } |
368 | } | 368 | } |
369 | return m_odd; | 369 | return m_odd; |
370 | } | 370 | } |
371 | 371 | ||
372 | 372 | ||
373 | void OListViewItem::paintCell(QPainter *p, const QColorGroup &cg, int column, int width, int alignment) | 373 | void OListViewItem::paintCell(QPainter *p, const QColorGroup &cg, int column, int width, int alignment) |
374 | { | 374 | { |
375 | QColorGroup _cg = cg; | 375 | QColorGroup _cg = cg; |
376 | const QPixmap *pm = listView()->viewport()->backgroundPixmap(); | 376 | const QPixmap *pm = listView()->viewport()->backgroundPixmap(); |
377 | if (pm && !pm->isNull()) | 377 | if (pm && !pm->isNull()) |
378 | { | 378 | { |
379 | _cg.setBrush( QColorGroup::Base, QBrush(backgroundColor(), *pm) ); | 379 | _cg.setBrush( QColorGroup::Base, QBrush(backgroundColor(), *pm) ); |
380 | p->setBrushOrigin( -listView()->contentsX(), -listView()->contentsY() ); | 380 | p->setBrushOrigin( -listView()->contentsX(), -listView()->contentsY() ); |
381 | } | 381 | } |
382 | else if ( isAlternate() ) | 382 | else if ( isAlternate() ) |
383 | { | 383 | { |
384 | _cg.setColor( QColorGroup::Base, static_cast<OListView*>( listView() )->alternateBackground() ); | 384 | _cg.setColor( QColorGroup::Base, static_cast<OListView*>( listView() )->alternateBackground() ); |
385 | } | 385 | } |
386 | QListViewItem::paintCell( p, _cg, column, width, alignment ); | 386 | QListViewItem::paintCell( p, _cg, column, width, alignment ); |
387 | 387 | ||
388 | //FIXME: Use styling here! | 388 | //FIXME: Use styling here! |
389 | 389 | ||
390 | const QPen& pen = static_cast<OListView*>( listView() )->columnSeparator(); | 390 | const QPen& pen = static_cast<OListView*>( listView() )->columnSeparator(); |
391 | p->setPen( pen ); | 391 | p->setPen( pen ); |
392 | p->drawLine( width-1, 0, width-1, height() ); | 392 | p->drawLine( width-1, 0, width-1, height() ); |
393 | } | 393 | } |
394 | 394 | ||
395 | 395 | ||
396 | OListViewItem* OListViewItem::childFactory() | 396 | OListViewItem* OListViewItem::childFactory() |
397 | { | 397 | { |
398 | return new OListViewItem( this ); | 398 | return new OListViewItem( this ); |
399 | } | 399 | } |
400 | 400 | ||
401 | 401 | ||
402 | #ifndef QT_NO_DATASTREAM | 402 | #ifndef QT_NO_DATASTREAM |
403 | void OListViewItem::serializeTo( QDataStream& s ) const | 403 | void OListViewItem::serializeTo( QDataStream& s ) const |
404 | { | 404 | { |
405 | #warning Caution... the binary format is still under construction... | 405 | #warning Caution... the binary format is still under construction... |
406 | odebug << "storing OListViewItem..." << oendl; | 406 | odebug << "storing OListViewItem..." << oendl; |
407 | 407 | ||
408 | // store item text | 408 | // store item text |
409 | for ( int i = 0; i < listView()->columns(); ++i ) | 409 | for ( int i = 0; i < listView()->columns(); ++i ) |
410 | { | 410 | { |
411 | s << text( i ); | 411 | s << text( i ); |
412 | } | 412 | } |
413 | 413 | ||
414 | // calculate the number of children to serialize | 414 | // calculate the number of children to serialize |
415 | int items = 0; | 415 | int items = 0; |
416 | QListViewItem* item = firstChild(); | 416 | QListViewItem* item = firstChild(); |
417 | while ( item ) | 417 | while ( item ) |
418 | { | 418 | { |
419 | item = item->nextSibling(); | 419 | item = item->nextSibling(); |
420 | items++; | 420 | items++; |
421 | } | 421 | } |
422 | 422 | ||
423 | // store number of items and the items itself | 423 | // store number of items and the items itself |
424 | s << items; | 424 | s << items; |
425 | item = firstChild(); | 425 | item = firstChild(); |
426 | for ( int i = 0; i < items; ++i ) | 426 | for ( int i = 0; i < items; ++i ) |
427 | { | 427 | { |
428 | s << *static_cast<OListViewItem*>( item ); | 428 | s << *static_cast<OListViewItem*>( item ); |
429 | item = item->nextSibling(); | 429 | item = item->nextSibling(); |
430 | } | 430 | } |
431 | 431 | ||
432 | odebug << "OListviewItem stored." << oendl; | 432 | odebug << "OListviewItem stored." << oendl; |
433 | } | 433 | } |
434 | 434 | ||
435 | 435 | ||
436 | void OListViewItem::serializeFrom( QDataStream& s ) | 436 | void OListViewItem::serializeFrom( QDataStream& s ) |
437 | { | 437 | { |
438 | #warning Caution... the binary format is still under construction... | 438 | #warning Caution... the binary format is still under construction... |
439 | odebug << "loading OListViewItem..." << oendl; | 439 | odebug << "loading OListViewItem..." << oendl; |
440 | 440 | ||
441 | for ( int i = 0; i < listView()->columns(); ++i ) | 441 | for ( int i = 0; i < listView()->columns(); ++i ) |
442 | { | 442 | { |
443 | QString coltext; | 443 | QString coltext; |
444 | s >> coltext; | 444 | s >> coltext; |
445 | odebug << "read text '" << coltext << "' for column " << i << "" << oendl; | 445 | odebug << "read text '" << coltext << "' for column " << i << "" << oendl; |
446 | setText( i, coltext ); | 446 | setText( i, coltext ); |
447 | } | 447 | } |
448 | 448 | ||
449 | int items; | 449 | int items; |
450 | s >> items; | 450 | s >> items; |
451 | odebug << "read number of items = " << items << "" << oendl; | 451 | odebug << "read number of items = " << items << "" << oendl; |
452 | 452 | ||
453 | for ( int i = 0; i < items; ++i ) | 453 | for ( int i = 0; i < items; ++i ) |
454 | { | 454 | { |
455 | OListViewItem* item = childFactory(); | 455 | OListViewItem* item = childFactory(); |
456 | s >> (*item); | 456 | s >> (*item); |
457 | } | 457 | } |
458 | 458 | ||
459 | odebug << "OListViewItem loaded." << oendl; | 459 | odebug << "OListViewItem loaded." << oendl; |
460 | } | 460 | } |
461 | 461 | ||
462 | 462 | ||
463 | QDataStream& operator<<( QDataStream& s, const OListViewItem& lvi ) | 463 | QDataStream& operator<<( QDataStream& s, const OListViewItem& lvi ) |
464 | { | 464 | { |
465 | lvi.serializeTo( s ); | 465 | lvi.serializeTo( s ); |
466 | } | 466 | } |
467 | 467 | ||
468 | 468 | ||
469 | QDataStream& operator>>( QDataStream& s, OListViewItem& lvi ) | 469 | QDataStream& operator>>( QDataStream& s, OListViewItem& lvi ) |
470 | { | 470 | { |
471 | lvi.serializeFrom( s ); | 471 | lvi.serializeFrom( s ); |
472 | } | 472 | } |
473 | #endif // QT_NO_DATASTREAM | 473 | #endif // QT_NO_DATASTREAM |
474 | 474 | ||
475 | 475 | ||
476 | /*====================================================================================== | 476 | /*====================================================================================== |
477 | * OCheckListItem | 477 | * OCheckListItem |
478 | *======================================================================================*/ | 478 | *======================================================================================*/ |
479 | 479 | ||
480 | OCheckListItem::OCheckListItem( QCheckListItem* parent, const QString& text, Type t ) | 480 | OCheckListItem::OCheckListItem( QCheckListItem* parent, const QString& text, Type t ) |
481 | :QCheckListItem( parent, text, t ) | 481 | :QCheckListItem( parent, text, t ) |
482 | { | 482 | { |
483 | init(); | 483 | init(); |
484 | } | 484 | } |
485 | 485 | ||
486 | 486 | ||
487 | OCheckListItem::OCheckListItem( QListViewItem* parent, const QString& text, Type t) | 487 | OCheckListItem::OCheckListItem( QListViewItem* parent, const QString& text, Type t) |
488 | :QCheckListItem( parent, text, t ) | 488 | :QCheckListItem( parent, text, t ) |
489 | { | 489 | { |
490 | init(); | 490 | init(); |
491 | } | 491 | } |
492 | 492 | ||
493 | 493 | ||
494 | OCheckListItem::OCheckListItem( QListView* parent, const QString& text, Type t ) | 494 | OCheckListItem::OCheckListItem( QListView* parent, const QString& text, Type t ) |
495 | :QCheckListItem( parent, text, t ) | 495 | :QCheckListItem( parent, text, t ) |
496 | { | 496 | { |
497 | init(); | 497 | init(); |
498 | } | 498 | } |
499 | 499 | ||
500 | 500 | ||
501 | OCheckListItem::OCheckListItem( QListViewItem* parent, const QString& text, const QPixmap& p ) | 501 | OCheckListItem::OCheckListItem( QListViewItem* parent, const QString& text, const QPixmap& p ) |
502 | :QCheckListItem( parent, text, p ) | 502 | :QCheckListItem( parent, text, p ) |
503 | { | 503 | { |
504 | init(); | 504 | init(); |
505 | } | 505 | } |
506 | 506 | ||
507 | 507 | ||
508 | OCheckListItem::OCheckListItem( QListView* parent, const QString& text, const QPixmap& p ) | 508 | OCheckListItem::OCheckListItem( QListView* parent, const QString& text, const QPixmap& p ) |
509 | :QCheckListItem( parent, text, p ) | 509 | :QCheckListItem( parent, text, p ) |
510 | { | 510 | { |
511 | init(); | 511 | init(); |
512 | } | 512 | } |
513 | 513 | ||
514 | 514 | ||
515 | OCheckListItem::~OCheckListItem() | 515 | OCheckListItem::~OCheckListItem() |
516 | { | 516 | { |
517 | } | 517 | } |
518 | 518 | ||
519 | void OCheckListItem::init() | 519 | void OCheckListItem::init() |
520 | { | 520 | { |
521 | m_known = false; | 521 | m_known = false; |
522 | } | 522 | } |
523 | 523 | ||
524 | 524 | ||
525 | const QColor &OCheckListItem::backgroundColor() | 525 | const QColor &OCheckListItem::backgroundColor() |
526 | { | 526 | { |
527 | return isAlternate() ? static_cast<OListView*>(listView())->alternateBackground() : | 527 | return isAlternate() ? static_cast<OListView*>(listView())->alternateBackground() : |
528 | listView()->viewport()->colorGroup().base(); | 528 | listView()->viewport()->colorGroup().base(); |
529 | } | 529 | } |
530 | 530 | ||
531 | 531 | ||
532 | bool OCheckListItem::isAlternate() | 532 | bool OCheckListItem::isAlternate() |
533 | { | 533 | { |
534 | OListView *lv = static_cast<OListView*>( listView() ); | 534 | OListView *lv = static_cast<OListView*>( listView() ); |
535 | 535 | ||
536 | // check if the item above is an OCheckListItem | 536 | // check if the item above is an OCheckListItem |
537 | OCheckListItem *above = static_cast<OCheckListItem*>( itemAbove() ); | 537 | OCheckListItem *above = static_cast<OCheckListItem*>( itemAbove() ); |
538 | /*if (! itemAbove()->inherits( "OCheckListItem" )) return false;*/ | 538 | /*if (! itemAbove()->inherits( "OCheckListItem" )) return false;*/ |
539 | 539 | ||
540 | // check if we have a valid alternate background color | 540 | // check if we have a valid alternate background color |
541 | if (!(lv && lv->alternateBackground().isValid())) return false; | 541 | if (!(lv && lv->alternateBackground().isValid())) return false; |
542 | 542 | ||
543 | m_known = above ? above->m_known : true; | 543 | m_known = above ? above->m_known : true; |
544 | if (m_known) | 544 | if (m_known) |
545 | { | 545 | { |
546 | m_odd = above ? !above->m_odd : false; | 546 | m_odd = above ? !above->m_odd : false; |
547 | } | 547 | } |
548 | else | 548 | else |
549 | { | 549 | { |
550 | OCheckListItem *item; | 550 | OCheckListItem *item; |
551 | bool previous = true; | 551 | bool previous = true; |
552 | if (parent()) | 552 | if (parent()) |
553 | { | 553 | { |
554 | item = static_cast<OCheckListItem *>(parent()); | 554 | item = static_cast<OCheckListItem *>(parent()); |
555 | if ( item /*&& item->inherits( "OCheckListItem" )*/ ) previous = item->m_odd; | 555 | if ( item /*&& item->inherits( "OCheckListItem" )*/ ) previous = item->m_odd; |
556 | item = static_cast<OCheckListItem *>(parent()->firstChild()); | 556 | item = static_cast<OCheckListItem *>(parent()->firstChild()); |
557 | /* if ( !item.inherits( "OCheckListItem" ) item = 0; */ | 557 | /* if ( !item.inherits( "OCheckListItem" ) item = 0; */ |
558 | } | 558 | } |
559 | else | 559 | else |
560 | { | 560 | { |
561 | item = static_cast<OCheckListItem *>(lv->firstChild()); | 561 | item = static_cast<OCheckListItem *>(lv->firstChild()); |
562 | } | 562 | } |
563 | 563 | ||
564 | while(item) | 564 | while(item) |
565 | { | 565 | { |
566 | item->m_odd = previous = !previous; | 566 | item->m_odd = previous = !previous; |
567 | item->m_known = true; | 567 | item->m_known = true; |
568 | item = static_cast<OCheckListItem *>(item->nextSibling()); | 568 | item = static_cast<OCheckListItem *>(item->nextSibling()); |
569 | /* if (!item.inherits( "OCheckListItem" ) ) break; */ | 569 | /* if (!item.inherits( "OCheckListItem" ) ) break; */ |
570 | } | 570 | } |
571 | } | 571 | } |
572 | return m_odd; | 572 | return m_odd; |
573 | } | 573 | } |
574 | 574 | ||
575 | 575 | ||
576 | void OCheckListItem::paintCell(QPainter *p, const QColorGroup &cg, int column, int width, int alignment) | 576 | void OCheckListItem::paintCell(QPainter *p, const QColorGroup &cg, int column, int width, int alignment) |
577 | { | 577 | { |
578 | QColorGroup _cg = cg; | 578 | QColorGroup _cg = cg; |
579 | const QPixmap *pm = listView()->viewport()->backgroundPixmap(); | 579 | const QPixmap *pm = listView()->viewport()->backgroundPixmap(); |
580 | if (pm && !pm->isNull()) | 580 | if (pm && !pm->isNull()) |
581 | { | 581 | { |
582 | _cg.setBrush( QColorGroup::Base, QBrush(backgroundColor(), *pm) ); | 582 | _cg.setBrush( QColorGroup::Base, QBrush(backgroundColor(), *pm) ); |
583 | p->setBrushOrigin( -listView()->contentsX(), -listView()->contentsY() ); | 583 | p->setBrushOrigin( -listView()->contentsX(), -listView()->contentsY() ); |
584 | } | 584 | } |
585 | else if ( isAlternate() ) | 585 | else if ( isAlternate() ) |
586 | { | 586 | { |
587 | _cg.setColor( QColorGroup::Base, static_cast<OListView*>( listView() )->alternateBackground() ); | 587 | _cg.setColor( QColorGroup::Base, static_cast<OListView*>( listView() )->alternateBackground() ); |
588 | } | 588 | } |
589 | QCheckListItem::paintCell( p, _cg, column, width, alignment ); | 589 | QCheckListItem::paintCell( p, _cg, column, width, alignment ); |
590 | 590 | ||
591 | //FIXME: Use styling here! | 591 | //FIXME: Use styling here! |
592 | 592 | ||
593 | const QPen& pen = static_cast<OListView*>( listView() )->columnSeparator(); | 593 | const QPen& pen = static_cast<OListView*>( listView() )->columnSeparator(); |
594 | p->setPen( pen ); | 594 | p->setPen( pen ); |
595 | p->drawLine( width-1, 0, width-1, height() ); | 595 | p->drawLine( width-1, 0, width-1, height() ); |
596 | } | 596 | } |
597 | 597 | ||
598 | 598 | ||
599 | /*====================================================================================== | 599 | /*====================================================================================== |
600 | * ONamedListView | 600 | * ONamedListView |
601 | *======================================================================================*/ | 601 | *======================================================================================*/ |
602 | 602 | ||
603 | ONamedListView::ONamedListView( QWidget *parent, const char *name ) | 603 | ONamedListView::ONamedListView( QWidget *parent, const char *name ) |
604 | :OListView( parent, name ) | 604 | :OListView( parent, name ) |
605 | { | 605 | { |
606 | } | 606 | } |
607 | 607 | ||
608 | 608 | ||
609 | ONamedListView::~ONamedListView() | 609 | ONamedListView::~ONamedListView() |
610 | { | 610 | { |
611 | } | 611 | } |
612 | 612 | ||
613 | 613 | ||
614 | void ONamedListView::addColumns( const QStringList& columns ) | 614 | void ONamedListView::addColumns( const QStringList& columns ) |
615 | { | 615 | { |
616 | for ( QStringList::ConstIterator it = columns.begin(); it != columns.end(); ++it ) | 616 | for ( QStringList::ConstIterator it = columns.begin(); it != columns.end(); ++it ) |
617 | { | 617 | { |
618 | odebug << "adding column " << *it << "" << oendl; | 618 | odebug << "adding column " << *it << "" << oendl; |
619 | addColumn( *it ); | 619 | addColumn( *it ); |
620 | } | 620 | } |
621 | } | 621 | } |
622 | 622 | ||
623 | 623 | ||
624 | int ONamedListView::findColumn( const QString& text ) const | 624 | int ONamedListView::findColumn( const QString& text ) const |
625 | { | 625 | { |
626 | //FIXME: If used excessively, this will slow down performance of updates | 626 | //FIXME: If used excessively, this will slow down performance of updates |
627 | //FIXME: because of the linear search over all column texts. | 627 | //FIXME: because of the linear search over all column texts. |
628 | //FIXME: I will optimize later by using a hash map. | 628 | //FIXME: I will optimize later by using a hash map. |
629 | for ( int i = 0; i < columns(); ++i ) | 629 | for ( int i = 0; i < columns(); ++i ) |
630 | if ( columnText( i ) == text ) | 630 | if ( columnText( i ) == text ) |
631 | return i; | 631 | return i; |
632 | return -1; | 632 | return -1; |
633 | } | 633 | } |
634 | 634 | ||
635 | 635 | ||
636 | ONamedListViewItem* ONamedListView::find( int column, const QString& text, int recurse ) const | 636 | ONamedListViewItem* ONamedListView::find( int column, const QString& text, int recurse ) const |
637 | { | 637 | { |
638 | return find( (ONamedListViewItem*) firstChild(), column, text, recurse ); | 638 | return find( (ONamedListViewItem*) firstChild(), column, text, recurse ); |
639 | } | 639 | } |
640 | 640 | ||
641 | 641 | ||
642 | ONamedListViewItem* ONamedListView::find( ONamedListViewItem* item, int column, const QString& text, int recurse ) const | 642 | ONamedListViewItem* ONamedListView::find( ONamedListViewItem* item, int column, const QString& text, int recurse ) const |
643 | { | 643 | { |
644 | ONamedListViewItem* result; | 644 | ONamedListViewItem* result; |
645 | while ( item && item->text( column ) != text ) | 645 | while ( item && item->text( column ) != text ) |
646 | { | 646 | { |
647 | odebug << "checked " << item->text( column ) << "" << oendl; | 647 | odebug << "checked " << item->text( column ) << "" << oendl; |
648 | 648 | ||
649 | if ( recurse < 0 || recurse > 0 ) | 649 | if ( recurse < 0 || recurse > 0 ) |
650 | { | 650 | { |
651 | odebug << "recursion is " << recurse << " - recursing into..." << oendl; | 651 | odebug << "recursion is " << recurse << " - recursing into..." << oendl; |
652 | result = find( (ONamedListViewItem*) item->firstChild(), column, text, recurse-1 ); | 652 | result = find( (ONamedListViewItem*) item->firstChild(), column, text, recurse-1 ); |
653 | if ( result ) return result; | 653 | if ( result ) return result; |
654 | } | 654 | } |
655 | 655 | ||
656 | 656 | ||
657 | item = (ONamedListViewItem*) item->itemBelow(); | 657 | item = (ONamedListViewItem*) item->itemBelow(); |
658 | } | 658 | } |
659 | if ( item && item->text( column ) == text ) | 659 | if ( item && item->text( column ) == text ) |
660 | return item; | 660 | return item; |
661 | else | 661 | else |
662 | return 0; | 662 | return 0; |
663 | } | 663 | } |
664 | 664 | ||
665 | 665 | ||
666 | ONamedListViewItem* ONamedListView::find( const QString& column, const QString& text, int recurse ) const | 666 | ONamedListViewItem* ONamedListView::find( const QString& column, const QString& text, int recurse ) const |
667 | { | 667 | { |
668 | int col = findColumn( column ); | 668 | int col = findColumn( column ); |
669 | if ( col != -1 ) | 669 | if ( col != -1 ) |
670 | return find( (ONamedListViewItem*) firstChild(), col, text, recurse ); | 670 | return find( (ONamedListViewItem*) firstChild(), col, text, recurse ); |
671 | else | 671 | else |
672 | return 0; | 672 | return 0; |
673 | } | 673 | } |
674 | 674 | ||
675 | 675 | ||
676 | ONamedListViewItem* ONamedListView::find( ONamedListViewItem* item, const QString& column, const QString& text, int recurse ) const | 676 | ONamedListViewItem* ONamedListView::find( ONamedListViewItem* item, const QString& column, const QString& text, int recurse ) const |
677 | { | 677 | { |
678 | int col = findColumn( column ); | 678 | int col = findColumn( column ); |
679 | if ( col != -1 ) | 679 | if ( col != -1 ) |
680 | return find( item, col, text, recurse ); | 680 | return find( item, col, text, recurse ); |
681 | else | 681 | else |
682 | return 0; | 682 | return 0; |
683 | } | 683 | } |
684 | 684 | ||
685 | 685 | ||
686 | /*====================================================================================== | 686 | /*====================================================================================== |
687 | * ONamedListViewItem | 687 | * ONamedListViewItem |
688 | *======================================================================================*/ | 688 | *======================================================================================*/ |
689 | 689 | ||
690 | ONamedListViewItem::ONamedListViewItem( QListView* parent, const QStringList& texts ) | 690 | ONamedListViewItem::ONamedListViewItem( QListView* parent, const QStringList& texts ) |
691 | :OListViewItem( parent ) | 691 | :OListViewItem( parent ) |
692 | { | 692 | { |
693 | setText( texts ); | 693 | setText( texts ); |
694 | } | 694 | } |
695 | 695 | ||
696 | 696 | ||
697 | ONamedListViewItem::ONamedListViewItem( QListViewItem* parent, const QStringList& texts ) | 697 | ONamedListViewItem::ONamedListViewItem( QListViewItem* parent, const QStringList& texts ) |
698 | :OListViewItem( parent ) | 698 | :OListViewItem( parent ) |
699 | { | 699 | { |
700 | setText( texts ); | 700 | setText( texts ); |
701 | } | 701 | } |
702 | 702 | ||
703 | 703 | ||
704 | ONamedListViewItem::ONamedListViewItem( QListView* parent, QListViewItem* after, const QStringList& texts ) | 704 | ONamedListViewItem::ONamedListViewItem( QListView* parent, QListViewItem* after, const QStringList& texts ) |
705 | :OListViewItem( parent, after ) | 705 | :OListViewItem( parent, after ) |
706 | { | 706 | { |
707 | setText( texts ); | 707 | setText( texts ); |
708 | } | 708 | } |
709 | 709 | ||
710 | 710 | ||
711 | ONamedListViewItem::ONamedListViewItem( QListViewItem* parent, QListViewItem* after, const QStringList& texts ) | 711 | ONamedListViewItem::ONamedListViewItem( QListViewItem* parent, QListViewItem* after, const QStringList& texts ) |
712 | :OListViewItem( parent, after ) | 712 | :OListViewItem( parent, after ) |
713 | { | 713 | { |
714 | setText( texts ); | 714 | setText( texts ); |
715 | } | 715 | } |
716 | 716 | ||
717 | 717 | ||
718 | ONamedListViewItem::~ONamedListViewItem() | 718 | ONamedListViewItem::~ONamedListViewItem() |
719 | { | 719 | { |
720 | } | 720 | } |
721 | 721 | ||
722 | 722 | ||
723 | void ONamedListViewItem::setText( const QStringList& texts ) | 723 | void ONamedListViewItem::setText( const QStringList& texts ) |
724 | { | 724 | { |
725 | int col = 0; | 725 | int col = 0; |
726 | for ( QStringList::ConstIterator it = texts.begin(); it != texts.end(); ++it ) | 726 | for ( QStringList::ConstIterator it = texts.begin(); it != texts.end(); ++it ) |
727 | { | 727 | { |
728 | odebug << "setting column " << col << " = text " << *it << "" << oendl; | 728 | odebug << "setting column " << col << " = text " << *it << "" << oendl; |
729 | OListViewItem::setText( col++, *it ); | 729 | OListViewItem::setText( col++, *it ); |
730 | } | 730 | } |
731 | 731 | ||
732 | } | 732 | } |
733 | 733 | ||
734 | 734 | ||
735 | void ONamedListViewItem::setText( const QString& column, const QString& text ) | 735 | void ONamedListViewItem::setText( const QString& column, const QString& text ) |
736 | { | 736 | { |
737 | //FIXME: If used excessively, this will slow down performance of updates | 737 | //FIXME: If used excessively, this will slow down performance of updates |
738 | //FIXME: because of the linear search over all column texts. | 738 | //FIXME: because of the linear search over all column texts. |
739 | //FIXME: I will optimize later by using a hash map. | 739 | //FIXME: I will optimize later by using a hash map. |
740 | int col = ( (ONamedListView*) listView() )->findColumn( column ); | 740 | int col = ( (ONamedListView*) listView() )->findColumn( column ); |
741 | if ( col != -1 ) | 741 | if ( col != -1 ) |
742 | OListViewItem::setText( col, text ); | 742 | OListViewItem::setText( col, text ); |
743 | else | 743 | else |
744 | owarn << "ONamedListViewItem::setText(): Warning! Columntext '" << column << "' not found." << oendl; | 744 | owarn << "ONamedListViewItem::setText(): Warning! Columntext '" << column << "' not found." << oendl; |
745 | } | 745 | } |
746 | 746 | ||
747 | 747 | ||
748 | ONamedListViewItem* ONamedListViewItem::find( int column, const QString& text, int recurse ) const | 748 | ONamedListViewItem* ONamedListViewItem::find( int column, const QString& text, int recurse ) const |
749 | { | 749 | { |
750 | return ( (ONamedListView*) listView() )->find( (ONamedListViewItem*) firstChild(), column, text, recurse ); | 750 | return ( (ONamedListView*) listView() )->find( (ONamedListViewItem*) firstChild(), column, text, recurse ); |
751 | } | 751 | } |
752 | 752 | ||
753 | 753 | ||
754 | ONamedListViewItem* ONamedListViewItem::find( const QString& column, const QString& text, int recurse ) const | 754 | ONamedListViewItem* ONamedListViewItem::find( const QString& column, const QString& text, int recurse ) const |
755 | { | 755 | { |
756 | int col = ( (ONamedListView*) listView() )->findColumn( column ); | 756 | int col = ( (ONamedListView*) listView() )->findColumn( column ); |
757 | if ( col != -1 ) | 757 | if ( col != -1 ) |
758 | return ( (ONamedListView*) listView() )->find( (ONamedListViewItem*) firstChild(), col, text, recurse ); | 758 | return ( (ONamedListView*) listView() )->find( (ONamedListViewItem*) firstChild(), col, text, recurse ); |
759 | else | 759 | else |
760 | return 0; | 760 | return 0; |
761 | } | 761 | } |
762 | 762 | ||
763 | } | 763 | } |
764 | } | 764 | } |