Changeset 517

Show
Ignore:
Timestamp:
09/24/08 18:03:19 (2 months ago)
Author:
wolke
Message:

some playlist enhancements

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/gui/src/PlaylistEditor/PlaylistDialog.cpp

    r495 r517  
    171171                QTreeWidget* m_pPlaylist = m_pPlaylistTree; 
    172172                QTreeWidgetItem* m_pPlaylistItem = m_pPlaylist->topLevelItem ( aselected ); 
    173                 m_pPlaylist->setCurrentItem ( m_pPlaylistItem ); 
    174                 } 
    175  
    176         QTimer *timer = new QTimer( this ); 
     173                m_pPlaylistItem->setBackgroundColor ( 0, QColor( 50, 50, 50) ); 
     174                m_pPlaylistItem->setBackgroundColor ( 1, QColor( 50, 50, 50) ); 
     175                m_pPlaylistItem->setBackgroundColor ( 2, QColor( 50, 50, 50) ); 
     176                } 
     177 
     178        timer = new QTimer( this ); 
    177179        connect(timer, SIGNAL(timeout() ), this, SLOT( updateActiveSongNumber() ) ); 
    178180        timer->start( 1000 );   // update player control at 1 fps 
     
    213215        QTreeWidget* m_pPlaylist = m_pPlaylistTree; 
    214216        QTreeWidgetItem* m_pPlaylistItem = m_pPlaylistTree->currentItem(); 
     217        int index = m_pPlaylist->indexOfTopLevelItem ( m_pPlaylistItem ); 
    215218        QTreeWidgetItem * m_pItem = m_pPlaylist->topLevelItem ( 1 ); 
    216219 
     
    238241                        delete m_pPlaylistItem; 
    239242                        updatePlayListVector(); 
     243                        if (  Playlist::get_instance()->getActiveSongNumber() == index ){ 
     244                                Playlist::get_instance()->setActiveSongNumber( -1 ); 
     245                        }else if (  Playlist::get_instance()->getActiveSongNumber() > index  ){ 
     246                                Playlist::get_instance()->setActiveSongNumber(  Playlist::get_instance()->getActiveSongNumber() -1 ); 
     247                        } 
     248                         
    240249                } 
    241250        } 
     
    332341                        m_pPlaylist->setCurrentItem ( m_pPlaylistItem ); 
    333342                        Playlist::get_instance()->setSelectedSongNr( 0 ); 
    334 //                      Playlist::get_instance()->setNextSongByNumber( 0 ); 
    335343                } 
    336344 
     
    557565void PlaylistDialog::o_upBClicked() 
    558566{        
     567        timer->stop(); 
    559568 
    560569        Playlist* pList = Playlist::get_instance(); 
     
    564573        int index = m_pPlaylist->indexOfTopLevelItem ( m_pPlaylistItem ); 
    565574 
    566         if (index == 0 ) return; 
     575        if (index == 0 ){ 
     576                timer->start( 1000 );  
     577                return; 
     578        } 
    567579 
    568580        QTreeWidgetItem* tmpPlaylistItem = m_pPlaylist->takeTopLevelItem ( index ); 
     
    571583        m_pPlaylist->setCurrentItem ( tmpPlaylistItem );  
    572584 
    573         if ( pList->getSelectedSongNr() > 0 ) 
     585        if ( pList->getSelectedSongNr() >= 0 ) 
    574586                pList->setSelectedSongNr( pList->getSelectedSongNr() -1 ); 
    575         if ( pList->getActiveSongNumber() > 0 ) 
     587 
     588        if ( pList->getActiveSongNumber() == index ){ 
    576589                pList->setActiveSongNumber( pList->getActiveSongNumber() -1 ); 
     590        }else if ( pList->getActiveSongNumber() == index -1 ){ 
     591                pList->setActiveSongNumber( pList->getActiveSongNumber() +1 ); 
     592        } 
    577593 
    578594        updatePlayListVector(); 
     
    583599void PlaylistDialog::o_downBClicked() 
    584600{ 
    585  
     601        timer->stop(); 
    586602        Playlist* pList = Playlist::get_instance(); 
    587603 
     
    591607        int index = m_pPlaylist->indexOfTopLevelItem ( m_pPlaylistItem ); 
    592608 
    593         if ( index == length - 1)  
    594                         return; 
     609        if ( index == length - 1){ 
     610                timer->start( 1000 ); 
     611                return; 
     612        } 
    595613 
    596614 
     
    600618        m_pPlaylist->setCurrentItem ( tmpPlaylistItem );  
    601619 
    602         if ( pList->getSelectedSongNr() > 0 ) 
     620        if ( pList->getSelectedSongNr() >= 0 ) 
    603621                pList->setSelectedSongNr( pList->getSelectedSongNr() +1 ); 
    604         if (pList ->getActiveSongNumber() > 0 ) 
     622 
     623        if (pList ->getActiveSongNumber() == index ){ 
    605624                pList->setActiveSongNumber( pList->getActiveSongNumber() +1 ); 
    606  
     625        }else if ( pList->getActiveSongNumber() == index +1 ){ 
     626                pList->setActiveSongNumber( pList->getActiveSongNumber() -1 ); 
     627        } 
    607628        updatePlayListVector(); 
    608629 
     
    762783                Hydrogen::get_instance()->m_PlayList.push_back( playListItem ); 
    763784        } 
     785        timer->start( 1000 ); 
    764786} 
    765787 
    766788 
    767789void PlaylistDialog::updateActiveSongNumber() 
    768 {                        
     790
     791        QTreeWidget* m_pPlaylist = m_pPlaylistTree; 
     792 
     793        for ( uint i = 0; i < Hydrogen::get_instance()->m_PlayList.size(); ++i ){ 
     794                if ( !m_pPlaylist->topLevelItem( i ) ) 
     795                        break; 
     796                ( m_pPlaylist->topLevelItem( i ) )->setBackground( 0, QBrush() ); 
     797                ( m_pPlaylist->topLevelItem( i ) )->setBackground( 1, QBrush() ); 
     798                ( m_pPlaylist->topLevelItem( i ) )->setBackground( 2, QBrush() ); 
     799                 
     800        } 
     801                 
    769802        int selected = Playlist::get_instance()->getActiveSongNumber(); 
    770803        if ( selected == -1 )  
    771804                return; 
    772805         
    773         QTreeWidget* m_pPlaylist = m_pPlaylistTree; 
    774806        QTreeWidgetItem* m_pPlaylistItem = m_pPlaylist->topLevelItem ( selected );       
    775         m_pPlaylist->setCurrentItem ( m_pPlaylistItem ); 
     807        //m_pPlaylist->setCurrentItem ( m_pPlaylistItem ); 
     808        m_pPlaylistItem->setBackgroundColor ( 0, QColor( 50, 50, 50) ); 
     809        m_pPlaylistItem->setBackgroundColor ( 1, QColor( 50, 50, 50) ); 
     810        m_pPlaylistItem->setBackgroundColor ( 2, QColor( 50, 50, 50) ); 
    776811} 
    777812 
  • trunk/gui/src/PlaylistEditor/PlaylistDialog.h

    r495 r517  
    7676                void setFirstItemCurrent(); 
    7777                Button *zoom_in_btn; 
     78                QTimer *timer; 
    7879}; 
    7980 
  • trunk/gui/src/SoundLibrary/SoundLibraryPanel.cpp

    r516 r517  
    240240                        QTreeWidgetItem* pDrumkitItem = new QTreeWidgetItem( __user_drumkits_item ); 
    241241                        pDrumkitItem->setText( 0, pInfo->getName() ); 
    242                         if ( QString(pInfo->getName()) == currentSL ){ 
    243                                 pDrumkitItem->setBackgroundColor ( 0, QColor( 50, 50, 50) ); 
     242                        if ( QString(pInfo->getName() ) == currentSL ){ 
     243                                pDrumkitItem->setBackgroundColor( 0, QColor( 50, 50, 50) ); 
    244244                        } 
    245245 
     
    265265                        QTreeWidgetItem* pDrumkitItem = new QTreeWidgetItem( __system_drumkits_item ); 
    266266                        pDrumkitItem->setText( 0, pInfo->getName() ); 
    267                         if ( QString(pInfo->getName()) == currentSL ){ 
    268                                 pDrumkitItem->setBackgroundColor ( 0, QColor( 50, 50, 50) ); 
     267                        if ( QString( pInfo->getName() ) == currentSL ){ 
     268                                pDrumkitItem->setBackgroundColor( 0, QColor( 50, 50, 50) ); 
    269269                        } 
    270270 
     
    479479  
    480480        for (uint i = 0; i < systemList.size() ; i++){ 
    481                 if (  !__system_drumkits_item->child( i ))  
     481                if (  !__system_drumkits_item->child( i ) ) 
    482482                        break; 
    483483                if ( ( __system_drumkits_item->child( i ) )->text( 0 ) == curlib ){ 
     
    488488 
    489489        for (uint i = 0; i < userList.size() ; i++){ 
    490                 if (  !__user_drumkits_item->child( i ))  
     490                if (  !__user_drumkits_item->child( i ) ) 
    491491                        break; 
    492492                if ( ( __user_drumkits_item->child( i ))->text( 0 ) == curlib ){ 
    493                         ( __user_drumkits_item->child( i ) )->setBackground(0, QBrush()); 
     493                        ( __user_drumkits_item->child( i ) )->setBackground(0, QBrush() ); 
    494494                        break; 
    495495                }