Show
Ignore:
Timestamp:
02/21/09 00:05:30 (4 years ago)
Author:
gabriel@…
Message:

Merge rev 580:592 from trunk

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/jackMidi/gui/src/AudioFileBrowser/AudioFileBrowser.cpp

    r822 r824  
    2020 * 
    2121 */ 
    22  
    2322 
    2423#include "AudioFileBrowser.h" 
     
    3433#include <hydrogen/audio_engine.h> 
    3534 
     35#include <QModelIndex> 
    3636#include <QTreeWidget> 
    3737#include <QMessageBox> 
     
    4444                , Object ( "AudioFileBrowser" ) 
    4545{ 
    46  
    4746        setupUi ( this ); 
    4847        INFOLOG ( "INIT" ); 
     
    5049        setFixedSize ( width(), height() ); 
    5150        installEventFilter( this ); 
    52  
    5351 
    5452        model = new QDirModel(); 
     
    6866        tree->setAlternatingRowColors( true ); 
    6967        tree->setRootIndex( model->index( Preferences::getInstance()->__lastsampleDirectory ) ); 
    70  
     68         
    7169        pathLineEdit->setText( Preferences::getInstance()->__lastsampleDirectory ); 
    7270        m_psamplefilename = "";  
    73         m_pselectedFile << "false" << "false" << ""; 
     71        m_pselectedFile << "false" << "false"; 
    7472 
    7573        sEmptySampleFilename = DataPath::get_data_path() + "/emptySample.wav"; 
     
    8280 
    8381        connect( tree, SIGNAL( clicked( const QModelIndex&) ), SLOT( clicked( const QModelIndex& ) ) ); 
    84         connect( pathLineEdit, SIGNAL( returnPressed() ), SLOT( updateModelIndex() ) ); 
    85          
     82        connect( pathLineEdit, SIGNAL( returnPressed() ), SLOT( updateModelIndex() ) );  
    8683} 
    8784 
     
    9491        INFOLOG ( "DESTROY" ); 
    9592} 
     93 
     94 
     95 
     96void AudioFileBrowser::keyPressEvent (QKeyEvent *ev) 
     97{ 
     98        if( ev->modifiers()==Qt::ControlModifier ){ 
     99                tree->setSelectionMode( QAbstractItemView::MultiSelection ); 
     100                openBTN->setEnabled( true ); 
     101        }        
     102} 
     103 
     104 
     105 
     106void AudioFileBrowser::keyReleaseEvent (QKeyEvent *ev) 
     107{ 
     108        tree->setSelectionMode( QAbstractItemView::SingleSelection ); 
     109} 
     110 
    96111 
    97112 
     
    113128} 
    114129 
     130 
     131 
    115132void AudioFileBrowser::clicked( const QModelIndex& index ) 
    116133{ 
     
    142159        pathLineEdit->setText( onlypath ); 
    143160 
     161        QApplication::setOverrideCursor(Qt::WaitCursor); 
    144162 
    145163        if      ( 
     
    154172                ) { 
    155173 
    156  
    157174                        Sample *pNewSample = Sample::load( path2 ); 
     175 
    158176                        if ( pNewSample ) { 
    159177                                m_pNBytesLable->setText( trUtf8( "Size: %1 bytes" ).arg( pNewSample->get_size() / 2 ) ); 
     
    167185                                m_psamplefilename = path2; 
    168186 
    169                                  
     187                                m_pSampleWaveDisplay->updateDisplay( path2 ); 
     188                                m_pPlayBtn->setEnabled( true ); 
     189                                openBTN->setEnabled( true ); 
     190 
     191                                //important this will only working correct if m_pSampleWaveDisplay->updateDisplay( file ) 
     192                                //is ready with painting the wav file. else the playing sample get crackled sound!! 
    170193                                if (playSamplescheckBox->isChecked()){ 
    171194                                        if ( sec <= 600.00){ 
     
    176199                                        } 
    177200                                } 
    178  
    179                                 m_pSampleWaveDisplay->updateDisplay( path2 ); 
    180                                 m_pPlayBtn->setEnabled( true ); 
    181                                 openBTN->setEnabled( true ); 
    182  
    183201                        } 
    184202                 
     
    195213                        m_psamplefilename = ""; 
    196214                } 
     215        QApplication::restoreOverrideCursor(); 
    197216} 
    198217 
     
    213232 
    214233 
     234 
    215235void AudioFileBrowser::on_m_pStopBtn_clicked() 
    216236{ 
     
    227247        m_pselectedFile << "false" << "false" << ""; 
    228248        reject(); 
    229  
    230249} 
    231250 
     
    234253void AudioFileBrowser::on_openBTN_clicked() 
    235254{ 
    236         if      ( 
    237                 ( ( filelineedit->text().endsWith( ".wav" ) ) || 
    238                 ( filelineedit->text().endsWith( ".WAV" ) ) || 
    239                 ( filelineedit->text().endsWith( ".au" ) ) || 
    240                 ( filelineedit->text().endsWith( ".AU" ) ) || 
    241                 ( filelineedit->text().endsWith( ".aiff" ) ) || 
    242                 ( filelineedit->text().endsWith( ".AIFF" ) ) || 
    243                 ( filelineedit->text().endsWith( ".flac" ) ) || 
    244                 ( filelineedit->text().endsWith( ".FLAC" ) ) ) && 
    245                 ( QFile( filelineedit->text() ).exists() == true ) 
    246                 ) {              
    247                         m_pselectedFile[2] = filelineedit->text(); 
    248                          
    249                 }else 
    250                 { 
    251                         m_pselectedFile << "false" << "false" << ""; 
     255        if( tree->selectionModel()->selectedIndexes().size() / 4 > 0){ 
     256 
     257                QList<QModelIndex>::iterator i; 
     258                QList<QModelIndex> list = tree->selectionModel()->selectedIndexes();     
     259 
     260                for (i = list.begin(); i != list.end(); ++i){ 
     261                        QString path2 = (*i).data().toString(); 
     262                        if      ( 
     263                        ( path2.endsWith( ".wav" ) ) || 
     264                        ( path2.endsWith( ".WAV" ) ) || 
     265                        ( path2.endsWith( ".au" ) ) || 
     266                        ( path2.endsWith( ".AU" ) ) || 
     267                        ( path2.endsWith( ".aiff" ) ) || 
     268                        ( path2.endsWith( ".AIFF" ) ) || 
     269                        ( path2.endsWith( ".flac" ) ) || 
     270                        ( path2.endsWith( ".FLAC" ) ) 
     271                        ) { 
     272                                QString path = pathLineEdit->text(); 
     273                                QString act_filename = path + path2; 
     274                                m_pselectedFile << act_filename ; 
     275                 
     276                        } 
     277                        ++i;++i;++i; 
    252278                } 
     279        } 
    253280        Preferences::getInstance()->__lastsampleDirectory = pathLineEdit->text(); 
    254281        accept(); 
     
    305332        tree->collapse( model->index( updir  ) ); 
    306333} 
     334 
     335 
     336 
     337void AudioFileBrowser::on_hiddenCB_clicked() 
     338{ 
     339        if ( hiddenCB->isChecked() ){ 
     340                model->setFilter( QDir::AllDirs | QDir::AllEntries | QDir::NoDotAndDotDot | QDir::Hidden ); 
     341        }else 
     342        { 
     343                model->setFilter( QDir::AllDirs | QDir::AllEntries | QDir::NoDotAndDotDot ); 
     344                tree->setRootIndex( model->index( pathLineEdit->text() ) ); 
     345        } 
     346}