1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-18 20:04:00 +02:00

* Use DynamicQmlWidget for stations.

This commit is contained in:
Christian Muehlhaeuser
2013-05-18 22:56:51 +02:00
parent 74ec938037
commit a52998d766
7 changed files with 54 additions and 19 deletions

View File

@@ -176,6 +176,7 @@ if(NOT Qt5Core_DIR)
set(QT_USE_QTNETWORK TRUE)
set(QT_USE_QTXML TRUE)
set(QT_USE_QTWEBKIT TRUE)
set(QT_USE_QTDECLARATIVE TRUE)
include( ${QT_USE_FILE} )
endmacro()

View File

@@ -1,11 +1,11 @@
#FIXME: this only handles qt4 and duplicates top level cmakelists: how can we reduce code duplication?
find_package(Qt4 COMPONENTS QtNetwork QtCore QtGui QtSql REQUIRED)
find_package(Qt4 COMPONENTS QtNetwork QtCore QtGui QtSql QtDeclarative REQUIRED)
include( ${QT_USE_FILE} )
set(NEEDED_QT4_COMPONENTS "QtCore" "QtXml" "QtNetwork")
set(NEEDED_QT4_COMPONENTS "QtCore" "QtXml" "QtNetwork" "QtDeclarative")
if(BUILD_GUI)
list(APPEND NEEDED_QT4_COMPONENTS "QtGui" "QtWebkit" "QtUiTools" "QtSvg")
list(APPEND NEEDED_QT4_COMPONENTS "QtGui" "QtWebkit" "QtUiTools" "QtSvg" "QtDeclarative")
endif()
find_package(Qt4 4.7.0 COMPONENTS ${NEEDED_QT4_COMPONENTS})

View File

@@ -90,6 +90,28 @@
<file>data/images/star-unstarred.svg</file>
<file>data/images/apply-check.svg</file>
<file>data/stylesheets/topbar-radiobuttons.css</file>
<file>data/qml/tomahawkimports/CoverImage.qml</file>
<file>data/qml/tomahawkimports/ArtistView.qml</file>
<file>data/qml/tomahawkimports/HeaderLabel.qml</file>
<file>data/qml/tomahawkimports/TagCloud.qml</file>
<file>data/qml/tomahawkimports/ScrollBar.qml</file>
<file>data/qml/tomahawkimports/InputField.qml</file>
<file>data/qml/tomahawkimports/Button.qml</file>
<file>data/qml/tomahawkimports/DoubleSlider.qml</file>
<file>data/qml/tomahawkimports/RoundedButton.qml</file>
<file>data/qml/tomahawkimports/PushButton.qml</file>
<file>data/qml/tomahawkimports/CoverFlip.qml</file>
<file>data/qml/tomahawkimports/BusyIndicator.qml</file>
<file>data/qml/StationView.qml</file>
<file>data/qml/stations/StationCreatorPage1.qml</file>
<file>data/qml/stations/StationCreatorPage2.qml</file>
<file>data/qml/stations/CreateByArtist.qml</file>
<file>data/qml/stations/StationConfig.qml</file>
<file>data/qml/QmlGridView.qml</file>
<file>data/qml/stations/CreateByGenre.qml</file>
<file>data/qml/tomahawkimports/FlexibleHeader.qml</file>
<file>data/qml/tomahawkimports/ToggleViewButtons.qml</file>
<file>data/qml/DeclarativeHeader.qml</file>
<file>data/icons/tomahawk-icon-16x16.png</file>
<file>data/icons/tomahawk-icon-32x32.png</file>
<file>data/icons/tomahawk-icon-64x64.png</file>
@@ -152,5 +174,11 @@
<file>data/images/refresh.svg</file>
<file>data/images/inbox.svg</file>
<file>data/images/new-inbox.svg</file>
<file>data/images/inputfield-border.svg</file>
<file>data/images/search-box-dismiss-x.svg</file>
<file>data/images/loading-animation.svg</file>
<file>data/images/station-artist.svg</file>
<file>data/images/station-genre.svg</file>
<file>data/images/station-year.svg</file>
</qresource>
</RCC>

View File

@@ -39,7 +39,7 @@
#include "database/DatabaseResolver.h"
#include "playlist/dynamic/GeneratorFactory.h"
#include "playlist/dynamic/echonest/EchonestGenerator.h"
#include "playlist/dynamic/database/DatabaseGenerator.h"
//#include "playlist/dynamic/database/DatabaseGenerator.h"
#include "playlist/XspfUpdater.h"
#include "network/Servent.h"
#include "web/Api_v1.h"
@@ -219,8 +219,8 @@ TomahawkApp::init()
tDebug() << "Init Echonest Factory.";
GeneratorFactory::registerFactory( "echonest", new EchonestFactory );
#endif
tDebug() << "Init Database Factory.";
GeneratorFactory::registerFactory( "database", new DatabaseFactory );
/* tDebug() << "Init Database Factory.";
GeneratorFactory::registerFactory( "database", new DatabaseFactory );*/
// Register shortcut handler for this platform
#ifdef Q_WS_MAC

View File

