author | llornkcor <llornkcor> | 2007-01-08 19:18:26 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2007-01-08 19:18:26 (UTC) |
commit | 5e9659c695af1d1afb20a377775f1349b83eca53 (patch) (side-by-side diff) | |
tree | 8904471e0508b91d1f04d4e2ddd2a81963d934be | |
parent | c880d9e087019f27f19c80b13fe2c7a5a4b37e3d (diff) | |
download | opie-5e9659c695af1d1afb20a377775f1349b83eca53.zip opie-5e9659c695af1d1afb20a377775f1349b83eca53.tar.gz opie-5e9659c695af1d1afb20a377775f1349b83eca53.tar.bz2 |
patch from paul
-rw-r--r-- | noncore/multimedia/opierec/qtrec.cpp | 115 | ||||
-rw-r--r-- | noncore/multimedia/opierec/qtrec.h | 3 |
2 files changed, 67 insertions, 51 deletions
diff --git a/noncore/multimedia/opierec/qtrec.cpp b/noncore/multimedia/opierec/qtrec.cpp index 75413be..d8b8ce3 100644 --- a/noncore/multimedia/opierec/qtrec.cpp +++ b/noncore/multimedia/opierec/qtrec.cpp @@ -461,18 +461,16 @@ void QtRec::cleanUp() { // if( wavFile) delete wavFile; // if(soundDevice) delete soundDevice; } void QtRec::init() { needsStereoOut = false; - QPixmap image3( ( const char** ) image3_data ); - QPixmap image4( ( const char** ) image4_data ); QPixmap image6( ( const char** ) image6_data ); stopped = true; setCaption( tr( "OpieRecord " )); QGridLayout *layout = new QGridLayout( this ); layout->setSpacing( 2); layout->setMargin( 2); @@ -496,17 +494,17 @@ void QtRec::init() { // playLabel2 = new QLabel(tab, "PlayLabel2" ); // playLabel2->setText(tr("Play") ); // playLabel2->setFixedHeight( 18); // layout1->addMultiCellWidget( playLabel2, 0, 0, 4, 4); Stop_PushButton = new QPushButton( tab, "Stop_PushButton" ); layout1->addMultiCellWidget( Stop_PushButton, 1, 1, 4, 4); Stop_PushButton->setFixedSize( 22, 22); - Stop_PushButton->setPixmap( image4 ); + Stop_PushButton->setPixmap( Opie::Core::OResource::loadPixmap("play2", Opie::Core::OResource::SmallIcon) ); toBeginningButton = new QPushButton( tab, "Beginning_PushButton" ); layout1->addMultiCellWidget(toBeginningButton, 1, 1, 5, 5); toBeginningButton->setFixedSize( 22, 22); toBeginningButton->setPixmap( Opie::Core::OResource::loadPixmap("fastback", Opie::Core::OResource::SmallIcon) ); toEndButton = new QPushButton( tab, "End_PushButton" ); layout1->addMultiCellWidget( toEndButton, 1, 1, 6, 6); @@ -532,26 +530,29 @@ void QtRec::init() { this, SLOT( rewindTimerTimeout() ) ); forwardTimer = new QTimer( this ); connect( forwardTimer, SIGNAL( timeout() ), this, SLOT( forwardTimerTimeout() ) ); deleteSoundButton = new QPushButton( tab, "deleteSoundButton" ); layout1->addMultiCellWidget( deleteSoundButton, 1, 1, 8, 8); - deleteSoundButton->setText( tr( "Del" ) ); + deleteSoundButton->setFixedSize( 22, 22); + deleteSoundButton->setPixmap( Opie::Core::OResource::loadPixmap( "editdelete", Opie::Core::OResource::SmallIcon ) ); ListView1 = new QListView( tab, "IconView1" ); layout1->addMultiCellWidget( ListView1, 2, 2, 0, 8); ListView1->addColumn( tr( "Name" ) ); ListView1->setSorting( 1, false); ListView1->addColumn( tr( "Time" ) ); //in seconds + ListView1->addColumn( tr( "Size" ) ); ListView1->setColumnWidthMode(0, QListView::Maximum); - ListView1->setColumnAlignment( 1, QListView::AlignCenter); + ListView1->setColumnAlignment( 1, QListView::AlignRight); + ListView1->setColumnAlignment( 2, QListView::AlignRight); ListView1->setAllColumnsShowFocus( true ); QPEApplication::setStylusOperation( ListView1->viewport(), QPEApplication::RightOnHold); TabWidget->insertTab( tab, tr( "Files" ) ); ///**********<<<<<<<<<<<<>>>>>>>>>>>>*************** tab_3 = new QWidget( TabWidget, "tab_3" ); QGridLayout *glayout3 = new QGridLayout( tab_3 ); @@ -697,25 +698,29 @@ void QtRec::initIconView() { temp.sprintf( "%d",i); temp = cfg.readEntry( temp,""); //reads currentFile filePath = cfg.readEntry( temp,""); //currentFileName QFileInfo info(filePath); fileDate = info.lastModified().toString(); fileS = cfg.readEntry( filePath, "0" );// file length in seconds + QString sizeStr; + fileSize(info.size(), sizeStr); mediaLocation = getStorage( filePath); if( info.exists()) { // owarn << "new item " << temp << oendl; - item = new QListViewItem( ListView1, temp, fileS /*, mediaLocation, fileDate*/); + item = new QListViewItem( ListView1, temp, fileS, sizeStr ); item->setPixmap( 0, image0); if( currentFileName == filePath) ListView1->setSelected( item, true); } } + + setButtons(); } void QtRec::initConnections() { connect(qApp,SIGNAL(aboutToQuit()),SLOT(cleanUp())); connect(toBeginningButton,SIGNAL(pressed()),this,SLOT(rewindPressed())); connect(toBeginningButton,SIGNAL(released()),this,SLOT(rewindReleased())); connect(toEndButton,SIGNAL(pressed()),this,SLOT(FastforwardPressed())); @@ -781,17 +786,17 @@ void QtRec::initConfig() { bitRateComboBox->setCurrentItem( 0); filePara.resolution = i; i = cfg.readNumEntry("sizeLimit", 5 ); QString temp; sizeLimitCombo->setCurrentItem((i/5)); - stereoCheckBox->setChecked( cfg.readBoolEntry("stereo", 1)); + stereoCheckBox->setChecked( cfg.readBoolEntry("stereo", 0)); if( stereoCheckBox->isChecked()) { filePara.channels = 2; } else { filePara.channels = 1; } compressionCheckBox->setChecked( cfg.readBoolEntry("wavCompression",1)); if( compressionCheckBox->isChecked()) { @@ -809,26 +814,26 @@ void QtRec::initConfig() { Config cofg( "qpe"); cofg.setGroup( "Volume"); outMuteCheckBox->setChecked( cofg.readBoolEntry( "Mute",0)); inMuteCheckBox->setChecked( cofg.readBoolEntry( "MicMute",0)); } void QtRec::stop() { // owarn << "STOP" << oendl; - setRecordButton(false); if( !recording) { emit stopPlaying(); endPlaying(); } else { emit stopRecording(); endRecording(); } timeSlider->setValue(0); + setButtons(); } void QtRec::doPlayBtn() { if(!stopped) { // playLabel2->setText(tr("Play")); stop(); } else { @@ -836,21 +841,19 @@ void QtRec::doPlayBtn() { // playLabel2->setText(tr("Stop")); currentFile = ListView1->currentItem()->text(0); start(); } } void QtRec::start() { //play if( stopped) { - QPixmap image3( ( const char** ) image3_data ); - Stop_PushButton->setPixmap( image3 ); - Stop_PushButton->setDown( true); stopped = false; paused = false; + setButtons(); secCount = 1; if( openPlayFile()) if( setupAudio( false)) //recording is false doPlay(); } } @@ -860,17 +863,17 @@ bool QtRec::rec() { //record // timeLabel->setText( timeString+ " seconds"); if(!stopped) { monitoring = true; return false; } else { secCount = 1; // playLabel2->setText(tr("Stop")); monitoring = false; - setRecordButton( true); + setButtons(); if( setupAudio( true)) if(setUpFile()) { int fileSize = 0; Config cfg("OpieRec"); cfg.setGroup("Settings"); filePara.SecondsToRecord = getCurrentSizeLimit(); int diskSize = checkDiskSpace( (const QString &) wavFile->trackName()); @@ -916,18 +919,17 @@ bool QtRec::rec() { //record odebug << "Start recording" << oendl; stopped = false; #ifdef THREADED odebug << "Start recording thread" << oendl; pthread_t thread1; pthread_create( &thread1, NULL, (void * (*)(void *))quickRec, NULL/* &*/); #endif - toBeginningButton->setEnabled( false); - toEndButton->setEnabled( false); + setButtons(); startTimer(1000); #ifndef THREADED quickRec(); #endif } } //end setUpFile } //end setupAudio @@ -1135,18 +1137,17 @@ bool QtRec::doPlay() { #endif startTimer( 1000); #ifdef THREADED pthread_t thread2; pthread_create( &thread2, NULL, (void * (*)(void *))playIt, NULL/* &*/); #endif - toBeginningButton->setEnabled( false); - toEndButton->setEnabled( false); + setButtons(); #ifndef THREADED playIt(); #endif return true; } void QtRec::changebitrateCombo(int i) { @@ -1200,32 +1201,33 @@ void QtRec::changeDirCombo(int index) { void QtRec::changeSizeLimitCombo(int) { Config cfg("OpieRec"); cfg.setGroup("Settings"); cfg.writeEntry("sizeLimit", getCurrentSizeLimit() ); cfg.write(); } void QtRec::newSound() { - if( !rec()) { - endRecording(); - deleteSound(); + if(!rec()) { + stop(); } } void QtRec::itClick(QListViewItem *item) { currentFile = item->text(0); setCaption("OpieRecord "+currentFile); } void QtRec::deleteSound() { Config cfg("OpieRec"); cfg.setGroup("Sounds"); if( ListView1->currentItem() == NULL) return; + + if (QMessageBox::information(this, tr("Delete"), tr("Are you sure?"), QMessageBox::Yes, QMessageBox::No)==QMessageBox::Yes) { QString file = ListView1->currentItem()->text(0); QString fileName; fileName = cfg.readEntry( file, ""); QFile f( fileName); if( f.exists()) if( !f.remove()) QMessageBox::message( tr("Error"), tr("Could not remove file.")); @@ -1249,16 +1251,17 @@ void QtRec::deleteSound() { ListView1->takeItem( ListView1->currentItem() ); delete ListView1->currentItem(); ListView1->clear(); ListView1->setSelected( ListView1->firstChild(), true); initIconView(); update(); setCaption( tr( "OpieRecord " )); + } } void QtRec::keyPressEvent( QKeyEvent *e) { switch ( e->key() ) { // case Key_F1: // if(stopped && !recording) // newSound(); @@ -1371,20 +1374,18 @@ void QtRec::keyReleaseEvent( QKeyEvent *e) { } void QtRec::endRecording() { monitoring = false; recording = false; stopped = true; waveform->reset(); - setRecordButton( false); - toBeginningButton->setEnabled( true); - toEndButton->setEnabled( true); + setButtons(); killTimers(); if(autoMute) doMute( true); soundDevice->closeDevice( true); @@ -1437,20 +1438,17 @@ void QtRec::endRecording() { void QtRec::endPlaying() { monitoring = false; recording = false; playing = false; stopped = true; waveform->reset(); // errorStop(); odebug << "end playing" << oendl; - setRecordButton( false); - - toBeginningButton->setEnabled( true); - toEndButton->setEnabled( true); + setButtons(); if(autoMute) doMute( true); soundDevice->closeDevice( false); soundDevice->sd = -1; // if(soundDevice) delete soundDevice; odebug << "file and sound device closed" << oendl; @@ -1526,16 +1524,17 @@ void QtRec::listPressed( int mouse, QListViewItem *item, const QPoint &, int ) { if(item == NULL ) return; switch (mouse) { case 1: { if( renameBox != 0 ) //tricky cancelRename(); currentFile = item->text(0); + setButtons(); // setCaption( "OpieRecord " + currentFile); } break; case 2: showListMenu(item); ListView1->clearSelection(); break; }; @@ -1585,16 +1584,17 @@ void QtRec::doBeam() { } } } } void QtRec::doMenuPlay() { qApp->processEvents(); currentFile = ListView1->currentItem()->text(0); + doPlayBtn(); } void QtRec::doRename() { QRect r = ListView1->itemRect( ListView1->currentItem( )); r = QRect( ListView1->viewportToContents( r.topLeft() ), r.size() ); r.setX( ListView1->contentsX() ); if ( r.width() > ListView1->visibleWidth() ) r.setWidth( ListView1->visibleWidth() ); @@ -1622,16 +1622,19 @@ void QtRec::okRename() { if( ListView1->currentItem() == NULL) return; Config cfg("OpieRec"); cfg.setGroup("Sounds"); QString file = ListView1->currentItem()->text(0); + if(file == filename) + return; + odebug << "filename is " + filename << oendl; int nFiles = cfg.readNumEntry("NumberofFiles",0); for(int i=0;i<nFiles+1;i++) { //look for file if( cfg.readEntry( QString::number(i),"").find(file,0,true) != -1) { QString filePath = cfg.readEntry(file,""); @@ -1933,39 +1936,16 @@ QString QtRec::getStorage(const QString &fileName) { // while ( (me = getmntent( mntfp )) != 0 ) { // QString filesystemType = me->mnt_type; // } // } // endmntent( mntfp ); } -void QtRec::setRecordButton(bool b) { - - if(b) { //about to record or play - - Rec_PushButton->setDown( true); - QPixmap image3( ( const char** ) image3_data ); - Stop_PushButton->setPixmap( image3 ); - if(Stop_PushButton->isDown()) - Stop_PushButton->setDown( true); -// playLabel2->setText( tr("Stop") ); - - } else { //about to stop - - QPixmap image4( ( const char** ) image4_data ); - Stop_PushButton->setPixmap( image4); - if(Stop_PushButton->isDown()) - Stop_PushButton->setDown( false); -// playLabel2->setText( tr("Play") ); - if(Rec_PushButton->isDown()) - Rec_PushButton->setDown( false); - } -} - void QtRec::fillDirectoryCombo() { if( directoryComboBox->count() > 0) directoryComboBox->clear(); int index = 0; Config cfg("OpieRec"); cfg.setGroup("Settings"); QString dir = cfg.readEntry("directory", "/"); StorageInfo storageInfo; @@ -2045,9 +2025,44 @@ void QtRec::changeStereoCheck(bool b) { if ( !b) { ch = 1;} else { ch = 2;} cfg.writeEntry("stereo", b); filePara.channels = ch; cfg.write(); } - +void QtRec::setButtons() { + if(stopped) { + Stop_PushButton->setPixmap( Opie::Core::OResource::loadPixmap("play2", Opie::Core::OResource::SmallIcon) ); + if(ListView1->currentItem()) { + Stop_PushButton->setEnabled(true); + toBeginningButton->setEnabled(true); + toEndButton->setEnabled(true); + deleteSoundButton->setEnabled(true); + timeSlider->setEnabled(true); + } + else { + Stop_PushButton->setEnabled(false); + toBeginningButton->setEnabled(false); + toEndButton->setEnabled(false); + deleteSoundButton->setEnabled(false); + timeSlider->setEnabled(false); + } + } + else { + timeSlider->setEnabled(true); + Stop_PushButton->setPixmap( Opie::Core::OResource::loadPixmap("stop", Opie::Core::OResource::SmallIcon) ); + Stop_PushButton->setEnabled(true); + toBeginningButton->setEnabled(false); + toEndButton->setEnabled(false); + deleteSoundButton->setEnabled(false); + } +} + +void QtRec::fileSize(unsigned long size, QString &str) { + if( size > 1048576 ) + str.sprintf( "%.0fM", size / 1048576.0 ); + else if( size > 1024 ) + str.sprintf( "%.0fk", size / 1024.0 ); + else + str.sprintf( "%d", size ); +} diff --git a/noncore/multimedia/opierec/qtrec.h b/noncore/multimedia/opierec/qtrec.h index 6e81af6..b463597 100644 --- a/noncore/multimedia/opierec/qtrec.h +++ b/noncore/multimedia/opierec/qtrec.h @@ -93,20 +93,21 @@ private: void errorStop(); void fillDirectoryCombo(); void getInVol(); void getOutVol(); void init(); void initConfig(); void initConnections(); void selectItemByName(const QString &); - void setRecordButton(bool); void start(); void stop(); void timerEvent( QTimerEvent *e ); + void setButtons(); + void QtRec::fileSize(unsigned long size, QString &str); private slots: void endPlaying(); void endRecording(); void FastforwardPressed(); void FastforwardReleased(); |