From d2f6a65eb5708e378b93fdb2d9ea7428eb63863f Mon Sep 17 00:00:00 2001 From: Leo Franchi Date: Sat, 14 Apr 2012 15:07:46 -0400 Subject: [PATCH] save/restore folder when loading playlists --- src/LoadXSPFDialog.cpp | 6 +++++- src/libtomahawk/tomahawksettings.cpp | 17 +++++++++++++++++ src/libtomahawk/tomahawksettings.h | 3 +++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/LoadXSPFDialog.cpp b/src/LoadXSPFDialog.cpp index cc2175b47..fd5bf572e 100644 --- a/src/LoadXSPFDialog.cpp +++ b/src/LoadXSPFDialog.cpp @@ -17,6 +17,7 @@ */ #include "LoadXSPFDialog.h" +#include "tomahawksettings.h" #include "ui_LoadXSPFDialog.h" #include @@ -44,7 +45,10 @@ LoadXSPFDialog::~LoadXSPFDialog() void LoadXSPFDialog::getLocalFile() { - QString url = QFileDialog::getOpenFileName( this, tr( "Load XSPF File" ), QDir::homePath(), tr( "XSPF Files (*.xspf)" ) ); + const QString path = TomahawkSettings::instance()->importXspfPath(); + QString url = QFileDialog::getOpenFileName( this, tr( "Load XSPF File" ), path, tr( "XSPF Files (*.xspf)" ) ); + TomahawkSettings::instance()->setImportXspfPath( QFileInfo( url ).absoluteDir().absolutePath() ); + m_ui->lineEdit->setText( url ); } diff --git a/src/libtomahawk/tomahawksettings.cpp b/src/libtomahawk/tomahawksettings.cpp index f188104bd..c61acf2be 100644 --- a/src/libtomahawk/tomahawksettings.cpp +++ b/src/libtomahawk/tomahawksettings.cpp @@ -1121,3 +1121,20 @@ TomahawkSettings::updateIndex() DatabaseCommand* cmd = new DatabaseCommand_UpdateSearchIndex(); Database::instance()->enqueue( QSharedPointer( cmd ) ); } + + +QString +TomahawkSettings::importXspfPath() const +{ + if ( contains( "importXspfPath" ) ) + return value( "importXspfPath" ).toString(); + else + return QDir::homePath(); +} + + +void +TomahawkSettings::setImportXspfPath( const QString& path ) +{ + setValue( "importXspfPath", path ); +} diff --git a/src/libtomahawk/tomahawksettings.h b/src/libtomahawk/tomahawksettings.h index 6fc844be3..de42f7c81 100644 --- a/src/libtomahawk/tomahawksettings.h +++ b/src/libtomahawk/tomahawksettings.h @@ -198,6 +198,9 @@ public: PrivateListeningMode privateListeningMode() const; void setPrivateListeningMode( PrivateListeningMode mode ); + void setImportXspfPath( const QString& path ); + QString importXspfPath() const; + signals: void changed(); void recentlyPlayedPlaylistAdded( const Tomahawk::playlist_ptr& playlist );