1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-03-18 23:09:42 +01:00

WIP: headless

This commit is contained in:
Dominik Schmidt 2011-11-15 05:10:35 +01:00
parent 0569ee0f1a
commit f6078403e0
17 changed files with 338 additions and 290 deletions

View File

@ -22,7 +22,7 @@
#ifdef ENABLE_HEADLESS
#define TOMAHAWK_APPLICATION QCoreApplication
#include <QApplication>
#include <QCoreApplication>
#else

View File

@ -12,9 +12,166 @@ add_definitions( ${QT_DEFINITIONS} )
add_definitions( -DQT_SHARED )
add_definitions( -DDLLEXPORT_PRO )
set( libGuiSources
contextmenu.cpp
dropjob.cpp
globalactionmanager.cpp
viewpage.cpp
viewmanager.cpp
context/ContextPage.cpp
context/ContextWidget.cpp
context/pages/TopTracksContext.cpp
context/pages/RelatedArtistsContext.cpp
context/pages/WikipediaContext.cpp
context/pages/WebContext.cpp
jobview/JobStatusView.cpp
jobview/JobStatusModel.cpp
jobview/JobStatusDelegate.cpp
jobview/PipelineStatusItem.cpp
jobview/TransferStatusItem.cpp
jobview/LatchedStatusItem.cpp
infobar/infobar.cpp
infosystem/infosystemcache.cpp
infosystem/infosystem.cpp
infosystem/infosystemworker.cpp
infosystem/infoplugins/generic/echonestplugin.cpp
infosystem/infoplugins/generic/lastfmplugin.cpp
infosystem/infoplugins/generic/chartsplugin.cpp
infosystem/infoplugins/generic/spotifyPlugin.cpp
infosystem/infoplugins/generic/hypemPlugin.cpp
infosystem/infoplugins/generic/musixmatchplugin.cpp
infosystem/infoplugins/generic/musicbrainzPlugin.cpp
infosystem/infoplugins/generic/RoviPlugin.cpp
playlist/treemodel.cpp
playlist/treeproxymodel.cpp
playlist/treeheader.cpp
playlist/treeitemdelegate.cpp
playlist/collectionproxymodel.cpp
playlist/collectionflatmodel.cpp
playlist/collectionview.cpp
playlist/playlistmodel.cpp
playlist/playlistproxymodel.cpp
playlist/playlistview.cpp
playlist/playlistitemdelegate.cpp
playlist/queueproxymodel.cpp
playlist/queueview.cpp
playlist/trackmodel.cpp
playlist/trackmodelitem.cpp
playlist/trackproxymodel.cpp
playlist/trackview.cpp
playlist/trackheader.cpp
playlist/treemodelitem.cpp
playlist/albumitem.cpp
playlist/albummodel.cpp
playlist/albumproxymodel.cpp
playlist/albumitemdelegate.cpp
playlist/albumview.cpp
playlist/artistview.cpp
playlist/customplaylistview.cpp
playlist/ViewHeader.cpp
playlist/PlaylistUpdaterInterface.cpp
playlist/XspfUpdater.cpp
playlist/dynamic/DynamicPlaylist.cpp
playlist/dynamic/DynamicControl.cpp
playlist/dynamic/GeneratorFactory.cpp
playlist/dynamic/GeneratorInterface.cpp
playlist/dynamic/DynamicView.cpp
playlist/dynamic/DynamicModel.cpp
playlist/dynamic/DynamicPlaylistRevision.cpp
playlist/dynamic/echonest/EchonestGenerator.cpp
playlist/dynamic/echonest/EchonestControl.cpp
playlist/dynamic/echonest/EchonestSteerer.cpp
playlist/dynamic/widgets/DynamicWidget.cpp
playlist/dynamic/widgets/DynamicControlWrapper.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/LoadingSpinner.cpp
playlist/dynamic/database/DatabaseControl.cpp
playlist/dynamic/database/DatabaseGenerator.cpp
playlist/topbar/topbar.cpp
playlist/topbar/clearbutton.cpp
playlist/topbar/searchlineedit.cpp
playlist/topbar/lineedit.cpp
playlist/topbar/searchbutton.cpp
sip/SipModel.cpp
utils/widgetdragfilter.cpp
utils/xspfloader.cpp
utils/xspfgenerator.cpp
utils/jspfloader.cpp
utils/spotifyparser.cpp
utils/itunesparser.cpp
utils/rdioparser.cpp
utils/shortenedlinkparser.cpp
utils/stylehelper.cpp
utils/dropjobnotifier.cpp
utils/proxystyle.cpp
widgets/checkdirtree.cpp
widgets/querylabel.cpp
widgets/imagebutton.cpp
widgets/animatedsplitter.cpp
widgets/elidedlabel.cpp
widgets/newplaylistwidget.cpp
widgets/searchwidget.cpp
widgets/SeekSlider.cpp
widgets/playlisttypeselectordlg.cpp
widgets/welcomewidget.cpp
widgets/whatshotwidget.cpp
widgets/RecentlyPlayedPlaylistsModel.cpp
widgets/RecentPlaylistsModel.cpp
widgets/OverlayButton.cpp
widgets/overlaywidget.cpp
widgets/HeaderLabel.cpp
widgets/HeaderWidget.cpp
widgets/combobox.cpp
widgets/ToggleButton.cpp
widgets/SocialPlaylistWidget.cpp
widgets/infowidgets/sourceinfowidget.cpp
widgets/infowidgets/ArtistInfoWidget.cpp
widgets/infowidgets/AlbumInfoWidget.cpp
widgets/Breadcrumb.cpp
widgets/BreadcrumbButton.cpp
)
set( libGuiHeaders
contextmenu.h
dropjob.h
viewpage.h
viewmanager.h
globalactionmanager.h
context/ContextPage.h
context/ContextWidget.h
context/pages/TopTracksContext.h
context/pages/RelatedArtistsContext.h
context/pages/WikipediaContext.h
context/pages/WebContext.h
infobar/infobar.h
infosystem/infosystem.h
infosystem/infosystemworker.h
infosystem/infosystemcache.h
infosystem/infoplugins/generic/echonestplugin.h
infosystem/infoplugins/generic/lastfmplugin.h
infosystem/infoplugins/generic/chartsplugin.h
infosystem/infoplugins/generic/spotifyPlugin.h
infosystem/infoplugins/generic/hypemPlugin.h
infosystem/infoplugins/generic/musixmatchplugin.h
infosystem/infoplugins/generic/musicbrainzPlugin.h
infosystem/infoplugins/generic/RoviPlugin.h
playlist/topbar/topbar.h
playlist/topbar/clearbutton.h
@ -22,17 +179,106 @@ set( libGuiHeaders
playlist/topbar/lineedit.h
playlist/topbar/lineedit_p.h
playlist/topbar/searchbutton.h
)
set( libGuiSources
viewpage.cpp
viewmanager.cpp
playlist/treemodel.h
playlist/treeproxymodel.h
playlist/treeheader.h
playlist/treeitemdelegate.h
playlist/collectionproxymodel.h
playlist/collectionflatmodel.h
playlist/collectionview.h
playlist/playlistmodel.h
playlist/playlistproxymodel.h
playlist/playlistview.h
playlist/playlistitemdelegate.h
playlist/queueproxymodel.h
playlist/queueview.h
playlist/trackmodel.h
playlist/trackmodelitem.h
playlist/trackproxymodel.h
playlist/trackview.h
playlist/trackheader.h
playlist/treemodelitem.h
playlist/albumitem.h
playlist/albummodel.h
playlist/albumproxymodel.h
playlist/albumitemdelegate.h
playlist/albumview.h
playlist/artistview.h
playlist/customplaylistview.h
playlist/ViewHeader.h
playlist/PlaylistUpdaterInterface.h
playlist/XspfUpdater.h
playlist/dynamic/DynamicPlaylist.h
playlist/dynamic/DynamicControl.h
playlist/dynamic/GeneratorInterface.h
playlist/dynamic/DynamicView.h
playlist/dynamic/DynamicModel.h
playlist/dynamic/echonest/EchonestGenerator.h
playlist/dynamic/echonest/EchonestControl.h
playlist/dynamic/echonest/EchonestSteerer.h
playlist/dynamic/widgets/DynamicWidget.h
playlist/dynamic/widgets/DynamicControlWrapper.h
playlist/dynamic/widgets/DynamicControlList.h
playlist/dynamic/widgets/ReadOrWriteWidget.h
playlist/dynamic/widgets/MiscControlWidgets.h
playlist/dynamic/widgets/CollapsibleControls.h
playlist/dynamic/widgets/DynamicSetupWidget.h
playlist/dynamic/widgets/LoadingSpinner.h
playlist/dynamic/database/DatabaseControl.h
playlist/dynamic/database/DatabaseGenerator.h
sip/SipModel.h
utils/widgetdragfilter.h
utils/xspfloader.h
utils/xspfgenerator.h
utils/jspfloader.h
utils/spotifyparser.h
utils/itunesparser.h
utils/rdioparser.h
utils/shortenedlinkparser.h
utils/qnr_iodevicestream.h
utils/dropjobnotifier.h
widgets/checkdirtree.h
widgets/querylabel.h
widgets/animatedcounterlabel.h
widgets/imagebutton.h
widgets/animatedsplitter.h
widgets/elidedlabel.h
widgets/newplaylistwidget.h
widgets/searchwidget.h
widgets/SeekSlider.h
widgets/playlisttypeselectordlg.h
widgets/welcomewidget.h
widgets/whatshotwidget.h
widgets/RecentlyPlayedPlaylistsModel.h
widgets/RecentPlaylistsModel.h
widgets/OverlayButton.h
widgets/overlaywidget.h
widgets/HeaderLabel.h
widgets/HeaderWidget.h
widgets/combobox.h
widgets/ToggleButton.h
widgets/SocialPlaylistWidget.h
widgets/infowidgets/sourceinfowidget.h
widgets/infowidgets/ArtistInfoWidget.h
widgets/infowidgets/ArtistInfoWidget_p.h
widgets/infowidgets/AlbumInfoWidget.h
widgets/Breadcrumb.h
widgets/BreadcrumbButton.h
jobview/JobStatusView.h
jobview/JobStatusModel.h
jobview/JobStatusDelegate.h
jobview/JobStatusItem.h
jobview/PipelineStatusItem.h
jobview/TransferStatusItem.h
jobview/LatchedStatusItem.h
thirdparty/Qocoa/qsearchfield.h
playlist/topbar/topbar.cpp
playlist/topbar/clearbutton.cpp
playlist/topbar/searchlineedit.cpp
playlist/topbar/lineedit.cpp
playlist/topbar/searchbutton.cpp
)
set( libSources
@ -51,9 +297,6 @@ set( libSources
result.cpp
source.cpp
sourceplaylistinterface.cpp
globalactionmanager.cpp
contextmenu.cpp
dropjob.cpp
playlistinterface.cpp
LatchManager.cpp
@ -61,17 +304,10 @@ set( libSources
sip/SipPlugin.cpp
sip/SipHandler.cpp
sip/SipModel.cpp
sip/sipinfo.cpp
audio/audioengine.cpp
context/ContextPage.cpp
context/ContextWidget.cpp
context/pages/TopTracksContext.cpp
context/pages/RelatedArtistsContext.cpp
context/pages/WikipediaContext.cpp
context/pages/WebContext.cpp
database/database.cpp
database/fuzzyindex.cpp
@ -125,72 +361,6 @@ set( libSources
database/databasecommand_settrackattributes.cpp
database/database.cpp
infobar/infobar.cpp
infosystem/infosystemcache.cpp
infosystem/infosystem.cpp
infosystem/infosystemworker.cpp
infosystem/infoplugins/generic/echonestplugin.cpp
infosystem/infoplugins/generic/lastfmplugin.cpp
infosystem/infoplugins/generic/chartsplugin.cpp
infosystem/infoplugins/generic/spotifyPlugin.cpp
infosystem/infoplugins/generic/hypemPlugin.cpp
infosystem/infoplugins/generic/musixmatchplugin.cpp
infosystem/infoplugins/generic/musicbrainzPlugin.cpp
infosystem/infoplugins/generic/RoviPlugin.cpp
playlist/treemodel.cpp
playlist/treeproxymodel.cpp
playlist/treeheader.cpp
playlist/treeitemdelegate.cpp
playlist/collectionproxymodel.cpp
playlist/collectionflatmodel.cpp
playlist/collectionview.cpp
playlist/playlistmodel.cpp
playlist/playlistproxymodel.cpp
playlist/playlistview.cpp
playlist/playlistitemdelegate.cpp
playlist/queueproxymodel.cpp
playlist/queueview.cpp
playlist/trackmodel.cpp
playlist/trackmodelitem.cpp
playlist/trackproxymodel.cpp
playlist/trackview.cpp
playlist/trackheader.cpp
playlist/treemodelitem.cpp
playlist/albumitem.cpp
playlist/albummodel.cpp
playlist/albumproxymodel.cpp
playlist/albumitemdelegate.cpp
playlist/albumview.cpp
playlist/artistview.cpp
playlist/customplaylistview.cpp
playlist/ViewHeader.cpp
playlist/PlaylistUpdaterInterface.cpp
playlist/XspfUpdater.cpp
playlist/dynamic/DynamicPlaylist.cpp
playlist/dynamic/DynamicControl.cpp
playlist/dynamic/GeneratorFactory.cpp
playlist/dynamic/GeneratorInterface.cpp
playlist/dynamic/DynamicView.cpp
playlist/dynamic/DynamicModel.cpp
playlist/dynamic/DynamicPlaylistRevision.cpp
playlist/dynamic/echonest/EchonestGenerator.cpp
playlist/dynamic/echonest/EchonestControl.cpp
playlist/dynamic/echonest/EchonestSteerer.cpp
playlist/dynamic/widgets/DynamicWidget.cpp
playlist/dynamic/widgets/DynamicControlWrapper.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/LoadingSpinner.cpp
playlist/dynamic/database/DatabaseControl.cpp
playlist/dynamic/database/DatabaseGenerator.cpp
resolvers/scriptresolver.cpp
resolvers/qtscriptresolver.cpp
@ -206,51 +376,7 @@ set( libSources
utils/tomahawkutils.cpp
utils/logger.cpp
utils/proxystyle.cpp
utils/widgetdragfilter.cpp
utils/xspfloader.cpp
utils/xspfgenerator.cpp
utils/jspfloader.cpp
utils/spotifyparser.cpp
utils/itunesparser.cpp
utils/rdioparser.cpp
utils/shortenedlinkparser.cpp
utils/stylehelper.cpp
utils/qnr_iodevicestream.cpp
utils/dropjobnotifier.cpp
widgets/checkdirtree.cpp
widgets/querylabel.cpp
widgets/imagebutton.cpp
widgets/animatedsplitter.cpp
widgets/elidedlabel.cpp
widgets/newplaylistwidget.cpp
widgets/searchwidget.cpp
widgets/SeekSlider.cpp
widgets/playlisttypeselectordlg.cpp
widgets/welcomewidget.cpp
widgets/whatshotwidget.cpp
widgets/RecentlyPlayedPlaylistsModel.cpp
widgets/RecentPlaylistsModel.cpp
widgets/OverlayButton.cpp
widgets/overlaywidget.cpp
widgets/HeaderLabel.cpp
widgets/HeaderWidget.cpp
widgets/combobox.cpp
widgets/ToggleButton.cpp
widgets/SocialPlaylistWidget.cpp
widgets/infowidgets/sourceinfowidget.cpp
widgets/infowidgets/ArtistInfoWidget.cpp
widgets/infowidgets/AlbumInfoWidget.cpp
widgets/Breadcrumb.cpp
widgets/BreadcrumbButton.cpp
jobview/JobStatusView.cpp
jobview/JobStatusModel.cpp
jobview/JobStatusDelegate.cpp
jobview/PipelineStatusItem.cpp
jobview/TransferStatusItem.cpp
jobview/LatchedStatusItem.cpp
thirdparty/kdsingleapplicationguard/kdsingleapplicationguard.cpp
thirdparty/kdsingleapplicationguard/kdsharedmemorylocker.cpp
@ -273,8 +399,6 @@ set( libHeaders
source.h
sourceplaylistinterface.h
globalactionmanager.h
contextmenu.h
dropjob.h
LatchManager.h
artist.h
@ -285,18 +409,10 @@ set( libHeaders
sip/SipPlugin.h
sip/SipHandler.h
sip/SipModel.h
sip/sipinfo.h
audio/audioengine.h
context/ContextPage.h
context/ContextWidget.h
context/pages/TopTracksContext.h
context/pages/RelatedArtistsContext.h
context/pages/WikipediaContext.h
context/pages/WebContext.h
database/database.h
database/fuzzyindex.h
database/databaseworker.h
@ -348,20 +464,6 @@ set( libHeaders
database/databasecommand_trackattributes.h
database/databasecommand_settrackattributes.h
infobar/infobar.h
infosystem/infosystem.h
infosystem/infosystemworker.h
infosystem/infosystemcache.h
infosystem/infoplugins/generic/echonestplugin.h
infosystem/infoplugins/generic/lastfmplugin.h
infosystem/infoplugins/generic/chartsplugin.h
infosystem/infoplugins/generic/spotifyPlugin.h
infosystem/infoplugins/generic/hypemPlugin.h
infosystem/infoplugins/generic/musixmatchplugin.h
infosystem/infoplugins/generic/musicbrainzPlugin.h
infosystem/infoplugins/generic/RoviPlugin.h
network/bufferiodevice.h
network/msgprocessor.h
network/remotecollection.h
@ -372,107 +474,10 @@ set( libHeaders
network/controlconnection.h
network/portfwdthread.h
playlist/treemodel.h
playlist/treeproxymodel.h
playlist/treeheader.h
playlist/treeitemdelegate.h
playlist/collectionproxymodel.h
playlist/collectionflatmodel.h
playlist/collectionview.h
playlist/playlistmodel.h
playlist/playlistproxymodel.h
playlist/playlistview.h
playlist/playlistitemdelegate.h
playlist/queueproxymodel.h
playlist/queueview.h
playlist/trackmodel.h
playlist/trackmodelitem.h
playlist/trackproxymodel.h
playlist/trackview.h
playlist/trackheader.h
playlist/treemodelitem.h
playlist/albumitem.h
playlist/albummodel.h
playlist/albumproxymodel.h
playlist/albumitemdelegate.h
playlist/albumview.h
playlist/artistview.h
playlist/customplaylistview.h
playlist/ViewHeader.h
playlist/PlaylistUpdaterInterface.h
playlist/XspfUpdater.h
playlist/dynamic/DynamicPlaylist.h
playlist/dynamic/DynamicControl.h
playlist/dynamic/GeneratorInterface.h
playlist/dynamic/DynamicView.h
playlist/dynamic/DynamicModel.h
playlist/dynamic/echonest/EchonestGenerator.h
playlist/dynamic/echonest/EchonestControl.h
playlist/dynamic/echonest/EchonestSteerer.h
playlist/dynamic/widgets/DynamicWidget.h
playlist/dynamic/widgets/DynamicControlWrapper.h
playlist/dynamic/widgets/DynamicControlList.h
playlist/dynamic/widgets/ReadOrWriteWidget.h
playlist/dynamic/widgets/MiscControlWidgets.h
playlist/dynamic/widgets/CollapsibleControls.h
playlist/dynamic/widgets/DynamicSetupWidget.h
playlist/dynamic/widgets/LoadingSpinner.h
playlist/dynamic/database/DatabaseControl.h
playlist/dynamic/database/DatabaseGenerator.h
resolvers/scriptresolver.h
resolvers/qtscriptresolver.h
utils/widgetdragfilter.h
utils/xspfloader.h
utils/xspfgenerator.h
utils/jspfloader.h
utils/spotifyparser.h
utils/itunesparser.h
utils/rdioparser.h
utils/shortenedlinkparser.h
utils/qnr_iodevicestream.h
utils/dropjobnotifier.h
widgets/checkdirtree.h
widgets/querylabel.h
widgets/animatedcounterlabel.h
widgets/imagebutton.h
widgets/animatedsplitter.h
widgets/elidedlabel.h
widgets/newplaylistwidget.h
widgets/searchwidget.h
widgets/SeekSlider.h
widgets/playlisttypeselectordlg.h
widgets/welcomewidget.h
widgets/whatshotwidget.h
widgets/RecentlyPlayedPlaylistsModel.h
widgets/RecentPlaylistsModel.h
widgets/OverlayButton.h
widgets/overlaywidget.h
widgets/HeaderLabel.h
widgets/HeaderWidget.h
widgets/combobox.h
widgets/ToggleButton.h
widgets/SocialPlaylistWidget.h
widgets/infowidgets/sourceinfowidget.h
widgets/infowidgets/ArtistInfoWidget.h
widgets/infowidgets/ArtistInfoWidget_p.h
widgets/infowidgets/AlbumInfoWidget.h
widgets/Breadcrumb.h
widgets/BreadcrumbButton.h
jobview/JobStatusView.h
jobview/JobStatusModel.h
jobview/JobStatusDelegate.h
jobview/JobStatusItem.h
jobview/PipelineStatusItem.h
jobview/TransferStatusItem.h
jobview/LatchedStatusItem.h
thirdparty/kdsingleapplicationguard/kdsingleapplicationguard.h
thirdparty/Qocoa/qsearchfield.h
)
set( libHeaders_NoMOC
@ -528,14 +533,14 @@ IF(LIBATTICA_FOUND)
ENDIF(LIBATTICA_FOUND)
IF( UNIX AND NOT APPLE )
SET( libSources ${libSources}
SET( libGuiSources ${libGuiSources}
infosystem/infoplugins/unix/mprispluginrootadaptor.cpp
infosystem/infoplugins/unix/mprispluginplayeradaptor.cpp
infosystem/infoplugins/unix/mprisplugin.cpp
infosystem/infoplugins/unix/fdonotifyplugin.cpp
infosystem/infoplugins/unix/imageconverter.cpp )
SET( libHeaders ${libHeaders}
SET( libGuiHeaders ${libGuiHeaders}
infosystem/infoplugins/unix/mprispluginrootadaptor.h
infosystem/infoplugins/unix/mprispluginplayeradaptor.h
infosystem/infoplugins/unix/mprisplugin.h
@ -589,7 +594,7 @@ IF( APPLE )
/System/Library/Frameworks/AppKit.framework
)
ELSE( APPLE )
SET( libSources ${libSources} thirdparty/Qocoa/qsearchfield.cpp )
SET( libGuiSources ${libGuiSources} thirdparty/Qocoa/qsearchfield.cpp )
ENDIF( APPLE )
IF(LIBLASTFM_FOUND)
@ -606,7 +611,7 @@ qt4_wrap_cpp( libMoc ${libHeaders} ${libGuiHeaders} )
SET( libSources ${libSources} ${libUI_H} ${libHeaders_NoMOC} )
ADD_LIBRARY( tomahawklib SHARED ${libGuiSources} ${libSources} ${libMoc} )
ADD_LIBRARY( tomahawklib SHARED ${libSources} ${libMoc} )
IF(QCA2_FOUND)
SET(LINK_LIBRARIES ${LINK_LIBRARIES} ${QCA2_LIBRARIES} )

View File

@ -28,10 +28,13 @@
#include "dynamic/GeneratorInterface.h"
#include "source.h"
#include "viewmanager.h"
#include "network/servent.h"
#include "utils/logger.h"
#ifndef ENABLE_HEADLESS
#include "viewmanager.h"
#endif
using namespace Tomahawk;
@ -111,11 +114,13 @@ DatabaseCommand_CreateDynamicPlaylist::postCommitHook()
qDebug() << Q_FUNC_INFO << "..reporting..";
if( m_playlist.isNull() ) {
source_ptr src = source();
#ifndef ENABLE_HEADLESS
QMetaObject::invokeMethod( ViewManager::instance(),
"createDynamicPlaylist",
Qt::BlockingQueuedConnection,
QGenericArgument( "Tomahawk::source_ptr", (const void*)&src ),
Q_ARG( QVariant, m_v ) );
#endif
} else {
m_playlist->reportCreated( m_playlist );
}

View File

@ -21,12 +21,15 @@
#include <QSqlQuery>
#include "source.h"
#include "viewmanager.h"
#include "databaseimpl.h"
#include "tomahawksqlquery.h"
#include "network/servent.h"
#include "utils/logger.h"
#ifndef ENABLE_HEADLESS
#include "viewmanager.h"
#endif
using namespace Tomahawk;
@ -79,11 +82,13 @@ DatabaseCommand_CreatePlaylist::postCommitHook()
if ( m_playlist.isNull() )
{
source_ptr src = source();
#ifndef ENABLE_HEADLESS
QMetaObject::invokeMethod( ViewManager::instance(),
"createPlaylist",
Qt::BlockingQueuedConnection,
QGenericArgument( "Tomahawk::source_ptr", (const void*)&src ),
Q_ARG( QVariant, m_v ) );
#endif
}
else
{

View File

@ -21,10 +21,13 @@
#include "localcollection.h"
#include "sourcelist.h"
#include "viewmanager.h"
#include <tomahawksettings.h>
#include "utils/logger.h"
#ifndef ENABLE_HEADLESS
#include "viewmanager.h"
#endif
LocalCollection::LocalCollection( const Tomahawk::source_ptr& source, QObject* parent )
: DatabaseCollection( source, parent )
@ -49,10 +52,12 @@ LocalCollection::createBookmarksPlaylist()
if( bookmarksPlaylist().isNull() ) {
QString guid = uuid();
Tomahawk::playlist_ptr p = Tomahawk::Playlist::create( SourceList::instance()->getLocal(), guid, tr( "Bookmarks" ), tr( "Saved tracks" ), QString(), false );
#ifndef ENABLE_HEADLESS
ViewManager::instance()->createPageForPlaylist( p );
// connect( p.data(), SIGNAL( revisionLoaded( Tomahawk::PlaylistRevision ) ), this, SLOT( loaded( Tomahawk::PlaylistRevision ) ), Qt::QueuedConnection );
connect( p.data(), SIGNAL( created() ), this, SLOT( created() ) );
#endif
TomahawkSettings::instance()->setBookmarkPlaylist( guid );
// p->createNewRevision( uuid(), p->currentrevision(), QList< Tomahawk::plentry_ptr >() );
}

View File

@ -130,11 +130,13 @@ ControlConnection::registerSource()
Q_UNUSED( source )
Q_ASSERT( source == m_source.data() );
#ifndef ENABLE_HEADLESS
// qDebug() << Q_FUNC_INFO << "Setting avatar ... " << name() << !SipHandler::instance()->avatar( name() ).isNull();
if( !SipHandler::instance()->avatar( name() ).isNull() )
{
source->setAvatar( SipHandler::instance()->avatar( name() ) );
}
#endif
m_registered = true;
m_servent->registerControlConnection( this );

View File

@ -18,7 +18,8 @@
#include "portfwdthread.h"
#include <QApplication>
#include "headlesscheck.h"
#include <QNetworkInterface>
#include <QStringList>
#include <QTime>

View File

@ -26,8 +26,11 @@
#include <QNetworkProxy>
#include <QNetworkRequest>
#include <QNetworkReply>
#include <QPushButton>
#include <QMessageBox>
#ifndef ENABLE_HEADLESS
#include <QPushButton>
#include <QMessageBox>
#endif
#include "result.h"
#include "source.h"
@ -684,7 +687,7 @@ Servent::checkACL( const Connection* conn, const QString &nodeid, bool showDialo
if( peerStatus == ACLSystem::Deny )
return false;
#ifndef TOMAHAWK_HEADLESS
#ifndef ENABLE_HEADLESS
//FIXME: Actually enable it when it makes sense
return true;
if( peerStatus == ACLSystem::NotFound )

View File

@ -31,7 +31,10 @@
#include <network/servent.h>
#include <QNetworkRequest>
#include <QNetworkReply>
#include <QMessageBox>
#ifndef ENABLE_HEADLESS
#include <QMessageBox>
#endif
// FIXME: bloody hack, remove this for 0.3
// this one adds new functionality to old resolvers
@ -191,9 +194,11 @@ ScriptEngine::javaScriptConsoleMessage( const QString& message, int lineNumber,
tLog() << "JAVASCRIPT:" << m_scriptPath << message << lineNumber << sourceID;
/// I guess there is somereason for a assert in here, maybe fatal js errors, but
/// undefined is not so fatal
#ifndef ENABLE_HEADLESS
#ifdef QT_DEBUG
QMessageBox::critical( 0, "Script Resolver Error", QString( "%1 %2 %3 %4" ).arg( m_scriptPath ).arg( message ).arg( lineNumber ).arg( sourceID ) );
#endif
#endif
}

View File

@ -22,7 +22,10 @@
#include <QCoreApplication>
#include <QDir>
#include <QPluginLoader>
#include <QMessageBox>
#ifndef ENABLE_HEADLESS
#include <QMessageBox>
#endif
#include "functimeout.h"
@ -68,6 +71,7 @@ SipHandler::~SipHandler()
}
#ifndef ENABLE_HEADLESS
const QPixmap
SipHandler::avatar( const QString& name ) const
{
@ -84,7 +88,7 @@ SipHandler::avatar( const QString& name ) const
return QPixmap();
}
}
#endif
const SipInfo
SipHandler::sipInfo(const QString& peerId) const
@ -373,7 +377,7 @@ SipHandler::enablePlugin( SipPlugin* p )
void
SipHandler::connectPlugin( bool startup, const QString &pluginId )
{
#ifndef TOMAHAWK_HEADLESS
#ifndef ENABLE_HEADLESS
if ( !TomahawkSettings::instance()->acceptedLegalWarning() )
{
int result = QMessageBox::question(
@ -599,7 +603,7 @@ SipHandler::onStateChanged( SipPlugin::ConnectionState state )
emit stateChanged( sip, state );
}
#ifndef ENABLE_HEADLESS
void
SipHandler::onAvatarReceived( const QString& from, const QPixmap& avatar )
{
@ -644,6 +648,7 @@ SipHandler::onAvatarReceived( const QPixmap& avatar )
// qDebug() << Q_FUNC_INFO << "Set own avatar on MyCollection";
SourceList::instance()->getLocal()->setAvatar( avatar );
}
#endif
QString

View File

@ -53,7 +53,10 @@ public:
bool hasPluginType( const QString& factoryId ) const;
SipPluginFactory* factoryFromPlugin( SipPlugin* p ) const;
#ifndef ENABLE_HEADLESS
const QPixmap avatar( const QString& name ) const;
#endif
//TODO: implement a proper SipInfo class and maybe attach it to the source
const SipInfo sipInfo( const QString& peerId ) const;
const QString versionString( const QString& peerId ) const;
@ -101,11 +104,13 @@ private slots:
void onSettingsChanged();
#ifndef ENABLE_HEADLESS
// set data for local source
void onAvatarReceived( const QPixmap& avatar );
// set data for other sources
void onAvatarReceived( const QString& from, const QPixmap& avatar );
#endif
private:
static SipHandler *s_instance;
@ -126,8 +131,10 @@ private:
//TODO: move this to source
QHash<QString, SipInfo> m_peersSipInfos;
QHash<QString, QPixmap> m_usernameAvatars;
QHash<QString, QString> m_peersSoftwareVersions;
#ifndef ENABLE_HEADLESS
QHash<QString, QPixmap> m_usernameAvatars;
#endif
};
#endif

View File

@ -52,6 +52,7 @@ SipPlugin::pluginId() const
}
#ifndef ENABLE_HEADLESS
QMenu*
SipPlugin::menu()
{
@ -66,18 +67,19 @@ SipPlugin::configWidget()
}
QString
SipPlugin::errorMessage() const
{
return m_cachedError;
}
QIcon
SipPlugin::icon() const
{
return QIcon();
}
#endif
QString
SipPlugin::errorMessage() const
{
return m_cachedError;
}
const QStringList

View File

@ -83,9 +83,9 @@ public:
#ifndef ENABLE_HEADLESS
virtual QMenu* menu();
virtual QWidget* configWidget();
virtual QIcon icon() const;
#endif
virtual void saveConfig() {} // called when the widget has been edited
virtual QIcon icon() const;
// peer infos
virtual const QStringList peersOnline() const;
@ -113,13 +113,13 @@ signals:
void sipInfoReceived( const QString& peerId, const SipInfo& info );
void softwareVersionReceived( const QString& peerId, const QString& versionString );
#ifndef ENABLE_HEADLESS
// new data for own source
void avatarReceived ( const QPixmap& avatar );
// new data for other sources;
void avatarReceived ( const QString& from, const QPixmap& avatar);
#ifndef ENABLE_HEADLESS
void addMenu( QMenu* menu );
void removeMenu( QMenu* menu );
#endif

View File

@ -115,7 +115,7 @@ Source::friendlyName() const
return m_friendlyname;
}
#ifndef ENABLE_HEADLESS
void
Source::setAvatar( const QPixmap& avatar )
{
@ -137,7 +137,7 @@ Source::avatar( AvatarStyle style ) const
else
return QPixmap();
}
#endif
void
Source::setFriendlyName( const QString& fname )

View File

@ -61,8 +61,10 @@ public:
QString friendlyName() const;
void setFriendlyName( const QString& fname );
#ifndef ENABLE_HEADLESS
void setAvatar( const QPixmap& avatar );
QPixmap avatar( AvatarStyle style = Original ) const;
#endif
collection_ptr collection() const;
void addCollection( const Tomahawk::collection_ptr& c );

View File

@ -43,7 +43,7 @@
#include <sys/sysctl.h>
#endif
#ifndef TOMAHAWK_HEADLESS
#ifndef ENABLE_HEADLESS
#include <QtGui/QApplication>
#include <QtGui/QWidget>
@ -446,6 +446,7 @@ drawBackgroundAndNumbers( QPainter* painter, const QString& text, const QRect& f
painter->drawText( figRect.adjusted( -5, 0, 6, 0 ), text, to );
}
#ifndef ENABLE_HEADLESS
void
drawQueryBackground( QPainter* p, const QPalette& palette, const QRect& r, qreal lightnessFactor )
{
@ -469,6 +470,7 @@ unmarginLayout( QLayout* layout )
unmarginLayout( childLayout );
}
}
#endif
NetworkProxyFactory::NetworkProxyFactory( const NetworkProxyFactory& other )
@ -637,7 +639,7 @@ nam()
s_threadNamHash[ QThread::currentThread() ] = newNam;
tDebug( LOGEXTRA ) << "created new nam for thread " << QThread::currentThread();
return newNam;
}
@ -680,8 +682,7 @@ setNam( QNetworkAccessManager* nam, bool noMutexLocker )
}
#ifndef TOMAHAWK_HEADLESS
#ifndef ENABLE_HEADLESS
QWidget*
tomahawkWindow()
{

View File

@ -93,8 +93,14 @@ namespace TomahawkUtils
DLLEXPORT QPixmap createDragPixmap( MediaType type, int itemCount = 1 );
DLLEXPORT void drawBackgroundAndNumbers( QPainter* p, const QString& text, const QRect& rect );
#ifndef ENABLE_HEADLESS
DLLEXPORT void drawQueryBackground( QPainter* p, const QPalette& palette, const QRect& r, qreal lightnessFactor = 1 );
DLLEXPORT QWidget* tomahawkWindow();
/// Platform-specific bringing tomahawk mainwindow to front, b/c qt's activate() and such don't seem to work well enough for us
DLLEXPORT void bringToFront();
DLLEXPORT QPixmap createAvatarFrame( const QPixmap &avatar );
#endif
DLLEXPORT void unmarginLayout( QLayout* layout );
DLLEXPORT NetworkProxyFactory* proxyFactory( bool noMutexLocker = false );
@ -103,12 +109,6 @@ namespace TomahawkUtils
DLLEXPORT void setProxyFactory( TomahawkUtils::NetworkProxyFactory* factory, bool noMutexLocker = false );
DLLEXPORT void setNam( QNetworkAccessManager* nam, bool noMutexLocker = false );
DLLEXPORT QWidget* tomahawkWindow();
/// Platform-specific bringing tomahawk mainwindow to front, b/c qt's activate() and such don't seem to work well enough for us
DLLEXPORT void bringToFront();
DLLEXPORT QPixmap createAvatarFrame( const QPixmap &avatar );
DLLEXPORT void crash();
DLLEXPORT int headerHeight();