1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-09-07 20:50:53 +02:00

Compare commits

...

23 Commits

Author SHA1 Message Date
Dominik Schmidt
1e37c52081 Mother of include commits 2013-05-28 15:47:41 +02:00
Dominik Schmidt
2851bd8aa0 Register InfoSystemCache* metatype 2013-05-27 11:07:12 +02:00
Christian Muehlhaeuser
cab5a93fe6 * Fixed typos. 2013-05-26 21:40:41 +02:00
Christian Muehlhaeuser
dcaa6ef8d7 * CreateIndex isn't the right place to connect signals. 2013-05-26 21:38:46 +02:00
Christian Muehlhaeuser
6264813d5c * Fix Logger with Qt5. 2013-05-26 21:13:34 +02:00
Dominik Schmidt
9f33ddc256 Add missing emit ready() 2013-05-26 19:27:23 +02:00
Christian Muehlhaeuser
100ad20c6d * Some fixes to InfoSystem and loading. 2013-05-26 18:41:31 +02:00
Dominik Schmidt
bcccc581a9 Revert "listen to media key events of gnome settings daemon"
This reverts commit 966ab37b94.
2013-05-25 20:05:41 +02:00
Dominik Schmidt
cf7404bdfb Fix loading zeroconf with qt5 2013-05-25 19:57:39 +02:00
Dominik Schmidt
578c89c1b2 jreen hack for qt5 2013-05-25 19:57:39 +02:00
Dominik Schmidt
16417ef7ab s/Q_WS_MAC/Q_OS_MAC/g 2013-05-25 19:57:39 +02:00
Dominik Schmidt
08db9884d4 s/Q_WS_WIN/Q_OS_WIN/g 2013-05-25 19:57:39 +02:00
Dominik Schmidt
08b1525887 Don't use native mac widgets with Qt5 2013-05-25 19:57:39 +02:00
Dominik Schmidt
93f999a9ca Don't link all plugins against QtDBus 2013-05-25 19:57:39 +02:00
Dominik Schmidt
39a0790c0e Add copyright headers 2013-05-25 19:57:39 +02:00
Dominik Schmidt
8e61b5648b Don't declare InfoSystemCache* metatype to fix linking issue with Qt5 2013-05-25 19:57:39 +02:00
Dominik Schmidt
1e122fc320 Declare dyncontrol_ptr metatype to fix linking issue with Qt5 2013-05-25 19:57:38 +02:00
Dominik Schmidt
8e2eefd611 Fix tests for Qt5 2013-05-25 19:57:38 +02:00
Dominik Schmidt
0766f2a51a Improve inclusion order 2013-05-25 19:57:38 +02:00
Dominik Schmidt
0f8635d833 Remove qjson from some public headers 2013-05-25 19:57:38 +02:00
Dominik Schmidt
53c74c191d Fix QDBus linkage on all platforms 2013-05-25 19:57:38 +02:00
Dominik Schmidt
0115fcd5bf Don't build CrashReporter with Qt5 2013-05-25 19:57:38 +02:00
Dominik Schmidt
bcf946ec26 Find Phonon for Qt4 and Phonon4Qt5 for Qt5 2013-05-25 19:57:38 +02:00
311 changed files with 2028 additions and 1343 deletions

View File

@@ -186,8 +186,8 @@ if(BUILD_GUI AND UNIX AND NOT APPLE)
endif() endif()
macro_optional_find_package(Phonon 4.5.0) macro_optional_find_package(Phonon 4.5.0)
macro_log_feature(PHONON_FOUND "Phonon" "The Phonon multimedia library" "http://phonon.kde.org" TRUE "" "") macro_log_feature(Phonon_FOUND "Phonon" "The Phonon multimedia library" "http://phonon.kde.org" TRUE "" "")
if(PHONON_FOUND) if(Phonon_FOUND)
message(STATUS "Phonon found; ensure that phonon-vlc is at least 0.4") message(STATUS "Phonon found; ensure that phonon-vlc is at least 0.4")
endif() endif()
@@ -312,12 +312,6 @@ ADD_SUBDIRECTORY( thirdparty )
ADD_SUBDIRECTORY( src ) ADD_SUBDIRECTORY( src )
ADD_SUBDIRECTORY( admin ) ADD_SUBDIRECTORY( admin )
if( BUILD_TESTS )
enable_testing()
add_subdirectory( tests )
endif()
# Add all targets to the build-tree export set # Add all targets to the build-tree export set
set(CMAKE_INSTALL_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/cmake/Tomahawk" CACHE PATH "Installation directory for CMake files") set(CMAKE_INSTALL_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/cmake/Tomahawk" CACHE PATH "Installation directory for CMake files")
set(CMAKE_INSTALL_FULL_CMAKEDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_CMAKEDIR}") set(CMAKE_INSTALL_FULL_CMAKEDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_CMAKEDIR}")

View File

@@ -11,27 +11,14 @@
# Redistribution and use is allowed according to the terms of the BSD license. # Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file. # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
macro(_phonon_find_version)
set(_phonon_namespace_header_file "${PHONON_INCLUDE_DIR}/phonon/phononnamespace.h")
if (APPLE AND EXISTS "${PHONON_INCLUDE_DIR}/Headers/phononnamespace.h")
set(_phonon_namespace_header_file "${PHONON_INCLUDE_DIR}/Headers/phononnamespace.h")
endif (APPLE AND EXISTS "${PHONON_INCLUDE_DIR}/Headers/phononnamespace.h")
file(READ ${_phonon_namespace_header_file} _phonon_header LIMIT 5000 OFFSET 1000)
string(REGEX MATCH "define PHONON_VERSION_STR \"(4\\.[0-9]+\\.[0-9a-z]+)\"" _phonon_version_match "${_phonon_header}")
set(PHONON_VERSION "${CMAKE_MATCH_1}")
endmacro(_phonon_find_version)
# the dirs listed with HINTS are searched before the default sets of dirs
find_library(PHONON_LIBRARY NAMES phonon HINTS ${KDE4_LIB_INSTALL_DIR} ${QT_LIBRARY_DIR})
find_path(PHONON_INCLUDE_DIR NAMES phonon/phonon_export.h HINTS ${KDE4_INCLUDE_INSTALL_DIR} ${QT_INCLUDE_DIR} ${INCLUDE_INSTALL_DIR} ${QT_LIBRARY_DIR})
if(PHONON_INCLUDE_DIR AND PHONON_LIBRARY)
set(PHONON_LIBS ${phonon_LIB_DEPENDS} ${PHONON_LIBRARY})
set(PHONON_INCLUDES ${PHONON_INCLUDE_DIR}/KDE ${PHONON_INCLUDE_DIR})
_phonon_find_version()
endif(PHONON_INCLUDE_DIR AND PHONON_LIBRARY)
include(FindPackageHandleStandardArgs) include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Phonon DEFAULT_MSG PHONON_INCLUDE_DIR PHONON_LIBRARY)
mark_as_advanced(PHONON_INCLUDE_DIR PHONON_LIBRARY) if( NOT BUILD_WITH_QT4 )
find_package(Phonon4Qt5 NO_MODULE)
set(Phonon_FOUND ${Phonon4Qt5_FOUND})
set(Phonon_DIR ${Phonon4Qt5_DIR})
else()
find_package(Phonon NO_MODULE)
endif()
find_package_handle_standard_args(Phonon DEFAULT_MSG Phonon_DIR )

View File

@@ -40,7 +40,7 @@ ENDMACRO(CDR)
macro(tomahawk_add_plugin) macro(tomahawk_add_plugin)
parse_arguments(PLUGIN parse_arguments(PLUGIN
"SOURCES;UI;LINK_LIBRARIES;TYPE;EXPORT_MACRO;COMPILE_DEFINITIONS" "SOURCES;UI;LINK_LIBRARIES;QT5_MODULES;TYPE;EXPORT_MACRO;COMPILE_DEFINITIONS"
"NO_INSTALL;SHARED_LIB" "NO_INSTALL;SHARED_LIB"
${ARGN} ${ARGN}
) )
@@ -77,7 +77,10 @@ macro(tomahawk_add_plugin)
endif() endif()
# add qt modules # add qt modules
qt5_use_modules(${target} Core Network Widgets Sql Xml DBus) qt5_use_modules(${target} Core Network Widgets Sql Xml)
if( PLUGIN_QT5_MODULES )
qt5_use_modules(${target} ${PLUGIN_QT5_MODULES})
endif()
# definitions - can this be moved into set_target_properties below? # definitions - can this be moved into set_target_properties below?
add_definitions(${QT_DEFINITIONS}) add_definitions(${QT_DEFINITIONS})

View File

@@ -38,6 +38,7 @@ namespace Accounts
class ACCOUNTDLLEXPORT XmppAccountFactory : public AccountFactory class ACCOUNTDLLEXPORT XmppAccountFactory : public AccountFactory
{ {
Q_PLUGIN_METADATA( IID "org.tomahawk-player.Player.AccountFactory" )
Q_OBJECT Q_OBJECT
Q_INTERFACES( Tomahawk::Accounts::AccountFactory ) Q_INTERFACES( Tomahawk::Accounts::AccountFactory )

View File

@@ -105,7 +105,7 @@ XmlConsole::XmlConsole(Client* client, QWidget *parent) :
m_stackOutgoing.paramColor = QColor(0xdd8811); m_stackOutgoing.paramColor = QColor(0xdd8811);
QAction *action = new QAction(tr("Close"),this); QAction *action = new QAction(tr("Close"),this);
action->setSoftKeyRole(QAction::NegativeSoftKey); // action->setSoftKeyRole(QAction::NegativeSoftKey);
connect(action, SIGNAL(triggered()), SLOT(close())); connect(action, SIGNAL(triggered()), SLOT(close()));
addAction(action); addAction(action);
} }

View File

