1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-11 08:34:34 +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 ); Tomahawk::artist_ptr newArtist = Tomahawk::Artist::get( artist(), true );
if ( artist() != m_result->artist()->name() ) if ( newArtist != m_result->artist() )
{ {
tag->setArtist( artist() ); tag->setArtist( artist() );
m_result->setArtist( newArtist ); 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() ); tag->setAlbum( album() );
m_result->setAlbum( Tomahawk::Album::get( newArtist, album(), true ) ); m_result->setAlbum( newAlbum );
} }
tag->setTrack( discnumber() ); tag->setTrack( albumPos() );
m_result->setDiscNumber( discnumber() ); m_result->setAlbumPos( albumPos() );
if ( year() != m_result->year() ) if ( year() != m_result->year() )
{ {
@@ -113,9 +114,13 @@ MetadataEditor::writeMetadata( bool closeDlg )
f.save(); f.save();
m_editFiles.append( fileName ); m_editFiles.append( fileName );
m_result->doneEditing();
tDebug() << Q_FUNC_INFO << m_result->toString();
tDebug() << Q_FUNC_INFO << m_result->toQuery()->toString();
if ( closeDlg ) { if ( closeDlg )
ScanManager::instance()->runFileScan( m_editFiles ); {
ScanManager::instance()->runFileScan( m_editFiles, false );
close(); close();
} }
} }
@@ -131,7 +136,7 @@ MetadataEditor::loadResult( const Tomahawk::result_ptr& result )
setTitle( result->track() ); setTitle( result->track() );
setArtist( result->artist()->name() ); setArtist( result->artist()->name() );
setAlbum( result->album()->name() ); setAlbum( result->album()->name() );
setDiscNumber( result->albumpos() ); setAlbumPos( result->albumpos() );
setDuration( result->duration() ); setDuration( result->duration() );
setYear( result->year() ); setYear( result->year() );
setBitrate( result->bitrate() ); 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() ) ) if ( !m_interface->setCurrentTrack( m_result->albumpos() ) )
tDebug() << "Error setting current track for MetadataEditor."; tDebug() << "Error setting current track for MetadataEditor.";
@@ -199,9 +205,9 @@ MetadataEditor::setAlbum( const QString& album )
void 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 title() const { return ui->titleLineEdit->text(); }
QString artist() const { return ui->artistLineEdit->text(); } QString artist() const { return ui->artistLineEdit->text(); }
QString album() const { return ui->albumLineEdit->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 year() const { return ui->yearSpinBox->value(); }
int bitrate() const { return ui->bitrateSpinBox->value(); } int bitrate() const { return ui->bitrateSpinBox->value(); }
void loadResult( const Tomahawk::result_ptr& result ); void loadResult( const Tomahawk::result_ptr& result );
@@ -57,7 +57,7 @@ private slots:
void setTitle( const QString& title ); void setTitle( const QString& title );
void setArtist( const QString& artist ); void setArtist( const QString& artist );
void setAlbum( const QString& album ); void setAlbum( const QString& album );
void setDiscNumber( unsigned int num ); void setAlbumPos( unsigned int num );
void setDuration( unsigned int duration ); void setDuration( unsigned int duration );
void setYear( int year ); void setYear( int year );
void setBitrate( unsigned int num ); void setBitrate( unsigned int num );

View File

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