summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/audiowidget.cpp1
-rw-r--r--noncore/multimedia/opieplayer2/inputDialog.cpp1
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayer.cpp100
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayer.h3
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidget.cpp92
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidget.h3
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidgetgui.cpp2
7 files changed, 127 insertions, 75 deletions
diff --git a/noncore/multimedia/opieplayer2/audiowidget.cpp b/noncore/multimedia/opieplayer2/audiowidget.cpp
index 040e965..446fa45 100644
--- a/noncore/multimedia/opieplayer2/audiowidget.cpp
+++ b/noncore/multimedia/opieplayer2/audiowidget.cpp
@@ -452,8 +452,9 @@ void AudioWidget::mouseMoveEvent( QMouseEvent *event ) {
audioButtons[i].isHeld = FALSE;
if ( !audioButtons[i].isToggle ) {
setToggleButton( i, FALSE );
}
+ qDebug("mouseEvent %d", i);
switch (i) {
case AudioPlay:
if( mediaPlayerState->isPaused ) {
// setToggleButton( i, FALSE );
diff --git a/noncore/multimedia/opieplayer2/inputDialog.cpp b/noncore/multimedia/opieplayer2/inputDialog.cpp
index 9edb1d3..62240b2 100644
--- a/noncore/multimedia/opieplayer2/inputDialog.cpp
+++ b/noncore/multimedia/opieplayer2/inputDialog.cpp
@@ -24,8 +24,9 @@ InputDialog::InputDialog( QWidget* parent, const char* name, bool modal, WFlags
browserButton->setGeometry( QRect( 205, 10, 22, 22));
connect( browserButton, SIGNAL(released()),this,SLOT(browse()));
LineEdit1 = new QLineEdit( this, "LineEdit1" );
LineEdit1->setGeometry( QRect( 4, 10, 190, 22 ) );
+ LineEdit1->setFocus();
}
/*
* return the current text(input)
*/
diff --git a/noncore/multimedia/opieplayer2/mediaplayer.cpp b/noncore/multimedia/opieplayer2/mediaplayer.cpp
index bf2acc8..553e3c1 100644
--- a/noncore/multimedia/opieplayer2/mediaplayer.cpp
+++ b/noncore/multimedia/opieplayer2/mediaplayer.cpp
@@ -2,8 +2,9 @@
#include <qpe/qlibrary.h>
#include <qpe/resource.h>
#include <qpe/config.h>
#include <qpe/qcopenvelope_qws.h>
+#include <qfileinfo.h>
#include <qmainwindow.h>
#include <qmessagebox.h>
#include <qwidgetstack.h>
@@ -74,67 +75,96 @@ void MediaPlayer::pauseCheck( bool b ) {
}
}
void MediaPlayer::play() {
- mediaPlayerState->setPlaying( FALSE );
- mediaPlayerState->setPlaying( TRUE );
+ mediaPlayerState->setPlaying( FALSE );
+ mediaPlayerState->setPlaying( TRUE );
}
void MediaPlayer::setPlaying( bool play ) {
if ( !play ) {
return;
}
- if ( mediaPlayerState->paused() ) {
- mediaPlayerState->setPaused( FALSE );
- return;
- }
-
- const DocLnk *playListCurrent = playList->current();
- if ( playListCurrent != NULL ) {
- currentFile = playListCurrent;
+ if ( mediaPlayerState->paused() ) {
+ mediaPlayerState->setPaused( FALSE );
+ return;
}
- xineControl->play( currentFile->file() );
-
- long seconds = mediaPlayerState->length();//
- QString time; time.sprintf("%li:%02i", seconds/60, (int)seconds%60 );
- qDebug(time);
-
- QString tickerText;
- if( currentFile->file().left(4) == "http" )
- tickerText= tr( " File: " ) + currentFile->name();
- else
- tickerText = tr( " File: " ) + currentFile->name() + tr(", Length: ") + time;
-
- audioUI->setTickerText( currentFile->file( ) );
+ QString tickerText, time, fileName;
+ if( playList->whichList() == 0 ) { //check for filelist
+ const DocLnk *playListCurrent = playList->current();
+ if ( playListCurrent != NULL ) {
+ currentFile = playListCurrent;
+ }
+ xineControl->play( currentFile->file() );
+ fileName = currentFile->name();
+ long seconds = mediaPlayerState->length();//
+ time.sprintf("%li:%02i", seconds/60, (int)seconds%60 );
+ qDebug(time);
+
+ } else { //if playing in file list.. play in a different way
+ // random and looping settings enabled causes problems here,
+ // since there is no selected file in the playlist, but a selected file in the file list,
+ // so we remember and shutoff
+ l = mediaPlayerState->looping();
+ if(l)
+ mediaPlayerState->setLooping( false );
+ r = mediaPlayerState->shuffled();
+ mediaPlayerState->setShuffled(false);
+
+ fileName = playList->currentFileListPathName();
+ xineControl->play( fileName);
+ long seconds = mediaPlayerState->length();//
+ time.sprintf("%li:%02i", seconds/60, (int)seconds%60 );
+ qDebug(time);
+ if( fileName.left(4) != "http" )
+ fileName = QFileInfo( fileName).baseName();
+ }
+ if( fileName.left(4) == "http" )
+ tickerText= tr( " File: " ) + fileName;
+ else
+ tickerText = tr( " File: " ) + fileName + tr(", Length: ") + time;
+ audioUI->setTickerText( tickerText );
}
void MediaPlayer::prev() {
- if ( playList->prev() ) {
- play();
- } else if ( mediaPlayerState->looping() ) {
- if ( playList->last() ) {
+ if(playList->whichList() == 0) { //if using the playlist
+ if ( playList->prev() ) {
play();
+ } else if ( mediaPlayerState->looping() ) {
+ if ( playList->last() ) {
+ play();
+ }
+ } else {
+ mediaPlayerState->setList();
}
- } else {
- mediaPlayerState->setList();
}
}
void MediaPlayer::next() {
- if ( playList->next() ) {
- play();
- } else if ( mediaPlayerState->looping() ) {
- if ( playList->first() ) {
+
+ if(playList->whichList() == 0) { //if using the playlist
+ if ( playList->next() ) {
play();
+ } else if ( mediaPlayerState->looping() ) {
+ if ( playList->first() ) {
+ play();
+ }
+ } else {
+ mediaPlayerState->setList();
}
- } else {
- mediaPlayerState->setList();
+ } else { //if playing from file list, let's just stop
+ qDebug("<<<<<<<<<<<<<<<<<stop for filelists");
+ mediaPlayerState->setPlaying(false);
+ mediaPlayerState->setView('l');
+ if(l) mediaPlayerState->setLooping(l);
+ if(r) mediaPlayerState->setShuffled(r);
}
+ qApp->processEvents();
}
void MediaPlayer::startDecreasingVolume() {
diff --git a/noncore/multimedia/opieplayer2/mediaplayer.h b/noncore/multimedia/opieplayer2/mediaplayer.h
index 81fab88..05be128 100644
--- a/noncore/multimedia/opieplayer2/mediaplayer.h
+++ b/noncore/multimedia/opieplayer2/mediaplayer.h
@@ -16,9 +16,8 @@ class MediaPlayer : public QObject {
Q_OBJECT
public:
MediaPlayer( QObject *parent, const char *name );
~MediaPlayer();
-
private slots:
void setPlaying( bool );
void pauseCheck( bool );
void play();
@@ -33,9 +32,9 @@ private slots:
protected:
void timerEvent( QTimerEvent *e );
void keyReleaseEvent( QKeyEvent *e);
private:
- bool isBlanked;
+ bool isBlanked, l, r;
int fd;
int volumeDirection;
const DocLnk *currentFile;
XineControl *xineControl;
diff --git a/noncore/multimedia/opieplayer2/playlistwidget.cpp b/noncore/multimedia/opieplayer2/playlistwidget.cpp
index 3bd04bc..15c70c3 100644
--- a/noncore/multimedia/opieplayer2/playlistwidget.cpp
+++ b/noncore/multimedia/opieplayer2/playlistwidget.cpp
@@ -320,9 +320,9 @@ void PlayListWidget::useSelectedDocument() {
}
const DocLnk *PlayListWidget::current() { // this is fugly
- switch ( tabWidget->currentPageIndex() ) {
+ switch ( whichList() ) {
case 0: //playlist
{
// qDebug("playlist");
if ( mediaPlayerState->playlist() ) {
@@ -393,9 +393,10 @@ bool PlayListWidget::prev() {
}
bool PlayListWidget::next() {
- if ( mediaPlayerState->playlist() ) {
+qDebug("<<<<<<<<<<<<next()");
+ if ( mediaPlayerState->playlist() ) {
if ( mediaPlayerState->shuffled() ) {
return prev();
} else {
if ( !d->selectedFiles->next() ) {
@@ -496,9 +497,9 @@ void PlayListWidget::addSelected() {
cfg.setGroup("PlayList");
QString currentPlaylist = cfg.readEntry("CurrentPlaylist","");
// int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 );
- switch (tabWidget->currentPageIndex()) {
+ switch (whichList()) {
case 0: //playlist
break;
case 1: { //audio
QListViewItemIterator it( audioView );
@@ -556,9 +557,9 @@ void PlayListWidget::playIt( QListViewItem *it) {
void PlayListWidget::addToSelection( QListViewItem *it) {
d->setDocumentUsed = FALSE;
if(it) {
- switch (tabWidget->currentPageIndex()) {
+ switch ( whichList()) {
case 1: {
QListIterator<DocLnk> dit( files.children() );
for ( ; dit.current(); ++dit ) {
if( dit.current()->name() == it->text(0)) {
@@ -587,9 +588,9 @@ void PlayListWidget::addToSelection( QListViewItem *it) {
void PlayListWidget::tabChanged(QWidget *) {
- switch ( tabWidget->currentPageIndex()) {
+ switch ( whichList()) {
case 0:
{
if( !tbDeletePlaylist->isHidden() ) {
tbDeletePlaylist->hide();
@@ -633,37 +634,36 @@ void PlayListWidget::tabChanged(QWidget *) {
}
void PlayListWidget::btnPlay(bool b) {
- // mediaPlayerState->setPlaying(b);
- switch ( tabWidget->currentPageIndex()) {
- case 0:
- {
- mediaPlayerState->setPlaying(b);
- }
- break;
- case 1:
- {
- addToSelection( audioView->currentItem() );
- mediaPlayerState->setPlaying(b);
- d->selectedFiles->removeSelected( );
- tabWidget->setCurrentPage(1);
- d->selectedFiles->unSelect();
- insanityBool=FALSE;
- }// audioView->clearSelection();
- break;
- case 2:
- {
- addToSelection( videoView->currentItem() );
- mediaPlayerState->setPlaying(b);
- qApp->processEvents();
- d->selectedFiles->removeSelected( );
- tabWidget->setCurrentPage(2);
- d->selectedFiles->unSelect();
- insanityBool=FALSE;
- }// videoView->clearSelection();
- break;
- };
+ mediaPlayerState->setPlaying(b);
+ qApp->processEvents();
+ insanityBool=FALSE;
+// switch ( whichList()) {
+// case 0:
+// {
+// mediaPlayerState->setPlaying(b);
+// }
+// break;
+// case 1:
+// {
+// mediaPlayerState->setPlaying(b);
+// qApp->processEvents();
+// insanityBool=FALSE;
+// }// audioView->clearSelection();
+// break;
+// case 2:
+// {
+// // addToSelection( videoView->currentItem() );
+// mediaPlayerState->setPlaying(b);
+// qApp->processEvents();
+// // d->selectedFiles->removeSelected( );
+// // tabWidget->setCurrentPage(2);
+// // d->selectedFiles->unSelect();
+// insanityBool=FALSE;
+// }// videoView->clearSelection();
+// break;
+// };
}
void PlayListWidget::deletePlaylist() {
@@ -735,9 +735,10 @@ void PlayListWidget::populateAudioView() {
if( dit.current()->file().left(4) == "http" )
size=0;
else
size = QFile( dit.current()->file() ).size();
- newItem= /*(void)*/ new QListViewItem( audioView, dit.current()->name(), QString::number(size ), storage);
+ newItem= /*(void)*/ new QListViewItem( audioView, dit.current()->name(),
+ QString::number(size ), storage, dit.current()->file());
newItem->setPixmap( 0, Resource::loadPixmap( "opieplayer2/musicfile" ) );
}
}
}
@@ -754,22 +755,23 @@ void PlayListWidget::populateVideoView() {
QListIterator<DocLnk> Vdit( vFiles.children() );
QListIterator<FileSystem> it ( fs );
videoView->clear();
- QString storage;
+ QString storage, pathName;
for ( ; Vdit.current(); ++Vdit ) {
for( ; it.current(); ++it ) {
const QString name = (*it)->name();
const QString path = (*it)->path();
if( Vdit.current()->file().find(path) != -1 ) {
storage=name;
+ pathName=path;
}
}
QListViewItem * newItem;
if ( QFile( Vdit.current()->file() ).exists() ) {
newItem= /*(void)*/ new QListViewItem( videoView, Vdit.current()->name(),
- QString::number( QFile( Vdit.current()->file() ).size() ), storage );
+ QString::number( QFile( Vdit.current()->file() ).size() ), storage, Vdit.current()->file());
newItem->setPixmap(0, Resource::loadPixmap( "opieplayer2/videofile" ) );
}
}
}
@@ -1061,4 +1063,20 @@ void PlayListWidget::skinsMenuActivated( int item ) {
Config cfg( "OpiePlayer" );
cfg.setGroup("Options");
cfg.writeEntry("Skin", skinsMenu->text( item ) );
}
+
+int PlayListWidget::whichList() {
+ return tabWidget->currentPageIndex();
+}
+
+QString PlayListWidget::currentFileListPathName() {
+ switch (whichList()) {
+ case 1:
+ return audioView->currentItem()->text(3);
+ break;
+ case 2:
+ return videoView->currentItem()->text(3);
+ break;
+ };
+ return "";
+}
diff --git a/noncore/multimedia/opieplayer2/playlistwidget.h b/noncore/multimedia/opieplayer2/playlistwidget.h
index dcfdd48..2873dca 100644
--- a/noncore/multimedia/opieplayer2/playlistwidget.h
+++ b/noncore/multimedia/opieplayer2/playlistwidget.h
@@ -65,16 +65,17 @@ public:
// retrieve the current playlist entry (media file link)
const DocLnk *current();
void useSelectedDocument();
int selected;
+ int whichList();
public slots:
bool first();
bool last();
bool next();
bool prev();
void writeConfig( Config& cfg ) const;
-
+ QString currentFileListPathName();
protected:
void keyReleaseEvent( QKeyEvent *e);
private:
diff --git a/noncore/multimedia/opieplayer2/playlistwidgetgui.cpp b/noncore/multimedia/opieplayer2/playlistwidgetgui.cpp
index 250833c..f073102 100644
--- a/noncore/multimedia/opieplayer2/playlistwidgetgui.cpp
+++ b/noncore/multimedia/opieplayer2/playlistwidgetgui.cpp
@@ -154,8 +154,9 @@ PlayListWidgetGui::PlayListWidgetGui( QWidget* parent, const char* name, WFlags
audioView = new QListView( aTab, "Audioview" );
audioView->addColumn( tr( "Title" ), 140 );
audioView->addColumn( tr( "Size" ), -1 );
audioView->addColumn( tr( "Media" ), -1 );
+ audioView->addColumn( tr( "Path" ), 0 );
audioView->setColumnAlignment( 1, Qt::AlignRight );
audioView->setColumnAlignment( 2, Qt::AlignRight );
audioView->setAllColumnsShowFocus( TRUE );
audioView->setSorting( 0, TRUE );
@@ -175,8 +176,9 @@ PlayListWidgetGui::PlayListWidgetGui( QWidget* parent, const char* name, WFlags
videoView = new QListView( vTab, "Videoview" );
videoView->addColumn( tr( "Title" ), 140);
videoView->addColumn( tr( "Size" ), -1 );
videoView->addColumn(tr( "Media" ), -1 );
+ videoView->addColumn(tr( "Path" ), 0 );
videoView->setColumnAlignment( 1, Qt::AlignRight );
videoView->setColumnAlignment( 2, Qt::AlignRight );
videoView->setAllColumnsShowFocus( TRUE );
videoView->setSorting( 0, TRUE );