/*************************************************************************** kplayerpropertiesdialog.h ------------------------- begin : Tue Mar 02 2004 copyright : (C) 2004-2007 by kiriuja email : http://kplayer.sourceforge.net/email.html ***************************************************************************/ /*************************************************************************** * 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 3 of the License, or * * (at your option) any later version. * ***************************************************************************/ #ifndef KPLAYERPROPERTIESDIALOG_H #define KPLAYERPROPERTIESDIALOG_H #include #include "kplayerpropertiesgeneral.h" #include "kplayerpropertiessize.h" #include "kplayerpropertiessubtitles.h" #include "kplayerpropertiesaudio.h" #include "kplayerpropertiesvideo.h" #include "kplayerpropertiesadvanced.h" #include "kplayerengine.h" class KPlayerMediaProperties; class KPlayerDeviceProperties; class KPlayerTVProperties; class KPlayerDVBProperties; class KPlayerTrackProperties; class KPlayerDiskTrackProperties; class KPlayerChannelProperties; class KPlayerItemProperties; class KPlayerPropertiesGeneral : public KPlayerPropertiesGeneralPage { TQ_OBJECT public: KPlayerPropertiesGeneral (TQWidget* parent = 0, const char* name = 0); virtual ~KPlayerPropertiesGeneral(); void setup (const KURL&); virtual void setupMedia (const KURL&) = 0; virtual void setupControls (void) = 0; void hideUrl (void); void hideFrequency (void); void hideLength (void); void hidePlaylist (void); void hideTV (void); void hideDVB (void); virtual void load (void); virtual void save (void); KPlayerEngine* engine (void) const { return KPlayerEngine::engine(); } KPlayerMediaProperties* properties (void) const { return m_properties; } protected: KPlayerMediaProperties* m_properties; }; class KPlayerPropertiesDeviceGeneral : public KPlayerPropertiesGeneral { TQ_OBJECT public: KPlayerPropertiesDeviceGeneral (TQWidget* parent = 0, const char* name = 0); virtual void setupMedia (const KURL&); virtual void setupControls (void); virtual void load (void); KPlayerDeviceProperties* properties (void) const { return (KPlayerDeviceProperties*) KPlayerPropertiesGeneral::properties(); } }; class KPlayerPropertiesTVDeviceGeneral : public KPlayerPropertiesDeviceGeneral { TQ_OBJECT public: KPlayerPropertiesTVDeviceGeneral (TQWidget* parent = 0, const char* name = 0); virtual void setupMedia (const KURL&); virtual void setupControls (void); virtual void load (void); virtual void save (void); KPlayerTVProperties* properties (void) const { return (KPlayerTVProperties*) KPlayerPropertiesGeneral::properties(); } }; class KPlayerPropertiesDVBDeviceGeneral : public KPlayerPropertiesDeviceGeneral { TQ_OBJECT public: KPlayerPropertiesDVBDeviceGeneral (TQWidget* parent = 0, const char* name = 0); virtual void setupMedia (const KURL&); virtual void setupControls (void); virtual void load (void); virtual void save (void); KPlayerDVBProperties* properties (void) const { return (KPlayerDVBProperties*) KPlayerPropertiesGeneral::properties(); } }; class KPlayerPropertiesTrackGeneral : public KPlayerPropertiesGeneral { TQ_OBJECT public: KPlayerPropertiesTrackGeneral (TQWidget* parent = 0, const char* name = 0); virtual void setupMedia (const KURL&); virtual void load (void); KPlayerTrackProperties* properties (void) const { return (KPlayerTrackProperties*) KPlayerPropertiesGeneral::properties(); } }; class KPlayerPropertiesDiskTrackGeneral : public KPlayerPropertiesTrackGeneral { TQ_OBJECT public: KPlayerPropertiesDiskTrackGeneral (TQWidget* parent = 0, const char* name = 0); virtual void setupControls (void); virtual void load (void); KPlayerDiskTrackProperties* properties (void) const { return (KPlayerDiskTrackProperties*) KPlayerPropertiesGeneral::properties(); } }; class KPlayerPropertiesChannelGeneral : public KPlayerPropertiesDiskTrackGeneral { TQ_OBJECT public: KPlayerPropertiesChannelGeneral (TQWidget* parent = 0, const char* name = 0); virtual void setupControls (void); virtual void load (void); virtual void save (void); KPlayerChannelProperties* properties (void) const { return (KPlayerChannelProperties*) KPlayerPropertiesGeneral::properties(); } }; class KPlayerPropertiesItemGeneral : public KPlayerPropertiesTrackGeneral { TQ_OBJECT public: KPlayerPropertiesItemGeneral (TQWidget* parent = 0, const char* name = 0); virtual void setupControls (void); virtual void load (void); virtual void save (void); KPlayerItemProperties* properties (void) const { return (KPlayerItemProperties*) KPlayerPropertiesGeneral::properties(); } }; class KPlayerPropertiesSize : public KPlayerPropertiesSizePage { TQ_OBJECT public: KPlayerPropertiesSize (TQWidget* parent = 0, const char* name = 0); virtual ~KPlayerPropertiesSize(); void setup (const KURL&); virtual void setupMedia (const KURL&) = 0; virtual void setupControls (void); virtual void load (void); virtual void save (void); KPlayerMediaProperties* properties (void) const { return m_properties; } protected: virtual void displaySizeChanged (int); KPlayerMediaProperties* m_properties; }; class KPlayerPropertiesDeviceSize : public KPlayerPropertiesSize { TQ_OBJECT public: KPlayerPropertiesDeviceSize (TQWidget* parent = 0, const char* name = 0); virtual void setupMedia (const KURL&); virtual void setupControls (void); KPlayerDeviceProperties* properties (void) const { return (KPlayerDeviceProperties*) KPlayerPropertiesSize::properties(); } }; class KPlayerPropertiesTrackSize : public KPlayerPropertiesSize { TQ_OBJECT public: KPlayerPropertiesTrackSize (TQWidget* parent = 0, const char* name = 0); virtual void setupMedia (const KURL&); virtual void load (void); KPlayerTrackProperties* properties (void) const { return (KPlayerTrackProperties*) KPlayerPropertiesSize::properties(); } }; class KPlayerPropertiesSubtitles : public KPlayerPropertiesSubtitlesPage { TQ_OBJECT public: KPlayerPropertiesSubtitles (TQWidget* parent = 0, const char* name = 0); virtual ~KPlayerPropertiesSubtitles(); void setup (const KURL&); virtual void setupMedia (const KURL&) = 0; virtual void setupControls (void) = 0; void hideTrack (void); void hideAutoload (void); void hideClosedCaption (void); void hideUrl (void); virtual void load (void); virtual void save (void); KPlayerMediaProperties* properties (void) const { return m_properties; } protected: virtual void positionChanged (int); virtual void delayChanged (int); KPlayerMediaProperties* m_properties; }; class KPlayerPropertiesDeviceSubtitles : public KPlayerPropertiesSubtitles { TQ_OBJECT public: KPlayerPropertiesDeviceSubtitles (TQWidget* parent = 0, const char* name = 0); virtual void setupMedia (const KURL&); virtual void setupControls (void); KPlayerDeviceProperties* properties (void) const { return (KPlayerDeviceProperties*) KPlayerPropertiesSubtitles::properties(); } }; class KPlayerPropertiesTrackSubtitles : public KPlayerPropertiesSubtitles { TQ_OBJECT public: KPlayerPropertiesTrackSubtitles (TQWidget* parent = 0, const char* name = 0); virtual void setupMedia (const KURL&); void addTracks (void); virtual void load (void); virtual void save (void); KPlayerTrackProperties* properties (void) const { return (KPlayerTrackProperties*) KPlayerPropertiesSubtitles::properties(); } protected: virtual void trackChanged (int); }; class KPlayerPropertiesChannelSubtitles : public KPlayerPropertiesTrackSubtitles { TQ_OBJECT public: KPlayerPropertiesChannelSubtitles (TQWidget* parent = 0, const char* name = 0); virtual void setupControls (void); KPlayerChannelProperties* properties (void) const { return (KPlayerChannelProperties*) KPlayerPropertiesSubtitles::properties(); } }; class KPlayerPropertiesDiskTrackSubtitles : public KPlayerPropertiesTrackSubtitles { TQ_OBJECT public: KPlayerPropertiesDiskTrackSubtitles (TQWidget* parent = 0, const char* name = 0); virtual void setupControls (void); void setupEncoding (void); virtual void load (void); virtual void save (void); KPlayerDiskTrackProperties* properties (void) const { return (KPlayerDiskTrackProperties*) KPlayerPropertiesSubtitles::properties(); } }; class KPlayerPropertiesItemSubtitles : public KPlayerPropertiesDiskTrackSubtitles { TQ_OBJECT public: KPlayerPropertiesItemSubtitles (TQWidget* parent = 0, const char* name = 0); virtual void setupControls (void); virtual void load (void); virtual void save (void); KPlayerItemProperties* properties (void) const { return (KPlayerItemProperties*) KPlayerPropertiesSubtitles::properties(); } }; class KPlayerPropertiesAudio : public KPlayerPropertiesAudioPage { TQ_OBJECT public: KPlayerPropertiesAudio (TQWidget* parent = 0, const char* name = 0); virtual ~KPlayerPropertiesAudio(); void setup (const KURL&); virtual void setupMedia (const KURL&) = 0; virtual void setupControls (void) = 0; void hideTrack (void); void hideRates (void); void hideInput (void); void hideTV (void); virtual void load (void); virtual void save (void); KPlayerEngine* engine (void) const { return KPlayerEngine::engine(); } KPlayerMediaProperties* properties (void) const { return m_properties; } protected: virtual void volumeChanged (int); virtual void delayChanged (int); KPlayerMediaProperties* m_properties; }; class KPlayerPropertiesDeviceAudio : public KPlayerPropertiesAudio { TQ_OBJECT public: KPlayerPropertiesDeviceAudio (TQWidget* parent = 0, const char* name = 0); virtual void setupMedia (const KURL&); virtual void setupControls (void); KPlayerDeviceProperties* properties (void) const { return (KPlayerDeviceProperties*) KPlayerPropertiesAudio::properties(); } }; class KPlayerPropertiesDVBDeviceAudio : public KPlayerPropertiesDeviceAudio { TQ_OBJECT public: KPlayerPropertiesDVBDeviceAudio (TQWidget* parent = 0, const char* name = 0); virtual void setupMedia (const KURL&); virtual void setupControls (void); virtual void load (void); virtual void save (void); KPlayerDVBProperties* properties (void) const { return (KPlayerDVBProperties*) KPlayerPropertiesAudio::properties(); } protected: virtual void inputChanged (int); }; class KPlayerPropertiesTVDeviceAudio : public KPlayerPropertiesDVBDeviceAudio { TQ_OBJECT public: KPlayerPropertiesTVDeviceAudio (TQWidget* parent = 0, const char* name = 0); virtual void setupMedia (const KURL&); virtual void setupControls (void); virtual void load (void); virtual void save (void); KPlayerTVProperties* properties (void) const { return (KPlayerTVProperties*) KPlayerPropertiesAudio::properties(); } }; class KPlayerPropertiesTrackAudio : public KPlayerPropertiesAudio { TQ_OBJECT public: KPlayerPropertiesTrackAudio (TQWidget* parent = 0, const char* name = 0); virtual void setupMedia (const KURL&); virtual void setupControls (void); virtual void load (void); virtual void save (void); KPlayerTrackProperties* properties (void) const { return (KPlayerTrackProperties*) KPlayerPropertiesAudio::properties(); } protected: virtual void trackChanged (int); }; class KPlayerPropertiesVideo : public KPlayerPropertiesVideoPage { TQ_OBJECT public: KPlayerPropertiesVideo (TQWidget* parent = 0, const char* name = 0); virtual ~KPlayerPropertiesVideo(); void setup (const KURL&); virtual void setupMedia (const KURL&) = 0; virtual void setupControls (void) = 0; void hideTrack (void); void hideRates (void); void hideInput (void); void hideTV (void); virtual void load (void); virtual void save (void); KPlayerEngine* engine (void) const { return KPlayerEngine::engine(); } KPlayerMediaProperties* properties (void) const { return m_properties; } protected: void loadLists (void); virtual void contrastChanged (int); virtual void brightnessChanged (int); virtual void hueChanged (int); virtual void saturationChanged (int); KPlayerMediaProperties* m_properties; }; class KPlayerPropertiesDeviceVideo : public KPlayerPropertiesVideo { TQ_OBJECT public: KPlayerPropertiesDeviceVideo (TQWidget* parent = 0, const char* name = 0); virtual void setupMedia (const KURL&); virtual void setupControls (void); KPlayerDeviceProperties* properties (void) const { return (KPlayerDeviceProperties*) KPlayerPropertiesVideo::properties(); } }; class KPlayerPropertiesDVBDeviceVideo : public KPlayerPropertiesDeviceVideo { TQ_OBJECT public: KPlayerPropertiesDVBDeviceVideo (TQWidget* parent = 0, const char* name = 0); virtual void setupMedia (const KURL&); virtual void setupControls (void); virtual void load (void); virtual void save (void); KPlayerDVBProperties* properties (void) const { return (KPlayerDVBProperties*) KPlayerPropertiesVideo::properties(); } protected: virtual void inputChanged (int); }; class KPlayerPropertiesTVDeviceVideo : public KPlayerPropertiesDVBDeviceVideo { TQ_OBJECT public: KPlayerPropertiesTVDeviceVideo (TQWidget* parent = 0, const char* name = 0); virtual void setupMedia (const KURL&); virtual void setupControls (void); virtual void load (void); virtual void save (void); KPlayerTVProperties* properties (void) const { return (KPlayerTVProperties*) KPlayerPropertiesVideo::properties(); } protected: virtual void normChanged (int); }; class KPlayerPropertiesTrackVideo : public KPlayerPropertiesVideo { TQ_OBJECT public: KPlayerPropertiesTrackVideo (TQWidget* parent = 0, const char* name = 0); virtual void setupMedia (const KURL&); virtual void setupControls (void); virtual void load (void); virtual void save (void); KPlayerTrackProperties* properties (void) const { return (KPlayerTrackProperties*) KPlayerPropertiesVideo::properties(); } protected: virtual void trackChanged (int); }; class KPlayerPropertiesAdvanced : public KPlayerPropertiesAdvancedPage { TQ_OBJECT public: KPlayerPropertiesAdvanced (TQWidget* parent = 0, const char* name = 0); virtual ~KPlayerPropertiesAdvanced(); void setup (const KURL&); virtual void setupMedia (const KURL&) = 0; virtual void setupControls (void); void hideKioslave (void); void hideCompression (void); virtual void load (void); virtual void save (void); KPlayerEngine* engine (void) const { return KPlayerEngine::engine(); } KPlayerMediaProperties* properties (void) const { return m_properties; } protected: virtual void commandLineChanged (int); virtual void cacheChanged (int); KPlayerMediaProperties* m_properties; }; class KPlayerPropertiesDeviceAdvanced : public KPlayerPropertiesAdvanced { TQ_OBJECT public: KPlayerPropertiesDeviceAdvanced (TQWidget* parent = 0, const char* name = 0); virtual void setupMedia (const KURL&); KPlayerDeviceProperties* properties (void) const { return (KPlayerDeviceProperties*) KPlayerPropertiesAdvanced::properties(); } }; class KPlayerPropertiesTVDeviceAdvanced : public KPlayerPropertiesDeviceAdvanced { TQ_OBJECT public: KPlayerPropertiesTVDeviceAdvanced (TQWidget* parent = 0, const char* name = 0); virtual void setupMedia (const KURL&); virtual void setupControls (void); virtual void load (void); virtual void save (void); KPlayerTVProperties* properties (void) const { return (KPlayerTVProperties*) KPlayerPropertiesAdvanced::properties(); } protected: virtual void compressionChanged (bool); }; class KPlayerPropertiesTrackAdvanced : public KPlayerPropertiesAdvanced { TQ_OBJECT public: KPlayerPropertiesTrackAdvanced (TQWidget* parent = 0, const char* name = 0); virtual void setupMedia (const KURL&); KPlayerTrackProperties* properties (void) const { return (KPlayerTrackProperties*) KPlayerPropertiesAdvanced::properties(); } }; class KPlayerPropertiesItemAdvanced : public KPlayerPropertiesTrackAdvanced { TQ_OBJECT public: KPlayerPropertiesItemAdvanced (TQWidget* parent = 0, const char* name = 0); virtual void setupControls (void); virtual void load (void); virtual void save (void); KPlayerItemProperties* properties (void) const { return (KPlayerItemProperties*) KPlayerPropertiesAdvanced::properties(); } }; /** The KPlayer properties dialog. *@author kiriuja */ class KPlayerPropertiesDialog : public KDialogBase { TQ_OBJECT public: KPlayerPropertiesDialog (void); virtual ~KPlayerPropertiesDialog(); void setup (const KURL&); virtual void setupMedia (const KURL&) = 0; KPlayerMediaProperties* properties (void) const { return m_properties; } static KPlayerPropertiesDialog* createDialog (KPlayerTrackProperties* properties); protected: virtual void slotOk (void); virtual void slotApply (void); virtual void slotDefault (void); virtual KPlayerPropertiesGeneral* createGeneralPage (TQFrame* frame, const TQString& name) = 0; virtual KPlayerPropertiesSize* createSizePage (TQFrame* frame, const TQString& name) = 0; virtual KPlayerPropertiesSubtitles* createSubtitlesPage (TQFrame* frame, const TQString& name) = 0; virtual KPlayerPropertiesAudio* createAudioPage (TQFrame* frame, const TQString& name) = 0; virtual KPlayerPropertiesVideo* createVideoPage (TQFrame* frame, const TQString& name) = 0; virtual KPlayerPropertiesAdvanced* createAdvancedPage (TQFrame* frame, const TQString& name) = 0; KPlayerPropertiesGeneral* m_general; KPlayerPropertiesSize* m_size; KPlayerPropertiesSubtitles* m_subtitles; KPlayerPropertiesAudio* m_audio; KPlayerPropertiesVideo* m_video; KPlayerPropertiesAdvanced* m_advanced; KPlayerMediaProperties* m_properties; protected slots: void pageAboutToShow (TQWidget*); }; /** The KPlayer device properties dialog. *@author kiriuja */ class KPlayerDevicePropertiesDialog : public KPlayerPropertiesDialog { TQ_OBJECT public: KPlayerDevicePropertiesDialog (void) { } virtual ~KPlayerDevicePropertiesDialog(); virtual void setupMedia (const KURL&); virtual KPlayerPropertiesGeneral* createGeneralPage (TQFrame* frame, const TQString& name); virtual KPlayerPropertiesSize* createSizePage (TQFrame* frame, const TQString& name); virtual KPlayerPropertiesSubtitles* createSubtitlesPage (TQFrame* frame, const TQString& name); virtual KPlayerPropertiesAudio* createAudioPage (TQFrame* frame, const TQString& name); virtual KPlayerPropertiesVideo* createVideoPage (TQFrame* frame, const TQString& name); virtual KPlayerPropertiesAdvanced* createAdvancedPage (TQFrame* frame, const TQString& name); KPlayerDeviceProperties* properties (void) const { return (KPlayerDeviceProperties*) KPlayerPropertiesDialog::properties(); } }; /** The KPlayer TV device properties dialog. *@author kiriuja */ class KPlayerTVDevicePropertiesDialog : public KPlayerDevicePropertiesDialog { TQ_OBJECT public: KPlayerTVDevicePropertiesDialog (void) { } virtual ~KPlayerTVDevicePropertiesDialog(); virtual void setupMedia (const KURL&); virtual KPlayerPropertiesGeneral* createGeneralPage (TQFrame* frame, const TQString& name); virtual KPlayerPropertiesAudio* createAudioPage (TQFrame* frame, const TQString& name); virtual KPlayerPropertiesVideo* createVideoPage (TQFrame* frame, const TQString& name); virtual KPlayerPropertiesAdvanced* createAdvancedPage (TQFrame* frame, const TQString& name); KPlayerTVProperties* properties (void) const { return (KPlayerTVProperties*) KPlayerPropertiesDialog::properties(); } }; /** The KPlayer DVB device properties dialog. *@author kiriuja */ class KPlayerDVBDevicePropertiesDialog : public KPlayerDevicePropertiesDialog { TQ_OBJECT public: KPlayerDVBDevicePropertiesDialog (void) { } virtual ~KPlayerDVBDevicePropertiesDialog(); virtual void setupMedia (const KURL&); virtual KPlayerPropertiesGeneral* createGeneralPage (TQFrame* frame, const TQString& name); virtual KPlayerPropertiesAudio* createAudioPage (TQFrame* frame, const TQString& name); virtual KPlayerPropertiesVideo* createVideoPage (TQFrame* frame, const TQString& name); KPlayerDVBProperties* properties (void) const { return (KPlayerDVBProperties*) KPlayerPropertiesDialog::properties(); } }; /** The KPlayer track properties dialog. *@author kiriuja */ class KPlayerDiskTrackPropertiesDialog : public KPlayerPropertiesDialog { TQ_OBJECT public: KPlayerDiskTrackPropertiesDialog (void) { } virtual ~KPlayerDiskTrackPropertiesDialog(); virtual void setupMedia (const KURL&); virtual KPlayerPropertiesGeneral* createGeneralPage (TQFrame* frame, const TQString& name); virtual KPlayerPropertiesSize* createSizePage (TQFrame* frame, const TQString& name); virtual KPlayerPropertiesSubtitles* createSubtitlesPage (TQFrame* frame, const TQString& name); virtual KPlayerPropertiesAudio* createAudioPage (TQFrame* frame, const TQString& name); virtual KPlayerPropertiesVideo* createVideoPage (TQFrame* frame, const TQString& name); virtual KPlayerPropertiesAdvanced* createAdvancedPage (TQFrame* frame, const TQString& name); KPlayerDiskTrackProperties* properties (void) const { return (KPlayerDiskTrackProperties*) KPlayerPropertiesDialog::properties(); } }; /** The KPlayer channel properties dialog. *@author kiriuja */ class KPlayerChannelPropertiesDialog : public KPlayerDiskTrackPropertiesDialog { TQ_OBJECT public: KPlayerChannelPropertiesDialog (void) { } virtual ~KPlayerChannelPropertiesDialog(); virtual KPlayerPropertiesGeneral* createGeneralPage (TQFrame* frame, const TQString& name); virtual KPlayerPropertiesSubtitles* createSubtitlesPage (TQFrame* frame, const TQString& name); KPlayerChannelProperties* properties (void) const { return (KPlayerChannelProperties*) KPlayerPropertiesDialog::properties(); } }; /** The KPlayer item properties dialog. *@author kiriuja */ class KPlayerItemPropertiesDialog : public KPlayerDiskTrackPropertiesDialog { TQ_OBJECT public: KPlayerItemPropertiesDialog (void) { } virtual ~KPlayerItemPropertiesDialog(); virtual KPlayerPropertiesGeneral* createGeneralPage (TQFrame* frame, const TQString& name); virtual KPlayerPropertiesSubtitles* createSubtitlesPage (TQFrame* frame, const TQString& name); virtual KPlayerPropertiesAdvanced* createAdvancedPage (TQFrame* frame, const TQString& name); KPlayerItemProperties* properties (void) const { return (KPlayerItemProperties*) KPlayerPropertiesDialog::properties(); } }; #endif