Sophie

Sophie

distrib > Mandriva > 2011.0 > i586 > media > contrib-release-debug > by-pkgid > a682ed06b7e9c8d5c3b6ae729da2d8d5 > files > 125

freego-debug-4.5-1mdv2011.0.i586.rpm

/********************************************************************************************************
* PROGRAM      : FreeGo4
* AUTHOR       : Ferry Guillaume (guillaume@freego.fr), AZEVEDO Filipe (filipe@freego.fr)
* FILENAME     : UITelevision.h
* LICENSE      : GPL
* COMMENTARY   : 
********************************************************************************************************/
#ifndef UITELEVISION_H
#define UITELEVISION_H

#define VLC_PORT 8999

#include <QPointer>

#include "Recorder.h"
#include "ChannelsGrabber.h"
#include "ui_UITelevision.h"

class UITelevision : public fgDialog, public Ui::UITelevision
{
	Q_OBJECT

public:
	static UITelevision* self( QWidget* parent = 0 );
	~UITelevision();

public slots:
	void initObjects();
	void initSignals();
	void setChannels();
	
	// Left-Side Buttons
	void fgMenu_clicked( const int data );
	
	// Channels List
	void on_fgList_itemDoubleClicked( QTreeWidgetItem* item, int column );
	void on_fgWatch_clicked();
	void on_fgRecordNow_clicked();
	void addRemoveFavorites();

	// Favorites
	void on_fgFavWatch_clicked();
	void on_fgRemoveChannel_clicked();
	
	// Records
	void on_fgRemoveSel_clicked();
	void on_fgEdit_clicked();
	void addToFinished(Record*);
	
	// Finished
	void on_fgFinishedTree_itemDoubleClicked( QTreeWidgetItem* item, int column );
	void on_fgFinishedRemove_clicked();
	void on_fgFinishedOpen_clicked();
	
	// Programs
	void on_fgSetPath_clicked();
	void on_fgConfirm_clicked();
	
	// Options
	void on_fgBrowse_clicked();
	
	// Recorder Commands
	void addRecord( Record* record );
	void updateState( int index, int state );
	
	// VLC Commands
	void browseForVLC();
	void checkVLC();
	void checkVLCPath();
	
	bool watchUrl( const QUrl& url );
	bool recordNow( const QUrl& url, const QString& channel = QString::null );
	
	void on_fgApply_clicked();
	
	// Widgets Groups
	void enableDays( bool enable );
	void toggleDays( bool toggle );
	
protected slots:
	void restoreFavoritesChannels();
	void saveFavoritesChannels();
	void syncRecordsFolder();
	
private:
	UITelevision( QWidget* = 0 );
	static QPointer<UITelevision> mSelf;

	QString	vlcPath, recordPath;
	ChannelsGrabber *grabber;

	// Convenience Lists
	QList<fgLabel*> days;
	QStringList mMonths;
	
	int mIsModificationInProgress;
	void reinit_form();
};

#endif