From b026f0ad41985234416fa9ca1a2d054e8825961d Mon Sep 17 00:00:00 2001 From: Vsevolod Buzinov Date: Mon, 21 Jun 2010 17:23:09 +0300 Subject: Added initial version of the demo player Updated documentation for the demo Added video resource acquisition --- demo/player/playerpage.h | 79 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 demo/player/playerpage.h (limited to 'demo/player/playerpage.h') diff --git a/demo/player/playerpage.h b/demo/player/playerpage.h new file mode 100644 index 0000000..32af2e7 --- /dev/null +++ b/demo/player/playerpage.h @@ -0,0 +1,79 @@ +#pragma once + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "playerwidget.h" + +/** + * \mainpage Policy-aware Player + * + * Demonstrates how to use libresourceqt to create a policy-aware application. + * + * There are two classes: + * \see PlayerPage creates the UI consisting of a control bar and a video widget + * \see PlayerWidget contains all of policy-related customizations + * to make the application behave well in concurrent world. + * + */ + +/** + * PlayerPage class creates the UI of the application. It contains a menu, + * a control bar to control the playback, and PlayerWidget that does the actual playback. + * For policy-related functionality please refer to PlayerWidget, this class merely + * creates the mechanics of the UI for the demo application. + * + * \see PlayerWidget + * \see MApplicationPage + */ + +class PlayerPage : public MApplicationPage +{ + Q_OBJECT +public: + PlayerPage(); + +private: + void createContent(); + void makeControlBar(MLinearLayoutPolicy *controlBarPolicy); + void orientationChangeEvent(MOrientationChangeEvent *event); + void openFile(QString dir); + void setEnabled(MWidget *widget, bool enabled); + MButton* makeButton(QString iconID, bool enabled = true); + void updateLabelsVisibility(); + + MLinearLayoutPolicy *layoutPolicy, *controlBarPolicy; + MButton *btnLoadAudio, *btnLoadVideo, *btnPlay; + MSeekBar *seekbar; + PlayerWidget *playerWidget; + MLabel *lblTitle, *lblPosition; + MAction *menuAction; + + bool seekbarPressed; + bool labelsVisible; + +private slots: + void openAudioFile(); + void openVideoFile(); + + void togglePolicyAwareness(); + void setPlayingIcon(); + void setPausedIcon(); + void playOrPause(); + void onPositionChanged(); + void sliderPressed(); + void seekToNewPosition(); +}; -- cgit v1.2.3