author | zecke <zecke> | 2004-03-26 22:36:43 (UTC) |
---|---|---|
committer | zecke <zecke> | 2004-03-26 22:36:43 (UTC) |
commit | c54a3c8cc47258743381d4dee4200304d247182d (patch) (unidiff) | |
tree | bc96497821743c7b7789004fd700f58f10f0f772 | |
parent | 2487838d0f9358d6efdf714e9dfd892f92802b46 (diff) | |
download | opie-c54a3c8cc47258743381d4dee4200304d247182d.zip opie-c54a3c8cc47258743381d4dee4200304d247182d.tar.gz opie-c54a3c8cc47258743381d4dee4200304d247182d.tar.bz2 |
Add WFlags to the c'tor so we eventually can use this
in the designer... but anyway making it more consistent with Qt
Ah and this is binary incompatible but the API isn't marked as stable
anyway
-rw-r--r-- | libopie2/opieui/olistview.cpp | 4 | ||||
-rw-r--r-- | libopie2/opieui/olistview.h | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/libopie2/opieui/olistview.cpp b/libopie2/opieui/olistview.cpp index 38670b4..d7c92fd 100644 --- a/libopie2/opieui/olistview.cpp +++ b/libopie2/opieui/olistview.cpp | |||
@@ -1,305 +1,305 @@ | |||
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 ) | 48 | OListView::OListView( QWidget *parent, const char *name, WFlags fl ) |
49 | :QListView( parent, name ) | 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 = m_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 | qDebug( "read text '%s' for column %d", (const char*) coltext, i ); | 190 | qDebug( "read text '%s' for column %d", (const char*) coltext, i ); |
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) |
diff --git a/libopie2/opieui/olistview.h b/libopie2/opieui/olistview.h index 8195a62..3ff11ef 100644 --- a/libopie2/opieui/olistview.h +++ b/libopie2/opieui/olistview.h | |||
@@ -1,324 +1,324 @@ | |||
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 | #ifndef OLISTVIEW_H | 30 | #ifndef OLISTVIEW_H |
31 | #define OLISTVIEW_H | 31 | #define OLISTVIEW_H |
32 | 32 | ||
33 | #include <qcolor.h> | 33 | #include <qcolor.h> |
34 | #include <qlistview.h> | 34 | #include <qlistview.h> |
35 | #include <qpen.h> | 35 | #include <qpen.h> |
36 | #include <qdatastream.h> | 36 | #include <qdatastream.h> |
37 | #include <qstringlist.h> | 37 | #include <qstringlist.h> |
38 | 38 | ||
39 | 39 | ||
40 | namespace Opie { | 40 | namespace Opie { |
41 | namespace Ui { | 41 | namespace Ui { |
42 | class OListViewItem; | 42 | class OListViewItem; |
43 | 43 | ||
44 | 44 | ||
45 | /*====================================================================================== | 45 | /*====================================================================================== |
46 | * OListView | 46 | * OListView |
47 | *======================================================================================*/ | 47 | *======================================================================================*/ |
48 | 48 | ||
49 | /** | 49 | /** |
50 | * @brief A list/tree widget. | 50 | * @brief A list/tree widget. |
51 | * | 51 | * |
52 | * A @ref QListView variant featuring visual and functional enhancements | 52 | * A @ref QListView variant featuring visual and functional enhancements |
53 | * like an alternate background for odd rows, an autostretch mode | 53 | * like an alternate background for odd rows, an autostretch mode |
54 | * for the width of the widget ( >= Qt 3 only ) and persistence capabilities. | 54 | * for the width of the widget ( >= Qt 3 only ) and persistence capabilities. |
55 | * | 55 | * |
56 | * @author Michael 'Mickey' Lauer <mickey@vanille.de> | 56 | * @author Michael 'Mickey' Lauer <mickey@vanille.de> |
57 | */ | 57 | */ |
58 | class OListView: public QListView | 58 | class OListView: public QListView |
59 | { | 59 | { |
60 | Q_OBJECT | 60 | Q_OBJECT |
61 | public: | 61 | public: |
62 | /** | 62 | /** |
63 | * Constructor. | 63 | * Constructor. |
64 | * | 64 | * |
65 | * The parameters @a parent and @a name are handled by | 65 | * The parameters @a parent and @a name are handled by |
66 | * @ref QListView, as usual. | 66 | * @ref QListView, as usual. |
67 | */ | 67 | */ |
68 | OListView( QWidget* parent = 0, const char* name = 0 ); | 68 | OListView( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); |
69 | /** | 69 | /** |
70 | * Destructor. | 70 | * Destructor. |
71 | */ | 71 | */ |
72 | virtual ~OListView(); | 72 | virtual ~OListView(); |
73 | /** | 73 | /** |
74 | * Let the last column fit exactly all the available width. | 74 | * Let the last column fit exactly all the available width. |
75 | */ | 75 | */ |
76 | void setFullWidth( bool fullWidth ); | 76 | void setFullWidth( bool fullWidth ); |
77 | /** | 77 | /** |
78 | * Returns whether the last column is set to fit the available width. | 78 | * Returns whether the last column is set to fit the available width. |
79 | */ | 79 | */ |
80 | bool fullWidth() const; | 80 | bool fullWidth() const; |
81 | /** | 81 | /** |
82 | * Reimplemented for full width support | 82 | * Reimplemented for full width support |
83 | */ | 83 | */ |
84 | virtual int addColumn( const QString& label, int width = -1 ); | 84 | virtual int addColumn( const QString& label, int width = -1 ); |
85 | /** | 85 | /** |
86 | * Reimplemented for full width support | 86 | * Reimplemented for full width support |
87 | */ | 87 | */ |
88 | virtual int addColumn( const QIconSet& iconset, const QString& label, int width = -1 ); | 88 | virtual int addColumn( const QIconSet& iconset, const QString& label, int width = -1 ); |
89 | /** | 89 | /** |
90 | * Reimplemented for full width support | 90 | * Reimplemented for full width support |
91 | */ | 91 | */ |
92 | virtual void removeColumn(int index); | 92 | virtual void removeColumn(int index); |
93 | /** | 93 | /** |
94 | * Set the alternate background background @a color. | 94 | * Set the alternate background background @a color. |
95 | * Set to an invalid color to disable alternate colors. | 95 | * Set to an invalid color to disable alternate colors. |
96 | * This only has an effect if the items are OListViewItems | 96 | * This only has an effect if the items are OListViewItems |
97 | */ | 97 | */ |
98 | void setAlternateBackground( const QColor& color ); | 98 | void setAlternateBackground( const QColor& color ); |
99 | /** | 99 | /** |
100 | * Sets the column separator @a pen. | 100 | * Sets the column separator @a pen. |
101 | */ | 101 | */ |
102 | void setColumnSeparator( const QPen& pen ); | 102 | void setColumnSeparator( const QPen& pen ); |
103 | 103 | ||
104 | /** | 104 | /** |
105 | * @returns the alternate background color | 105 | * @returns the alternate background color |
106 | */ | 106 | */ |
107 | const QColor& alternateBackground() const; | 107 | const QColor& alternateBackground() const; |
108 | /** | 108 | /** |
109 | * @return the column separator pen | 109 | * @return the column separator pen |
110 | */ | 110 | */ |
111 | const QPen& columnSeparator() const; | 111 | const QPen& columnSeparator() const; |
112 | /** | 112 | /** |
113 | * Create a list view item as child of this object | 113 | * Create a list view item as child of this object |
114 | * @returns the new object | 114 | * @returns the new object |
115 | */ | 115 | */ |
116 | virtual OListViewItem* childFactory(); | 116 | virtual OListViewItem* childFactory(); |
117 | #ifndef QT_NO_DATASTREAM | 117 | #ifndef QT_NO_DATASTREAM |
118 | /** | 118 | /** |
119 | * Serialize this object to @ref QDataStream @a stream | 119 | * Serialize this object to @ref QDataStream @a stream |
120 | */ | 120 | */ |
121 | virtual void serializeTo( QDataStream& stream ) const; | 121 | virtual void serializeTo( QDataStream& stream ) const; |
122 | /** | 122 | /** |
123 | * Serialize this object from a @ref QDataStream @a stream | 123 | * Serialize this object from a @ref QDataStream @a stream |
124 | */ | 124 | */ |
125 | virtual void serializeFrom( QDataStream& s ); | 125 | virtual void serializeFrom( QDataStream& s ); |
126 | #endif | 126 | #endif |
127 | 127 | ||
128 | public slots: | 128 | public slots: |
129 | /** | 129 | /** |
130 | * Expand all items | 130 | * Expand all items |
131 | */ | 131 | */ |
132 | void expand(); | 132 | void expand(); |
133 | /** | 133 | /** |
134 | * Collapse all items | 134 | * Collapse all items |
135 | */ | 135 | */ |
136 | void collapse(); | 136 | void collapse(); |
137 | 137 | ||
138 | protected slots: | 138 | protected slots: |
139 | /** | 139 | /** |
140 | * expand the current OListViewItem | 140 | * expand the current OListViewItem |
141 | */ | 141 | */ |
142 | void expand(QListViewItem*); | 142 | void expand(QListViewItem*); |
143 | 143 | ||
144 | private: | 144 | private: |
145 | QColor m_alternateBackground; | 145 | QColor m_alternateBackground; |
146 | bool m_fullWidth : 1; | 146 | bool m_fullWidth : 1; |
147 | QPen m_columnSeparator; | 147 | QPen m_columnSeparator; |
148 | class Private; | 148 | class Private; |
149 | Private *d; | 149 | Private *d; |
150 | }; | 150 | }; |
151 | 151 | ||
152 | #ifndef QT_NO_DATASTREAM | 152 | #ifndef QT_NO_DATASTREAM |
153 | /** | 153 | /** |
154 | * @relates OListView | 154 | * @relates OListView |
155 | * Writes @a listview to the @a stream and returns a reference to the stream. | 155 | * Writes @a listview to the @a stream and returns a reference to the stream. |
156 | */ | 156 | */ |
157 | QDataStream& operator<<( QDataStream& stream, const OListView& listview ); | 157 | QDataStream& operator<<( QDataStream& stream, const OListView& listview ); |
158 | /** | 158 | /** |
159 | * @relates OListView | 159 | * @relates OListView |
160 | * Reads @a listview from the @a stream and returns a reference to the stream. | 160 | * Reads @a listview from the @a stream and returns a reference to the stream. |
161 | */ | 161 | */ |
162 | QDataStream& operator>>( QDataStream& stream, OListView& listview ); | 162 | QDataStream& operator>>( QDataStream& stream, OListView& listview ); |
163 | #endif // QT_NO_DATASTREAM | 163 | #endif // QT_NO_DATASTREAM |
164 | 164 | ||
165 | /*====================================================================================== | 165 | /*====================================================================================== |
166 | * OListViewItem | 166 | * OListViewItem |
167 | *======================================================================================*/ | 167 | *======================================================================================*/ |
168 | 168 | ||
169 | class OListViewItem: public QListViewItem | 169 | class OListViewItem: public QListViewItem |
170 | { | 170 | { |
171 | friend class OCheckListItem; | 171 | friend class OCheckListItem; |
172 | public: | 172 | public: |
173 | /** | 173 | /** |
174 | * Constructors. | 174 | * Constructors. |
175 | */ | 175 | */ |
176 | OListViewItem( QListView * parent ); | 176 | OListViewItem( QListView * parent ); |
177 | OListViewItem( QListViewItem * parent ); | 177 | OListViewItem( QListViewItem * parent ); |
178 | OListViewItem( QListView * parent, QListViewItem * after ); | 178 | OListViewItem( QListView * parent, QListViewItem * after ); |
179 | OListViewItem( QListViewItem * parent, QListViewItem * after ); | 179 | OListViewItem( QListViewItem * parent, QListViewItem * after ); |
180 | 180 | ||
181 | OListViewItem( QListView * parent, | 181 | OListViewItem( QListView * parent, |
182 | QString, QString = QString::null, | 182 | QString, QString = QString::null, |
183 | QString = QString::null, QString = QString::null, | 183 | QString = QString::null, QString = QString::null, |
184 | QString = QString::null, QString = QString::null, | 184 | QString = QString::null, QString = QString::null, |
185 | QString = QString::null, QString = QString::null ); | 185 | QString = QString::null, QString = QString::null ); |
186 | 186 | ||
187 | OListViewItem( QListViewItem * parent, | 187 | OListViewItem( QListViewItem * parent, |
188 | QString, QString = QString::null, | 188 | QString, QString = QString::null, |
189 | QString = QString::null, QString = QString::null, | 189 | QString = QString::null, QString = QString::null, |
190 | QString = QString::null, QString = QString::null, | 190 | QString = QString::null, QString = QString::null, |
191 | QString = QString::null, QString = QString::null ); | 191 | QString = QString::null, QString = QString::null ); |
192 | 192 | ||
193 | OListViewItem( QListView * parent, QListViewItem * after, | 193 | OListViewItem( QListView * parent, QListViewItem * after, |
194 | QString, QString = QString::null, | 194 | QString, QString = QString::null, |
195 | QString = QString::null, QString = QString::null, | 195 | QString = QString::null, QString = QString::null, |
196 | QString = QString::null, QString = QString::null, | 196 | QString = QString::null, QString = QString::null, |
197 | QString = QString::null, QString = QString::null ); | 197 | QString = QString::null, QString = QString::null ); |
198 | 198 | ||
199 | OListViewItem( QListViewItem * parent, QListViewItem * after, | 199 | OListViewItem( QListViewItem * parent, QListViewItem * after, |
200 | QString, QString = QString::null, | 200 | QString, QString = QString::null, |
201 | QString = QString::null, QString = QString::null, | 201 | QString = QString::null, QString = QString::null, |
202 | QString = QString::null, QString = QString::null, | 202 | QString = QString::null, QString = QString::null, |
203 | QString = QString::null, QString = QString::null ); | 203 | QString = QString::null, QString = QString::null ); |
204 | /** | 204 | /** |
205 | * Destructor. | 205 | * Destructor. |
206 | */ | 206 | */ |
207 | virtual ~OListViewItem(); | 207 | virtual ~OListViewItem(); |
208 | /** | 208 | /** |
209 | * @returns the background color of the list item. | 209 | * @returns the background color of the list item. |
210 | */ | 210 | */ |
211 | const QColor& backgroundColor(); | 211 | const QColor& backgroundColor(); |
212 | /** | 212 | /** |
213 | * @returns true, if the item is at an odd position and | 213 | * @returns true, if the item is at an odd position and |
214 | * thus have to be painted with the alternate background color. | 214 | * thus have to be painted with the alternate background color. |
215 | */ | 215 | */ |
216 | bool isAlternate(); | 216 | bool isAlternate(); |
217 | /** | 217 | /** |
218 | * @note: Reimplemented for internal purposes - the API is not affected | 218 | * @note: Reimplemented for internal purposes - the API is not affected |
219 | * | 219 | * |
220 | */ | 220 | */ |
221 | void paintCell( QPainter *p, const QColorGroup &cg, int column, int width, int alignment ); | 221 | void paintCell( QPainter *p, const QColorGroup &cg, int column, int width, int alignment ); |
222 | /** | 222 | /** |
223 | * Perform object initialization. | 223 | * Perform object initialization. |
224 | */ | 224 | */ |
225 | void init(); | 225 | void init(); |
226 | /** | 226 | /** |
227 | * create a list view item as child of this object | 227 | * create a list view item as child of this object |
228 | * @returns the new object | 228 | * @returns the new object |
229 | */ | 229 | */ |
230 | virtual OListViewItem* childFactory(); | 230 | virtual OListViewItem* childFactory(); |
231 | #ifndef QT_NO_DATASTREAM | 231 | #ifndef QT_NO_DATASTREAM |
232 | /** | 232 | /** |
233 | * serialize this object to or from a @ref QDataStream | 233 | * serialize this object to or from a @ref QDataStream |
234 | * @param s the stream used to serialize this object. | 234 | * @param s the stream used to serialize this object. |
235 | */ | 235 | */ |
236 | virtual void serializeTo( QDataStream& s ) const; | 236 | virtual void serializeTo( QDataStream& s ) const; |
237 | 237 | ||
238 | /** | 238 | /** |
239 | * serialize this object to or from a @ref QDataStream | 239 | * serialize this object to or from a @ref QDataStream |
240 | * @param s the stream used to serialize this object. | 240 | * @param s the stream used to serialize this object. |
241 | */ | 241 | */ |
242 | virtual void serializeFrom( QDataStream& s ); | 242 | virtual void serializeFrom( QDataStream& s ); |
243 | #endif | 243 | #endif |
244 | 244 | ||
245 | /** | 245 | /** |
246 | * expand the the item | 246 | * expand the the item |
247 | */ | 247 | */ |
248 | virtual void expand(){}; | 248 | virtual void expand(){}; |
249 | 249 | ||
250 | private: | 250 | private: |
251 | bool m_known : 1; | 251 | bool m_known : 1; |
252 | bool m_odd : 1; | 252 | bool m_odd : 1; |
253 | class Private; | 253 | class Private; |
254 | Private *d; | 254 | Private *d; |
255 | }; | 255 | }; |
256 | 256 | ||
257 | #ifndef QT_NO_DATASTREAM | 257 | #ifndef QT_NO_DATASTREAM |
258 | /** | 258 | /** |
259 | * @relates QListViewItem | 259 | * @relates QListViewItem |
260 | * Writes listview @a item and all subitems recursively to @a stream | 260 | * Writes listview @a item and all subitems recursively to @a stream |
261 | * and returns a reference to the stream. | 261 | * and returns a reference to the stream. |
262 | */ | 262 | */ |
263 | QDataStream& operator<<( QDataStream& stream, const OListViewItem& item ); | 263 | QDataStream& operator<<( QDataStream& stream, const OListViewItem& item ); |
264 | /** | 264 | /** |
265 | * @relates QListViewItem | 265 | * @relates QListViewItem |
266 | * Reads listview @a item from @a stream and returns a reference to the stream. | 266 | * Reads listview @a item from @a stream and returns a reference to the stream. |
267 | */ | 267 | */ |
268 | QDataStream& operator>>( QDataStream& stream, OListViewItem& item ); | 268 | QDataStream& operator>>( QDataStream& stream, OListViewItem& item ); |
269 | #endif // QT_NO_DATASTREAM | 269 | #endif // QT_NO_DATASTREAM |
270 | 270 | ||
271 | 271 | ||
272 | /*====================================================================================== | 272 | /*====================================================================================== |
273 | * OCheckListItem | 273 | * OCheckListItem |
274 | *======================================================================================*/ | 274 | *======================================================================================*/ |
275 | 275 | ||
276 | class OCheckListItem : public QCheckListItem | 276 | class OCheckListItem : public QCheckListItem |
277 | { | 277 | { |
278 | public: | 278 | public: |
279 | 279 | ||
280 | OCheckListItem( QCheckListItem *parent, const QString &text, | 280 | OCheckListItem( QCheckListItem *parent, const QString &text, |
281 | Type = Controller ); | 281 | Type = Controller ); |
282 | OCheckListItem( QListViewItem *parent, const QString &text, | 282 | OCheckListItem( QListViewItem *parent, const QString &text, |
283 | Type = Controller ); | 283 | Type = Controller ); |
284 | OCheckListItem( QListView *parent, const QString &text, | 284 | OCheckListItem( QListView *parent, const QString &text, |
285 | Type = Controller ); | 285 | Type = Controller ); |
286 | OCheckListItem( QListViewItem *parent, const QString &text, | 286 | OCheckListItem( QListViewItem *parent, const QString &text, |
287 | const QPixmap & ); | 287 | const QPixmap & ); |
288 | OCheckListItem( QListView *parent, const QString &text, | 288 | OCheckListItem( QListView *parent, const QString &text, |
289 | const QPixmap & ); | 289 | const QPixmap & ); |
290 | ~OCheckListItem(); | 290 | ~OCheckListItem(); |
291 | /** | 291 | /** |
292 | * @returns the background color of the list item. | 292 | * @returns the background color of the list item. |
293 | */ | 293 | */ |
294 | const QColor& backgroundColor(); | 294 | const QColor& backgroundColor(); |
295 | /** | 295 | /** |
296 | * @returns true, if the item is at an odd position and | 296 | * @returns true, if the item is at an odd position and |
297 | * thus have to be painted with the alternate background color. | 297 | * thus have to be painted with the alternate background color. |
298 | */ | 298 | */ |
299 | bool isAlternate(); | 299 | bool isAlternate(); |
300 | /** | 300 | /** |
301 | * @note: Reimplemented for internal purposes - the API is not affected | 301 | * @note: Reimplemented for internal purposes - the API is not affected |
302 | * | 302 | * |
303 | */ | 303 | */ |
304 | void paintCell( QPainter *p, const QColorGroup &cg, int column, int width, int alignment ); | 304 | void paintCell( QPainter *p, const QColorGroup &cg, int column, int width, int alignment ); |
305 | /** | 305 | /** |
306 | * Perform object initialization. | 306 | * Perform object initialization. |
307 | */ | 307 | */ |
308 | void init(); | 308 | void init(); |
309 | 309 | ||
310 | private: | 310 | private: |
311 | bool m_known; | 311 | bool m_known; |
312 | bool m_odd; | 312 | bool m_odd; |
313 | }; | 313 | }; |
314 | 314 | ||
315 | 315 | ||
316 | /*====================================================================================== | 316 | /*====================================================================================== |
317 | * ONamedListView | 317 | * ONamedListView |
318 | *======================================================================================*/ | 318 | *======================================================================================*/ |
319 | 319 | ||
320 | class ONamedListViewItem; | 320 | class ONamedListViewItem; |
321 | 321 | ||
322 | /** | 322 | /** |
323 | * @brief An OListView variant with named columns. | 323 | * @brief An OListView variant with named columns. |
324 | * | 324 | * |