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

List:       kde-commits
Subject:    =?utf-8?q?=5Bgluon=5D_player=3A_Start_the_fully_dropping_and_rew?=
From:       Laszlo Papp <djszapi () archlinux ! us>
Date:       2011-03-31 21:06:33
Message-ID: 20110331210633.36975A60A9 () git ! kde ! org
[Download RAW message or body]

Git commit c00b216acdef3ff0ab23a600c2c847b535e28a3f by Laszlo Papp.
Committed on 01/04/2011 at 00:16.
Pushed by lpapp into branch 'master'.

Start the fully dropping and rewriting the gamedownloadmanager code.

M  +54   -0    player/lib/atticamanager.cpp     
M  +16   -10   player/lib/atticamanager.h     
D  +0    -85   player/lib/gamedownloadmanager.cpp     
D  +0    -53   player/lib/gamedownloadmanager.h     
M  +12   -4    player/touch/Details.qml     

http://commits.kde.org/gluon/c00b216acdef3ff0ab23a600c2c847b535e28a3f

diff --git a/player/lib/atticamanager.cpp b/player/lib/atticamanager.cpp
index a095f75..4db067d 100644
--- a/player/lib/atticamanager.cpp
+++ b/player/lib/atticamanager.cpp
@@ -20,6 +20,11 @@
 
 #include "atticamanager.h"
 
+#include <attica/content.h>
+#include <attica/listjob.h>
+
+#include <QtCore/QDebug>
+
 using namespace GluonPlayer;
 
 GLUON_DEFINE_SINGLETON(AtticaManager)
@@ -55,10 +60,59 @@ void AtticaManager::providersUpdated()
         }
         else
         {
+
             emit gotProvider();
         }
     }
 }
 
+bool AtticaManager::downloadGame ( const QString &id )
+{
+    if (isDownloading)
+    {
+        return false;
+    }
+
+    isDownloading = true;
+    m_currentId = id;
+    if( AtticaManager::instance()->isProviderValid() )
+    {
+        requestContent();
+    }
+    else
+    {
+        connect( this, SIGNAL( gotProvider() ), SLOT( requestContent() ) );
+    }
+
+    return true;
+}
+
+void AtticaManager::requestContent()
+{
+    if( isProviderValid() )
+    {
+        Attica::ItemJob<Attica::Content> *job = \
provider().requestContent(m_currentId); +        connect( job, SIGNAL( finished( \
Attica::BaseJob* ) ), SLOT( processFetchedGameDetails( Attica::BaseJob* ) ) ); +      \
job->start(); +    }
+    else
+    {
+        qDebug() << "No providers found.";
+    }
+}
+
+void AtticaManager::processFetchedGameDetails(Attica::BaseJob* job)
+{
+    Attica::ItemJob<Attica::Content> *contentJob = \
static_cast<Attica::ItemJob<Attica::Content> *>( job ); +    if( \
contentJob->metadata().error() == Attica::Metadata::NoError ) +    {
+        qDebug() << "It should be downloaded " << \
contentJob->result().downloadUrlDescription(1).link(); +    }
+    else
+    {
+        qDebug() << "Could not fetch information";
+    }
+}
+
 #include "atticamanager.moc"
 
diff --git a/player/lib/atticamanager.h b/player/lib/atticamanager.h
index 142edfa..8c186d6 100644
--- a/player/lib/atticamanager.h
+++ b/player/lib/atticamanager.h
@@ -21,7 +21,7 @@
 #ifndef ATTICAMANAGER_H
 #define ATTICAMANAGER_H
 
-#include "core/singleton.h"
+#include <core/singleton.h>
 
 #include <attica/providermanager.h>
 
@@ -53,17 +53,12 @@ namespace GluonPlayer
              */
             Attica::Provider provider();
 
-        private:
-            friend class GluonCore::Singleton<AtticaManager>;
-            AtticaManager();
-            ~AtticaManager();
-            Q_DISABLE_COPY( AtticaManager )
+            bool downloadGame( const QString &id );
 
-            Attica::ProviderManager m_manager;
-            Attica::Provider m_provider;
-
-        private slots:
+        protected slots:
             void providersUpdated();
+            void requestContent();
+            void processFetchedGameDetails( Attica::BaseJob* job );
 
         signals:
             /**
@@ -74,6 +69,17 @@ namespace GluonPlayer
              * signal which is emitted when provider failed to loaded
              */
             void failedToFetchProvider();
+
+        private:
+            friend class GluonCore::Singleton<AtticaManager>;
+            AtticaManager();
+            ~AtticaManager();
+            Q_DISABLE_COPY( AtticaManager )
+
+            Attica::ProviderManager m_manager;
+            Attica::Provider m_provider;
+            bool isDownloading;
+            QString m_currentId;
     };
 }
 
