summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer3/mwindow.cpp9
-rw-r--r--noncore/multimedia/opieplayer3/mwindow.h1
-rw-r--r--noncore/multimedia/opieplayer3/playlist.cpp6
-rw-r--r--noncore/multimedia/opieplayer3/videowidget.cpp1
4 files changed, 14 insertions, 3 deletions
diff --git a/noncore/multimedia/opieplayer3/mwindow.cpp b/noncore/multimedia/opieplayer3/mwindow.cpp
index 75d1490..0898c7b 100644
--- a/noncore/multimedia/opieplayer3/mwindow.cpp
+++ b/noncore/multimedia/opieplayer3/mwindow.cpp
@@ -34,43 +34,44 @@
#include "mwindow.h"
#include "playlist.h"
#include "audiowidget.h"
#include "videowidget.h"
#include "../opieplayer2/lib.h"
#include <opie2/oapplicationfactory.h>
#include <opie2/owidgetstack.h>
#include <opie2/ofileselector.h>
#include <opie2/odebug.h>
#include <qpe/resource.h>
+#include <qpe/qpeapplication.h>
#include <qfileinfo.h>
#include <qfile.h>
#include <qtoolbar.h>
#include <qpopupmenu.h>
#include <qmenubar.h>
#include <qtimer.h>
#include <qslider.h>
#include <qlayout.h>
OPIE_EXPORT_APP( Opie::Core::OApplicationFactory<PMainWindow>)
using namespace Opie::Ui;
PMainWindow::PMainWindow(QWidget*w, const char*name, WFlags f)
: QMainWindow(w,name,f)
{
checkLib();
- setCaption( QObject::tr("Opie Mediaplayer 3" ) );
+ setCaption(appTitle());
m_MainBox = new QWidget(this);
QVBoxLayout*m_l = new QVBoxLayout(m_MainBox);
m_stack = new OWidgetStack(m_MainBox);
m_stack->forceMode(Opie::Ui::OWidgetStack::SmallScreen);
m_l->addWidget(m_stack);
m_PosSlider = new QSlider(QSlider::Horizontal,m_MainBox);
m_l->addWidget(m_PosSlider);
m_PosSlider->setEnabled(false);
@@ -202,24 +203,25 @@ void PMainWindow::slotPlayList()
//m_VideoPlayer->setFullScreen(a_ShowFull->isOn());
slotPlayCurrent();
}
void PMainWindow::slotUserStop()
{
if (!m_playing || !m_PlayLib) return;
m_playing = false;
m_PlayLib->stop();
m_PosSlider->setEnabled(false);
hideVideo();
slotShowList();
+ setCaption(appTitle());
}
void PMainWindow::slotTogglePlay(bool how)
{
if (how == m_playing) {
if (how) {
slotShowMediaWindow();
}
return;
}
if (how) {
slotPlayList();
@@ -235,46 +237,48 @@ void PMainWindow::hideVideo()
m_VideoPlayer->hide();
}
}
void PMainWindow::slotPlayCurrent()
{
if (!m_LastItem) {
if (m_PlayLib) m_PlayLib->stop();
m_PosSlider->setEnabled(false);
a_playAction->setOn(false);
hideVideo();
slotShowList();
+ setCaption(appTitle());
return;
}
m_CurrentPos = 0;
m_playList->setCurrentItem(m_LastItem);
m_uppos = 0;
m_PosSlider->setValue(0);
int result = 0;
if (!m_LastItem->isVideo()) {
hideVideo();
m_playing = true;
m_stack->raiseWidget(stack_audio);
result = m_AudioPlayer->playFile(m_LastItem->Lnk(),m_PlayLib);
} else {
m_playing = true;
setupVideo(a_ShowFull->isOn());
result = m_VideoPlayer->playFile(m_LastItem->Lnk(),m_PlayLib);
}
if (result<0) {
// fehler
return;
}
mediaWindowraised();
+ setCaption(appTitle()+" - "+m_LastItem->Lnk().name());
odebug << "Range: " << result << oendl;
m_PosSlider->setEnabled(true);
m_PosSlider->setRange(0,m_PlayLib->length());
m_PosSlider->setValue(m_PlayLib->currentTime());
QTimer::singleShot( 500, this, SLOT( slotCheckPos() ) );
}
void PMainWindow::slotPlayNext()
{
PlaylistItem*item = m_playList->nextItem(m_LastItem);
if (!item) return;
m_LastItem = item;
@@ -302,25 +306,26 @@ void PMainWindow::slotStopped()
m_playing = false;
slotGoNext();
}
void PMainWindow::slotCheckPos()
{
if (!m_playing) return;
if (!m_pressed) {
m_uppos = m_PlayLib->currentTime();
emit sigPos(m_uppos);
m_PosSlider->setValue(m_PlayLib->currentTime());
}
- QTimer::singleShot( 1000, this, SLOT( slotCheckPos() ) );
+ qApp->processEvents(100);
+ QTimer::singleShot( 900, this, SLOT( slotCheckPos() ) );
}
void PMainWindow::slotRemoveFiles()
{
if (m_playing||!m_playList->isVisible()) return;
PlaylistItem* Item = m_playList->currentItem();
slotShowList();
m_playList->removeFromList(Item);
}
void PMainWindow::setupActions()
{
diff --git a/noncore/multimedia/opieplayer3/mwindow.h b/noncore/multimedia/opieplayer3/mwindow.h
index 5d011d5..3ea9a52 100644
--- a/noncore/multimedia/opieplayer3/mwindow.h
+++ b/noncore/multimedia/opieplayer3/mwindow.h
@@ -55,24 +55,25 @@ class PlaylistView;
class QToolBar;
class QPopupMenu;
class QMenuBar;
class AudioWidget;
class VideoWidget;
class PlaylistItem;
class QSlider;
class PMainWindow : public QMainWindow {
Q_OBJECT
public:
static QString appName() { return QString::fromLatin1("opie-mediaplayer3" ); }
+ static QString appTitle() {return QString::fromLatin1("Opie Mediaplayer 3" ); }
PMainWindow(QWidget*, const char*, WFlags );
virtual ~PMainWindow();
public slots:
virtual void slotVideoclicked();
protected:
/* GUI parts */
static const int stack_list = 0;
static const int stack_file = 1;
static const int stack_audio = 2;
static const int stack_video = 3;
diff --git a/noncore/multimedia/opieplayer3/playlist.cpp b/noncore/multimedia/opieplayer3/playlist.cpp
index 2eb40e3..6f2e668 100644
--- a/noncore/multimedia/opieplayer3/playlist.cpp
+++ b/noncore/multimedia/opieplayer3/playlist.cpp
@@ -155,24 +155,26 @@ void PlaylistView::addFile(const QString&aFile,const QString&aName)
break;
case 4:
msg+=tr("Malformed mrl");
break;
default:
msg += tr("Unknown error");
break;
}
QMessageBox::warning(0,tr("Error reading fileheader"),msg);
return;
}
m_lastItem = m_items.last();
+ PlaylistItem*_it = currentItem();
+
if (m_lastItem) {
m_lastItem = new PlaylistItem(aFile,this,m_lastItem);
} else {
m_lastItem = new PlaylistItem(aFile,this);
}
m_lastItem->setExpandable(false);
m_lastItem->setText(1,name);
QString codec = m_Infolib->metaInfo(6);
if (codec.isEmpty()) {
codec = m_Infolib->metaInfo(7);
}
@@ -190,25 +192,27 @@ void PlaylistView::addFile(const QString&aFile,const QString&aName)
int m = l/60;
l-=m*60;
codec = "";
if (h>0) {
codec.sprintf("%2i:%2i:%2i h",h,m,l);
} else {
codec.sprintf("%02i:%02i m",m,l);
}
// time
m_lastItem->setText(COL_TIME,codec);
m_lastItem->Video(m_Infolib->hasVideo());
m_items.append(m_lastItem);
- setSelected(m_lastItem,true);
+ if (_it==NULL) {
+ setSelected(m_lastItem,true);
+ }
}
void PlaylistView::slotAppendDir()
{
QString _dir = Opie::Ui::OFileDialog::getDirectory(Opie::Ui::OFileSelector::Extended,m_lastDir,0,m_lastDir);
if (_dir.isEmpty()) return;
m_lastDir = _dir;
QDir sDir(_dir);
QStringList list = sDir.entryList(DEFAULT_FILE_TYPES,QDir::Files,QDir::Name | QDir::IgnoreCase);
for (unsigned i = 0; i < list.count();++i) {
addFile(_dir+QString("/")+list[i]);
}
diff --git a/noncore/multimedia/opieplayer3/videowidget.cpp b/noncore/multimedia/opieplayer3/videowidget.cpp
index 833ecb4..414400b 100644
--- a/noncore/multimedia/opieplayer3/videowidget.cpp
+++ b/noncore/multimedia/opieplayer3/videowidget.cpp
@@ -48,24 +48,25 @@ int VideoWidget::playFile(const DocLnk&aLnk,XINE::Lib*aLib)
if (m_xineLib) disconnect(m_xineLib);
m_xineLib = aLib;
if (aLib) m_xineLib->setWidget(m_Videodisplay);
}
if (!m_xineLib) {
return -1;
}
connect(m_xineLib,SIGNAL(stopped()),this,SLOT(slotStopped()));
m_xineLib->setWidget(m_Videodisplay);
m_xineLib->setShowVideo(true);
int res = m_xineLib->play(m_current.file());
vSize = m_xineLib->videoSize();
+
slot_Videoresized(m_Videodisplay->size());
odebug << "Xine play: " << res << oendl;
if (res != 1) {
return -2;
}
return m_xineLib->length();
}
void VideoWidget::stopPlaying()
{
if (m_xineLib) {
m_xineLib->stop();