/*************************************************************************** * Copyright (C) 2008 by Jaroslav Reznik * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * ***************************************************************************/ #ifndef MEDIAPLAYER_H #define MEDIAPLAYER_H #include #include #include class QHBoxLayout; class QVBoxLayout; class QLabel; class KToolBar; class KAction; class QBuffer; namespace Phonon { class VideoWidget; class MediaObject; class AudioOutput; class SeekSlider; class VolumeSlider; } class MediaPlayer: public QDialog { Q_OBJECT public: MediaPlayer(QWidget * parent = 0); void setCurrentSource(const Phonon::MediaSource &source); public slots: void playbackStart(); void playbackStop(); void viewFullscreen(); private slots: void stateChanged(Phonon::State state); void close(); private: void createButtons(); QVBoxLayout *m_mainLayout; QLabel *m_label; Phonon::MediaObject *m_media; Phonon::VideoWidget *m_video; Phonon::AudioOutput *m_audio; Phonon::SeekSlider *m_seekSlider; Phonon::VolumeSlider *m_volumeSlider; KToolBar *m_playerToolBar; QBuffer *m_buffer; KAction *actionPlaybackStart; KAction *actionPlaybackStop; KAction *actionViewFullscreen; }; #endif //MEDIAPLAYER_H