- Timestamp:
- 09/29/08 05:36:34 (5 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
branches/jackMidi/gui/src/PlaylistEditor/PlaylistDialog.cpp
r538 r539 24 24 #include "PlaylistDialog.h" 25 25 #include "../HydrogenApp.h" 26 #include "../InstrumentRack.h" 27 #include "SoundLibrary/SoundLibraryPanel.h" 26 28 27 29 #include <hydrogen/LocalFileMng.h> … … 171 173 QTreeWidget* m_pPlaylist = m_pPlaylistTree; 172 174 QTreeWidgetItem* m_pPlaylistItem = m_pPlaylist->topLevelItem ( aselected ); 173 m_pPlaylist->setCurrentItem ( m_pPlaylistItem ); 174 } 175 176 QTimer *timer = new QTimer( this ); 175 m_pPlaylistItem->setBackgroundColor ( 0, QColor( 50, 50, 50) ); 176 m_pPlaylistItem->setBackgroundColor ( 1, QColor( 50, 50, 50) ); 177 m_pPlaylistItem->setBackgroundColor ( 2, QColor( 50, 50, 50) ); 178 } 179 180 timer = new QTimer( this ); 177 181 connect(timer, SIGNAL(timeout() ), this, SLOT( updateActiveSongNumber() ) ); 178 182 timer->start( 1000 ); // update player control at 1 fps … … 213 217 QTreeWidget* m_pPlaylist = m_pPlaylistTree; 214 218 QTreeWidgetItem* m_pPlaylistItem = m_pPlaylistTree->currentItem(); 219 int index = m_pPlaylist->indexOfTopLevelItem ( m_pPlaylistItem ); 215 220 QTreeWidgetItem * m_pItem = m_pPlaylist->topLevelItem ( 1 ); 216 221 … … 238 243 delete m_pPlaylistItem; 239 244 updatePlayListVector(); 245 if ( Playlist::get_instance()->getActiveSongNumber() == index ){ 246 Playlist::get_instance()->setActiveSongNumber( -1 ); 247 }else if ( Playlist::get_instance()->getActiveSongNumber() > index ){ 248 Playlist::get_instance()->setActiveSongNumber( Playlist::get_instance()->getActiveSongNumber() -1 ); 249 } 250 240 251 } 241 252 } … … 332 343 m_pPlaylist->setCurrentItem ( m_pPlaylistItem ); 333 344 Playlist::get_instance()->setSelectedSongNr( 0 ); 334 // Playlist::get_instance()->setNextSongByNumber( 0 );335 345 } 336 346 … … 557 567 void PlaylistDialog::o_upBClicked() 558 568 { 569 timer->stop(); 559 570 560 571 Playlist* pList = Playlist::get_instance(); … … 564 575 int index = m_pPlaylist->indexOfTopLevelItem ( m_pPlaylistItem ); 565 576 566 if (index == 0 ) return; 577 if (index == 0 ){ 578 timer->start( 1000 ); 579 return; 580 } 567 581 568 582 QTreeWidgetItem* tmpPlaylistItem = m_pPlaylist->takeTopLevelItem ( index ); … … 571 585 m_pPlaylist->setCurrentItem ( tmpPlaylistItem ); 572 586 573 if ( pList->getSelectedSongNr() > 0 )587 if ( pList->getSelectedSongNr() >= 0 ) 574 588 pList->setSelectedSongNr( pList->getSelectedSongNr() -1 ); 575 if ( pList->getActiveSongNumber() > 0 ) 589 590 if ( pList->getActiveSongNumber() == index ){ 576 591 pList->setActiveSongNumber( pList->getActiveSongNumber() -1 ); 592 }else if ( pList->getActiveSongNumber() == index -1 ){ 593 pList->setActiveSongNumber( pList->getActiveSongNumber() +1 ); 594 } 577 595 578 596 updatePlayListVector(); … … 583 601 void PlaylistDialog::o_downBClicked() 584 602 { 585 603 timer->stop(); 586 604 Playlist* pList = Playlist::get_instance(); 587 605 … … 591 609 int index = m_pPlaylist->indexOfTopLevelItem ( m_pPlaylistItem ); 592 610 593 if ( index == length - 1) 594 return; 611 if ( index == length - 1){ 612 timer->start( 1000 ); 613 return; 614 } 595 615 596 616 … … 600 620 m_pPlaylist->setCurrentItem ( tmpPlaylistItem ); 601 621 602 if ( pList->getSelectedSongNr() > 0 )622 if ( pList->getSelectedSongNr() >= 0 ) 603 623 pList->setSelectedSongNr( pList->getSelectedSongNr() +1 ); 604 if (pList ->getActiveSongNumber() > 0 ) 624 625 if (pList ->getActiveSongNumber() == index ){ 605 626 pList->setActiveSongNumber( pList->getActiveSongNumber() +1 ); 606 627 }else if ( pList->getActiveSongNumber() == index +1 ){ 628 pList->setActiveSongNumber( pList->getActiveSongNumber() -1 ); 629 } 607 630 updatePlayListVector(); 608 631 … … 703 726 704 727 pH2App->setStatusBarMessage( trUtf8( "Playlist: Set song No. %1" ).arg( index +1 ), 5000 ); 728 729 HydrogenApp::getInstance()->getInstrumentRack()->getSoundLibraryPanel()->update_background_color(); 705 730 706 731 ///exec script … … 762 787 Hydrogen::get_instance()->m_PlayList.push_back( playListItem ); 763 788 } 789 timer->start( 1000 ); 764 790 } 765 791 766 792 767 793 void PlaylistDialog::updateActiveSongNumber() 768 { 794 { 795 QTreeWidget* m_pPlaylist = m_pPlaylistTree; 796 797 for ( uint i = 0; i < Hydrogen::get_instance()->m_PlayList.size(); ++i ){ 798 if ( !m_pPlaylist->topLevelItem( i ) ) 799 break; 800 ( m_pPlaylist->topLevelItem( i ) )->setBackground( 0, QBrush() ); 801 ( m_pPlaylist->topLevelItem( i ) )->setBackground( 1, QBrush() ); 802 ( m_pPlaylist->topLevelItem( i ) )->setBackground( 2, QBrush() ); 803 804 } 805 769 806 int selected = Playlist::get_instance()->getActiveSongNumber(); 770 807 if ( selected == -1 ) 771 808 return; 772 809 773 QTreeWidget* m_pPlaylist = m_pPlaylistTree;774 810 QTreeWidgetItem* m_pPlaylistItem = m_pPlaylist->topLevelItem ( selected ); 775 m_pPlaylist->setCurrentItem ( m_pPlaylistItem ); 811 //m_pPlaylist->setCurrentItem ( m_pPlaylistItem ); 812 m_pPlaylistItem->setBackgroundColor ( 0, QColor( 50, 50, 50) ); 813 m_pPlaylistItem->setBackgroundColor ( 1, QColor( 50, 50, 50) ); 814 m_pPlaylistItem->setBackgroundColor ( 2, QColor( 50, 50, 50) ); 776 815 } 777 816