[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: =?utf-8?q?=5Bgluon=5D_player=3A_KDE_Extended_Player=3A_The_next_?=
From: Laszlo Papp <djszapi () archlinux ! us>
Date: 2011-02-06 15:04:14
Message-ID: 20110206150414.85463A60D1 () git ! kde ! org
[Download RAW message or body]
Git commit 352edcea437f2316986f083e27770050b7e005bb by Laszlo Papp.
Committed on 06/02/11 at 16:04.
Pushed by lpapp into branch 'master'.
KDE Extended Player: The next fairly bigger patch of the GamesView.
M +1 -1 player/kdeext/CMakeLists.txt
D +0 -43 player/kdeext/delegates/itemsviewbasedelegate.cpp
D +0 -63 player/kdeext/delegates/itemsviewbasedelegate.h
M +5 -4 player/kdeext/gamesoverlay.cpp
M +13 -9 player/kdeext/gamesoverlay.h
M +5 -0 player/kdeext/models/gameitemsmodel.cpp
M +2 -0 player/kdeext/models/gameitemsmodel.h
M +31 -8 player/kdeext/views/gamesviewitem.cpp
M +13 -1 player/kdeext/views/gamesviewitem.h
http://commits.kde.org/gluon/352edcea437f2316986f083e27770050b7e005bb
diff --git a/player/kdeext/CMakeLists.txt b/player/kdeext/CMakeLists.txt
index 385287d..d0e3f30 100644
--- a/player/kdeext/CMakeLists.txt
+++ b/player/kdeext/CMakeLists.txt
@@ -13,7 +13,7 @@ set(kdeextplayer_SRCS
gamesoverlay.cpp
gamedetailsoverlay.cpp
loginform.cpp
- delegates/itemsviewbasedelegate.cpp
+ delegates/itemsviewdelegate.cpp
models/listmodel.cpp
models/gameitemsmodel.cpp
views/abstractitemview.cpp
diff --git a/player/kdeext/delegates/itemsviewbasedelegate.cpp \
b/player/kdeext/delegates/itemsviewbasedelegate.cpp deleted file mode 100644
index 4fc198d..0000000
--- a/player/kdeext/delegates/itemsviewbasedelegate.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-/*****************************************************************************
- * This file is part of the Gluon Development Platform
- * Copyright (c) 2011 Laszlo Papp <djszapi@archlinux.us>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *****************************************************************************/
-
-#include "itemsviewbasedelegate.h"
-
-ItemsViewBaseDelegate::ItemsViewBaseDelegate(QAbstractItemView *itemView, QObject * \
parent)
- : KWidgetItemDelegate(itemView, parent)
- , m_itemView( itemView )
- , m_preview( KIcon( "gluon_creator" ) )
- , m_gameName( new QLabel( m_itemView) )
- , m_gameDescription( new QLabel( m_itemView ) )
-{
-}
-
-ItemsViewBaseDelegate::~ItemsViewBaseDelegate()
-{
-}
-
-bool ItemsViewBaseDelegate::eventFilter(QObject *watched, QEvent *event)
-{
- if (event->type() == QEvent::MouseButtonDblClick) {
- return true;
- }
-
- return KWidgetItemDelegate::eventFilter(watched, event);
-}
-
diff --git a/player/kdeext/delegates/itemsviewbasedelegate.h \
b/player/kdeext/delegates/itemsviewbasedelegate.h deleted file mode 100644
index 203c29e..0000000
--- a/player/kdeext/delegates/itemsviewbasedelegate.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*****************************************************************************
- * This file is part of the Gluon Development Platform
- * Copyright (c) 2011 Laszlo Papp <djszapi@archlinux.us>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *****************************************************************************/
-
-#ifndef GLUON_ITEMSVIEWBASEDELEGATE_H
-#define GLUON_ITEMSVIEWBASEDELEGATE_H
-
-#include <KDE/KIcon>
-#include <KDE/KWidgetItemDelegate>
-
-#include <QtGui/QAbstractItemView>
-#include <QtGui/QLabel>
-#include <QtGui/QImage>
-
-#include <QtCore/QList>
-#include <QtCore/QModelIndex>
-
-class ItemsViewBaseDelegate: public KWidgetItemDelegate
-{
- Q_OBJECT
-public:
- explicit ItemsViewBaseDelegate(QAbstractItemView* itemView, QObject* parent = \
0);
- virtual ~ItemsViewBaseDelegate();
-
- // paint the item at index with all its attributes shown
- virtual void paint(QPainter* painter, const QStyleOptionViewItem& option, const \
QModelIndex& index) const = 0;
-
- // get the list of widgets
- virtual QList<QWidget*> createItemWidgets() const = 0;
-
- // update the widgets
- virtual void updateItemWidgets(const QList<QWidget*> widgets,
- const QStyleOptionViewItem &option,
- const QPersistentModelIndex &index) const =0;
-
- virtual QSize sizeHint(const QStyleOptionViewItem& option, const QModelIndex& \
index) const = 0;
-
-protected slots:
- bool eventFilter(QObject *watched, QEvent *event);
-
-protected:
- QAbstractItemView *m_itemView;
- KIcon m_preview;
- QLabel m_gameName;
- QLabel m_gameDescription;
-};
-
-#endif
diff --git a/player/kdeext/gamesoverlay.cpp b/player/kdeext/gamesoverlay.cpp
index 416e69e..cbb06bc 100644
--- a/player/kdeext/gamesoverlay.cpp
+++ b/player/kdeext/gamesoverlay.cpp
@@ -25,12 +25,13 @@ GamesOverlay::GamesOverlay( QWidget* parent, Qt::WindowFlags \
wFlags ) : QWidget( parent, wFlags )
, m_view( new QListView( this ) )
, m_model( new ListModel( m_view ) )
- , m_gamesView( new GamesView( this ) )
+ , m_gamesView( new QListView( this ) )
+ , m_gamesDelegate( new ItemsViewDelegate(m_gamesView, this) )
, m_loginForm( new LoginForm( this ) )
, m_gridLayout( new QGridLayout( this ) )
, m_stackedWidget( new QStackedWidget( this ) )
- , m_availableView( new QLabel( i18n( "Coming soon!" ), this ) )
- , m_communityView( new QLabel( i18n( "Community. Under development!" ), this ) )
+ , m_availableView( new KSqueezedTextLabel( i18n( "Coming soon!" ), this ) )
+ , m_communityView( new KSqueezedTextLabel( i18n( "Community. Under development!" \
), this ) ) {
connect( m_gamesView, SIGNAL( gameToPlaySelected( QModelIndex ) ), SIGNAL( \
gameToPlaySelected( QModelIndex ) ) );
connect( m_gamesView, SIGNAL( gameSelected( QModelIndex ) ), SIGNAL( \
gameSelected( QModelIndex ) ) ); @@ -59,7 +60,7 @@ GamesOverlay::GamesOverlay( \
QWidget* parent, Qt::WindowFlags wFlags )
SLOT( selectionChanged( const QModelIndex &, const QModelIndex &) ) );
}
-GamesView* GamesOverlay::gamesView()
+QListView* GamesOverlay::gamesView()
{
return m_gamesView;
}
diff --git a/player/kdeext/gamesoverlay.h b/player/kdeext/gamesoverlay.h
index fc651cc..c129f3f 100644
--- a/player/kdeext/gamesoverlay.h
+++ b/player/kdeext/gamesoverlay.h
@@ -21,14 +21,13 @@
#define GAMESOVERLAY_H
#include "loginform.h"
-#include "views/gamesview.h"
-
#include "models/listmodel.h"
+#include "delegates/itemsviewdelegate.h"
#include <KDE/KIcon>
#include <KDE/KLocalizedString>
+#include <KDE/KSqueezedTextLabel>
-#include <QtGui/QLabel>
#include <QtGui/QGridLayout>
#include <QtGui/QListView>
#include <QtGui/QStackedWidget>
@@ -43,10 +42,12 @@ namespace GluonKDEPlayer
public:
explicit GamesOverlay( QWidget* parent = 0, Qt::WindowFlags wFlags = 0 \
);
- GamesView* gamesView();
+ virtual ~GamesOverlay() {}
+
+ QListView* gamesView();
- protected slots:
- void selectionChanged( const QModelIndex & current, const \
QModelIndex & previous ); + protected slots:
+ void selectionChanged( const QModelIndex & current, const QModelIndex & \
previous );
signals:
void gameToPlaySelected( const QModelIndex& index );
@@ -55,12 +56,15 @@ namespace GluonKDEPlayer
private:
QListView* m_view;
ListModel* m_model;
- GamesView* m_gamesView;
+
+ QListView* m_gamesView;
+ ItemsViewDelegate* m_gamesDelegate;
+
LoginForm* m_loginForm;
QGridLayout* m_gridLayout;
QStackedWidget* m_stackedWidget;
- QLabel* m_availableView;
- QLabel* m_communityView;
+ KSqueezedTextLabel* m_availableView;
+ KSqueezedTextLabel* m_communityView;
};
}
#endif // GAMESOVERLAY_H
diff --git a/player/kdeext/models/gameitemsmodel.cpp \
b/player/kdeext/models/gameitemsmodel.cpp index 53c7a89..6430060 100644
--- a/player/kdeext/models/gameitemsmodel.cpp
+++ b/player/kdeext/models/gameitemsmodel.cpp
@@ -62,6 +62,11 @@ int GameItemsModel::rowCount( const QModelIndex& /* parent */ ) \
const return m_gamesViewItems.count();
}
+int GameItemsModel::columnCount( const QModelIndex& /* parent */ ) const
+{
+ return 1;
+}
+
QVariant GameItemsModel::headerData( int section, Qt::Orientation orientation, int \
role ) const {
if( section == 0 )
diff --git a/player/kdeext/models/gameitemsmodel.h \
b/player/kdeext/models/gameitemsmodel.h index 2d48f0f..422d60b 100644
--- a/player/kdeext/models/gameitemsmodel.h
+++ b/player/kdeext/models/gameitemsmodel.h
@@ -39,6 +39,7 @@ namespace GluonKDEPlayer
*/
class GameItemsModel : public QAbstractListModel
{
+ Q_OBJECT
public:
explicit GameItemsModel( QObject* parent = 0 );
virtual ~GameItemsModel() {}
@@ -47,6 +48,7 @@ namespace GluonKDEPlayer
virtual QVariant headerData( int section, Qt::Orientation orientation, \
int role = Qt::DisplayRole ) const;
virtual int rowCount( const QModelIndex& parent = QModelIndex() ) const;
+ virtual int columnCount( const QModelIndex& parent = QModelIndex() ) \
const;
private:
QList<GamesViewItem*> m_gamesViewItems;
diff --git a/player/kdeext/views/gamesviewitem.cpp \
b/player/kdeext/views/gamesviewitem.cpp index 2a210c2..0eda05b 100644
--- a/player/kdeext/views/gamesviewitem.cpp
+++ b/player/kdeext/views/gamesviewitem.cpp
@@ -26,7 +26,7 @@ GamesViewItem::GamesViewItem( QWidget* parent, Qt::WindowFlags \
wFlags ) , m_preview( new KSqueezedTextLabel )
, m_gameName( new KSqueezedTextLabel( this ) )
, m_gameDescription( new KSqueezedTextLabel( this ) )
- // , m_playButton( new KPushButton( this ) )
+ , m_playButton( new KPushButton( this ) )
, m_layout( new QGridLayout() )
{
}
@@ -36,7 +36,7 @@ GamesViewItem::GamesViewItem( QString gameName, QString \
gameDescription, QWidget , m_preview( new KSqueezedTextLabel )
, m_gameName( new KSqueezedTextLabel( this ) )
, m_gameDescription( new KSqueezedTextLabel( this ) )
- // , m_playButton( new KPushButton( this ) )
+ , m_playButton( new KPushButton( this ) )
, m_layout( new QGridLayout() )
{
layoutWidgets(gameName, gameDescription);
@@ -49,10 +49,9 @@ GamesViewItem::GamesViewItem( const GamesViewItem& other, QWidget* \
parent )
void GamesViewItem::layoutWidgets(const QString& gameName, const QString& \
gameDescription) {
-
- // m_playButton->setIcon( KIcon( "media-playback-start" ) );
- // m_playButton->setSizePolicy( QSizePolicy::Maximum, \
QSizePolicy::MinimumExpanding );
- // connect( m_playButton, SIGNAL( activated() ), SLOT( playGameActivated() ) );
+ m_playButton->setIcon( KIcon( "media-playback-start" ) );
+ m_playButton->setSizePolicy( QSizePolicy::Maximum, QSizePolicy::MinimumExpanding \
); + connect( m_playButton, SIGNAL( activated() ), SLOT( playGameActivated() ) );
m_preview->setPixmap(KIcon( "gluon-creator").pixmap(32, 32));
m_gameName->setText( gameName );
@@ -61,7 +60,7 @@ void GamesViewItem::layoutWidgets(const QString& gameName, const \
QString& gameDe m_layout->addWidget( m_preview, 0, 0, 2, 1 );
m_layout->addWidget( m_gameName, 0, 1 );
m_layout->addWidget( m_gameDescription, 1, 1 );
- // m_layout->addWidget( m_playButton, 0, 2, 2, 1 );
+ m_layout->addWidget( m_playButton, 0, 2, 2, 1 );
setLayout( m_layout );
}
@@ -75,7 +74,31 @@ QModelIndex GamesViewItem::modelIndex() const
return m_index;
}
+void GamesViewItem::playGameActivated()
+{
+ emit gameToPlaySelected( m_index );
+}
+
void GamesViewItem::mousePressEvent( QMouseEvent* /* event */ )
{
- // emit gameSelected( m_index );
+ emit gameSelected( m_index );
+}
+
+QString GamesViewItem::gameName() const
+{
+ return m_gameName->text();
+}
+void GamesViewItem::setGameName( QString newGameName )
+{
+ m_gameName->setText( newGameName );
+}
+
+QString GamesViewItem::gameDescription() const
+{
+ return m_gameDescription->text();
+}
+
+void GamesViewItem::setGameDescription( QString newGameDescription )
+{
+ m_gameDescription->setText( newGameDescription );
}
diff --git a/player/kdeext/views/gamesviewitem.h \
b/player/kdeext/views/gamesviewitem.h index 04b590d..da4c557 100644
--- a/player/kdeext/views/gamesviewitem.h
+++ b/player/kdeext/views/gamesviewitem.h
@@ -20,7 +20,7 @@
#ifndef GAMESVIEWITEM_H
#define GAMESVIEWITEM_H
-// #include <KDE/KPushButton>
+#include <KDE/KPushButton>
#include <KDE/KLocalizedString>
#include <KDE/KIcon>
#include <KDE/KSqueezedTextLabel>
@@ -44,17 +44,29 @@ namespace GluonKDEPlayer
virtual void setModelIndex( const QModelIndex& index );
QModelIndex modelIndex() const;
+ protected slots:
+ void playGameActivated();
+
signals:
+ void gameToPlaySelected( const QModelIndex& index );
void gameSelected( const QModelIndex& index );
protected:
void layoutWidgets(const QString& gameName, const QString& \
gameDescription); virtual void mousePressEvent( QMouseEvent* event );
+ public:
+ QString gameName() const;
+ void setGameName( QString newGameName );
+
+ QString gameDescription() const;
+ void setGameDescription( QString newGameDescription );
+
QModelIndex m_index;
KSqueezedTextLabel* m_preview;
KSqueezedTextLabel* m_gameName;
KSqueezedTextLabel* m_gameDescription;
+ KPushButton* m_playButton;
QGridLayout* m_layout;
};
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic