From f809e720d7bf5c2b314c705ad5600776afcf6659 Mon Sep 17 00:00:00 2001 From: Ken Moore Date: Mon, 17 Aug 2015 16:00:00 -0400 Subject: Convert the multimedia player and slideshow viewer into separate classes/widgets for lumina-fm, and add the new UI for the directory browser as well (no .h/.cpp source files filled out yet for it yet though). These new widgets/classes are tied into the build for compilation purposes, but they are not actually used in the app yet. --- lumina-fm/widgets/MultimediaWidget.h | 69 ++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 lumina-fm/widgets/MultimediaWidget.h (limited to 'lumina-fm/widgets/MultimediaWidget.h') diff --git a/lumina-fm/widgets/MultimediaWidget.h b/lumina-fm/widgets/MultimediaWidget.h new file mode 100644 index 00000000..65769d77 --- /dev/null +++ b/lumina-fm/widgets/MultimediaWidget.h @@ -0,0 +1,69 @@ +//=========================================== +// Lumina-DE source code +// Copyright (c) 2015, Ken Moore +// Available under the 3-clause BSD license +// See the LICENSE file for full details +//=========================================== +#ifndef _LUMINA_FM_MULTIMEDIA_WIDGET_H +#define _LUMINA_FM_MULTIMEDIA_WIDGET_H + +#include +#include +#include +#include +#include +#include + +#include "../DirData.h" + +namespace Ui{ + class MultimediaWidget; +}; + +class MultimediaWidget : public QWidget{ + Q_OBJECT +public: + MultimediaWidget(QWidget *parent = 0); + ~MultimediaWidget(); + +public slots: + void LoadMultimedia(QList list); + + //Theme change functions + void UpdateIcons(); + void UpdateText(); + +private: + Ui::MultimediaWidget *ui; + QMediaPlayer *mediaObj; + QVideoWidget *videoDisplay; + QString playerTTime; //total time - to prevent recalculation every tick + + QString msToText(qint64 ms); + +private slots: + //Media Object functions + void playerStatusChanged(QMediaPlayer::MediaStatus stat); + void playerStateChanged(QMediaPlayer::State newstate); + void playerVideoAvailable(bool showVideo); + void playerDurationChanged(qint64 dur); + void playerTimeChanged(qint64 ctime); + void playerError(); + void playerFinished(); + + //The UI functions + void on_tool_player_play_clicked(); + void on_combo_player_list_currentIndexChanged(int index); + void on_tool_player_next_clicked(); + void on_tool_player_prev_clicked(); + void on_tool_player_pause_clicked(); + void on_tool_player_stop_clicked(); + + //Slider controls + void on_playerSlider_sliderPressed(); + void on_playerSlider_sliderReleased(); + void on_playerSlider_valueChanged(int val); + + +}; +#endif \ No newline at end of file -- cgit