[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    playground/network/videocatcher/src
From:       Jonas Emanuel Müller <zanoi () zanoi ! net>
Date:       2010-10-17 17:52:15
Message-ID: 20101017175215.25AE0AC896 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1186833 by jonasemuller:

modified version of episode information panel patch by Omar Plummer <rkoder at gmail \
dot com>

 M  +2 -0      CMakeLists.txt  
 A             episodeinformationwidget.cpp   [License: GPL (v2+)]
 A             episodeinformationwidget.h   [License: GPL (v2+)]
 A             informationlistwidget.cpp   [License: GPL (v2+)]
 A             informationlistwidget.h   [License: GPL (v2+)]
 M  +36 -4     mainwindowkde.cpp  
 M  +4 -0      mainwindowkde.h  


--- trunk/playground/network/videocatcher/src/CMakeLists.txt #1186832:1186833
@@ -1,4 +1,6 @@
 set(videocatcher_SRCS
+    episodeinformationwidget.cpp 
+    informationlistwidget.cpp
     main.cpp
     addchanneldialog.cpp
     channelmodel.cpp
--- trunk/playground/network/videocatcher/src/mainwindowkde.cpp #1186832:1186833
@@ -24,6 +24,7 @@
 #include "episodemodel.h"
 #include "channel.h"
 #include "episodeview.h"
+#include "episodeinformationwidget.h"
 
 #include "configure.h"
 
@@ -77,13 +78,20 @@
 
     createChannelPanel();
     createEpisodePanel();
+    createInformationPanel();
 
     setCentralWidget(episodeView);
-    QDockWidget* dockWidget = new QDockWidget(i18n("Channel List"), this);
-    dockWidget->setObjectName("channelDockWidget");
-    dockWidget->setWidget(channelView);
-    addDockWidget(Qt::LeftDockWidgetArea, dockWidget);
+    QDockWidget *channelDockWidget = new QDockWidget(i18n("Channel List"), this);
+    channelDockWidget->setObjectName("channelDockWidget");
+    channelDockWidget->setWidget(channelView);
+    addDockWidget(Qt::LeftDockWidgetArea, channelDockWidget);
     
+    // Set up information panel
+    QDockWidget* informationDockWidget = new QDockWidget(i18n("Episode \
Information"), this); +    \
informationDockWidget->setObjectName("informationDockWidget"); +    \
informationDockWidget->setWidget(episodeInformationWidget); +    \
addDockWidget(Qt::RightDockWidgetArea, informationDockWidget); +    
     // Initialise search
     searchText = new KLineEdit( this );
     searchText->setClearButtonShown( true );
@@ -291,6 +299,30 @@
     episodeView->show();
 }
 
+void MainWindow::createInformationPanel()
+{
+    episodeInformationWidget = new EpisodeInformationWidget(this);
+
+    connect(episodeView->selectionModel(), 
+        SIGNAL(currentRowChanged(const QModelIndex &, const QModelIndex &)), 
+        this,
+        SLOT(currentEpisodeChanged(const QModelIndex &, const QModelIndex &)));
+
+    episodeInformationWidget->show();
+}
+
+void MainWindow::currentEpisodeChanged(const QModelIndex &current, const QModelIndex \
&previous) +{
+    Q_UNUSED(previous);
+    
+    if(current.isValid()) {
+        episodeInformationWidget->clear();
+        episodeInformationWidget->setTitle(episodeModel->title(current));
+        episodeInformationWidget->setAttribute("Description:", \
episodeModel->description(current)); +        \
episodeInformationWidget->setAttribute("Size:", \
KIO::convertSize(episodeModel->videoSize(current))); +    }
+}
+
 void MainWindow::updateEpisodeView()
 {
     QModelIndex index = channelView->currentIndex();
--- trunk/playground/network/videocatcher/src/mainwindowkde.h #1186832:1186833
@@ -55,6 +55,7 @@
 #include <QMap>
 #include "episodeproxymodel.h"
 #include "loader.h"
+#include "episodeinformationwidget.h"
 
 class MainWindow : public KXmlGuiWindow
 {
@@ -70,6 +71,7 @@
 
 private slots:
     void updateEpisodeView();
+    void currentEpisodeChanged(const QModelIndex &current, const QModelIndex \
&previous);  void updateActions();
     void addChannel();
     void loadChannelResult(Channel *channel, ErrorCode status, const QString url);
@@ -112,6 +114,7 @@
     void initAutoRefreshChannels();
     void createChannelPanel();
     void createEpisodePanel();
+    void createInformationPanel();
     void setupActions();
 
     ChannelModel *channelModel;
@@ -119,6 +122,7 @@
     EpisodeProxyModel *episodeModel;
     QTableView *channelView;
     EpisodeView *episodeView;
+    EpisodeInformationWidget *episodeInformationWidget;
     QMap<KJob *, QString> *jobs;
     QTimer *autoRefreshChannelsTimer;
     int currentAutoRefreshLine;


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic