[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_Big_refac?=
From: Laszlo Papp <djszapi () archlinux ! us>
Date: 2011-02-06 15:04:14
Message-ID: 20110206150414.62CA6A60BE () git ! kde ! org
[Download RAW message or body]
Git commit 5f30b92244a6fab5251d5eac43c9c02bf7940fa0 by Laszlo Papp.
Committed on 06/02/11 at 14:24.
Pushed by lpapp into branch 'master'.
KDE Extended Player: Big refactoring of the model, view, delegate.
M +1 -0 player/kdeext/CMakeLists.txt
M +2 -2 player/kdeext/gamesoverlay.cpp
M +25 -23 player/kdeext/gamesoverlay.h
M +3 -3 player/kdeext/main.cpp
M +2 -2 player/kdeext/mainwindow.cpp
M +1 -1 player/kdeext/mainwindow.h
M +1 -1 player/kdeext/models/gameitemsmodel.cpp
M +13 -11 player/kdeext/views/gamesview.cpp
M +15 -11 player/kdeext/views/gamesview.h
M +26 -15 player/kdeext/views/gamesviewitem.cpp
M +29 -25 player/kdeext/views/gamesviewitem.h
http://commits.kde.org/gluon/5f30b92244a6fab5251d5eac43c9c02bf7940fa0
diff --git a/player/kdeext/CMakeLists.txt b/player/kdeext/CMakeLists.txt
index 4becdc1..385287d 100644
--- a/player/kdeext/CMakeLists.txt
+++ b/player/kdeext/CMakeLists.txt
@@ -15,6 +15,7 @@ set(kdeextplayer_SRCS
loginform.cpp
delegates/itemsviewbasedelegate.cpp
models/listmodel.cpp
+ models/gameitemsmodel.cpp
views/abstractitemview.cpp
views/achievementsview.cpp
views/newcommentform.cpp
diff --git a/player/kdeext/gamesoverlay.cpp b/player/kdeext/gamesoverlay.cpp
index b8d7270..416e69e 100644
--- a/player/kdeext/gamesoverlay.cpp
+++ b/player/kdeext/gamesoverlay.cpp
@@ -18,8 +18,8 @@
*/
#include "gamesoverlay.h"
-#include "loginform.h"
-#include "views/gamesview.h"
+
+using namespace GluonKDEPlayer;
GamesOverlay::GamesOverlay( QWidget* parent, Qt::WindowFlags wFlags )
: QWidget( parent, wFlags )
diff --git a/player/kdeext/gamesoverlay.h b/player/kdeext/gamesoverlay.h
index d044ab7..fc651cc 100644
--- a/player/kdeext/gamesoverlay.h
+++ b/player/kdeext/gamesoverlay.h
@@ -20,6 +20,9 @@
#ifndef GAMESOVERLAY_H
#define GAMESOVERLAY_H
+#include "loginform.h"
+#include "views/gamesview.h"
+
#include "models/listmodel.h"
#include <KDE/KIcon>
@@ -32,33 +35,32 @@
#include <QtGui/QItemSelectionModel>
#include <QtCore/QModelIndex>
-class GamesView;
-class LoginForm;
-
-class GamesOverlay : public QWidget
+namespace GluonKDEPlayer
{
+ class GamesOverlay : public QWidget
+ {
Q_OBJECT
- public:
- explicit GamesOverlay( QWidget* parent = 0, Qt::WindowFlags wFlags = 0 );
- GamesView* gamesView();
-
- protected slots:
- void selectionChanged( const QModelIndex & current, const QModelIndex & \
previous ); + public:
+ explicit GamesOverlay( QWidget* parent = 0, Qt::WindowFlags wFlags = 0 \
); + GamesView* gamesView();
- signals:
- void gameToPlaySelected( const QModelIndex& index );
- void gameSelected( const QModelIndex& index );
+ protected slots:
+ void selectionChanged( const QModelIndex & current, const \
QModelIndex & previous );
- private:
- QListView* m_view;
- ListModel* m_model;
- GamesView* m_gamesView;
- LoginForm* m_loginForm;
- QGridLayout* m_gridLayout;
- QStackedWidget* m_stackedWidget;
- QLabel* m_availableView;
- QLabel* m_communityView;
-};
+ signals:
+ void gameToPlaySelected( const QModelIndex& index );
+ void gameSelected( const QModelIndex& index );
+ private:
+ QListView* m_view;
+ ListModel* m_model;
+ GamesView* m_gamesView;
+ LoginForm* m_loginForm;
+ QGridLayout* m_gridLayout;
+ QStackedWidget* m_stackedWidget;
+ QLabel* m_availableView;
+ QLabel* m_communityView;
+ };
+}
#endif // GAMESOVERLAY_H
diff --git a/player/kdeext/main.cpp b/player/kdeext/main.cpp
index 8dd3bf4..e14e420 100644
--- a/player/kdeext/main.cpp
+++ b/player/kdeext/main.cpp
@@ -47,11 +47,11 @@ int main( int argc, char** argv )
KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
- GluonKDEExtPlayer::MainWindow *window;
+ GluonKDEPlayer::MainWindow *window;
if (args->count())
- window = new GluonKDEExtPlayer::MainWindow(args->arg(0));
+ window = new GluonKDEPlayer::MainWindow(args->arg(0));
else
- window = new GluonKDEExtPlayer::MainWindow();
+ window = new GluonKDEPlayer::MainWindow();
window->show();
app.exec();
diff --git a/player/kdeext/mainwindow.cpp b/player/kdeext/mainwindow.cpp
index f02a087..20ba0db 100644
--- a/player/kdeext/mainwindow.cpp
+++ b/player/kdeext/mainwindow.cpp
@@ -45,7 +45,7 @@
#include <QtGui/QLabel>
#include <QtCore/QTimer>
-using namespace GluonKDEExtPlayer;
+using namespace GluonKDEPlayer;
class MainWindow::MainWindowPrivate
{
@@ -249,7 +249,7 @@ void MainWindow::resizeEvent( QResizeEvent* event )
void MainWindow::showGames()
{
- m_gamesOverlay->gamesView()->setModel( m_gamesModel );
+ // m_gamesOverlay->gamesView()->setModel( m_gamesModel );
m_gamesOverlay->setGeometry( geometry() );
connect( m_gamesOverlay, SIGNAL( gameToPlaySelected( QModelIndex ) ), SLOT( \
setProject( QModelIndex ) ) );
connect( m_gamesOverlay, SIGNAL( gameSelected( QModelIndex ) ), SLOT( \
showGameDetails( QModelIndex ) ) );
diff --git a/player/kdeext/mainwindow.h b/player/kdeext/mainwindow.h
index 2721053..83985c6 100644
--- a/player/kdeext/mainwindow.h
+++ b/player/kdeext/mainwindow.h
@@ -44,7 +44,7 @@
class KRecentFilesAction;
-namespace GluonKDEExtPlayer {
+namespace GluonKDEPlayer {
/**
* The main window of the KDE Player frontend
*/
diff --git a/player/kdeext/models/gameitemsmodel.cpp \
b/player/kdeext/models/gameitemsmodel.cpp index 505c7d3..53c7a89 100644
--- a/player/kdeext/models/gameitemsmodel.cpp
+++ b/player/kdeext/models/gameitemsmodel.cpp
@@ -51,7 +51,7 @@ QVariant GameItemsModel::data( const QModelIndex& index, int role ) \
const {
if( role == Qt::UserRole )
{
-
+ return QVariant::fromValue( m_gamesViewItems.at( index.row() ) );
}
return QVariant();
diff --git a/player/kdeext/views/gamesview.cpp b/player/kdeext/views/gamesview.cpp
index 5071e59..9825d18 100644
--- a/player/kdeext/views/gamesview.cpp
+++ b/player/kdeext/views/gamesview.cpp
@@ -18,7 +18,9 @@
*/
#include "gamesview.h"
-#include "gamesviewitem.h"
+// #include "views/gamesviewitem.h"
+
+using namespace GluonKDEPlayer;
GamesView::GamesView( QWidget* parent, Qt::WindowFlags wFlags )
: AbstractItemView( parent, wFlags )
@@ -30,16 +32,16 @@ void GamesView::setModel( QAbstractItemModel* model )
{
AbstractItemView::setModel( model );
- for( int i = 0; i < m_model->rowCount(); ++i )
- {
- GamesViewItem* item = new GamesViewItem( this );
- item->setModelIndex( m_model->index( i, 0 ) );
- // item->setAcceptHoverEvents( true );
- item->installEventFilter( this );
- connect( item, SIGNAL( gameToPlaySelected( QModelIndex ) ), SIGNAL( \
gameToPlaySelected( QModelIndex ) ) );
- connect( item, SIGNAL( gameSelected( QModelIndex ) ), SIGNAL( gameSelected( \
QModelIndex ) ) );
- m_contentLayout->addWidget( item );
- }
+ // for( int i = 0; i < m_model->rowCount(); ++i )
+ // {
+ // GamesViewItem* item = new GamesViewItem( this );
+ // item->setModelIndex( m_model->index( i, 0 ) );
+ // // item->setAcceptHoverEvents( true );
+ // item->installEventFilter( this );
+ // connect( item, SIGNAL( gameToPlaySelected( QModelIndex ) ), SIGNAL( \
gameToPlaySelected( QModelIndex ) ) ); + // connect( item, SIGNAL( \
gameSelected( QModelIndex ) ), SIGNAL( gameSelected( QModelIndex ) ) ); + // \
m_contentLayout->addWidget( item ); + // }
}
bool GamesView::eventFilter( QObject* obj, QEvent* event )
diff --git a/player/kdeext/views/gamesview.h b/player/kdeext/views/gamesview.h
index a7a78ff..efd0cdf 100644
--- a/player/kdeext/views/gamesview.h
+++ b/player/kdeext/views/gamesview.h
@@ -24,26 +24,30 @@
#include <KDE/KTitleWidget>
+#include <QtCore/QEvent>
#include <QtGui/QGridLayout>
#include <QtCore/QModelIndex>
class QAbstractItemModel;
-class GamesView : public AbstractItemView
+namespace GluonKDEPlayer
{
+ class GamesView : public AbstractItemView
+ {
Q_OBJECT
- public:
- GamesView( QWidget* parent = 0, Qt::WindowFlags wFlags = 0 );
- virtual void setModel( QAbstractItemModel* model );
+ public:
+ GamesView( QWidget* parent = 0, Qt::WindowFlags wFlags = 0 );
+ virtual void setModel( QAbstractItemModel* model );
- protected:
- KTitleWidget* m_itemBackground;
+ protected:
+ KTitleWidget* m_itemBackground;
- bool eventFilter( QObject* obj, QEvent* event );
+ bool eventFilter( QObject* obj, QEvent* event );
- signals:
- void gameToPlaySelected( const QModelIndex& index );
- void gameSelected( const QModelIndex& index );
-};
+ signals:
+ void gameToPlaySelected( const QModelIndex& index );
+ void gameSelected( const QModelIndex& index );
+ };
+}
#endif // GAMESVIEW_H
diff --git a/player/kdeext/views/gamesviewitem.cpp \
b/player/kdeext/views/gamesviewitem.cpp index a7aba77..2a210c2 100644
--- a/player/kdeext/views/gamesviewitem.cpp
+++ b/player/kdeext/views/gamesviewitem.cpp
@@ -18,7 +18,8 @@
*/
#include "gamesviewitem.h"
-#include "lib/models/gamesmodel.h"
+
+using namespace GluonKDEPlayer;
GamesViewItem::GamesViewItem( QWidget* parent, Qt::WindowFlags wFlags )
: QWidget( parent, wFlags )
@@ -30,22 +31,33 @@ GamesViewItem::GamesViewItem( QWidget* parent, Qt::WindowFlags \
wFlags ) {
}
-void GamesViewItem::setModelIndex( const QModelIndex& index )
+GamesViewItem::GamesViewItem( QString gameName, QString gameDescription, QWidget* \
parent, Qt::WindowFlags wFlags ) + : QWidget( parent, wFlags )
+ , m_preview( new KSqueezedTextLabel )
+ , m_gameName( new KSqueezedTextLabel( this ) )
+ , m_gameDescription( new KSqueezedTextLabel( this ) )
+ // , m_playButton( new KPushButton( this ) )
+ , m_layout( new QGridLayout() )
{
- m_index = index;
- layoutWidgets();
+ layoutWidgets(gameName, gameDescription);
}
-void GamesViewItem::layoutWidgets()
+GamesViewItem::GamesViewItem( const GamesViewItem& other, QWidget* parent )
+ : QWidget( parent )
+{
+}
+
+void GamesViewItem::layoutWidgets(const QString& gameName, const QString& \
gameDescription) {
- m_preview->setPixmap(KIcon( "gluon-creator").pixmap(32, 32));
- m_gameName->setText( m_index.sibling( m_index.row(), \
GluonPlayer::GamesModel::NameColumn ).data().toString() );
- m_gameDescription->setText( m_index.sibling( m_index.row(), \
GluonPlayer::GamesModel::DescriptionColumn ).data().toString() );
// 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 );
+ m_gameDescription->setText( gameDescription );
+
m_layout->addWidget( m_preview, 0, 0, 2, 1 );
m_layout->addWidget( m_gameName, 0, 1 );
m_layout->addWidget( m_gameDescription, 1, 1 );
@@ -53,18 +65,17 @@ void GamesViewItem::layoutWidgets()
setLayout( m_layout );
}
-QModelIndex GamesViewItem::modelIndex() const
+void GamesViewItem::setModelIndex( const QModelIndex& index )
{
- return m_index;
+ m_index = index;
}
-void GamesViewItem::playGameActivated()
+QModelIndex GamesViewItem::modelIndex() const
{
- emit gameToPlaySelected( m_index );
+ return m_index;
}
-void GamesViewItem::mousePressEvent( QMouseEvent* event )
+void GamesViewItem::mousePressEvent( QMouseEvent* /* event */ )
{
- Q_UNUSED( event )
- emit gameSelected( m_index );
+ // emit gameSelected( m_index );
}
diff --git a/player/kdeext/views/gamesviewitem.h \
b/player/kdeext/views/gamesviewitem.h index 7588218..04b590d 100644
--- a/player/kdeext/views/gamesviewitem.h
+++ b/player/kdeext/views/gamesviewitem.h
@@ -30,32 +30,36 @@
#include <QtCore/QModelIndex>
#include <QtCore/QEvent>
-class GamesViewItem : public QWidget
+namespace GluonKDEPlayer
{
+ class GamesViewItem : public QWidget
+ {
Q_OBJECT
- public:
- GamesViewItem( QWidget* parent = 0, Qt::WindowFlags wFlags = 0 );
-
- 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();
- virtual void mousePressEvent( QMouseEvent* event );
-
- QModelIndex m_index;
- KSqueezedTextLabel* m_preview;
- KSqueezedTextLabel* m_gameName;
- KSqueezedTextLabel* m_gameDescription;
- // KPushButton* m_playButton;
- QGridLayout* m_layout;
-};
+ public:
+ GamesViewItem( QWidget* parent = 0, Qt::WindowFlags wFlags = 0 );
+ GamesViewItem( const GamesViewItem& other, QWidget* parent = 0 );
+ GamesViewItem( QString gameName, QString gameDescription, QWidget* \
parent = 0, Qt::WindowFlags wFlags = 0 ); + virtual ~GamesViewItem() {}
+
+ virtual void setModelIndex( const QModelIndex& index );
+ QModelIndex modelIndex() const;
+
+ signals:
+ void gameSelected( const QModelIndex& index );
+
+ protected:
+ void layoutWidgets(const QString& gameName, const QString& \
gameDescription); + virtual void mousePressEvent( QMouseEvent* event );
+
+ QModelIndex m_index;
+ KSqueezedTextLabel* m_preview;
+ KSqueezedTextLabel* m_gameName;
+ KSqueezedTextLabel* m_gameDescription;
+ QGridLayout* m_layout;
+ };
+}
+
+Q_DECLARE_METATYPE( GluonKDEPlayer::GamesViewItem )
+Q_DECLARE_METATYPE( GluonKDEPlayer::GamesViewItem* )
#endif // GAMESVIEWITEM_H
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic