]> git.sesse.net Git - vlc/commitdiff
Qt: EPG: dialog: add no epg warning
authorFrancois Cartegnie <fcvlcdev@free.fr>
Wed, 23 Mar 2011 21:01:00 +0000 (22:01 +0100)
committerFrancois Cartegnie <fcvlcdev@free.fr>
Wed, 23 Mar 2011 21:10:53 +0000 (22:10 +0100)
modules/gui/qt4/components/epg/EPGWidget.cpp
modules/gui/qt4/components/epg/EPGWidget.hpp

index 5a997cc2fe11f362e1f0233525a4e26acf93be71..c5ef9e8e1916bdd9ea1894d89343adbada3e8b99 100644 (file)
@@ -27,6 +27,7 @@
 
 #include "EPGWidget.hpp"
 
 
 #include "EPGWidget.hpp"
 
+#include <QStackedWidget>
 #include <QVBoxLayout>
 #include <QScrollBar>
 #include <QLabel>
 #include <QVBoxLayout>
 #include <QScrollBar>
 #include <QLabel>
@@ -45,11 +46,24 @@ EPGWidget::EPGWidget( QWidget *parent ) : QWidget( parent )
     m_epgView->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding );
     setZoom( 1 );
 
     m_epgView->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding );
     setZoom( 1 );
 
+    rootWidget = new QStackedWidget( this );
+
+    QWidget *containerWidget = new QWidget( this );
     QGridLayout* layout = new QGridLayout( this );
     layout->addWidget( m_rulerWidget, 0, 1 );
     layout->addWidget( m_channelsWidget, 1, 0 );
     layout->addWidget( m_epgView, 1, 1 );
     layout->setSpacing( 0 );
     QGridLayout* layout = new QGridLayout( this );
     layout->addWidget( m_rulerWidget, 0, 1 );
     layout->addWidget( m_channelsWidget, 1, 0 );
     layout->addWidget( m_epgView, 1, 1 );
     layout->setSpacing( 0 );
+    containerWidget->setLayout( layout );
+    rootWidget->addWidget( containerWidget ); /* index 0 */
+
+    QLabel *noepgLabel = new QLabel( tr("No EPG Data Available"), this );
+    noepgLabel->setAlignment( Qt::AlignCenter );
+    rootWidget->addWidget( noepgLabel ); /* index 1 */
+
+    rootWidget->setCurrentIndex( 1 );
+    layout = new QGridLayout( this );
+    layout->addWidget( rootWidget );
     setLayout( layout );
 
     CONNECT( m_epgView, startTimeChanged(QDateTime),
     setLayout( layout );
 
     CONNECT( m_epgView, startTimeChanged(QDateTime),
@@ -88,6 +102,7 @@ void EPGWidget::updateEPG( vlc_epg_t **pp_epg, int i_epg, uint8_t i_input_type )
     b_input_type_known = true;
 
     m_epgView->cleanup(); /* expire items and flags */
     b_input_type_known = true;
 
     m_epgView->cleanup(); /* expire items and flags */
+    rootWidget->setCurrentIndex( ( i_epg > 0 ) ? 0 : 1 );
 
     for ( int i = 0; i < i_epg; ++i )
     {
 
     for ( int i = 0; i < i_epg; ++i )
     {
index 93a808dd51a39dcc78e2d0771d618025d193e5dd..73ae32f68d96724690cf11a5c875e411395048f0 100644 (file)
@@ -33,6 +33,7 @@
 #include <vlc_epg.h>
 
 #include <QWidget>
 #include <vlc_epg.h>
 
 #include <QWidget>
+#include <QStackedWidget>
 
 class QDateTime;
 
 
 class QDateTime;
 
@@ -51,6 +52,7 @@ private:
     EPGRuler* m_rulerWidget;
     EPGView* m_epgView;
     EPGChannels *m_channelsWidget;
     EPGRuler* m_rulerWidget;
     EPGView* m_epgView;
     EPGChannels *m_channelsWidget;
+    QStackedWidget *rootWidget;
 
     uint8_t i_event_source_type;
     bool b_input_type_known;
 
     uint8_t i_event_source_type;
     bool b_input_type_known;