when saving cover, start in the album's folder (just like with the similar 'load cover from disk' feature)

This commit is contained in:
Paweł Bara 2011-02-07 23:53:32 +00:00
parent b7cd42fe53
commit 33276132ec
48 changed files with 75 additions and 75 deletions

View File

@ -1961,7 +1961,7 @@ msgstr ""
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1975,7 +1975,7 @@ msgstr ""
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1997,7 +1997,7 @@ msgstr "Дискретизация"
msgid "Samplerate"
msgstr "Дискретизация"
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1963,7 +1963,7 @@ msgstr ""
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1998,7 +1998,7 @@ msgstr "Freqüència de mostreig"
msgid "Samplerate"
msgstr "Freqüència de mostreig"
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -2000,7 +2000,7 @@ msgstr "Vzorkovací kmitočet"
msgid "Samplerate"
msgstr "Vzorkovací frekvence"
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1961,7 +1961,7 @@ msgstr ""
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1964,7 +1964,7 @@ msgstr "Samplingsrate"
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -2002,7 +2002,7 @@ msgstr "Abtastrate"
msgid "Samplerate"
msgstr "Abtastrate"
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -2011,7 +2011,7 @@ msgstr "Ρυθμός δειγματοληψίας"
msgid "Samplerate"
msgstr "Δειγματοληψία"
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1961,7 +1961,7 @@ msgstr ""
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1965,7 +1965,7 @@ msgstr "Sample rate"
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1962,7 +1962,7 @@ msgstr "Sample rate"
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1961,7 +1961,7 @@ msgstr ""
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -2010,7 +2010,7 @@ msgstr "Tasa de muestreo"
msgid "Samplerate"
msgstr "Tasa de muestreo"
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1962,7 +1962,7 @@ msgstr "Diskreetimissagedus"
msgid "Samplerate"
msgstr "Diskreetimissagedus"
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1961,7 +1961,7 @@ msgstr ""
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1962,7 +1962,7 @@ msgstr "Näytteenottotaajuus"
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -2016,7 +2016,7 @@ msgstr "Échantillonnage"
msgid "Samplerate"
msgstr "Échantillonnage"
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1970,7 +1970,7 @@ msgstr "Taxa de mostra"
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1981,7 +1981,7 @@ msgstr "קצב הדגימה"
msgid "Samplerate"
msgstr "קצב דגימה"
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1961,7 +1961,7 @@ msgstr ""
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1993,7 +1993,7 @@ msgstr "Frekvencija"
msgid "Samplerate"
msgstr "Frekvencija"
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1998,7 +1998,7 @@ msgstr "Mintavételi sűrűség"
msgid "Samplerate"
msgstr "Mintavétel"
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -2005,7 +2005,7 @@ msgstr "Campionamento"
msgid "Samplerate"
msgstr "Campionamento"
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1990,7 +1990,7 @@ msgstr "サンプル レート"
msgid "Samplerate"
msgstr "サンプルレート"
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1961,7 +1961,7 @@ msgstr ""
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1994,7 +1994,7 @@ msgstr "Išrankos dažnis"
msgid "Samplerate"
msgstr "Išrankosdažnis"
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1961,7 +1961,7 @@ msgstr ""
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1973,7 +1973,7 @@ msgstr "Samplingsrate"
msgid "Samplerate"
msgstr "Samplingsrate"
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1997,7 +1997,7 @@ msgstr "Samplerate"
msgid "Samplerate"
msgstr "Samplerate"
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1961,7 +1961,7 @@ msgstr ""
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1998,7 +1998,7 @@ msgstr "Próbkowanie"
msgid "Samplerate"
msgstr "Próbkowanie"
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -2001,7 +2001,7 @@ msgstr "Taxa de amostragem"
msgid "Samplerate"
msgstr "Taxa de amostragem"
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1999,7 +1999,7 @@ msgstr "Taxa de amostragem"
msgid "Samplerate"
msgstr "Taxa de amostragem"
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1961,7 +1961,7 @@ msgstr "Rată de eșantionare"
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1992,7 +1992,7 @@ msgstr "Частота"
msgid "Samplerate"
msgstr "Частота дискретизации"
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1990,7 +1990,7 @@ msgstr "Rýchlosť vzorkovania"
msgid "Samplerate"
msgstr "Rýchlosť vzorkovania"
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1992,7 +1992,7 @@ msgstr "Hitrost vzorčenja"
msgid "Samplerate"
msgstr "Hitrost vzorčenja"
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1965,7 +1965,7 @@ msgstr "узорковање"
msgid "Samplerate"
msgstr "Учестаност узорковања"
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1994,7 +1994,7 @@ msgstr "Samplingsfrekvens"
msgid "Samplerate"
msgstr "Samplingsfrekvens"
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1991,7 +1991,7 @@ msgstr "Örnekleme oranı"
msgid "Samplerate"
msgstr "Örneklemeoranı"
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1951,7 +1951,7 @@ msgstr ""
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1991,7 +1991,7 @@ msgstr "Частота вибірки"
msgid "Samplerate"
msgstr "Частота вибірки"
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1963,7 +1963,7 @@ msgstr "采样率"
msgid "Samplerate"
msgstr ""
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -1965,7 +1965,7 @@ msgstr "取樣頻率"
msgid "Samplerate"
msgstr "取樣頻率"
msgid "Save Album Cover"
msgid "Save album cover"
msgstr ""
msgid "Save cover to disk..."