@@ -100,7 +100,7 @@ XmppSipPlugin::XmppSipPlugin( Account* account )
, m_pubSubManager( 0 ) , m_pubSubManager( 0 )
#endif #endif
{ {
Jreen::Logger::addHandler( JreenMessageHandler ); // Jreen::Logger::addHandler( JreenMessageHandler );
m_currentUsername = readUsername(); m_currentUsername = readUsername();
m_currentServer = readServer(); m_currentServer = readServer();
@@ -115,7 +115,7 @@ XmppSipPlugin::XmppSipPlugin( Account* account )
setupClientHelper(); setupClientHelper();
m_client->registerPayload( new TomahawkXmppMessageFactory ); m_client->registerPayload( new TomahawkXmppMessageFactory );
m_currentResource = QString::fromAscii( "tomahawk%1" ).arg( QString::number( qrand() % 10000 ) ); m_currentResource = QString::fromLatin1( "tomahawk%1" ).arg( QString::number( qrand() % 10000 ) );
m_client->setResource( m_currentResource ); m_client->setResource( m_currentResource );
#ifndef ENABLE_HEADLESS #ifndef ENABLE_HEADLESS

View File

@@ -32,8 +32,10 @@ namespace Accounts
class ACCOUNTDLLEXPORT ZeroconfFactory : public AccountFactory class ACCOUNTDLLEXPORT ZeroconfFactory : public AccountFactory
{ {
Q_PLUGIN_METADATA( IID "org.tomahawk-player.Player.AccountFactory" )
Q_OBJECT Q_OBJECT
Q_INTERFACES( Tomahawk::Accounts::AccountFactory ) Q_INTERFACES( Tomahawk::Accounts::AccountFactory )
public: public:
ZeroconfFactory(); ZeroconfFactory();
virtual ~ZeroconfFactory(); virtual ~ZeroconfFactory();

View File

@@ -1,4 +1,5 @@
PROJECT( CrashReporter ) if( BUILD_WITH_QT4 )
project( CrashReporter )
cmake_policy(SET CMP0017 NEW) cmake_policy(SET CMP0017 NEW)
setup_qt() setup_qt()
@@ -29,3 +30,4 @@ set_target_properties(tomahawk_crash_reporter PROPERTIES AUTOMOC ON)
install(TARGETS tomahawk_crash_reporter RUNTIME DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}) install(TARGETS tomahawk_crash_reporter RUNTIME DESTINATION ${CMAKE_INSTALL_LIBEXECDIR})
qt5_use_modules(tomahawk_crash_reporter Widgets Network) qt5_use_modules(tomahawk_crash_reporter Widgets Network)
endif()

View File

@@ -41,7 +41,7 @@ CrashReporter::CrashReporter( const QStringList& args )
ui.progressBar->setValue( 0 ); ui.progressBar->setValue( 0 );
ui.progressLabel->setPalette( Qt::gray ); ui.progressLabel->setPalette( Qt::gray );
#ifdef Q_WS_MAC #ifdef Q_OS_MAC
QFont f = ui.bottomLabel->font(); QFont f = ui.bottomLabel->font();
f.setPointSize( 10 ); f.setPointSize( 10 );
ui.bottomLabel->setFont( f ); ui.bottomLabel->setFont( f );
@@ -55,7 +55,7 @@ CrashReporter::CrashReporter( const QStringList& args )
ui.progressLabel->setIndent( 1 ); ui.progressLabel->setIndent( 1 );
ui.bottomLabel->setDisabled( true ); ui.bottomLabel->setDisabled( true );
ui.bottomLabel->setIndent( 1 ); ui.bottomLabel->setIndent( 1 );
#endif //Q_WS_MAC #endif //Q_OS_MAC
m_http = new QHttp( "oops.tomahawk-player.org", 80, this ); m_http = new QHttp( "oops.tomahawk-player.org", 80, this );

View File

@@ -27,4 +27,5 @@ SET(mpris_srcs
tomahawk_add_plugin(mpris tomahawk_add_plugin(mpris
TYPE infoplugin EXPORT_MACRO INFOPLUGINDLLEXPORT_PRO TYPE infoplugin EXPORT_MACRO INFOPLUGINDLLEXPORT_PRO
SOURCES "${mpris_srcs}" SOURCES "${mpris_srcs}"
QT5_MODULES "DBus"
) )

View File

@@ -33,6 +33,8 @@
#include "utils/TomahawkUtils.h" #include "utils/TomahawkUtils.h"
#include "audio/AudioEngine.h" #include "audio/AudioEngine.h"
#include "Source.h" #include "Source.h"
#include "PlaylistInterface.h"
#include "Track.h"
#include "MprisPlugin.h" #include "MprisPlugin.h"
#include "MprisPluginRootAdaptor.h" #include "MprisPluginRootAdaptor.h"

View File

@@ -20,17 +20,20 @@
#ifndef TOMAHAWK_ACLREGISTRY_H #ifndef TOMAHAWK_ACLREGISTRY_H
#define TOMAHAWK_ACLREGISTRY_H #define TOMAHAWK_ACLREGISTRY_H
#include "DllMacro.h"
#include <QObject> // #include <QObject>
#include <QString> // #include <QString>
#include <QHash> // #include <QHash>
#include <QTimer> // #include <QTimer>
#include <QMutex> // #include <QMutex>
#include <QVariant> // #include <QVariant>
#include <QQueue> // #include <QQueue>
#include "utils/Uuid.h"
#include <QStringList> #include <QStringList>
#include <QUuid>
#include "DllMacro.h"
#define ACLUSERVERSION 1 #define ACLUSERVERSION 1
@@ -58,7 +61,7 @@ public:
ACLRegistry::ACL acl; ACLRegistry::ACL acl;
User() User()
: uuid( QUuid::createUuid().toString() ) : uuid( ::uuid() ) // ALRIGHT?!?!?!?!
, friendlyName() , friendlyName()
, knownDbids() , knownDbids()
, knownAccountIds() , knownAccountIds()

View File

@@ -29,6 +29,9 @@
#include "utils/Logger.h" #include "utils/Logger.h"
#include <QCoreApplication> #include <QCoreApplication>
#include <QAction>
#include <QMenu>
#include <QMenuBar>
ActionCollection* ActionCollection::s_instance = 0; ActionCollection* ActionCollection::s_instance = 0;
ActionCollection* ActionCollection::instance() ActionCollection* ActionCollection::instance()
@@ -130,7 +133,7 @@ ActionCollection::initActions()
m_actionCollection[ "legalInfo" ]->setMenuRole( QAction::ApplicationSpecificRole ); m_actionCollection[ "legalInfo" ]->setMenuRole( QAction::ApplicationSpecificRole );
m_actionCollection[ "openLogfile" ] = new QAction( tr( "&View Logfile" ), this ); m_actionCollection[ "openLogfile" ] = new QAction( tr( "&View Logfile" ), this );
m_actionCollection[ "openLogfile" ]->setMenuRole( QAction::ApplicationSpecificRole ); m_actionCollection[ "openLogfile" ]->setMenuRole( QAction::ApplicationSpecificRole );
#if defined( Q_OS_MAC ) && defined( HAVE_SPARKLE ) || defined( Q_WS_WIN ) #if defined( Q_OS_MAC ) && defined( HAVE_SPARKLE ) || defined( Q_OS_WIN )
m_actionCollection[ "checkForUpdates" ] = new QAction( tr( "Check For Updates..." ), this ); m_actionCollection[ "checkForUpdates" ] = new QAction( tr( "Check For Updates..." ), this );
m_actionCollection[ "checkForUpdates" ]->setMenuRole( QAction::ApplicationSpecificRole ); m_actionCollection[ "checkForUpdates" ]->setMenuRole( QAction::ApplicationSpecificRole );
#endif #endif
@@ -176,7 +179,7 @@ ActionCollection::createMenuBar( QWidget *parent )
#if defined( Q_OS_MAC ) && defined( HAVE_SPARKLE ) #if defined( Q_OS_MAC ) && defined( HAVE_SPARKLE )
helpMenu->addAction( m_actionCollection[ "checkForUpdates" ] ); helpMenu->addAction( m_actionCollection[ "checkForUpdates" ] );
#elif defined( Q_WS_WIN ) #elif defined( Q_OS_WIN )
helpMenu->addSeparator(); helpMenu->addSeparator();
helpMenu->addAction( m_actionCollection[ "checkForUpdates" ] ); helpMenu->addAction( m_actionCollection[ "checkForUpdates" ] );
#endif #endif
@@ -241,7 +244,7 @@ ActionCollection::createCompactMenu( QWidget *parent )
#if defined( Q_OS_MAC ) && defined( HAVE_SPARKLE ) #if defined( Q_OS_MAC ) && defined( HAVE_SPARKLE )
compactMenu->addAction( m_actionCollection[ "checkForUpdates" ] ); compactMenu->addAction( m_actionCollection[ "checkForUpdates" ] );
#elif defined( Q_WS_WIN ) #elif defined( Q_OS_WIN )
compactMenu->addSeparator(); compactMenu->addSeparator();
compactMenu->addAction( m_actionCollection[ "checkForUpdates" ] ); compactMenu->addAction( m_actionCollection[ "checkForUpdates" ] );
#endif #endif

View File

@@ -21,10 +21,17 @@
#ifndef TOMAHAWKACTIONCOLLECTION_H #ifndef TOMAHAWKACTIONCOLLECTION_H
#define TOMAHAWKACTIONCOLLECTION_H #define TOMAHAWKACTIONCOLLECTION_H
// #include <QAction>
// #include <QMenuBar>
#include <QObject>
#include <QHash>
#include "DllMacro.h" #include "DllMacro.h"
#include <QAction> class QMenuBar;
#include <QMenuBar> class QAction;
class QMenu;
class DLLEXPORT ActionCollection : public QObject class DLLEXPORT ActionCollection : public QObject
{ {
@@ -47,7 +54,7 @@ public:
/** /**
* This method returns a main menu bar, suitable for Windows, Mac and X11. * This method returns a main menu bar, suitable for Windows, Mac and X11.
*/ */
QMenuBar *createMenuBar( QWidget *parent ); QMenuBar* createMenuBar( QWidget* parent );
/** /**
* Returns a QMenu with all the entries that would normally be in the main menu, * Returns a QMenu with all the entries that would normally be in the main menu,
@@ -55,7 +62,7 @@ public:
* and fairly little sense on Unity and other X11 desktop configurations which pull * and fairly little sense on Unity and other X11 desktop configurations which pull
* out the menu bar from the window. * out the menu bar from the window.
*/ */
QMenu *createCompactMenu( QWidget *parent ); QMenu* createCompactMenu( QWidget* parent );
QAction* getAction( const QString& name ); QAction* getAction( const QString& name );
QList< QAction* > getAction( ActionDestination category ); QList< QAction* > getAction( ActionDestination category );

View File

@@ -26,6 +26,7 @@
#include "database/IdThreadWorker.h" #include "database/IdThreadWorker.h"
#include "Query.h" #include "Query.h"
#include "Source.h" #include "Source.h"
#include "infosystem/InfoSystem.h"
#include "utils/TomahawkUtilsGui.h" #include "utils/TomahawkUtilsGui.h"
#include "utils/Logger.h" #include "utils/Logger.h"

View File

@@ -20,23 +20,36 @@
#ifndef TOMAHAWKALBUM_H #ifndef TOMAHAWKALBUM_H
#define TOMAHAWKALBUM_H #define TOMAHAWKALBUM_H
#include <QtCore/QObject> // #include <QtCore/QObject>
#include <QtCore/QSharedPointer> // #include <QtCore/QSharedPointer>
#ifndef ENABLE_HEADLESS // #ifndef ENABLE_HEADLESS
#include <QtGui/QPixmap> // #include <QtGui/QPixmap>
#endif // #endif
//
#include "Typedefs.h" // ModelMode
// #include "PlaylistInterface.h"
// #include "collection/Collection.h"
// #include "infosystem/InfoSystem.h"
#include "album_ptr.h"
#include "album_wptr.h"
#include "artist_ptr.h"
#include "query_ptr.h"
#include "collection_ptr.h"
#include "playlist_ptr.h"
#include "playlistinterface_ptr.h"
#include <QFuture> #include <QFuture>
#include "Typedefs.h"
#include "PlaylistInterface.h"
#include "DllMacro.h" #include "DllMacro.h"
#include "collection/Collection.h"
#include "infosystem/InfoSystem.h"
class IdThreadWorker; class IdThreadWorker;
namespace Tomahawk namespace Tomahawk
{ {
namespace InfoSystem
{
struct InfoRequestData;
}
class DLLEXPORT Album : public QObject class DLLEXPORT Album : public QObject
{ {

View File

@@ -29,6 +29,9 @@
#include "Query.h" #include "Query.h"
#include "Source.h" #include "Source.h"
#include "SourceList.h" #include "SourceList.h"
#include "infosystem/InfoSystem.h"
#include "Track.h"
#include "utils/Logger.h" #include "utils/Logger.h"

View File

@@ -20,17 +20,28 @@
#ifndef TOMAHAWKALBUMPLAYLISTINTERFACE_H #ifndef TOMAHAWKALBUMPLAYLISTINTERFACE_H
#define TOMAHAWKALBUMPLAYLISTINTERFACE_H #define TOMAHAWKALBUMPLAYLISTINTERFACE_H
#include <QtCore/QObject> // #include <QtCore/QObject>
#include <QtCore/QPointer> // #include <QtCore/QPointer>
//
#include "Album.h" // #include "Album.h"
#include "Typedefs.h" // #include "Typedefs.h"
#include "infosystem/InfoSystem.h" // inforequestdata signal/slot
#include "PlaylistInterface.h" #include "PlaylistInterface.h"
#include "infosystem/InfoSystem.h"
#include "collection_ptr.h"
#include <QPointer>
#include "DllMacro.h" #include "DllMacro.h"
namespace Tomahawk namespace Tomahawk
{ {
namespace InfoSystem
{
class InfoRequestData;
}
class Album;
class DLLEXPORT AlbumPlaylistInterface : public Tomahawk::PlaylistInterface class DLLEXPORT AlbumPlaylistInterface : public Tomahawk::PlaylistInterface
{ {

View File

@@ -28,6 +28,7 @@
#include "database/DatabaseCommand_TrackStats.h" #include "database/DatabaseCommand_TrackStats.h"
#include "database/IdThreadWorker.h" #include "database/IdThreadWorker.h"
#include "Source.h" #include "Source.h"
#include "infosystem/InfoSystem.h"
#include "utils/TomahawkUtilsGui.h" #include "utils/TomahawkUtilsGui.h"
#include "utils/Logger.h" #include "utils/Logger.h"

View File

@@ -20,21 +20,34 @@
#ifndef TOMAHAWKARTIST_H #ifndef TOMAHAWKARTIST_H
#define TOMAHAWKARTIST_H #define TOMAHAWKARTIST_H
#include <QtCore/QObject>
#ifndef ENABLE_HEADLESS
#include <QtGui/QPixmap>
#endif
#include <QFuture>
#include "Typedefs.h" #include "Typedefs.h"
#include "PlaybackLog.h"
#include "artist_ptr.h"
#include "artist_wptr.h"
#include "album_ptr.h"
#include "query_ptr.h"
#include "playlistinterface_ptr.h"
#include "collection_ptr.h"
// #include <QtCore/QObject>
// #ifndef ENABLE_HEADLESS
// #include <QtGui/QPixmap>
// #endif
//
#include <QFuture> // forward declare template foo?!
#include "DllMacro.h" #include "DllMacro.h"
#include "Query.h"
class IdThreadWorker; class IdThreadWorker;
namespace Tomahawk namespace Tomahawk
{ {
namespace InfoSystem
{
struct InfoRequestData;
}
class DLLEXPORT Artist : public QObject class DLLEXPORT Artist : public QObject
{ {

View File

@@ -26,6 +26,8 @@
#include "database/DatabaseCommand_AllTracks.h" #include "database/DatabaseCommand_AllTracks.h"
#include "Source.h" #include "Source.h"
#include "Pipeline.h" #include "Pipeline.h"
#include "infosystem/InfoSystem.h"
#include "Track.h"
#include "utils/Logger.h" #include "utils/Logger.h"

View File

@@ -23,13 +23,22 @@
#include <QtCore/QObject> #include <QtCore/QObject>
#include <QtCore/QPointer> #include <QtCore/QPointer>
#include "Artist.h" // #include "Artist.h"
#include "Typedefs.h" // #include "Typedefs.h"
#include "PlaylistInterface.h" #include "PlaylistInterface.h"
#include "collection_ptr.h"
#include "DllMacro.h" #include "DllMacro.h"
namespace Tomahawk namespace Tomahawk
{ {
class Artist;
namespace InfoSystem
{
class InfoRequestData;
}
class DLLEXPORT ArtistPlaylistInterface : public Tomahawk::PlaylistInterface class DLLEXPORT ArtistPlaylistInterface : public Tomahawk::PlaylistInterface
{ {

View File

@@ -19,21 +19,22 @@
#ifndef ATTICAMANAGER_H #ifndef ATTICAMANAGER_H
#define ATTICAMANAGER_H #define ATTICAMANAGER_H
#include <QObject>
#include <QHash>
#include <QPixmap>
#include <QNetworkReply>
#include "DllMacro.h"
#include "accounts/Account.h" #include "accounts/Account.h"
//
#include <attica/provider.h> #include <attica/provider.h>
#include <attica/providermanager.h> #include <attica/providermanager.h>
#include <attica/content.h> #include <attica/content.h>
// //
// #include <QObject>
// #include <QHash>
// #include <QPixmap>
// #include <QNetworkReply>
#include "DllMacro.h"
namespace Tomahawk { namespace Tomahawk {
namespace Accounts { namespace Accounts {
class AtticaResolverAccount; class AtticaResolverAccount;
} }
} }

View File

@@ -11,6 +11,63 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../tomahawk/Config.h.in
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../tomahawk/TomahawkVersion.h.in configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../tomahawk/TomahawkVersion.h.in
${CMAKE_CURRENT_BINARY_DIR}/TomahawkVersion.h) ${CMAKE_CURRENT_BINARY_DIR}/TomahawkVersion.h)
macro(TomahawkAddSharedPointerDeclarationHeader class shortname)
set(TOMAHAWK_SHAREDPOINTER_DECLARATION_CLASS ${class})
set(TOMAHAWK_SHAREDPOINTER_DECLARATION_SHORTNAME ${shortname})
message(STATUS "Create SharedPointerHeader for ${class} with shortname ${shortname}")
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/SharedPointerDeclarationHeader.h.in
${CMAKE_CURRENT_BINARY_DIR}/${shortname}_ptr.h)
endmacro()
list(APPEND regularlyNamedSharedPointers
Source
Collection
Playlist
PlaylistInterface
Query
Result
Track
TrackData
Artist
Album
PeerInfo
)
foreach(class ${regularlyNamedSharedPointers})
string(TOLOWER ${class} shortname)
TomahawkAddSharedPointerDeclarationHeader(${class} ${shortname})
endforeach()
TomahawkAddSharedPointerDeclarationHeader(PlaylistEntry plentry)
TomahawkAddSharedPointerDeclarationHeader(DynamicPlaylist dynplaylist)
TomahawkAddSharedPointerDeclarationHeader(DynamicControl dyncontrol)
TomahawkAddSharedPointerDeclarationHeader(GeneratorInterface geninterface)
macro(TomahawkAddWeakPointerDeclarationHeader class shortname)
set(TOMAHAWK_SHAREDPOINTER_DECLARATION_CLASS ${class})
set(TOMAHAWK_SHAREDPOINTER_DECLARATION_SHORTNAME ${shortname})
message(STATUS "Create WeakPointerHeader for ${class} with shortname ${shortname}")
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/WeakPointerDeclarationHeader.h.in
${CMAKE_CURRENT_BINARY_DIR}/${shortname}_wptr.h)
endmacro()
list(APPEND regularlyNamedWeakPointers
Query
Result
Track
TrackData
Artist
Album
PeerInfo
)
foreach(class ${regularlyNamedSharedPointers})
string(TOLOWER ${class} shortname)
TomahawkAddWeakPointerDeclarationHeader(${class} ${shortname})
endforeach()
set( libGuiSources set( libGuiSources
ActionCollection.cpp ActionCollection.cpp
@@ -306,6 +363,7 @@ list(APPEND libSources
network/Servent.cpp network/Servent.cpp
network/Connection.cpp network/Connection.cpp
network/ControlConnection.cpp network/ControlConnection.cpp
network/Msg.cpp
playlist/PlaylistUpdaterInterface.cpp playlist/PlaylistUpdaterInterface.cpp
playlist/dynamic/DynamicPlaylist.cpp playlist/dynamic/DynamicPlaylist.cpp
@@ -425,11 +483,22 @@ IF( APPLE )
SET( libSources ${libSources} SET( libSources ${libSources}
utils/TomahawkUtils_Mac.mm utils/TomahawkUtils_Mac.mm
mac/FileHelpers.mm mac/FileHelpers.mm
thirdparty/Qocoa/qbutton_mac.mm
thirdparty/Qocoa/qsearchfield_mac.mm
thirdparty/Qocoa/qtoolbartabdialog_mac.mm
widgets/SourceTreePopupDialog_mac.mm ) widgets/SourceTreePopupDialog_mac.mm )
if( BUILD_WITH_QT4 )
list(APPEND libSources
thirdparty/Qocoa/qbutton_mac.mm
thirdparty/Qocoa/qsearchfield_mac.mm
thirdparty/Qocoa/qtoolbartabdialog_mac.mm
)
else()
list(APPEND libSources
thirdparty/Qocoa/qbutton.cpp
thirdparty/Qocoa/qsearchfield.cpp
thirdparty/Qocoa/qtoolbartabdialog.cpp
)
endif()
SET_SOURCE_FILES_PROPERTIES(utils/TomahawkUtils_Mac.mm PROPERTIES COMPILE_FLAGS "-fvisibility=default") SET_SOURCE_FILES_PROPERTIES(utils/TomahawkUtils_Mac.mm PROPERTIES COMPILE_FLAGS "-fvisibility=default")
SET( OS_SPECIFIC_LINK_LIBRARIES SET( OS_SPECIFIC_LINK_LIBRARIES
@@ -473,7 +542,8 @@ IF(QCA2_FOUND)
ENDIF(QCA2_FOUND) ENDIF(QCA2_FOUND)
IF( UNIX AND NOT APPLE ) IF( UNIX AND NOT APPLE )
LIST(APPEND LINK_LIBRARIES ${QT_QTDBUS_LIBRARY} ) LIST(APPEND LINK_LIBRARIES ${QT_QTDBUS_LIBRARIES} )
qt5_use_modules(tomahawklib DBus)
ENDIF( UNIX AND NOT APPLE ) ENDIF( UNIX AND NOT APPLE )
TARGET_LINK_LIBRARIES( tomahawklib TARGET_LINK_LIBRARIES( tomahawklib

View File

@@ -30,10 +30,13 @@
#include "SourceList.h" #include "SourceList.h"
#include "Artist.h" #include "Artist.h"
#include "Album.h" #include "Album.h"
#include "Track.h"
#include "utils/ImageRegistry.h" #include "utils/ImageRegistry.h"
#include "utils/Logger.h" #include "utils/Logger.h"
#include <QSignalMapper>
using namespace Tomahawk; using namespace Tomahawk;

View File

@@ -20,12 +20,20 @@
#ifndef CONTEXTMENU_H #ifndef CONTEXTMENU_H
#define CONTEXTMENU_H #define CONTEXTMENU_H
#include <QSignalMapper> // #include <QSignalMapper>
#include <QMenu> #include <QMenu>
//
// #include "Typedefs.h"
#include "playlistinterface_ptr.h"
#include "query_ptr.h"
#include "artist_ptr.h"
#include "album_ptr.h"
#include "playlist_ptr.h"
#include "Typedefs.h"
#include "DllMacro.h" #include "DllMacro.h"
class QSignalMapper;
namespace Tomahawk namespace Tomahawk
{ {

View File

@@ -19,6 +19,9 @@
#include "CountryUtils.h" #include "CountryUtils.h"
#include <QString>
#include <QLocale>
QString Tomahawk::CountryUtils::fullCountryFromCode(const QString& countryCode) QString Tomahawk::CountryUtils::fullCountryFromCode(const QString& countryCode)
{ {
ushort uc1 = countryCode[0].toUpper().unicode(); ushort uc1 = countryCode[0].toUpper().unicode();
@@ -39,4 +42,4 @@ QString Tomahawk::CountryUtils::fullCountryFromCode(const QString& countryCode)
} }
return QString("Unknown"); return QString("Unknown");
} }

View File

@@ -19,12 +19,13 @@
#ifndef CHARTSPLUGIN_DATA_P_H #ifndef CHARTSPLUGIN_DATA_P_H
#define CHARTSPLUGIN_DATA_P_H #define CHARTSPLUGIN_DATA_P_H
// #include <QChar>
// #include <QLocale>
#include "DllMacro.h" #include "DllMacro.h"
#include <QtCore/qchar.h>
#include <QLocale>
namespace Tomahawk { namespace Tomahawk {
namespace CountryUtils { namespace CountryUtils {
static const unsigned char country_code_list[] = static const unsigned char country_code_list[] =

View File

@@ -20,11 +20,14 @@
*/ */
#include "DropJob.h" #include "DropJob.h"
#include <QFileInfo>
#include "Artist.h" #include "Artist.h"
#include "Album.h" #include "Album.h"
#include "Source.h" #include "Source.h"
#include "Track.h"
#include "Result.h"
#include "collection/Collection.h"
#include "PlaylistInterface.h"
#include "utils/SpotifyParser.h" #include "utils/SpotifyParser.h"
#include "utils/ItunesParser.h" #include "utils/ItunesParser.h"
@@ -42,11 +45,14 @@
#include "jobview/JobStatusModel.h" #include "jobview/JobStatusModel.h"
#include "jobview/ErrorStatusMessage.h" #include "jobview/ErrorStatusMessage.h"
#include "Pipeline.h" #include "Pipeline.h"
#include "utils/DropJobNotifier.h"
#ifdef QCA2_FOUND #ifdef QCA2_FOUND
#include "utils/GroovesharkParser.h" #include "utils/GroovesharkParser.h"
#endif //QCA2_FOUND #endif //QCA2_FOUND
#include <QFileInfo>
#include <QMimeData>
using namespace Tomahawk; using namespace Tomahawk;

View File

@@ -20,11 +20,20 @@
#ifndef DROPJOB_H #ifndef DROPJOB_H
#define DROPJOB_H #define DROPJOB_H
#include "Query.h" #include "query_ptr.h"
#include "album_ptr.h"
#include "artist_ptr.h"
#include "Typedefs.h" // ModelMode
#include <QObject> #include <QObject>
#include <QStringList> #include <QSet>
#include <QMimeData> // #include <QStringList>
// #include <QMimeData>
#include "DllMacro.h"
class QMimeData;
namespace Tomahawk { namespace Tomahawk {
class DropJobNotifier; class DropJobNotifier;

View File

@@ -27,9 +27,11 @@
#include "database/DatabaseCommand_GenericSelect.h" #include "database/DatabaseCommand_GenericSelect.h"
#include "database/DatabaseCommand_SetCollectionAttributes.h" #include "database/DatabaseCommand_SetCollectionAttributes.h"
#include "database/DatabaseCommand_LoadFiles.h" #include "database/DatabaseCommand_LoadFiles.h"
#include "database/DatabaseCommand_SetTrackAttributes.h"
#include "TomahawkSettings.h" #include "TomahawkSettings.h"
#include "SourceList.h" #include "SourceList.h"
#include "Query.h" #include "Query.h"
#include "Track.h"
#include "utils/Logger.h" #include "utils/Logger.h"
#include <echonest/CatalogUpdateEntry.h> #include <echonest/CatalogUpdateEntry.h>

View File

@@ -19,15 +19,21 @@
#ifndef ECHONESTCATALOGSYNCHRONIZER_H #ifndef ECHONESTCATALOGSYNCHRONIZER_H
#define ECHONESTCATALOGSYNCHRONIZER_H #define ECHONESTCATALOGSYNCHRONIZER_H
#include "DllMacro.h" // #include "Query.h"
#include "Query.h" // #include "database/DatabaseCommand_TrackAttributes.h"
#include "database/DatabaseCommand_TrackAttributes.h" //
#include "result_ptr.h"
#include <echonest/Catalog.h> #include <echonest/Catalog.h>
//
#include <QObject> #include <QObject>
#include <QQueue> #include <QQueue>
#include "DllMacro.h"
class DatabaseCommand_SetCollectionAttributes;
namespace Tomahawk namespace Tomahawk
{ {

View File

@@ -19,11 +19,11 @@
#ifndef FUNCTIMEOUT_H #ifndef FUNCTIMEOUT_H
#define FUNCTIMEOUT_H #define FUNCTIMEOUT_H
#include <QObject> // #include <QObject>
#include <QPointer> #include <QPointer>
//
#include "boost/function.hpp" #include "boost/function.hpp"
#include "boost/bind.hpp" // #include "boost/bind.hpp"
#include "DllMacro.h" #include "DllMacro.h"

View File

@@ -22,12 +22,15 @@
#include "Artist.h" #include "Artist.h"
#include "Album.h" #include "Album.h"
#include "Track.h"
#include "PlaylistEntry.h"
#include "SourceList.h" #include "SourceList.h"
#include "Pipeline.h" #include "Pipeline.h"
#include "TomahawkSettings.h" #include "TomahawkSettings.h"
#include "audio/AudioEngine.h" #include "audio/AudioEngine.h"
#include "database/LocalCollection.h" #include "database/LocalCollection.h"
#include "playlist/dynamic/GeneratorInterface.h" #include "playlist/dynamic/GeneratorInterface.h"
#include "playlist/dynamic/DynamicPlaylist.h"
#include "echonest/Playlist.h" #include "echonest/Playlist.h"
@@ -41,6 +44,8 @@
#include "utils/ShortenedLinkParser.h" #include "utils/ShortenedLinkParser.h"
#include "utils/RdioParser.h" #include "utils/RdioParser.h"
#include <qjson/serializer.h>
#ifndef ENABLE_HEADLESS #ifndef ENABLE_HEADLESS
#include "ViewManager.h" #include "ViewManager.h"
#include "playlist/PlaylistView.h" #include "playlist/PlaylistView.h"

View File

@@ -20,15 +20,22 @@
#ifndef GLOBALACTIONMANAGER_H #ifndef GLOBALACTIONMANAGER_H
#define GLOBALACTIONMANAGER_H #define GLOBALACTIONMANAGER_H
#include "Query.h" #include "artist_ptr.h"
#include "Playlist.h" #include "album_ptr.h"
#include "playlist/dynamic/DynamicPlaylist.h" #include "dynplaylist_ptr.h"
#include "DllMacro.h" #include "playlist_ptr.h"
#include "query_ptr.h"
#include <QNetworkAccessManager> // #include "Query.h"
#include <QNetworkReply> // #include "Playlist.h"
#include <QObject> // #include "playlist/dynamic/DynamicPlaylist.h"
#include <QUrl> //
// #include <QNetworkAccessManager>
#include <QNetworkReply> // private slot meh -_-
// #include <QObject>
// #include <QUrl>
#include "DllMacro.h"
/** /**
* Handles global actions such as parsing and creation of links, mime data handling, etc * Handles global actions such as parsing and creation of links, mime data handling, etc

View File

@@ -20,10 +20,12 @@
#ifndef LATCHMANAGER_H #ifndef LATCHMANAGER_H
#define LATCHMANAGER_H #define LATCHMANAGER_H
#include "DllMacro.h" #include "source_ptr.h"
#include "Source.h" #include "playlistinterface_ptr.h"
#include <QtCore/QObject> #include <QObject>
#include "DllMacro.h"
class QState; class QState;
class QStateMachine; class QStateMachine;

View File

@@ -19,11 +19,13 @@
#ifndef METAPLAYLISTINTERFACE_H #ifndef METAPLAYLISTINTERFACE_H
#define METAPLAYLISTINTERFACE_H #define METAPLAYLISTINTERFACE_H
#include <QtCore/QModelIndex>
#include "PlaylistInterface.h" #include "PlaylistInterface.h"
#include "playlist/PlayableItem.h" // #include "playlist/PlayableItem.h"
#include "Typedefs.h" // #include "Typedefs.h"
#include <QModelIndex>
#include "DllMacro.h" #include "DllMacro.h"
namespace Tomahawk namespace Tomahawk

View File

@@ -18,7 +18,6 @@
#include "Pipeline.h" #include "Pipeline.h"
#include <QMutexLocker>
#include "FuncTimeout.h" #include "FuncTimeout.h"
#include "database/Database.h" #include "database/Database.h"
@@ -27,9 +26,13 @@
#include "resolvers/JSResolver.h" #include "resolvers/JSResolver.h"
#include "Source.h" #include "Source.h"
#include "SourceList.h" #include "SourceList.h"
#include "Result.h"
#include "utils/ResultUrlChecker.h" #include "utils/ResultUrlChecker.h"
#include "utils/Logger.h" #include "utils/Logger.h"
#include <QMutexLocker>
#include "boost/bind.hpp" #include "boost/bind.hpp"
#define DEFAULT_CONCURRENT_QUERIES 4 #define DEFAULT_CONCURRENT_QUERIES 4

View File

@@ -19,14 +19,21 @@
#ifndef PIPELINE_H #ifndef PIPELINE_H
#define PIPELINE_H #define PIPELINE_H
#include "Typedefs.h" #include "Typedefs.h" // QID
#include "Query.h" // #include "Query.h"
#include "result_ptr.h"
#include "album_ptr.h"
#include "artist_ptr.h"
#include "query_ptr.h"
//
#include <QObject> #include <QObject>
#include <QList> // #include <QList>
#include <QMap> // #include <QMap>
#include <QMutex> #include <QMutex>
#include <QTimer> #include <QTimer>
#include <QStringList>
#include <QPointer>
#include <boost/function.hpp> #include <boost/function.hpp>

View File

@@ -0,0 +1,18 @@
#ifndef LIBTOMAHAWK_PLAYBACKLOG_H
#define LIBTOMAHAWK_PLAYBACKLOG_H
#include "source_ptr.h"
namespace Tomahawk
{
struct PlaybackLog
{
Tomahawk::source_ptr source;
unsigned int timestamp;
unsigned int secsPlayed;
};
};
#endif // LIBTOMAHAWK_PLAYBACKLOG_H

View File

@@ -32,14 +32,21 @@
#include "Source.h" #include "Source.h"
#include "SourceList.h" #include "SourceList.h"
#include "PlaylistPlaylistInterface.h" #include "PlaylistPlaylistInterface.h"
#include "PlaylistEntry.h"
#include "Query.h"
#include "Track.h"
#include "collection/Collection.h"
#include "playlist/dynamic/DynamicPlaylist.h"
#include "PlaylistRevision.h"
#include "utils/Logger.h" #include "utils/Logger.h"
#include "utils/Closure.h" #include "utils/Closure.h"
#include "playlist/PlaylistUpdaterInterface.h" #include "playlist/PlaylistUpdaterInterface.h"
#include "widgets/SourceTreePopupDialog.h" #include "widgets/SourceTreePopupDialog.h"
#include <QtXml/QDomDocument> #include <QDomDocument>
#include <QtXml/QDomElement> #include <QDomElement>
#include <QThread>
using namespace Tomahawk; using namespace Tomahawk;

View File

@@ -21,20 +21,27 @@
#ifndef PLAYLIST_H #ifndef PLAYLIST_H
#define PLAYLIST_H #define PLAYLIST_H
#include <QObject> #include "Typedefs.h" // ModelMode
#include <QList> // #include "Result.h"
#include <QVariant> // #include "PlaylistEntry.h"
#include <QSharedPointer> // #include "PlaylistInterface.h"
#include <QQueue> // #include "playlist/PlaylistUpdaterInterface.h"
// #include "Query.h"
#include "Typedefs.h" #include "PlaylistRevision.h"
#include "Result.h"
#include "PlaylistEntry.h"
#include "PlaylistInterface.h"
#include "playlist/PlaylistUpdaterInterface.h"
#include "Query.h"
#include "utils/Closure.h" #include "utils/Closure.h"
#include "playlist_ptr.h"
#include "plentry_ptr.h"
#include "source_ptr.h"
#include "query_ptr.h"
#include "playlistinterface_ptr.h"
// #include <QObject>
// #include <QList>
// #include <QVariant>
// #include <QSharedPointer>
#include <QQueue>
#include "DllMacro.h" #include "DllMacro.h"
class SourceTreePopupDialog; class SourceTreePopupDialog;
@@ -48,29 +55,7 @@ namespace Tomahawk
{ {
class PlaylistUpdaterInterface; class PlaylistUpdaterInterface;
struct RevisionQueueItem;
struct PlaylistRevision
{
QString revisionguid;
QString oldrevisionguid;
QList<plentry_ptr> newlist;
QList<plentry_ptr> added;
QList<plentry_ptr> removed;
bool applied; // false if conflict
};
struct RevisionQueueItem
{
public:
QString newRev;
QString oldRev;
QList< plentry_ptr > entries;
bool applyToTip;
RevisionQueueItem( const QString& nRev, const QString& oRev, const QList< plentry_ptr >& e, bool latest ) :
newRev( nRev ), oldRev( oRev), entries( e ), applyToTip( latest ) {}
};
class DLLEXPORT Playlist : public QObject class DLLEXPORT Playlist : public QObject
{ {

View File

@@ -21,6 +21,8 @@
#include "PlaylistEntry.h" #include "PlaylistEntry.h"
#include "Source.h" #include "Source.h"
#include "Query.h"
#include "Result.h"
#include "utils/Logger.h" #include "utils/Logger.h"
using namespace Tomahawk; using namespace Tomahawk;

View File

@@ -21,13 +21,15 @@
#ifndef PLAYLISTENTRY_H #ifndef PLAYLISTENTRY_H
#define PLAYLISTENTRY_H #define PLAYLISTENTRY_H
// #include "Typedefs.h"
#include "query_ptr.h"
#include "source_ptr.h"
// #include "Query.h"
//
#include <QObject> #include <QObject>
#include <QList> // #include <QList>
#include <QVariant> // #include <QVariant>
#include <QSharedPointer> // #include <QSharedPointer>
#include "Typedefs.h"
#include "Query.h"
#include "DllMacro.h" #include "DllMacro.h"

View File

@@ -23,6 +23,9 @@
#include "Pipeline.h" #include "Pipeline.h"
#include "Source.h" #include "Source.h"
#include "utils/Logger.h" #include "utils/Logger.h"
#include "Query.h"
#include <QThread>
using namespace Tomahawk; using namespace Tomahawk;

View File

@@ -20,10 +20,13 @@
#ifndef PLAYLISTINTERFACE_H #ifndef PLAYLISTINTERFACE_H
#define PLAYLISTINTERFACE_H #define PLAYLISTINTERFACE_H
#include <QtCore/QModelIndex> #include "Typedefs.h" // PlaylistModes
#include "playlistinterface_ptr.h"
#include "result_ptr.h"
#include "query_ptr.h"
// #include <QModelIndex>
#include "playlist/PlayableItem.h"
#include "Typedefs.h"
#include "DllMacro.h" #include "DllMacro.h"
namespace Tomahawk namespace Tomahawk

View File

@@ -21,6 +21,7 @@
#include "Playlist.h" #include "Playlist.h"
#include "SourceList.h" #include "SourceList.h"
#include "PlaylistEntry.h"
#include "utils/Logger.h" #include "utils/Logger.h"

View File

@@ -20,19 +20,20 @@
#ifndef PLAYLISTPLAYLISTINTERFACE_H #ifndef PLAYLISTPLAYLISTINTERFACE_H
#define PLAYLISTPLAYLISTINTERFACE_H #define PLAYLISTPLAYLISTINTERFACE_H
#include <QObject> // #include "Typedefs.h"
#include <QList> // #include "Result.h"
#include <QPointer>
#include "Typedefs.h"
#include "Result.h"
#include "PlaylistInterface.h" #include "PlaylistInterface.h"
#include "Query.h" // #include "Query.h"
//
// #include <QObject>
// #include <QList>
#include <QPointer>
#include "DllMacro.h" #include "DllMacro.h"
namespace Tomahawk namespace Tomahawk
{ {
class Playlist;
class DLLEXPORT PlaylistPlaylistInterface : public Tomahawk::PlaylistInterface class DLLEXPORT PlaylistPlaylistInterface : public Tomahawk::PlaylistInterface
{ {

View File

@@ -0,0 +1,21 @@
#ifndef LIBTOMAHAWK_PLAYLISTREVISION_H
#define LIBTOMAHAWK_PLAYLISTREVISION_H
#include "plentry_ptr.h"
namespace Tomahawk
{
struct PlaylistRevision
{
QString revisionguid;
QString oldrevisionguid;
QList<plentry_ptr> newlist;
QList<plentry_ptr> added;
QList<plentry_ptr> removed;
bool applied; // false if conflict
};
};
#endif // LIBTOMAHAWK_PLAYLISTREVISION_H

View File

@@ -29,6 +29,7 @@
#include "database/DatabaseCommand_SocialAction.h" #include "database/DatabaseCommand_SocialAction.h"
#include "database/DatabaseCommand_TrackStats.h" #include "database/DatabaseCommand_TrackStats.h"
#include "Album.h" #include "Album.h"
#include "Result.h"
#include "collection/Collection.h" #include "collection/Collection.h"
#include "Pipeline.h" #include "Pipeline.h"
#include "resolvers/Resolver.h" #include "resolvers/Resolver.h"

View File

@@ -20,15 +20,23 @@
#ifndef QUERY_H #ifndef QUERY_H
#define QUERY_H #define QUERY_H
#include <QObject> #include "query_ptr.h"
#include <QMutex>
#include <QList>
#include <QVariant>
#include "Typedefs.h" #include "Typedefs.h" // QID
#include "Result.h" #include "track_ptr.h"
#include "Track.h" #include "result_ptr.h"
#include "infosystem/InfoSystem.h" #include "album_ptr.h"
#include "artist_ptr.h"
// #include "Result.h"
// #include "Track.h"
// #include "infosystem/InfoSystem.h"
//
// #include <QObject>
#include <QMutex>
#include <QPointer>
// #include <QList>
// #include <QVariant>
#include "DllMacro.h" #include "DllMacro.h"

View File

@@ -19,6 +19,7 @@
#include "Result.h" #include "Result.h"
#include "Album.h" #include "Album.h"
#include "Track.h"
#include "collection/Collection.h" #include "collection/Collection.h"
#include "resolvers/Resolver.h" #include "resolvers/Resolver.h"
#include "Source.h" #include "Source.h"
@@ -33,6 +34,8 @@
#include "utils/Logger.h" #include "utils/Logger.h"
#include "resolvers/ExternalResolverGui.h" #include "resolvers/ExternalResolverGui.h"
#include "result_wptr.h"
using namespace Tomahawk; using namespace Tomahawk;
static QHash< QString, result_wptr > s_results; static QHash< QString, result_wptr > s_results;

View File

@@ -20,15 +20,20 @@
#ifndef RESULT_H #ifndef RESULT_H
#define RESULT_H #define RESULT_H
#include <QObject>
#include <QPixmap>
#include <QPointer>
#include <QVariant>
#include <QMutex>
#include "utils/TomahawkUtils.h" #include "utils/TomahawkUtils.h"
#include "Track.h" // #include "Track.h"
#include "Typedefs.h" #include "Typedefs.h" // RID
#include "query_wptr.h"
#include "collection_ptr.h"
#include "track_ptr.h"
#include "result_ptr.h"
//
// #include <QObject>
// #include <QPixmap>
#include <QPointer>
#include <QSize>
// #include <QVariant>
// #include <QMutex>
#include "DllMacro.h" #include "DllMacro.h"

View File

@@ -0,0 +1,23 @@
#ifndef LIBTOMAHAWK_REVISIONQUEUEITEM_H
#define LIBTOMAHAWK_REVISIONQUEUEITEM_H
#include "plentry_ptr.h"
namespace Tomahawk
{
struct RevisionQueueItem
{
public:
QString newRev;
QString oldRev;
QList< plentry_ptr > entries;
bool applyToTip;
RevisionQueueItem( const QString& nRev, const QString& oRev, const QList< plentry_ptr >& e, bool latest ) :
newRev( nRev ), oldRev( oRev), entries( e ), applyToTip( latest ) {}
};
};
#endif // LIBTOMAHAWK_REVISIONQUEUEITEM_H

View File

@@ -0,0 +1,7 @@
#include <QSharedPointer> // can we forward declare this?!
namespace Tomahawk
{
class @TOMAHAWK_SHAREDPOINTER_DECLARATION_CLASS@;
typedef QSharedPointer< @TOMAHAWK_SHAREDPOINTER_DECLARATION_CLASS@ > @TOMAHAWK_SHAREDPOINTER_DECLARATION_SHORTNAME@_ptr;
};

View File

@@ -0,0 +1,21 @@
#ifndef LIBTOMAHAWK_SOCIALACTION_H
#define LIBTOMAHAWK_SOCIALACTION_H
#include "source_ptr.h"
#include <QVariant>
namespace Tomahawk
{
struct SocialAction
{
QVariant action;
QVariant value;
QVariant timestamp;
Tomahawk::source_ptr source;
};
};
#endif // LIBTOMAHAWK_SOCIALACTION_H

View File

@@ -31,9 +31,9 @@
#include "database/DatabaseCommand_SourceOffline.h" #include "database/DatabaseCommand_SourceOffline.h"
#include "database/DatabaseCommand_UpdateSearchIndex.h" #include "database/DatabaseCommand_UpdateSearchIndex.h"
#include "database/Database.h" #include "database/Database.h"
#include "Query.h"
#include <QCoreApplication> #include "utils/Logger.h"
#include <QtAlgorithms> #include "sip/PeerInfo.h"
#include "utils/TomahawkCache.h" #include "utils/TomahawkCache.h"
#include "database/DatabaseCommand_SocialAction.h" #include "database/DatabaseCommand_SocialAction.h"
@@ -42,8 +42,9 @@
#include "utils/TomahawkUtilsGui.h" #include "utils/TomahawkUtilsGui.h"
#endif #endif
#include "utils/Logger.h" #include <QCoreApplication>
#include "sip/PeerInfo.h" #include <QtAlgorithms>
using namespace Tomahawk; using namespace Tomahawk;

View File

@@ -20,15 +20,23 @@
#ifndef SOURCE_H #ifndef SOURCE_H
#define SOURCE_H #define SOURCE_H
#include <QtCore/QObject> // #include "Typedefs.h"
#include <QtCore/QSharedPointer>
#include <QtCore/QVariantMap>
#include "Typedefs.h"
#include "network/DbSyncConnection.h" #include "network/DbSyncConnection.h"
#include "collection/Collection.h" // #include "collection/Collection.h"
#include "Query.h" // #include "Query.h"
#include "utils/TomahawkUtils.h" #include "utils/TomahawkUtils.h"
//
// #include <QObject>
// #include <QSharedPointer>
// #include <QVariantMap>
#include "collection_ptr.h"
#include "peerinfo_ptr.h"
#include "playlistinterface_ptr.h"
#include "track_ptr.h"
#include <QSize>
#include <QMutex>
#include "DllMacro.h" #include "DllMacro.h"
@@ -38,11 +46,17 @@ class DatabaseCommand_LoadAllSources;
class DatabaseCommand_LogPlayback; class DatabaseCommand_LogPlayback;
class DatabaseCommand_SocialAction; class DatabaseCommand_SocialAction;
class DatabaseCommand_UpdateSearchIndex; class DatabaseCommand_UpdateSearchIndex;
class DatabaseCommand_AddFiles;
class MusicScanner; class MusicScanner;
// class DBSyncConnection;
namespace Tomahawk namespace Tomahawk
{ {
struct PlaybackLog;
class DLLEXPORT Source : public QObject class DLLEXPORT Source : public QObject
{ {
Q_OBJECT Q_OBJECT

View File

@@ -26,10 +26,13 @@
#include "network/ControlConnection.h" #include "network/ControlConnection.h"
#include "infosystem/InfoSystemCache.h" #include "infosystem/InfoSystemCache.h"
#include "resolvers/ExternalResolver.h" #include "resolvers/ExternalResolver.h"
#include "playlist/dynamic/DynamicPlaylist.h"
#include "resolvers/ScriptCollection.h" #include "resolvers/ScriptCollection.h"
#include "utils/Logger.h" #include "utils/Logger.h"
#include <qjson/qobjecthelper.h>
using namespace Tomahawk; using namespace Tomahawk;
SourceList* SourceList::s_instance = 0; SourceList* SourceList::s_instance = 0;

View File

@@ -20,12 +20,20 @@
#ifndef SOURCELIST_H #ifndef SOURCELIST_H
#define SOURCELIST_H #define SOURCELIST_H
// #include "Typedefs.h"
// #include "Source.h"
//
#include "source_ptr.h"
#include "collection_ptr.h"
#include <QObject> #include <QObject>
#include <QMutex> #include <QMutex>
#include <QMap> #include <QMap>
#include "Typedefs.h" namespace Tomahawk
#include "Source.h" {
class Resolver;
};
#include "DllMacro.h" #include "DllMacro.h"

View File

@@ -21,6 +21,9 @@
#include "Source.h" #include "Source.h"
#include "Pipeline.h" #include "Pipeline.h"
#include "Query.h"
#include "Result.h"
#include "Track.h"
#include "audio/AudioEngine.h" #include "audio/AudioEngine.h"
#include "utils/Logger.h" #include "utils/Logger.h"

View File

@@ -20,16 +20,21 @@
#ifndef TOMAHAWKSOURCEPLAYLISTINTERFACE_H #ifndef TOMAHAWKSOURCEPLAYLISTINTERFACE_H
#define TOMAHAWKSOURCEPLAYLISTINTERFACE_H #define TOMAHAWKSOURCEPLAYLISTINTERFACE_H
#include <QObject> // #include "Typedefs.h"
#include <QPointer>
#include "Typedefs.h"
#include "PlaylistInterface.h" #include "PlaylistInterface.h"
#include "track_ptr.h"
//
// #include <QObject>
#include <QPointer>
#include "DllMacro.h" #include "DllMacro.h"
namespace Tomahawk namespace Tomahawk
{ {
class Source;
class DLLEXPORT SourcePlaylistInterface : public Tomahawk::PlaylistInterface class DLLEXPORT SourcePlaylistInterface : public Tomahawk::PlaylistInterface
{ {

View File

@@ -21,12 +21,14 @@
#ifndef TOMAHAWK_SETTINGS_H #ifndef TOMAHAWK_SETTINGS_H
#define TOMAHAWK_SETTINGS_H #define TOMAHAWK_SETTINGS_H
#include "DllMacro.h" #include "Typedefs.h" // RepeatMode
#include "Typedefs.h"
#include <QNetworkProxy>
// #include <QStringList>
#include <QSettings> #include <QSettings>
#include <QtNetwork/QNetworkProxy>
#include <QStringList> #include "DllMacro.h"
#define TOMAHAWK_SETTINGS_VERSION 15 #define TOMAHAWK_SETTINGS_VERSION 15

View File

@@ -21,8 +21,8 @@
#include "TomahawkSettings.h" #include "TomahawkSettings.h"
#include "AtticaManager.h" #include "AtticaManager.h"
//
#include <QSettings> // #include <QSettings>
#include "DllMacro.h" #include "DllMacro.h"

View File

@@ -19,9 +19,6 @@
#include "Track.h" #include "Track.h"
#include <QtAlgorithms>
#include <QReadWriteLock>
#include "database/Database.h" #include "database/Database.h"
#include "database/DatabaseImpl.h" #include "database/DatabaseImpl.h"
#include "database/DatabaseCommand_LogPlayback.h" #include "database/DatabaseCommand_LogPlayback.h"
@@ -32,9 +29,16 @@
#include "resolvers/Resolver.h" #include "resolvers/Resolver.h"
#include "SourceList.h" #include "SourceList.h"
#include "audio/AudioEngine.h" #include "audio/AudioEngine.h"
#include "TrackData.h"
#include "SocialAction.h"
#include "infosystem/InfoSystem.h"
#include "utils/Logger.h" #include "utils/Logger.h"
#include <QPixmap>
#include <QtAlgorithms>
#include <QReadWriteLock>
using namespace Tomahawk; using namespace Tomahawk;
QHash< QString, track_wptr > Track::s_tracksByName = QHash< QString, track_wptr >(); QHash< QString, track_wptr > Track::s_tracksByName = QHash< QString, track_wptr >();

View File

@@ -20,19 +20,33 @@
#ifndef TRACK_H #ifndef TRACK_H
#define TRACK_H #define TRACK_H
#include <QObject> // #include "Typedefs.h"
#include <QList> // #include "TrackData.h"
#include <QVariant>
#include "Typedefs.h" #include "PlaybackLog.h"
#include "TrackData.h"
#include "trackdata_ptr.h"
#include "query_wptr.h"
#include "track_wptr.h"
#include "track_ptr.h"
#include "source_ptr.h"
#include "track_ptr.h"
#include "query_ptr.h"
#include "artist_ptr.h"
#include "album_ptr.h"
//
// #include <QObject>
// #include <QList>
// #include <QVariant>
#include "DllMacro.h" #include "DllMacro.h"
namespace Tomahawk namespace Tomahawk
{ {
class SocialAction;
class DLLEXPORT Track : public QObject class DLLEXPORT Track : public QObject
{ {
Q_OBJECT Q_OBJECT

View File

@@ -37,6 +37,7 @@
#include "resolvers/Resolver.h" #include "resolvers/Resolver.h"
#include "SourceList.h" #include "SourceList.h"
#include "audio/AudioEngine.h" #include "audio/AudioEngine.h"
#include "infosystem/InfoSystem.h"
#include "utils/Logger.h" #include "utils/Logger.h"

View File

@@ -19,13 +19,21 @@
#ifndef TRACKDATA_H #ifndef TRACKDATA_H
#define TRACKDATA_H #define TRACKDATA_H
#include <QObject> #include "PlaybackLog.h"
#include <QList> #include "SocialAction.h"
#include <QFuture>
#include <QVariant>
#include "Typedefs.h" // #include "Typedefs.h"
#include "infosystem/InfoSystem.h" #include "trackdata_wptr.h"
#include "trackdata_ptr.h"
#include "query_ptr.h"
// #include "infosystem/InfoSystem.h"
//
// #include <QObject>
// #include <QList>
#include <QFuture>
#include <QStringList>
#include "DllMacro.h" #include "DllMacro.h"
@@ -35,21 +43,10 @@ class IdThreadWorker;
namespace Tomahawk namespace Tomahawk
{ {
namespace InfoSystem
struct SocialAction {
{ class InfoRequestData;
QVariant action; }
QVariant value;
QVariant timestamp;
Tomahawk::source_ptr source;
};
struct PlaybackLog
{
Tomahawk::source_ptr source;
unsigned int timestamp;
unsigned int secsPlayed;
};
class DLLEXPORT TrackData : public QObject class DLLEXPORT TrackData : public QObject
{ {

View File

@@ -20,59 +20,62 @@
#ifndef TYPEDEFS_H #ifndef TYPEDEFS_H
#define TYPEDEFS_H #define TYPEDEFS_H
#include <QSharedPointer> #include <QSharedPointer> // can't we forward declare this?!
#include <QPointer>
#include <QUuid> // #include <QPointer>
#include <QPair> // #include <QUuid>
// #include <QPair>
#include <QPersistentModelIndex> #include <QPersistentModelIndex>
#include <QNetworkReply>
#include <boost/function.hpp> #include <boost/function.hpp>
//template <typename T> class QSharedPointer;
#include <QNetworkReply> class QPersistentModelIndex;
class QNetworkReply;
class QNetworkProxy;
namespace Tomahawk namespace Tomahawk
{ {
class Artist; // class Artist;
class Album; // class Album;
class Collection; // class Collection;
class Playlist; // class Playlist;
class PlaylistEntry; // class PlaylistEntry;
class PlaylistInterface; // class PlaylistInterface;
class DynamicPlaylist; // class DynamicPlaylist;
class Query; // class Query;
class Result; // class Result;
class Track; // class Track;
class TrackData; // class TrackData;
class Source; // class Source;
class DynamicControl; // class DynamicControl;
class GeneratorInterface; // class GeneratorInterface;
class PeerInfo; // class PeerInfo;
//
typedef QSharedPointer<Collection> collection_ptr; // typedef QSharedPointer<Collection> collection_ptr;
typedef QSharedPointer<Playlist> playlist_ptr; // typedef QSharedPointer<Playlist> playlist_ptr;
typedef QSharedPointer<PlaylistEntry> plentry_ptr; // typedef QSharedPointer<PlaylistEntry> plentry_ptr;
typedef QSharedPointer<PlaylistInterface> playlistinterface_ptr; // typedef QSharedPointer<PlaylistInterface> playlistinterface_ptr;
typedef QSharedPointer<DynamicPlaylist> dynplaylist_ptr; // typedef QSharedPointer<DynamicPlaylist> dynplaylist_ptr;
typedef QSharedPointer<Query> query_ptr; // typedef QSharedPointer<Query> query_ptr;
typedef QWeakPointer<Query> query_wptr; // typedef QWeakPointer<Query> query_wptr;
typedef QSharedPointer<Result> result_ptr; // typedef QSharedPointer<Result> result_ptr;
typedef QWeakPointer<Result> result_wptr; // typedef QWeakPointer<Result> result_wptr;
typedef QSharedPointer<Track> track_ptr; // typedef QSharedPointer<Track> track_ptr;
typedef QWeakPointer<Track> track_wptr; // typedef QWeakPointer<Track> track_wptr;
typedef QSharedPointer<TrackData> trackdata_ptr; // typedef QSharedPointer<TrackData> trackdata_ptr;
typedef QWeakPointer<TrackData> trackdata_wptr; // typedef QWeakPointer<TrackData> trackdata_wptr;
typedef QSharedPointer<Source> source_ptr; // typedef QSharedPointer<Artist> artist_ptr;
typedef QSharedPointer<Artist> artist_ptr; // typedef QWeakPointer<Artist> artist_wptr;
typedef QWeakPointer<Artist> artist_wptr; // typedef QSharedPointer<Album> album_ptr;
typedef QSharedPointer<Album> album_ptr; // typedef QWeakPointer<Album> album_wptr;
typedef QWeakPointer<Album> album_wptr; // typedef QSharedPointer<PeerInfo> peerinfo_ptr;
typedef QSharedPointer<PeerInfo> peerinfo_ptr; // typedef QWeakPointer<PeerInfo> peerinfo_wptr;
typedef QWeakPointer<PeerInfo> peerinfo_wptr; //
// typedef QSharedPointer<DynamicControl> dyncontrol_ptr;
typedef QSharedPointer<DynamicControl> dyncontrol_ptr; // typedef QSharedPointer<GeneratorInterface> geninterface_ptr;
typedef QSharedPointer<GeneratorInterface> geninterface_ptr;
// let's keep these typesafe, they are different kinds of GUID: // let's keep these typesafe, they are different kinds of GUID:
typedef QString QID; //query id typedef QString QID; //query id
@@ -235,16 +238,6 @@ typedef int AudioErrorCode;
typedef int AudioState; typedef int AudioState;
typedef QList< QPair< QString, QString > > PairList; typedef QList< QPair< QString, QString > > PairList;
// creates 36char ascii guid without {} around it
inline static QString uuid()
{
// kinda lame, but
QString q = QUuid::createUuid().toString();
q.remove( 0, 1 );
q.chop( 1 );
return q;
}
Q_DECLARE_METATYPE( QModelIndex ) Q_DECLARE_METATYPE( QModelIndex )
Q_DECLARE_METATYPE( QPersistentModelIndex ) Q_DECLARE_METATYPE( QPersistentModelIndex )
Q_DECLARE_METATYPE( QNetworkReply* ); Q_DECLARE_METATYPE( QNetworkReply* );

View File

@@ -35,6 +35,8 @@
#include "playlist/TreeWidget.h" #include "playlist/TreeWidget.h"
#include "playlist/GridView.h" #include "playlist/GridView.h"
#include "playlist/AlbumModel.h" #include "playlist/AlbumModel.h"
#include "playlist/dynamic/DynamicPlaylist.h"
#include "playlist/QueueView.h"
#include "SourceList.h" #include "SourceList.h"
#include "TomahawkSettings.h" #include "TomahawkSettings.h"
@@ -58,6 +60,7 @@
#include <QVBoxLayout> #include <QVBoxLayout>
#include <QMetaMethod> #include <QMetaMethod>
#include <QStackedWidget>
#define FILTER_TIMEOUT 280 #define FILTER_TIMEOUT 280
@@ -894,3 +897,6 @@ ViewManager::inboxModel()
{ {
return m_inboxModel; return m_inboxModel;
} }
PlaylistView* ViewManager::queue() const {
return m_queue->queue();
}

View File

@@ -20,46 +20,59 @@
#ifndef VIEWMANAGER_H #ifndef VIEWMANAGER_H
#define VIEWMANAGER_H #define VIEWMANAGER_H
// #include "Artist.h"
// #include "collection/Collection.h"
// #include "PlaylistInterface.h"
// #include "playlist/QueueView.h"
// #include "ViewPage.h"
#include "playlist_ptr.h"
#include "dynplaylist_ptr.h"
#include "collection_ptr.h"
#include "playlistinterface_ptr.h"
#include "query_ptr.h"
#include "artist_ptr.h"
#include "album_ptr.h"
#include "source_ptr.h"
//
#include <QObject> #include <QObject>
#include <QHash> #include <QTimer>
#include <QStackedWidget> // #include <QHash>
// #include <QStackedWidget>
#include "Artist.h"
#include "collection/Collection.h"
#include "PlaylistInterface.h"
#include "playlist/QueueView.h"
#include "ViewPage.h"
#include "DllMacro.h" #include "DllMacro.h"
class AnimatedSplitter; class AnimatedSplitter;
class AlbumModel; // class AlbumModel;
class GridView; // class GridView;
class AlbumInfoWidget; class AlbumInfoWidget;
class ArtistInfoWidget; class ArtistInfoWidget;
class TreeWidget; class TreeWidget;
class CollectionModel; // class CollectionModel;
class ContextWidget; class ContextWidget;
class FlexibleView; class FlexibleView;
class PlaylistModel; // class PlaylistModel;
class PlaylistView; class PlaylistView;
class TrackProxyModel; // class TrackProxyModel;
class TrackModel; // class TrackModel;
class TreeProxyModel; // class TreeProxyModel;
class TreeModel; class TreeModel;
class TrackView; // class TrackView;
class SourceInfoWidget; class SourceInfoWidget;
class InfoBar; class InfoBar;
class TrackInfoWidget; class TrackInfoWidget;
class NewReleasesWidget; class NewReleasesWidget;
class WelcomeWidget; class WelcomeWidget;
class WhatsHotWidget; class WhatsHotWidget;
class QPushButton; // class QPushButton;
class InboxModel; class InboxModel;
class QueueView;
class QStackedWidget;
namespace Tomahawk namespace Tomahawk
{ {
class DynamicWidget; class DynamicWidget;
class ViewPage;
} }
class DLLEXPORT ViewManager : public QObject class DLLEXPORT ViewManager : public QObject
@@ -76,7 +89,7 @@ public:
InfoBar* infobar() const { return m_infobar; } InfoBar* infobar() const { return m_infobar; }
ContextWidget* context() const { return m_contextWidget; } ContextWidget* context() const { return m_contextWidget; }
PlaylistView* queue() const { return m_queue->queue(); } PlaylistView* queue() const;
void setQueue( QueueView* queue ) { m_queue = queue; } void setQueue( QueueView* queue ) { m_queue = queue; }
bool isSuperCollectionVisible() const; bool isSuperCollectionVisible() const;

View File

@@ -19,6 +19,9 @@
#include "ViewPage.h" #include "ViewPage.h"
#include "utils/Logger.h" #include "utils/Logger.h"
#include "utils/TomahawkUtils.h"
#include <QPixmap>
using namespace Tomahawk; using namespace Tomahawk;
@@ -35,3 +38,9 @@ ViewPage::setFilter( const QString& filter )
m_filter = filter; m_filter = filter;
return false; return false;
} }
namespace Tomahawk {
QPixmap ViewPage::pixmap() const {
return QPixmap( RESPATH "icons/tomahawk-icon-128x128.png" );
}
}

View File

@@ -20,18 +20,26 @@
#ifndef VIEWPAGE_H #ifndef VIEWPAGE_H
#define VIEWPAGE_H #define VIEWPAGE_H
#include "Typedefs.h" // #include "Typedefs.h"
#include "PlaylistInterface.h" // #include "PlaylistInterface.h"
#include "Artist.h" // #include "Artist.h"
#include "Album.h" // #include "Album.h"
#include "Source.h" // #include "Source.h"
#include "utils/TomahawkUtils.h" // #include "utils/TomahawkUtils.h"
#include "playlist/PlaylistUpdaterInterface.h" // #include "playlist/PlaylistUpdaterInterface.h"
//
// #include <QPixmap>
#include "playlistinterface_ptr.h"
#include "artist_ptr.h"
#include "album_ptr.h"
#include <QtGui/QPixmap> #include "DllMacro.h"
class QWidget;
namespace Tomahawk namespace Tomahawk
{ {
class PlaylistUpdaterInterface;
class DLLEXPORT ViewPage class DLLEXPORT ViewPage
@@ -57,7 +65,7 @@ public:
virtual Tomahawk::album_ptr descriptionAlbum() const { return Tomahawk::album_ptr(); } virtual Tomahawk::album_ptr descriptionAlbum() const { return Tomahawk::album_ptr(); }
virtual QString longDescription() const { return QString(); } virtual QString longDescription() const { return QString(); }
virtual QPixmap pixmap() const { return QPixmap( RESPATH "icons/tomahawk-icon-128x128.png" ); } virtual QPixmap pixmap() const;
virtual bool showInfoBar() const { return true; } virtual bool showInfoBar() const { return true; }
virtual bool showFilter() const { return false; } virtual bool showFilter() const { return false; }

View File

@@ -0,0 +1,7 @@
#include <QWeakPointer> // can we forward declare this?!
namespace Tomahawk
{
class @TOMAHAWK_SHAREDPOINTER_DECLARATION_CLASS@;
typedef QWeakPointer< @TOMAHAWK_SHAREDPOINTER_DECLARATION_CLASS@ > @TOMAHAWK_SHAREDPOINTER_DECLARATION_SHORTNAME@_wptr;
};

View File

@@ -20,17 +20,20 @@
#ifndef ACCOUNT_H #ifndef ACCOUNT_H
#define ACCOUNT_H #define ACCOUNT_H
#include "Typedefs.h" // #include "Typedefs.h"
#include "DllMacro.h" //
#include "infosystem/InfoSystem.h"
#include <QObject> // #include <QObject>
#include <QVariantMap> #include <QVariantMap>
#include <QWidget> // #include <QWidget>
#include <QIcon> // #include <QIcon>
#include <QString> // #include <QString>
#include <QUuid> #include <QUuid>
#include <QMutex> #include <QMutex>
#include <QPixmap>
#include "DllMacro.h"
class SipPlugin; class SipPlugin;
class AccountConfigWidget; class AccountConfigWidget;

View File

@@ -217,7 +217,7 @@ AccountDelegate::paint ( QPainter* painter, const QStyleOptionViewItem& option,
painter->restore(); painter->restore();
btnRect = QRect( opt.rect.right() - PADDING - btnWidth, opt.rect.bottom() - installMetrics.height() - 3*PADDING, btnWidth, installMetrics.height() + 2*PADDING ); btnRect = QRect( opt.rect.right() - PADDING - btnWidth, opt.rect.bottom() - installMetrics.height() - 3*PADDING, btnWidth, installMetrics.height() + 2*PADDING );
#ifdef Q_WS_MAC #ifdef Q_OS_MAC
btnRect.adjust( -4, 0, 4, 0 ); btnRect.adjust( -4, 0, 4, 0 );
#endif #endif
} }
@@ -257,7 +257,7 @@ AccountDelegate::paint ( QPainter* painter, const QStyleOptionViewItem& option,
else else
btnRect = QRect( opt.rect.right() - PADDING - btnWidth, center - ( installMetrics.height() + 4 ) / 2, btnWidth, installMetrics.height() + 2*PADDING ); btnRect = QRect( opt.rect.right() - PADDING - btnWidth, center - ( installMetrics.height() + 4 ) / 2, btnWidth, installMetrics.height() + 2*PADDING );
#ifdef Q_WS_MAC #ifdef Q_OS_MAC
btnRect.adjust( -4, 0, 4, 0 ); btnRect.adjust( -4, 0, 4, 0 );
if ( hasConfigWrench ) if ( hasConfigWrench )

View File

@@ -29,6 +29,7 @@
#include "sip/SipStatusMessage.h" #include "sip/SipStatusMessage.h"
#include "jobview/JobStatusView.h" #include "jobview/JobStatusView.h"
#include "jobview/JobStatusModel.h" #include "jobview/JobStatusModel.h"
#include "utils/Closure.h"
#include <QtCore/QLibrary> #include <QtCore/QLibrary>
#include <QtCore/QDir> #include <QtCore/QDir>
@@ -103,7 +104,7 @@ AccountManager::findPluginFactories()
QList< QDir > pluginDirs; QList< QDir > pluginDirs;
QDir appDir( qApp->applicationDirPath() ); QDir appDir( qApp->applicationDirPath() );
#ifdef Q_WS_MAC #ifdef Q_OS_MAC
if ( appDir.dirName() == "MacOS" ) if ( appDir.dirName() == "MacOS" )
{ {
// Development convenience-hack // Development convenience-hack

View File

@@ -28,7 +28,7 @@ DelegateConfigWrapper::DelegateConfigWrapper( AccountConfigWidget* conf, QWidget
, m_deleted( false ) , m_deleted( false )
{ {
m_widget->setWindowFlags( Qt::Sheet ); m_widget->setWindowFlags( Qt::Sheet );
#ifdef Q_WS_MAC #ifdef Q_OS_MAC
m_widget->setVisible( true ); m_widget->setVisible( true );
#endif #endif
setWindowTitle( title ); setWindowTitle( title );
@@ -65,7 +65,7 @@ DelegateConfigWrapper::DelegateConfigWrapper( AccountConfigWidget* conf, QWidget
setLayout( v ); setLayout( v );
#ifdef Q_WS_MAC #ifdef Q_OS_MAC
setSizeGripEnabled( false ); setSizeGripEnabled( false );
setMinimumSize( sizeHint() ); setMinimumSize( sizeHint() );
setMaximumSize( sizeHint() ); // to remove the resize grip on osx this is the only way setMaximumSize( sizeHint() ); // to remove the resize grip on osx this is the only way

View File

@@ -21,13 +21,15 @@
#include "accounts/Account.h" #include "accounts/Account.h"
#include "AtticaManager.h" #include "AtticaManager.h"
// #include <attica/content.h>
// #include <QObject>
// #include <QSet>
#include <QPointer>
#include "DllMacro.h" #include "DllMacro.h"
#include <attica/content.h>
#include <QObject>
#include <QSet>
namespace Tomahawk namespace Tomahawk
{ {
class ExternalResolverGui; class ExternalResolverGui;

View File

@@ -32,6 +32,8 @@
#include "SpotifyInfoPlugin.h" #include "SpotifyInfoPlugin.h"
#include "infosystem/InfoSystem.h" #include "infosystem/InfoSystem.h"
#include "utils/Logger.h" #include "utils/Logger.h"
#include "PlaylistEntry.h"
#include "Track.h"
#ifndef ENABLE_HEADLESS #ifndef ENABLE_HEADLESS
#include "jobview/JobStatusView.h" #include "jobview/JobStatusView.h"

View File

@@ -22,6 +22,8 @@
#include "utils/Closure.h" #include "utils/Closure.h"
#include "utils/Logger.h" #include "utils/Logger.h"
#include <qjson/parser.h>
using namespace Tomahawk; using namespace Tomahawk;
using namespace Tomahawk::InfoSystem; using namespace Tomahawk::InfoSystem;

View File

@@ -23,6 +23,10 @@
#include "accounts/AccountManager.h" #include "accounts/AccountManager.h"
#include "SpotifyAccount.h" #include "SpotifyAccount.h"
#include "utils/TomahawkUtils.h" #include "utils/TomahawkUtils.h"
#include "PlaylistEntry.h"
#include "utils/Uuid.h"
#include "Query.h"
#include "Track.h"
#include <QMessageBox> #include <QMessageBox>
#include <QApplication> #include <QApplication>

View File

@@ -22,12 +22,14 @@
#define SPOTIFYPLAYLISTUPDATER_H #define SPOTIFYPLAYLISTUPDATER_H
#include "playlist/PlaylistUpdaterInterface.h" #include "playlist/PlaylistUpdaterInterface.h"
#include "utils/Closure.h" // #include "utils/Closure.h"
#include "DllMacro.h" // #include "Typedefs.h"
#include "Typedefs.h"
#include <QQueue> // #include <QQueue>
#include <QVariant> // #include <QVariant>
#include <QPointer>
#include "DllMacro.h"
namespace Tomahawk { namespace Tomahawk {
namespace Accounts { namespace Accounts {

View File

@@ -29,10 +29,12 @@
#include "utils/Closure.h" #include "utils/Closure.h"
#include "Artist.h" #include "Artist.h"
#include "Album.h" #include "Album.h"
#include "Track.h"
#include "Pipeline.h" #include "Pipeline.h"
#include "jobview/JobStatusView.h" #include "jobview/JobStatusView.h"
#include "jobview/JobStatusModel.h" #include "jobview/JobStatusModel.h"
#include "jobview/ErrorStatusMessage.h" #include "jobview/ErrorStatusMessage.h"
#include "infosystem/InfoSystem.h"
#include "utils/Logger.h" #include "utils/Logger.h"
#include "playlist/SingleTrackPlaylistInterface.h" #include "playlist/SingleTrackPlaylistInterface.h"

View File

@@ -21,9 +21,15 @@
#ifndef AUDIOENGINE_H #ifndef AUDIOENGINE_H
#define AUDIOENGINE_H #define AUDIOENGINE_H
#include "../Typedefs.h" #include "../Typedefs.h" // PlaylistModes
#include <QStringList> #include "playlistinterface_ptr.h"
#include "result_ptr.h"
#include "query_ptr.h"
#include "artist_ptr.h"
#include "album_ptr.h"
// #include <QStringList>
#include "DllMacro.h" #include "DllMacro.h"

View File

@@ -1,3 +1,21 @@
/* === This file is part of Tomahawk Player - <http://tomahawk-player.org> ===
*
* Copyright 2010-2012, Christian Muehlhaeuser <muesli@tomahawk-player.org>
* Copyright 2013 Dominik Schmidt <domme@tomahawk-player.org>
*
* Tomahawk 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 3 of the License, or
* (at your option) any later version.
*
* Tomahawk 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 Tomahawk. If not, see <http://www.gnu.org/licenses/>.
*/
#include <phonon/MediaObject> #include <phonon/MediaObject>
#include <phonon/AudioOutput> #include <phonon/AudioOutput>
@@ -7,6 +25,7 @@
#include <QTimer> #include <QTimer>
#include <QQueue> #include <QQueue>
#include <QTemporaryFile> #include <QTemporaryFile>
#include <QStringList>
class AudioEnginePrivate : public QObject class AudioEnginePrivate : public QObject
{ {

View File

@@ -19,11 +19,13 @@
#ifndef ALBUMSREQUEST_H #ifndef ALBUMSREQUEST_H
#define ALBUMSREQUEST_H #define ALBUMSREQUEST_H
#include "Typedefs.h" // #include "Typedefs.h"
#include "DllMacro.h" #include "album_ptr.h"
#include <QList> #include <QList>
#include "DllMacro.h"
namespace Tomahawk namespace Tomahawk
{ {

View File

@@ -19,11 +19,13 @@
#ifndef ARTISTSREQUEST_H #ifndef ARTISTSREQUEST_H
#define ARTISTSREQUEST_H #define ARTISTSREQUEST_H
#include "Typedefs.h" // #include "Typedefs.h"
#include "DllMacro.h" #include "artist_ptr.h"
#include <QList> #include <QList>
#include "DllMacro.h"
namespace Tomahawk namespace Tomahawk
{ {

View File

@@ -25,6 +25,7 @@
#include "playlist/PlaylistUpdaterInterface.h" #include "playlist/PlaylistUpdaterInterface.h"
#include "utils/ImageRegistry.h" #include "utils/ImageRegistry.h"
#include "accounts/AccountManager.h" #include "accounts/AccountManager.h"
#include "playlist/dynamic/DynamicPlaylist.h"
#include <QMetaObject> #include <QMetaObject>
#include <QGenericArgument> #include <QGenericArgument>
@@ -322,3 +323,15 @@ Collection::moveStationToAuto( const QString& guid )
if ( m_stations.contains( guid ) ) if ( m_stations.contains( guid ) )
m_autoplaylists.insert( guid, m_stations.take( guid ) ); m_autoplaylists.insert( guid, m_stations.take( guid ) );
} }
namespace Tomahawk {
void Collection::loadPlaylists() {
qDebug() << Q_FUNC_INFO;
}
void Collection::loadAutoPlaylists() {
qDebug() << Q_FUNC_INFO;
}
void Collection::loadStations() {
qDebug() << Q_FUNC_INFO;
}
}

View File

@@ -27,23 +27,35 @@
#ifndef TOMAHAWK_COLLECTION_H #ifndef TOMAHAWK_COLLECTION_H
#define TOMAHAWK_COLLECTION_H #define TOMAHAWK_COLLECTION_H
#include <QHash>
#include <QList>
#include <QSharedPointer>
#include "Typedefs.h" // #include "Typedefs.h"
#include "Playlist.h" #include "dynplaylist_ptr.h"
#include "playlist/dynamic/DynamicPlaylist.h" #include "playlist_ptr.h"
#include "collection/ArtistsRequest.h" #include "artist_ptr.h"
#include "collection/AlbumsRequest.h" #include "album_ptr.h"
#include "collection/TracksRequest.h" #include "source_ptr.h"
// #include "Playlist.h"
// #include "playlist/dynamic/DynamicPlaylist.h"
// #include "collection/ArtistsRequest.h"
// #include "collection/AlbumsRequest.h"
// #include "collection/TracksRequest.h"
//
// #include <QHash>
// #include <QList>
// #include <QSharedPointer>
#include "DllMacro.h" #include "DllMacro.h"
class DatabaseCommand_SetDynamicPlaylistRevision;
class QIcon; class QIcon;
namespace Tomahawk namespace Tomahawk
{ {
class ArtistsRequest;
class AlbumsRequest;
class TracksRequest;
class DLLEXPORT Collection : public QObject class DLLEXPORT Collection : public QObject
{ {
@@ -69,9 +81,9 @@ public:
virtual QPixmap bigIcon() const; //for the ViewPage header virtual QPixmap bigIcon() const; //for the ViewPage header
virtual QString emptyText() const; virtual QString emptyText() const;
virtual void loadPlaylists() { qDebug() << Q_FUNC_INFO; } virtual void loadPlaylists();
virtual void loadAutoPlaylists() { qDebug() << Q_FUNC_INFO; } virtual void loadAutoPlaylists();
virtual void loadStations() { qDebug() << Q_FUNC_INFO; } virtual void loadStations();
virtual Tomahawk::playlist_ptr playlist( const QString& guid ); virtual Tomahawk::playlist_ptr playlist( const QString& guid );
virtual Tomahawk::dynplaylist_ptr autoPlaylist( const QString& guid ); virtual Tomahawk::dynplaylist_ptr autoPlaylist( const QString& guid );

View File

@@ -19,11 +19,13 @@
#ifndef TRACKSREQUEST_H #ifndef TRACKSREQUEST_H
#define TRACKSREQUEST_H #define TRACKSREQUEST_H
#include "Typedefs.h" // #include "Typedefs.h"
#include "DllMacro.h" #include "query_ptr.h"
#include <QList> #include <QList>
#include "DllMacro.h"
namespace Tomahawk namespace Tomahawk
{ {

View File

@@ -102,3 +102,9 @@ ContextProxyPage::sceneEvent( QEvent* event )
return QGraphicsWidget::sceneEvent( event ); return QGraphicsWidget::sceneEvent( event );
} }
namespace Tomahawk {
QPixmap ContextPage::pixmap() const {
return QPixmap( RESPATH "icons/tomahawk-icon-128x128.png" );
}
}

View File

@@ -19,18 +19,22 @@
#ifndef CONTEXTPAGE_H #ifndef CONTEXTPAGE_H
#define CONTEXTPAGE_H #define CONTEXTPAGE_H
//
// #include "Typedefs.h"
// #include "utils/TomahawkUtils.h"
#include <QGraphicsProxyWidget> // #include <QGraphicsProxyWidget>
#include <QGraphicsWebView> // #include <QGraphicsWebView>
#include <QStyleOptionGraphicsItem> // #include <QStyleOptionGraphicsItem>
#include "Typedefs.h" #include "playlistinterface_ptr.h"
#include "utils/TomahawkUtils.h" #include "artist_ptr.h"
#include "album_ptr.h"
#include "query_ptr.h"
#include "DllMacro.h" #include "DllMacro.h"
#include <signal.h>
class PlaylistInterface; #include <QGraphicsWidget>
namespace Tomahawk namespace Tomahawk
{ {
@@ -48,7 +52,7 @@ public:
virtual QString title() const = 0; virtual QString title() const = 0;
virtual QString description() const = 0; virtual QString description() const = 0;
virtual QPixmap pixmap() const { return QPixmap( RESPATH "icons/tomahawk-icon-128x128.png" ); } virtual QPixmap pixmap() const;
virtual bool jumpToCurrentTrack() = 0; virtual bool jumpToCurrentTrack() = 0;

View File

@@ -19,21 +19,22 @@
#include "ContextWidget.h" #include "ContextWidget.h"
#include "ui_ContextWidget.h" #include "ui_ContextWidget.h"
#include <QGraphicsProxyWidget>
#include <QGraphicsScene>
#include <QPropertyAnimation>
#include <QTimeLine>
#include "context/ContextPage.h" #include "context/ContextPage.h"
#include "context/pages/RelatedArtistsContext.h" #include "context/pages/RelatedArtistsContext.h"
#include "context/pages/TopTracksContext.h" #include "context/pages/TopTracksContext.h"
#include "context/pages/WikipediaContext.h" #include "context/pages/WikipediaContext.h"
#include "Source.h" #include "Source.h"
#include "Track.h"
#include "utils/TomahawkStyle.h" #include "utils/TomahawkStyle.h"
#include "utils/TomahawkUtilsGui.h" #include "utils/TomahawkUtilsGui.h"
#include <QGraphicsProxyWidget>
#include <QGraphicsScene>
#include <QPropertyAnimation>
#include <QTimeLine>
#define ANIMATION_TIME 450 #define ANIMATION_TIME 450
#define SLIDE_TIME 350 #define SLIDE_TIME 350

View File

@@ -19,11 +19,14 @@
#include "RelatedArtistsContext.h" #include "RelatedArtistsContext.h"
#include <QHeaderView>
#include "playlist/TreeView.h" #include "playlist/TreeView.h"
#include "playlist/TreeModel.h" #include "playlist/TreeModel.h"
#include "Source.h" #include "Source.h"
#include "Track.h"
#include <QHeaderView>
using namespace Tomahawk; using namespace Tomahawk;

View File

@@ -22,6 +22,7 @@
#include "playlist/PlaylistModel.h" #include "playlist/PlaylistModel.h"
#include "playlist/PlaylistView.h" #include "playlist/PlaylistView.h"
#include "Source.h" #include "Source.h"
#include "Track.h"
using namespace Tomahawk; using namespace Tomahawk;

View File

@@ -18,6 +18,7 @@
#include "WikipediaContext.h" #include "WikipediaContext.h"
#include "Source.h" #include "Source.h"
#include "Track.h"
using namespace Tomahawk; using namespace Tomahawk;

View File

@@ -30,6 +30,8 @@
#include "DatabaseCommand_LoadAllAutoPlaylists.h" #include "DatabaseCommand_LoadAllAutoPlaylists.h"
#include "DatabaseCommand_LoadAllStations.h" #include "DatabaseCommand_LoadAllStations.h"
#include "playlist/dynamic/DynamicPlaylist.h"
#include "utils/Logger.h" #include "utils/Logger.h"
using namespace Tomahawk; using namespace Tomahawk;

View File

@@ -30,11 +30,13 @@
#include "DatabaseCommand_SetDynamicPlaylistRevision.h" #include "DatabaseCommand_SetDynamicPlaylistRevision.h"
#include "DatabaseCommand_SocialAction.h" #include "DatabaseCommand_SocialAction.h"
#include "DatabaseCommand_ShareTrack.h" #include "DatabaseCommand_ShareTrack.h"
#include "utils/Logger.h"
#include "DatabaseCommand_SetCollectionAttributes.h" #include "DatabaseCommand_SetCollectionAttributes.h"
#include "DatabaseCommand_SetTrackAttributes.h" #include "DatabaseCommand_SetTrackAttributes.h"
#include "utils/Logger.h"
#include "utils/Uuid.h"
#include <boost/function.hpp>
DatabaseCommand::DatabaseCommand( QObject* parent ) DatabaseCommand::DatabaseCommand( QObject* parent )
: QObject( parent ) : QObject( parent )
@@ -198,3 +200,11 @@ DatabaseCommand::factory( const QVariant& op, const source_ptr& source )
// Q_ASSERT( false ); // Q_ASSERT( false );
return NULL; return NULL;
} }
QString DatabaseCommand::guid() const
{
if( m_guid.isEmpty() )
m_guid = ::uuid();
return m_guid;
}

View File

@@ -20,14 +20,17 @@
#ifndef DATABASECOMMAND_H #ifndef DATABASECOMMAND_H
#define DATABASECOMMAND_H #define DATABASECOMMAND_H
#include <QObject>
#include <QMetaType>
#include <QTime>
#include <QSqlQuery>
#include <QVariant>
#include "Typedefs.h"
#include "database/Op.h" // #include "Typedefs.h"
#include "source_ptr.h"
// #include "database/Op.h"
// #include <QObject>
// #include <QMetaType>
// #include <QTime>
// #include <QSqlQuery>
#include <QVariant>
#include "DllMacro.h" #include "DllMacro.h"
@@ -78,13 +81,7 @@ public:
virtual QVariant data() const { return m_data; } virtual QVariant data() const { return m_data; }
virtual void setData( const QVariant& data ) { m_data = data; } virtual void setData( const QVariant& data ) { m_data = data; }
QString guid() const QString guid() const;
{
if( m_guid.isEmpty() )
m_guid = uuid();
return m_guid;
}
void setGuid( const QString& g ) { m_guid = g; } void setGuid( const QString& g ) { m_guid = g; }
void emitFinished() { emit finished(); } void emitFinished() { emit finished(); }

Some files were not shown because too many files have changed in this diff Show More