-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 @@ -463,14 +463,12 @@ void QtRec::cleanUp() { // 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); @@ -498,13 +496,13 @@ void QtRec::init() { // 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) ); @@ -534,22 +532,25 @@ void QtRec::init() { 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" ) ); ///**********<<<<<<<<<<<<>>>>>>>>>>>>*************** @@ -699,21 +700,25 @@ void QtRec::initIconView() { 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())); @@ -783,13 +788,13 @@ void QtRec::initConfig() { 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; } @@ -811,22 +816,22 @@ void QtRec::initConfig() { 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")); @@ -838,17 +843,15 @@ void QtRec::doPlayBtn() { 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(); } @@ -862,13 +865,13 @@ bool QtRec::rec() { //record 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"); @@ -918,14 +921,13 @@ bool QtRec::rec() { //record #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 } @@ -1137,14 +1139,13 @@ bool QtRec::doPlay() { 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; } @@ -1202,15 +1203,14 @@ void QtRec::changeSizeLimitCombo(int) { 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); @@ -1218,12 +1218,14 @@ void QtRec::itClick(QListViewItem *item) { 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()) @@ -1251,12 +1253,13 @@ void QtRec::deleteSound() { ListView1->clear(); ListView1->setSelected( ListView1->firstChild(), true); initIconView(); update(); setCaption( tr( "OpieRecord " )); + } } void QtRec::keyPressEvent( QKeyEvent *e) { switch ( e->key() ) { // case Key_F1: @@ -1373,16 +1376,14 @@ 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); @@ -1439,16 +1440,13 @@ void QtRec::endPlaying() { 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; @@ -1528,12 +1526,13 @@ void QtRec::listPressed( int mouse, QListViewItem *item, const QPoint &, int ) { switch (mouse) { case 1: { if( renameBox != 0 ) //tricky cancelRename(); currentFile = item->text(0); + setButtons(); // setCaption( "OpieRecord " + currentFile); } break; case 2: showListMenu(item); ListView1->clearSelection(); @@ -1587,12 +1586,13 @@ 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() ); @@ -1624,12 +1624,15 @@ void QtRec::okRename() { 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) { @@ -1935,35 +1938,12 @@ QString QtRec::getStorage(const QString &fileName) { // } // } // 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"); @@ -2047,7 +2027,42 @@ void QtRec::changeStereoCheck(bool b) { 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 @@ -95,16 +95,17 @@ private: 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(); |