diff --git a/player/lib/gamedownloadmanager.cpp b/player/lib/gamedownloadmanager.cpp
deleted file mode 100644
index d25258e..0000000
--- a/player/lib/gamedownloadmanager.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-/******************************************************************************
- * This file is part of the Gluon Development Platform
- * Copyright (C) 2011 Shantanu Tushar <jhahoneyk@gmail.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-
-#include "gamedownloadmanager.h"
-
-#include "atticamanager.h"
-
-#include <QtCore/QDebug>
-
-using namespace GluonPlayer;
-
-GLUON_DEFINE_SINGLETON(GameDownloadManager)
-
-GameDownloadManager::GameDownloadManager() 
-	: alreadyDownloading(false)
-{
-}
-
-bool GameDownloadManager::addDownload ( const QString &id )
-{
-    if (alreadyDownloading) 
-	{
-        return false;
-    }
-
-    alreadyDownloading = true;
-    m_id = id;
-    if( AtticaManager::instance()->isProviderValid() )
-    {
-        providersUpdated();
-    }
-    else
-    {
-        connect( AtticaManager::instance(), SIGNAL( gotProvider() ), SLOT( \
                providersUpdated() ) );
-    }
-
-    return true;
-}
-
-void GameDownloadManager::providersUpdated()
-{
-    if( AtticaManager::instance()->isProviderValid() )
-    {
-        Attica::ItemJob<Attica::Content> *job =
-            AtticaManager::instance()->provider().requestContent(m_id);
-        connect( job, SIGNAL( finished( Attica::BaseJob* ) ), SLOT( \
                processFetchedGameDetails( Attica::BaseJob* ) ) );
-        job->start();
-    }
-    else
-    {
-        qDebug() << "No providers found.";
-    }
-}
-
-void GameDownloadManager::processFetchedGameDetails(Attica::BaseJob* job)
-{
-    Attica::ItemJob<Attica::Content> *contentJob = \
                static_cast<Attica::ItemJob<Attica::Content> *>( job );
-    if( contentJob->metadata().error() == Attica::Metadata::NoError )
-    {
-        qDebug() << "WE SHOULD DOWNLOAD " << \
                contentJob->result().downloadUrlDescription(1).link();
-    }
-    else
-    {
-        qDebug() << "Could not fetch information";
-    }
-}
-
-#include "gamedownloadmanager.moc"
diff --git a/player/lib/gamedownloadmanager.h b/player/lib/gamedownloadmanager.h
deleted file mode 100644
index cd8f25d..0000000
--- a/player/lib/gamedownloadmanager.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/******************************************************************************
- * This file is part of the Gluon Development Platform
- * Copyright (C) 2011 Shantanu Tushar <jhahoneyk@gmail.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-
-#ifndef GLUONPLAYER_GAMEDOWNLOADMANAGER_H
-#define GLUONPLAYER_GAMEDOWNLOADMANAGER_H
-
-#include "gluon_player_export.h"
-#include <gluon/core/singleton.h>
-
-#include <attica/content.h>
-#include <attica/listjob.h>
-
-#include <QStringList>
-#include <QHash>
-
-namespace GluonPlayer
-{
-    class GLUON_PLAYER_EXPORT GameDownloadManager : public \
                GluonCore::Singleton<GameDownloadManager>
-    {
-            Q_OBJECT
-        public:
-            GameDownloadManager();
-            bool addDownload ( const QString &id );
-
-        protected slots:
-            void providersUpdated();
-            void processFetchedGameDetails ( Attica::BaseJob* job );
-
-        private:
-            bool alreadyDownloading;
-            QString m_id;
-    };
-
-}
-
-#endif // GLUONPLAYER_GAMEDOWNLOADMANAGER_H
diff --git a/player/touch/Details.qml b/player/touch/Details.qml
index b17ec36..d72923c 100644
--- a/player/touch/Details.qml
+++ b/player/touch/Details.qml
@@ -96,7 +96,9 @@ Rectangle {
             margins: 5;
         }
 
-        onClicked: console.log("this doesn't do anything yet...");
+        onClicked: {
+            console.log("this doesn't do anything yet...");
+        }
     }
 
     Button {
@@ -111,7 +113,9 @@ Rectangle {
             margins: 5;
         }
 
-        onClicked: console.log("this doesn't do anything yet...");
+        onClicked: {
+            console.log("this doesn't do anything yet...");
+        }
     }
 
     Button {
@@ -127,7 +131,9 @@ Rectangle {
             margins: 5;
         }
 
-        onClicked: console.log("this doesn't do anything yet...");
+        onClicked: {
+            console.log("this doesn't do anything yet...");
+        }
     }
 
     Button {
@@ -161,7 +167,9 @@ Rectangle {
             margins: 5;
         }
 
-        onClicked: console.log("this doesn't do anything yet...");
+        onClicked: {
+            console.log("this doesn't do anything yet...");
+        }
     }
 
     Text {


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

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