1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-22 21:54:00 +02:00

* Use DynamicQmlWidget for stations.

This commit is contained in:
Christian Muehlhaeuser
2013-05-18 22:56:51 +02:00
committed by Michael Zanetti
parent f3a50bedbd
commit 99ef263ba2
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_QTNETWORK TRUE)
set(QT_USE_QTXML TRUE) set(QT_USE_QTXML TRUE)
set(QT_USE_QTWEBKIT TRUE) set(QT_USE_QTWEBKIT TRUE)
set(QT_USE_QTDECLARATIVE TRUE)
include( ${QT_USE_FILE} ) include( ${QT_USE_FILE} )
endmacro() endmacro()

View File

@@ -1,11 +1,11 @@
#FIXME: this only handles qt4 and duplicates top level cmakelists: how can we reduce code duplication? #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} ) include( ${QT_USE_FILE} )
set(NEEDED_QT4_COMPONENTS "QtCore" "QtXml" "QtNetwork") set(NEEDED_QT4_COMPONENTS "QtCore" "QtXml" "QtNetwork" "QtDeclarative")
if(BUILD_GUI) if(BUILD_GUI)
list(APPEND NEEDED_QT4_COMPONENTS "QtGui" "QtWebkit" "QtUiTools" "QtSvg") list(APPEND NEEDED_QT4_COMPONENTS "QtGui" "QtWebkit" "QtUiTools" "QtSvg" "QtDeclarative")
endif() endif()
find_package(Qt4 4.7.0 COMPONENTS ${NEEDED_QT4_COMPONENTS}) 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/star-unstarred.svg</file>
<file>data/images/apply-check.svg</file> <file>data/images/apply-check.svg</file>
<file>data/stylesheets/topbar-radiobuttons.css</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-16x16.png</file>
<file>data/icons/tomahawk-icon-32x32.png</file> <file>data/icons/tomahawk-icon-32x32.png</file>
<file>data/icons/tomahawk-icon-64x64.png</file> <file>data/icons/tomahawk-icon-64x64.png</file>
@@ -152,5 +174,11 @@
<file>data/images/refresh.svg</file> <file>data/images/refresh.svg</file>
<file>data/images/inbox.svg</file> <file>data/images/inbox.svg</file>
<file>data/images/new-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> </qresource>
</RCC> </RCC>

View File

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

View File

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

View File

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

View File

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