mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-08-16 11:04:01 +02:00
Queue JobStatusItems if no JobStatusView is yet instantiated.
This commit is contained in:
@@ -43,11 +43,7 @@ DatabaseCommand_UpdateSearchIndex::DatabaseCommand_UpdateSearchIndex()
|
|||||||
{
|
{
|
||||||
tLog() << Q_FUNC_INFO << "Updating index.";
|
tLog() << Q_FUNC_INFO << "Updating index.";
|
||||||
|
|
||||||
#ifndef ENABLE_HEADLESS
|
JobStatusView::addJob( m_statusJob );
|
||||||
JobStatusView* jobStatusView = JobStatusView::instance();
|
|
||||||
if ( jobStatusView != NULL )
|
|
||||||
jobStatusView->model()->addJob( m_statusJob.data() );
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -55,10 +51,10 @@ DatabaseCommand_UpdateSearchIndex::~DatabaseCommand_UpdateSearchIndex()
|
|||||||
{
|
{
|
||||||
tDebug() << Q_FUNC_INFO;
|
tDebug() << Q_FUNC_INFO;
|
||||||
|
|
||||||
#ifndef ENABLE_HEADLESS
|
|
||||||
if ( ! m_statusJob.isNull() )
|
if ( ! m_statusJob.isNull() )
|
||||||
|
{
|
||||||
m_statusJob.data()->done();
|
m_statusJob.data()->done();
|
||||||
#endif
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -42,11 +42,41 @@ using namespace Tomahawk;
|
|||||||
|
|
||||||
|
|
||||||
JobStatusView* JobStatusView::s_instance = 0;
|
JobStatusView* JobStatusView::s_instance = 0;
|
||||||
|
QList< QPointer< JobStatusItem > > s_jobItems;
|
||||||
|
|
||||||
|
void
|
||||||
|
JobStatusView::addJob( JobStatusItem* item )
|
||||||
|
{
|
||||||
|
if ( s_instance == 0 || s_instance->model() == 0 )
|
||||||
|
{
|
||||||
|
s_jobItems.append( QPointer<JobStatusItem>( item ) );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
s_instance->model()->addJob( item );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
JobStatusView::addJob( const QPointer<JobStatusItem>& item )
|
||||||
|
{
|
||||||
|
if ( s_instance == 0 || s_instance->model() == 0 )
|
||||||
|
{
|
||||||
|
s_jobItems.append( item );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
s_instance->model()->addJob( item.data() );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
JobStatusView::JobStatusView( AnimatedSplitter* parent )
|
JobStatusView::JobStatusView( AnimatedSplitter* parent )
|
||||||
: AnimatedWidget( parent )
|
: AnimatedWidget( parent )
|
||||||
, m_parent( parent )
|
, m_parent( parent )
|
||||||
, m_cachedHeight( -1 )
|
, m_cachedHeight( -1 )
|
||||||
|
, m_model( 0 )
|
||||||
{
|
{
|
||||||
s_instance = this;
|
s_instance = this;
|
||||||
|
|
||||||
@@ -89,6 +119,15 @@ JobStatusView::setModel( JobStatusSortModel* m )
|
|||||||
connect( m_view->model(), SIGNAL( customDelegateJobInserted( int, JobStatusItem* ) ), this, SLOT( customDelegateJobInserted( int, JobStatusItem* ) ) );
|
connect( m_view->model(), SIGNAL( customDelegateJobInserted( int, JobStatusItem* ) ), this, SLOT( customDelegateJobInserted( int, JobStatusItem* ) ) );
|
||||||
connect( m_view->model(), SIGNAL( customDelegateJobRemoved( int ) ), this, SLOT( customDelegateJobRemoved( int ) ) );
|
connect( m_view->model(), SIGNAL( customDelegateJobRemoved( int ) ), this, SLOT( customDelegateJobRemoved( int ) ) );
|
||||||
connect( m_view->model(), SIGNAL( refreshDelegates() ), this, SLOT( refreshDelegates() ) );
|
connect( m_view->model(), SIGNAL( refreshDelegates() ), this, SLOT( refreshDelegates() ) );
|
||||||
|
|
||||||
|
foreach ( const QPointer<JobStatusItem> item, s_jobItems )
|
||||||
|
{
|
||||||
|
if ( !item.isNull() )
|
||||||
|
{
|
||||||
|
m_model->addJob( item.data() );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
s_jobItems.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -40,6 +40,9 @@ public:
|
|||||||
return s_instance;
|
return s_instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void addJob( JobStatusItem* item );
|
||||||
|
static void addJob( const QPointer<JobStatusItem>& item );
|
||||||
|
|
||||||
explicit JobStatusView( AnimatedSplitter* parent );
|
explicit JobStatusView( AnimatedSplitter* parent );
|
||||||
virtual ~JobStatusView()
|
virtual ~JobStatusView()
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user