summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2007-01-08 19:18:26 (UTC)
committer llornkcor <llornkcor>2007-01-08 19:18:26 (UTC)
commit5e9659c695af1d1afb20a377775f1349b83eca53 (patch) (side-by-side diff)
tree8904471e0508b91d1f04d4e2ddd2a81963d934be
parentc880d9e087019f27f19c80b13fe2c7a5a4b37e3d (diff)
downloadopie-5e9659c695af1d1afb20a377775f1349b83eca53.zip
opie-5e9659c695af1d1afb20a377775f1349b83eca53.tar.gz
opie-5e9659c695af1d1afb20a377775f1349b83eca53.tar.bz2
patch from paul
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opierec/qtrec.cpp115
-rw-r--r--noncore/multimedia/opierec/qtrec.h3
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();