Diffstat (limited to 'libopie2/opieui/oversatileview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | libopie2/opieui/oversatileview.cpp | 43 |
1 files changed, 23 insertions, 20 deletions
diff --git a/libopie2/opieui/oversatileview.cpp b/libopie2/opieui/oversatileview.cpp index 78154b7..f6c6410 100644 --- a/libopie2/opieui/oversatileview.cpp +++ b/libopie2/opieui/oversatileview.cpp | |||
@@ -31,24 +31,27 @@ | |||
31 | /* OPIE */ | 31 | /* OPIE */ |
32 | 32 | ||
33 | #include <opie2/odebug.h> | 33 | #include <opie2/odebug.h> |
34 | #include <opie2/oversatileview.h> | 34 | #include <opie2/oversatileview.h> |
35 | #include <opie2/oversatileviewitem.h> | 35 | #include <opie2/oversatileviewitem.h> |
36 | #include <opie2/olistview.h> | 36 | #include <opie2/olistview.h> |
37 | 37 | ||
38 | /* QT */ | 38 | /* QT */ |
39 | 39 | ||
40 | #include <qaction.h> | 40 | #include <qaction.h> |
41 | #include <qpopupmenu.h> | 41 | #include <qpopupmenu.h> |
42 | 42 | ||
43 | using namespace Opie::Core; | ||
44 | using namespace Opie::Ui; | ||
45 | |||
43 | /* XPM */ | 46 | /* XPM */ |
44 | static const char * view_icon_xpm[] = { | 47 | static const char * view_icon_xpm[] = { |
45 | "16 16 16 1", | 48 | "16 16 16 1", |
46 | " c None", | 49 | " c None", |
47 | ".c #87BD88", | 50 | ".c #87BD88", |
48 | "+c #8BBE8B", | 51 | "+c #8BBE8B", |
49 | "@c #81BA81", | 52 | "@c #81BA81", |
50 | "#c #6DAF6D", | 53 | "#c #6DAF6D", |
51 | "$c #87BD87", | 54 | "$c #87BD87", |
52 | "%c #FCFDFC", | 55 | "%c #FCFDFC", |
53 | "&c #AED0AE", | 56 | "&c #AED0AE", |
54 | "*c #4E9C4C", | 57 | "*c #4E9C4C", |
@@ -123,33 +126,33 @@ OVersatileView::OVersatileView( QWidget* parent, const char* name, int mode ) | |||
123 | // Create child widgets and set some reasonable default styles | 126 | // Create child widgets and set some reasonable default styles |
124 | // | 127 | // |
125 | 128 | ||
126 | _listview = new OListView( this, "oversatileview embedded listview" ); | 129 | _listview = new OListView( this, "oversatileview embedded listview" ); |
127 | _iconview = new QIconView( this, "oversatileview embedded iconview" ); | 130 | _iconview = new QIconView( this, "oversatileview embedded iconview" ); |
128 | 131 | ||
129 | _listview->setAllColumnsShowFocus( true ); | 132 | _listview->setAllColumnsShowFocus( true ); |
130 | _listview->setRootIsDecorated( true ); | 133 | _listview->setRootIsDecorated( true ); |
131 | _listview->setShowSortIndicator( true ); | 134 | _listview->setShowSortIndicator( true ); |
132 | _iconview->setGridX( 90 ); | 135 | _iconview->setGridX( 90 ); |
133 | _iconview->setGridY( 42 ); | 136 | _iconview->setGridY( 42 ); |
134 | _iconview->setAutoArrange( true ); | 137 | _iconview->setAutoArrange( true ); |
135 | 138 | ||
136 | #ifdef QWS // TODO: Let this depend on current geometry (rotation) | 139 | #ifdef QWS // TODO: Let this depend on current geometry (rotation) |
137 | _iconview->setArrangement( QIconView::TopToBottom ); | 140 | _iconview->setArrangement( QIconView::TopToBottom ); |
138 | #else | 141 | #else |
139 | _iconview->setArrangement( QIconView::LeftToRight ); | 142 | _iconview->setArrangement( QIconView::LeftToRight ); |
140 | #endif | 143 | #endif |
141 | 144 | ||
142 | _iconview->setResizeMode( QIconView::Adjust ); | 145 | _iconview->setResizeMode( QIconView::Adjust ); |
143 | 146 | ||
144 | // qt-embedded: map stylus right on hold to right button press | 147 | // qt-embedded: map stylus right on hold to right button press |
145 | 148 | ||
146 | #ifdef QWS | 149 | #ifdef QWS |
147 | ( (QPEApplication*) qApp)->setStylusOperation( _iconview->viewport(), QPEApplication::RightOnHold ); | 150 | ( (QPEApplication*) qApp)->setStylusOperation( _iconview->viewport(), QPEApplication::RightOnHold ); |
148 | ( (QPEApplication*) qApp)->setStylusOperation( _listview->viewport(), QPEApplication::RightOnHold ); | 151 | ( (QPEApplication*) qApp)->setStylusOperation( _listview->viewport(), QPEApplication::RightOnHold ); |
149 | #endif | 152 | #endif |
150 | 153 | ||
151 | setViewMode( mode ); // TODO: Read last style from config | 154 | setViewMode( mode ); // TODO: Read last style from config |
152 | // setSynchronization( true ); // TODO: Implement this | 155 | // setSynchronization( true ); // TODO: Implement this |
153 | 156 | ||
154 | // create context menu allowing to switch between the views | 157 | // create context menu allowing to switch between the views |
155 | 158 | ||
@@ -159,75 +162,75 @@ OVersatileView::OVersatileView( QWidget* parent, const char* name, int mode ) | |||
159 | QActionGroup* ag = new QActionGroup( _contextmenu, "style option group" ); | 162 | QActionGroup* ag = new QActionGroup( _contextmenu, "style option group" ); |
160 | QAction* a1 = new QAction( "View Items in Icon Style", QIconSet( QPixmap( view_icon_xpm ) ), | 163 | QAction* a1 = new QAction( "View Items in Icon Style", QIconSet( QPixmap( view_icon_xpm ) ), |
161 | "View Icons", 0, ag, "viewicon action", true ); | 164 | "View Icons", 0, ag, "viewicon action", true ); |
162 | QAction* a2 = new QAction( "View Items in Tree Style", QIconSet( QPixmap( view_tree_xpm ) ), | 165 | QAction* a2 = new QAction( "View Items in Tree Style", QIconSet( QPixmap( view_tree_xpm ) ), |
163 | "View Tree", 0, ag, "viewtree action", true ); | 166 | "View Tree", 0, ag, "viewtree action", true ); |
164 | ag->addTo( _contextmenu ); | 167 | ag->addTo( _contextmenu ); |
165 | if ( mode == Icons ) | 168 | if ( mode == Icons ) |
166 | a1->setOn( true ); | 169 | a1->setOn( true ); |
167 | else if ( mode == Tree ) | 170 | else if ( mode == Tree ) |
168 | a2->setOn( true ); | 171 | a2->setOn( true ); |
169 | connect( a1, SIGNAL( activated() ), this, SLOT( setIconViewMode() ) ); | 172 | connect( a1, SIGNAL( activated() ), this, SLOT( setIconViewMode() ) ); |
170 | connect( a2, SIGNAL( activated() ), this, SLOT( setTreeViewMode() ) ); | 173 | connect( a2, SIGNAL( activated() ), this, SLOT( setTreeViewMode() ) ); |
171 | 174 | ||
172 | #if (QT_VERSION >= 0x030000) | 175 | #if (QT_VERSION >= 0x030000) |
173 | connect( _listview, SIGNAL( contextMenuRequested(QListViewItem*,const QPoint&,int) ), this, SLOT( contextMenuRequested(QListViewItem*,const QPoint&,int) ) ); | 176 | connect( _listview, SIGNAL( contextMenuRequested(QListViewItem*,const QPoint&,int) ), this, SLOT( contextMenuRequested(QListViewItem*,const QPoint&,int) ) ); |
174 | connect( _iconview, SIGNAL( contextMenuRequested(QIconViewItem*,const QPoint&) ), this, SLOT( contextMenuRequested(QIconViewItem*,const QPoint&) ) ); | 177 | connect( _iconview, SIGNAL( contextMenuRequested(QIconViewItem*,const QPoint&) ), this, SLOT( contextMenuRequested(QIconViewItem*,const QPoint&) ) ); |
175 | #else | 178 | #else |
176 | connect( _listview, SIGNAL( rightButtonPressed(QListViewItem*,const QPoint&,int) ), this, SLOT( contextMenuRequested(QListViewItem*,const QPoint&,int) ) ); | 179 | connect( _listview, SIGNAL( rightButtonPressed(QListViewItem*,const QPoint&,int) ), this, SLOT( contextMenuRequested(QListViewItem*,const QPoint&,int) ) ); |
177 | connect( _iconview, SIGNAL( rightButtonPressed(QIconViewItem*,const QPoint&) ), this, SLOT( contextMenuRequested(QIconViewItem*,const QPoint&) ) ); | 180 | connect( _iconview, SIGNAL( rightButtonPressed(QIconViewItem*,const QPoint&) ), this, SLOT( contextMenuRequested(QIconViewItem*,const QPoint&) ) ); |
178 | #endif | 181 | #endif |
179 | 182 | ||
180 | // | 183 | // |
181 | // signal forwarders | 184 | // signal forwarders |
182 | // | 185 | // |
183 | // unfortunately we can't short-circuit all the QListView and QIconView signals | 186 | // unfortunately we can't short-circuit all the QListView and QIconView signals |
184 | // to OVersatileView signals, because the signal/slot mechanism doesn't allow | 187 | // to OVersatileView signals, because the signal/slot mechanism doesn't allow |
185 | // type-conversion :-( | 188 | // type-conversion :-( |
186 | 189 | ||
187 | // common signals for listview | 190 | // common signals for listview |
188 | 191 | ||
189 | connect( _listview, SIGNAL( selectionChanged() ), this, SIGNAL( selectionChanged() ) ); | 192 | connect( _listview, SIGNAL( selectionChanged() ), this, SIGNAL( selectionChanged() ) ); |
190 | connect( _listview, SIGNAL( selectionChanged(QListViewItem*) ), this, SLOT( selectionChanged(QListViewItem*) ) ); | 193 | connect( _listview, SIGNAL( selectionChanged(QListViewItem*) ), this, SLOT( selectionChanged(QListViewItem*) ) ); |
191 | connect( _listview, SIGNAL( currentChanged(QListViewItem*) ), this, SLOT( currentChanged(QListViewItem*) ) ); | 194 | connect( _listview, SIGNAL( currentChanged(QListViewItem*) ), this, SLOT( currentChanged(QListViewItem*) ) ); |
192 | connect( _listview, SIGNAL( clicked(QListViewItem*) ), this, SLOT( clicked(QListViewItem*) ) ); | 195 | connect( _listview, SIGNAL( clicked(QListViewItem*) ), this, SLOT( clicked(QListViewItem*) ) ); |
193 | connect( _listview, SIGNAL( pressed(QListViewItem*) ), this, SLOT( pressed(QListViewItem*) ) ); | 196 | connect( _listview, SIGNAL( pressed(QListViewItem*) ), this, SLOT( pressed(QListViewItem*) ) ); |
194 | 197 | ||
195 | connect( _listview, SIGNAL( doubleClicked(QListViewItem*) ), this, SLOT( doubleClicked(QListViewItem*) ) ); | 198 | connect( _listview, SIGNAL( doubleClicked(QListViewItem*) ), this, SLOT( doubleClicked(QListViewItem*) ) ); |
196 | connect( _listview, SIGNAL( returnPressed(QListViewItem*) ), this, SLOT( returnPressed(QListViewItem*) ) ); | 199 | connect( _listview, SIGNAL( returnPressed(QListViewItem*) ), this, SLOT( returnPressed(QListViewItem*) ) ); |
197 | 200 | ||
198 | connect( _listview, SIGNAL( onItem(QListViewItem*) ), this, SLOT( onItem(QListViewItem*) ) ); | 201 | connect( _listview, SIGNAL( onItem(QListViewItem*) ), this, SLOT( onItem(QListViewItem*) ) ); |
199 | connect( _listview, SIGNAL( onViewport() ), this, SIGNAL( onViewport() ) ); | 202 | connect( _listview, SIGNAL( onViewport() ), this, SIGNAL( onViewport() ) ); |
200 | 203 | ||
201 | // common signals for iconview | 204 | // common signals for iconview |
202 | 205 | ||
203 | connect( _iconview, SIGNAL( selectionChanged() ), this, SIGNAL( selectionChanged() ) ); | 206 | connect( _iconview, SIGNAL( selectionChanged() ), this, SIGNAL( selectionChanged() ) ); |
204 | connect( _iconview, SIGNAL( selectionChanged(QIconViewItem*) ), this, SLOT( selectionChanged(QIconViewItem*) ) ); | 207 | connect( _iconview, SIGNAL( selectionChanged(QIconViewItem*) ), this, SLOT( selectionChanged(QIconViewItem*) ) ); |
205 | connect( _iconview, SIGNAL( currentChanged(QIconViewItem*) ), this, SLOT( currentChanged(QIconViewItem*) ) ); | 208 | connect( _iconview, SIGNAL( currentChanged(QIconViewItem*) ), this, SLOT( currentChanged(QIconViewItem*) ) ); |
206 | connect( _iconview, SIGNAL( clicked(QIconViewItem*) ), this, SLOT( clicked(QIconViewItem*) ) ); | 209 | connect( _iconview, SIGNAL( clicked(QIconViewItem*) ), this, SLOT( clicked(QIconViewItem*) ) ); |
207 | connect( _iconview, SIGNAL( pressed(QIconViewItem*) ), this, SLOT( pressed(QIconViewItem*) ) ); | 210 | connect( _iconview, SIGNAL( pressed(QIconViewItem*) ), this, SLOT( pressed(QIconViewItem*) ) ); |
208 | 211 | ||
209 | connect( _iconview, SIGNAL( doubleClicked(QIconViewItem*) ), this, SLOT( doubleClicked(QIconViewItem*) ) ); | 212 | connect( _iconview, SIGNAL( doubleClicked(QIconViewItem*) ), this, SLOT( doubleClicked(QIconViewItem*) ) ); |
210 | connect( _iconview, SIGNAL( returnPressed(QIconViewItem*) ), this, SLOT( returnPressed(QIconViewItem*) ) ); | 213 | connect( _iconview, SIGNAL( returnPressed(QIconViewItem*) ), this, SLOT( returnPressed(QIconViewItem*) ) ); |
211 | 214 | ||
212 | connect( _iconview, SIGNAL( onItem(QIconViewItem*) ), this, SLOT( onItem(QIconViewItem*) ) ); | 215 | connect( _iconview, SIGNAL( onItem(QIconViewItem*) ), this, SLOT( onItem(QIconViewItem*) ) ); |
213 | connect( _iconview, SIGNAL( onViewport() ), this, SIGNAL( onViewport() ) ); | 216 | connect( _iconview, SIGNAL( onViewport() ), this, SIGNAL( onViewport() ) ); |
214 | 217 | ||
215 | // listview only signals | 218 | // listview only signals |
216 | 219 | ||
217 | connect( _listview, SIGNAL( expanded(QListViewItem*) ), this, SLOT( expanded(QListViewItem*) ) ); | 220 | connect( _listview, SIGNAL( expanded(QListViewItem*) ), this, SLOT( expanded(QListViewItem*) ) ); |
218 | connect( _listview, SIGNAL( collapsed(QListViewItem*) ), this, SLOT( collapsed(QListViewItem*) ) ); | 221 | connect( _listview, SIGNAL( collapsed(QListViewItem*) ), this, SLOT( collapsed(QListViewItem*) ) ); |
219 | 222 | ||
220 | // iconview only signals | 223 | // iconview only signals |
221 | 224 | ||
222 | connect( _iconview, SIGNAL( moved() ), this, SIGNAL( moved() ) ); | 225 | connect( _iconview, SIGNAL( moved() ), this, SIGNAL( moved() ) ); |
223 | } | 226 | } |
224 | 227 | ||
225 | OVersatileView::~OVersatileView() | 228 | OVersatileView::~OVersatileView() |
226 | { | 229 | { |
227 | } | 230 | } |
228 | 231 | ||
229 | QPopupMenu* OVersatileView::contextMenu() const | 232 | QPopupMenu* OVersatileView::contextMenu() const |
230 | { | 233 | { |
231 | return _contextmenu; | 234 | return _contextmenu; |
232 | } | 235 | } |
233 | 236 | ||
@@ -411,25 +414,25 @@ void OVersatileView::doubleClicked( QListViewItem * item ) | |||
411 | emit( doubleClicked( static_cast<OVersatileViewItem*>( item ) ) ); | 414 | emit( doubleClicked( static_cast<OVersatileViewItem*>( item ) ) ); |
412 | } | 415 | } |
413 | 416 | ||
414 | void OVersatileView::doubleClicked( QIconViewItem * item ) | 417 | void OVersatileView::doubleClicked( QIconViewItem * item ) |
415 | { | 418 | { |
416 | emit( doubleClicked( static_cast<OVersatileViewItem*>( item ) ) ); | 419 | emit( doubleClicked( static_cast<OVersatileViewItem*>( item ) ) ); |
417 | } | 420 | } |
418 | 421 | ||
419 | void OVersatileView::returnPressed( QListViewItem * item ) | 422 | void OVersatileView::returnPressed( QListViewItem * item ) |
420 | { | 423 | { |
421 | emit( returnPressed( static_cast<OVersatileViewItem*>( item ) ) ); | 424 | emit( returnPressed( static_cast<OVersatileViewItem*>( item ) ) ); |
422 | } | 425 | } |
423 | 426 | ||
424 | void OVersatileView::returnPressed( QIconViewItem * item ) | 427 | void OVersatileView::returnPressed( QIconViewItem * item ) |
425 | { | 428 | { |
426 | emit( returnPressed( static_cast<OVersatileViewItem*>( item ) ) ); | 429 | emit( returnPressed( static_cast<OVersatileViewItem*>( item ) ) ); |
427 | } | 430 | } |
428 | 431 | ||
429 | void OVersatileView::onItem( QListViewItem * item ) | 432 | void OVersatileView::onItem( QListViewItem * item ) |
430 | { | 433 | { |
431 | emit( onItem( static_cast<OVersatileViewItem*>( item ) ) ); | 434 | emit( onItem( static_cast<OVersatileViewItem*>( item ) ) ); |
432 | } | 435 | } |
433 | 436 | ||
434 | void OVersatileView::onItem( QIconViewItem * item ) | 437 | void OVersatileView::onItem( QIconViewItem * item ) |
435 | { | 438 | { |
@@ -444,25 +447,25 @@ void OVersatileView::expanded( QListViewItem *item ) // QListView | |||
444 | emit( expanded( static_cast<OVersatileViewItem*>( item ) ) ); | 447 | emit( expanded( static_cast<OVersatileViewItem*>( item ) ) ); |
445 | } | 448 | } |
446 | void OVersatileView::collapsed( QListViewItem *item ) // QListView | 449 | void OVersatileView::collapsed( QListViewItem *item ) // QListView |
447 | { | 450 | { |
448 | if ( !_treeclosed.isNull() ) | 451 | if ( !_treeclosed.isNull() ) |
449 | item->setPixmap( 0, _treeclosed ); | 452 | item->setPixmap( 0, _treeclosed ); |
450 | emit( collapsed( static_cast<OVersatileViewItem*>( item ) ) ); | 453 | emit( collapsed( static_cast<OVersatileViewItem*>( item ) ) ); |
451 | } | 454 | } |
452 | 455 | ||
453 | //=============================================================================================// | 456 | //=============================================================================================// |
454 | // OVersatileView Case I - API only existing in QListView or QIconView but not in both! | 457 | // OVersatileView Case I - API only existing in QListView or QIconView but not in both! |
455 | //==============================================================================================// | 458 | //==============================================================================================// |
456 | 459 | ||
457 | int OVersatileView::treeStepSize() const // QListView | 460 | int OVersatileView::treeStepSize() const // QListView |
458 | { | 461 | { |
459 | if ( !isValidViewMode( Tree ) ) | 462 | if ( !isValidViewMode( Tree ) ) |
460 | { | 463 | { |
461 | return -1; | 464 | return -1; |
462 | } | 465 | } |
463 | return _listview->treeStepSize(); | 466 | return _listview->treeStepSize(); |
464 | } | 467 | } |
465 | void OVersatileView::setTreeStepSize( int size ) // QListView | 468 | void OVersatileView::setTreeStepSize( int size ) // QListView |
466 | { | 469 | { |
467 | if ( !isValidViewMode( Tree ) ) | 470 | if ( !isValidViewMode( Tree ) ) |
468 | { | 471 | { |
@@ -736,25 +739,25 @@ bool OVersatileView::showSortIndicator() const // QListView | |||
736 | void OVersatileView::triggerUpdate() // QListView | 739 | void OVersatileView::triggerUpdate() // QListView |
737 | { | 740 | { |
738 | if ( !isValidViewMode( Tree ) ) | 741 | if ( !isValidViewMode( Tree ) ) |
739 | { | 742 | { |
740 | return; | 743 | return; |
741 | } | 744 | } |
742 | _listview->triggerUpdate(); | 745 | _listview->triggerUpdate(); |
743 | } | 746 | } |
744 | 747 | ||
745 | // | 748 | // |
746 | // only in QIconView | 749 | // only in QIconView |
747 | // | 750 | // |
748 | 751 | ||
749 | uint OVersatileView::count() const // QIconView | 752 | uint OVersatileView::count() const // QIconView |
750 | { | 753 | { |
751 | if ( !isValidViewMode( Icons ) ) | 754 | if ( !isValidViewMode( Icons ) ) |
752 | { | 755 | { |
753 | return 0; | 756 | return 0; |
754 | } | 757 | } |
755 | return _iconview->count(); | 758 | return _iconview->count(); |
756 | } | 759 | } |
757 | 760 | ||
758 | int OVersatileView::index( const OVersatileViewItem *item ) const // QIconView | 761 | int OVersatileView::index( const OVersatileViewItem *item ) const // QIconView |
759 | { | 762 | { |
760 | if ( !isValidViewMode( Icons ) ) | 763 | if ( !isValidViewMode( Icons ) ) |