1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-07-31 03:10: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

View File

@@ -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,9 +205,9 @@ MetadataEditor::setAlbum( const QString& album )
void
MetadataEditor::setDiscNumber( unsigned int num )
MetadataEditor::setAlbumPos( unsigned int num )
{
ui->discNumberSpinBox->setValue( num );
ui->albumPosSpinBox->setValue( num );
}

View File

@@ -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 );

View File

@@ -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>