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

* Update result and file properly when MetadataEditor writes its data.

This commit is contained in:
Christian Muehlhaeuser 2012-11-16 07:16:09 +01:00
parent 7c39357c28
commit 739eac30eb
3 changed files with 21 additions and 15 deletions

@ -89,20 +89,21 @@ MetadataEditor::writeMetadata( bool closeDlg )
}
Tomahawk::artist_ptr newArtist = Tomahawk::Artist::get( artist(), true );
if ( artist() != m_result->artist()->name() )
if ( newArtist != m_result->artist() )
{
tag->setArtist( artist() );
m_result->setArtist( newArtist );
}
if ( album() != m_result->album()->name() )
Tomahawk::album_ptr newAlbum = Tomahawk::Album::get( newArtist, album(), true );
if ( newAlbum != m_result->album() )
{
tag->setAlbum( album() );
m_result->setAlbum( Tomahawk::Album::get( newArtist, album(), true ) );
m_result->setAlbum( newAlbum );
}
tag->setTrack( discnumber() );
m_result->setDiscNumber( discnumber() );
tag->setTrack( albumPos() );
m_result->setAlbumPos( albumPos() );
if ( year() != m_result->year() )
{
@ -113,9 +114,13 @@ MetadataEditor::writeMetadata( bool closeDlg )
f.save();
m_editFiles.append( fileName );
m_result->doneEditing();
tDebug() << Q_FUNC_INFO << m_result->toString();
tDebug() << Q_FUNC_INFO << m_result->toQuery()->toString();
if ( closeDlg ) {
ScanManager::instance()->runFileScan( m_editFiles );
if ( closeDlg )
{
ScanManager::instance()->runFileScan( m_editFiles, false );
close();
}
}
@ -131,7 +136,7 @@ MetadataEditor::loadResult( const Tomahawk::result_ptr& result )
setTitle( result->track() );
setArtist( result->artist()->name() );
setAlbum( result->album()->name() );
setDiscNumber( result->albumpos() );
setAlbumPos( result->albumpos() );
setDuration( result->duration() );
setYear( result->year() );
setBitrate( result->bitrate() );
@ -144,7 +149,8 @@ MetadataEditor::loadResult( const Tomahawk::result_ptr& result )
}
void MetadataEditor::enablePushButtons()
void
MetadataEditor::enablePushButtons()
{
if ( !m_interface->setCurrentTrack( m_result->albumpos() ) )
tDebug() << "Error setting current track for MetadataEditor.";
@ -199,16 +205,16 @@ MetadataEditor::setAlbum( const QString& album )
void
MetadataEditor::setDiscNumber( unsigned int num )
MetadataEditor::setAlbumPos( unsigned int num )
{
ui->discNumberSpinBox->setValue( num );
ui->albumPosSpinBox->setValue( num );
}
void
MetadataEditor::setDuration( unsigned int duration )
{
ui->durationLineEdit->setText( TomahawkUtils::timeToString( duration ) );
ui->durationLineEdit->setText( TomahawkUtils::timeToString( duration ) );
}

@ -42,7 +42,7 @@ protected:
QString title() const { return ui->titleLineEdit->text(); }
QString artist() const { return ui->artistLineEdit->text(); }
QString album() const { return ui->albumLineEdit->text(); }
int discnumber() const { return ui->discNumberSpinBox->value(); }
int albumPos() const { return ui->albumPosSpinBox->value(); }
int year() const { return ui->yearSpinBox->value(); }
int bitrate() const { return ui->bitrateSpinBox->value(); }
void loadResult( const Tomahawk::result_ptr& result );
@ -57,7 +57,7 @@ private slots:
void setTitle( const QString& title );
void setArtist( const QString& artist );
void setAlbum( const QString& album );
void setDiscNumber( unsigned int num );
void setAlbumPos( unsigned int num );
void setDuration( unsigned int duration );
void setYear( int year );
void setBitrate( unsigned int num );

@ -92,7 +92,7 @@
</widget>
</item>
<item row="12" column="1">
<widget class="QSpinBox" name="discNumberSpinBox">
<widget class="QSpinBox" name="albumPosSpinBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>