[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 ¤t, 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 ¤t, 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