mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-08-14 01:54:07 +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.";
|
||||
|
||||
#ifndef ENABLE_HEADLESS
|
||||
JobStatusView* jobStatusView = JobStatusView::instance();
|
||||
if ( jobStatusView != NULL )
|
||||
jobStatusView->model()->addJob( m_statusJob.data() );
|
||||
#endif
|
||||
JobStatusView::addJob( m_statusJob );
|
||||
}
|
||||
|
||||
|
||||
@@ -55,10 +51,10 @@ DatabaseCommand_UpdateSearchIndex::~DatabaseCommand_UpdateSearchIndex()
|
||||
{
|
||||
tDebug() << Q_FUNC_INFO;
|
||||
|
||||
#ifndef ENABLE_HEADLESS
|
||||
if ( ! m_statusJob.isNull() )
|
||||
{
|
||||
m_statusJob.data()->done();
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@@ -42,11 +42,41 @@ using namespace Tomahawk;
|
||||
|
||||
|
||||
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 )
|
||||
: AnimatedWidget( parent )
|
||||
, m_parent( parent )
|
||||
, m_cachedHeight( -1 )
|
||||
, m_model( 0 )
|
||||
{
|
||||
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( customDelegateJobRemoved( int ) ), this, SLOT( customDelegateJobRemoved( int ) ) );
|
||||
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;
|
||||
}
|
||||
|
||||
static void addJob( JobStatusItem* item );
|
||||
static void addJob( const QPointer<JobStatusItem>& item );
|
||||
|
||||
explicit JobStatusView( AnimatedSplitter* parent );
|
||||
virtual ~JobStatusView()
|
||||
{
|
||||
|
Reference in New Issue
Block a user