Re: [PATCH] Improve OpieRecorder usability
Lorn Potter <[email protected]> Tue, 09 Jan 2007 05:19:27 +1000
| Newsgroups | gmane.comp.handhelds.opie.devel |
|---|---|
| Message-ID | <[email protected]> |
applied. thanks
Paul Eggleton wrote:
> On Thursday 04 January 2007 20:06, Paul Eggleton wrote:
>> The attached patch makes the following improvements to OpieRecorder:
>
> Re-based patch is attached.
>
> Cheers,
> Paul
>
>
> ------------------------------------------------------------------------
>
> Index: noncore/multimedia/opierec/qtrec.cpp
> ===================================================================
> RCS file: /cvs/opie/noncore/multimedia/opierec/qtrec.cpp,v
> retrieving revision 1.24
> diff -u -B -b -r1.24 qtrec.cpp
> --- noncore/multimedia/opierec/qtrec.cpp 24 May 2005 21:48:49 -0000 1.24
> +++ noncore/multimedia/opierec/qtrec.cpp 5 Jan 2007 05:47:10 -0000
> @@ -466,8 +466,6 @@
> 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;
> @@ -501,7 +499,7 @@
> 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);
> @@ -537,7 +535,8 @@
>
> 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);
> @@ -545,8 +544,10 @@
> 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);
>
> @@ -702,15 +703,19 @@
> 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() {
> @@ -786,7 +791,7 @@
> 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 {
> @@ -814,7 +819,6 @@
>
> void QtRec::stop() {
> // owarn << "STOP" << oendl;
> - setRecordButton(false);
>
> if( !recording) {
> emit stopPlaying();
> @@ -824,6 +828,7 @@
> endRecording();
> }
> timeSlider->setValue(0);
> + setButtons();
> }
>
> void QtRec::doPlayBtn() {
> @@ -841,11 +846,9 @@
>
> 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())
> @@ -865,7 +868,7 @@
> secCount = 1;
> // playLabel2->setText(tr("Stop"));
> monitoring = false;
> - setRecordButton( true);
> + setButtons();
>
> if( setupAudio( true))
> if(setUpFile()) {
> @@ -921,8 +924,7 @@
> pthread_t thread1;
> pthread_create( &thread1, NULL, (void * (*)(void *))quickRec, NULL/* &*/);
> #endif
> - toBeginningButton->setEnabled( false);
> - toEndButton->setEnabled( false);
> + setButtons();
>
> startTimer(1000);
> #ifndef THREADED
> @@ -1140,8 +1142,7 @@
> pthread_create( &thread2, NULL, (void * (*)(void *))playIt, NULL/* &*/);
> #endif
>
> - toBeginningButton->setEnabled( false);
> - toEndButton->setEnabled( false);
> + setButtons();
> #ifndef THREADED
> playIt();
> #endif
> @@ -1205,9 +1206,8 @@
> }
>
> void QtRec::newSound() {
> - if( !rec()) {
> - endRecording();
> - deleteSound();
> + if(!rec()) {
> + stop();
> }
> }
>
> @@ -1221,6 +1221,8 @@
> 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, "");
> @@ -1254,6 +1256,7 @@
> initIconView();
> update();
> setCaption( tr( "OpieRecord " ));
> + }
> }
>
> void QtRec::keyPressEvent( QKeyEvent *e) {
> @@ -1376,10 +1379,8 @@
> recording = false;
> stopped = true;
> waveform->reset();
> - setRecordButton( false);
>
> - toBeginningButton->setEnabled( true);
> - toEndButton->setEnabled( true);
> + setButtons();
>
> killTimers();
>
> @@ -1442,10 +1443,7 @@
> waveform->reset();
> // errorStop();
> odebug << "end playing" << oendl;
> - setRecordButton( false);
> -
> - toBeginningButton->setEnabled( true);
> - toEndButton->setEnabled( true);
> + setButtons();
>
> if(autoMute)
> doMute( true);
> @@ -1531,6 +1529,7 @@
> cancelRename();
>
> currentFile = item->text(0);
> + setButtons();
> // setCaption( "OpieRecord " + currentFile);
> }
> break;
> @@ -1590,6 +1589,7 @@
> void QtRec::doMenuPlay() {
> qApp->processEvents();
> currentFile = ListView1->currentItem()->text(0);
> + doPlayBtn();
> }
>
> void QtRec::doRename() {
> @@ -1627,6 +1627,9 @@
>
> QString file = ListView1->currentItem()->text(0);
>
> + if(file == filename)
> + return;
> +
> odebug << "filename is " + filename << oendl;
>
> int nFiles = cfg.readNumEntry("NumberofFiles",0);
> @@ -1938,29 +1941,6 @@
> // 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();
> @@ -2050,4 +2030,39 @@
> 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 );
> +}
> Index: noncore/multimedia/opierec/qtrec.h
> ===================================================================
> RCS file: /cvs/opie/noncore/multimedia/opierec/qtrec.h,v
> retrieving revision 1.12
> diff -u -B -b -r1.12 qtrec.h
> --- noncore/multimedia/opierec/qtrec.h 12 Mar 2005 02:23:02 -0000 1.12
> +++ noncore/multimedia/opierec/qtrec.h 5 Jan 2007 05:47:10 -0000
> @@ -98,10 +98,11 @@
> 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();
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
>
> http://opie.handhelds.org/cgi-bin/moin.cgi/DeveloperWikiIndex
>
> Opie-devel mailing list
> [email protected]
> https://handhelds.org/mailman/listinfo/opie-devel
--
Lorn 'ljp' Potter
Trolltech Qtopia Community Manager
Opie Core Developer
http://qtopia.net
_______________________________________________
http://opie.handhelds.org/cgi-bin/moin.cgi/DeveloperWikiIndex
Opie-devel mailing list
[email protected]
https://handhelds.org/mailman/listinfo/opie-devel