/******************************************************************************************************** * 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