@@ -77,19 +77,21 @@ set( libGuiSources
playlist/PlayableItem.cpp
playlist/SingleTrackPlaylistInterface.cpp
playlist/dynamic/GeneratorInterface.cpp
playlist/dynamic/DynamicPlaylist.cpp
playlist/dynamic/DynamicView.cpp
playlist/dynamic/DynamicModel.cpp
playlist/dynamic/echonest/EchonestGenerator.cpp
playlist/dynamic/echonest/EchonestControl.cpp
playlist/dynamic/echonest/EchonestSteerer.cpp
playlist/dynamic/widgets/DynamicWidget.cpp
# playlist/dynamic/echonest/EchonestSteerer.cpp
# playlist/dynamic/widgets/DynamicWidget.cpp
playlist/dynamic/widgets/DynamicQmlWidget.cpp
playlist/dynamic/widgets/DynamicControlWrapper.cpp
playlist/dynamic/widgets/DynamicControlList.cpp
# playlist/dynamic/widgets/DynamicControlList.cpp
playlist/dynamic/widgets/ReadOrWriteWidget.cpp
playlist/dynamic/widgets/MiscControlWidgets.cpp
playlist/dynamic/widgets/CollapsibleControls.cpp
playlist/dynamic/widgets/DynamicSetupWidget.cpp
# playlist/dynamic/widgets/CollapsibleControls.cpp
# playlist/dynamic/widgets/DynamicSetupWidget.cpp
resolvers/ExternalResolverGui.cpp
resolvers/ScriptResolver.cpp
@@ -121,6 +123,8 @@ set( libGuiSources
utils/ResultUrlChecker.cpp
utils/NetworkReply.cpp
widgets/DeclarativeCoverArtProvider.cpp
widgets/DeclarativeView.cpp
widgets/AnimatedCounterLabel.cpp
widgets/BasicHeader.cpp
widgets/FilterHeader.cpp
@@ -314,7 +318,7 @@ list(APPEND libSources
playlist/dynamic/GeneratorInterface.cpp
playlist/dynamic/DynamicPlaylistRevision.cpp
playlist/XspfUpdater.cpp
playlist/dynamic/database/DatabaseGenerator.cpp
# playlist/dynamic/database/DatabaseGenerator.cpp
playlist/dynamic/database/DatabaseControl.cpp
playlist/dynamic/DynamicControl.cpp
@@ -497,6 +501,7 @@ TARGET_LINK_LIBRARIES( tomahawklib
${QT_QTXML_LIBRARY}
${QT_QTSVG_LIBRARY}
${QT_QTCORE_LIBRARY}
${QT_QTDECLARATIVE_LIBRARY}
${OS_SPECIFIC_LINK_LIBRARIES}
${CMAKE_THREAD_LIBS_INIT}
${LINK_LIBRARIES}

View File

@@ -42,7 +42,8 @@
#include "playlist/InboxView.h"
#include "playlist/PlaylistLargeItemDelegate.h"
#include "playlist/RecentlyPlayedModel.h"
#include "playlist/dynamic/widgets/DynamicWidget.h"
//#include "playlist/dynamic/widgets/DynamicWidget.h"
#include "playlist/dynamic/widgets/DynamicQmlWidget.h"
#include "widgets/NewReleasesWidget.h"
#include "widgets/WelcomeWidget.h"
@@ -193,8 +194,8 @@ ViewManager::playlistForPage( ViewPage* page ) const
{
p = dynamic_cast< PlaylistView* >( page )->playlistModel()->playlist();
}
else if ( dynamic_cast< DynamicWidget* >( page ) )
p = dynamic_cast< DynamicWidget* >( page )->playlist();
else if ( dynamic_cast< DynamicQmlWidget* >( page ) )
p = dynamic_cast< DynamicQmlWidget* >( page )->playlist();
return p;
}
@@ -228,7 +229,7 @@ ViewManager::show( const Tomahawk::dynplaylist_ptr& playlist )
{
if ( !m_dynamicWidgets.contains( playlist ) || m_dynamicWidgets.value( playlist ).isNull() )
{
m_dynamicWidgets[ playlist ] = new Tomahawk::DynamicWidget( playlist, m_stack );
m_dynamicWidgets[ playlist ] = new Tomahawk::DynamicQmlWidget( playlist, m_stack );
playlist->resolve();
}
@@ -816,7 +817,7 @@ ViewManager::playlistForInterface( Tomahawk::playlistinterface_ptr interface ) c
Tomahawk::dynplaylist_ptr
ViewManager::dynamicPlaylistForInterface( Tomahawk::playlistinterface_ptr interface ) const
{
foreach ( QPointer<DynamicWidget> view, m_dynamicWidgets.values() )
foreach ( QPointer<DynamicQmlWidget> view, m_dynamicWidgets.values() )
{
if ( !view.isNull() && view.data()->playlistInterface() == interface )
{

View File

@@ -59,7 +59,7 @@ class InboxModel;
namespace Tomahawk
{
class DynamicWidget;
class DynamicQmlWidget;
}
class DLLEXPORT ViewManager : public QObject
@@ -195,7 +195,7 @@ private:
QList< Tomahawk::collection_ptr > m_superCollections;
QHash< Tomahawk::dynplaylist_ptr, QPointer<Tomahawk::DynamicWidget> > m_dynamicWidgets;
QHash< Tomahawk::dynplaylist_ptr, QPointer<Tomahawk::DynamicQmlWidget> > m_dynamicWidgets;
QHash< Tomahawk::collection_ptr, QPointer<TreeWidget> > m_treeWidgets;
QHash< Tomahawk::artist_ptr, QPointer<ArtistInfoWidget> > m_artistViews;
QHash< Tomahawk::album_ptr, QPointer<AlbumInfoWidget> > m_albumViews;