View File

@ -85,20 +85,8 @@ void AlbumCoverChoiceController::SetLibrary(LibraryBackend* library) {
}
QString AlbumCoverChoiceController::LoadCoverFromFile(Song* song) {
QString dir;
if (!song->art_automatic().isEmpty() && !song->has_embedded_cover()) {
dir = song->art_automatic();
} else if (!song->filename().isEmpty() && song->filename().contains('/')) {
// we get rid of the filename because it's extension is screwing with the dialog's
// filters
dir = song->filename().section('/', 0, -2);
} else {
dir = "";
}
QString cover = QFileDialog::getOpenFileName(
this, tr("Choose manual cover"), dir,
this, tr("Choose manual cover"), GetInitialPathForFileDialog(*song, QString()),
tr(kLoadImageFileFilter) + ";;" + tr(kAllFilesFilter));
if (cover.isNull())
@ -116,25 +104,16 @@ QString AlbumCoverChoiceController::LoadCoverFromFile(Song* song) {
}
void AlbumCoverChoiceController::SaveCoverToFile(const Song& song, const QImage& image) {
if (!save_file_dialog_) {
save_file_dialog_ = new QFileDialog(
this,
tr("Save Album Cover"),
QDir::home().absolutePath(),
tr(kSaveImageFileFilter) + ";;" + tr(kAllFilesFilter));
save_file_dialog_->setAcceptMode(QFileDialog::AcceptSave);
}
QString initial_file_name = "/" + (song.album().isEmpty()
? tr("Unknown")
: song.album()) + ".jpg";
QString initial_file_name = (song.album().isEmpty()
? tr("Unknown")
: song.album()) + ".jpg";
save_file_dialog_->selectFile(initial_file_name);
QString save_filename = QFileDialog::getSaveFileName(
this, tr("Save album cover"), GetInitialPathForFileDialog(song, initial_file_name),
tr(kSaveImageFileFilter) + ";;" + tr(kAllFilesFilter));
if (!save_file_dialog_->exec()) {
if(save_filename.isNull())
return;
}
QString save_filename = save_file_dialog_->selectedFiles()[0];
QString extension = save_filename.right(4);
if (!extension.startsWith('.') ||
@ -145,6 +124,24 @@ void AlbumCoverChoiceController::SaveCoverToFile(const Song& song, const QImage&
image.save(save_filename);
}
QString AlbumCoverChoiceController::GetInitialPathForFileDialog(const Song& song,
const QString& filename) {
// art automatic is first to show user which cover the album may be
// using now; the song is using it if there's no manual path but we
// cannot use manual path here because it can contain cached paths
if (!song.art_automatic().isEmpty() && !song.has_embedded_cover()) {
return song.art_automatic();
// if no automatic art, start in the song's folder
} else if (!song.filename().isEmpty() && song.filename().contains('/')) {
return song.filename().section('/', 0, -2) + filename;
// fallback - start in home
} else {
return QDir::home().absolutePath() + filename;
}
}
QString AlbumCoverChoiceController::LoadCoverFromURL(Song* song) {
if(!cover_from_url_dialog_) {
cover_from_url_dialog_ = new CoverFromURLDialog(this);

View File

@ -100,6 +100,9 @@ class AlbumCoverChoiceController : public QWidget {
QString SaveCoverInCache(const QString& artist, const QString& album, const QImage& image);
private:
QString GetInitialPathForFileDialog(const Song& song,
const QString& filename);
static const char* kLoadImageFileFilter;
static const char* kSaveImageFileFilter;
static const char* kAllFilesFilter;