/* This file is part of Clementine. Copyright 2010, David Sansome Clementine is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Clementine is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Clementine. If not, see . */ #include "albumcoverexport.h" #include #include "ui_albumcoverexport.h" const char* AlbumCoverExport::kSettingsGroup = "AlbumCoverExport"; AlbumCoverExport::AlbumCoverExport(QWidget* parent) : QDialog(parent), ui_(new Ui_AlbumCoverExport) { ui_->setupUi(this); connect(ui_->forceSize, SIGNAL(stateChanged(int)), SLOT(ForceSizeToggled(int))); } AlbumCoverExport::~AlbumCoverExport() { delete ui_; } AlbumCoverExport::DialogResult AlbumCoverExport::Exec() { QSettings s; s.beginGroup(kSettingsGroup); // restore last accepted settings ui_->fileName->setText(s.value("fileName", "cover").toString()); ui_->doNotOverwrite->setChecked( s.value("overwrite", OverwriteMode_None).toInt() == OverwriteMode_None); ui_->overwriteAll->setChecked( s.value("overwrite", OverwriteMode_All).toInt() == OverwriteMode_All); ui_->overwriteSmaller->setChecked( s.value("overwrite", OverwriteMode_Smaller).toInt() == OverwriteMode_Smaller); ui_->forceSize->setChecked(s.value("forceSize", false).toBool()); ui_->width->setText(s.value("width", "").toString()); ui_->height->setText(s.value("height", "").toString()); ui_->export_downloaded->setChecked( s.value("export_downloaded", true).toBool()); ui_->export_embedded->setChecked(s.value("export_embedded", false).toBool()); ForceSizeToggled(ui_->forceSize->checkState()); DialogResult result = DialogResult(); result.cancelled_ = (exec() == QDialog::Rejected); if (!result.cancelled_) { QString fileName = ui_->fileName->text(); if (fileName.isEmpty()) { fileName = "cover"; } OverwriteMode overwrite = ui_->doNotOverwrite->isChecked() ? OverwriteMode_None : (ui_->overwriteAll->isChecked() ? OverwriteMode_All : OverwriteMode_Smaller); bool forceSize = ui_->forceSize->isChecked(); QString width = ui_->width->text(); QString height = ui_->height->text(); s.setValue("fileName", fileName); s.setValue("overwrite", overwrite); s.setValue("forceSize", forceSize); s.setValue("width", width); s.setValue("height", height); s.setValue("export_downloaded", ui_->export_downloaded->isChecked()); s.setValue("export_embedded", ui_->export_embedded->isChecked()); result.fileName_ = fileName; result.overwrite_ = overwrite; result.forceSize_ = forceSize; result.width_ = width.toInt(); result.height_ = height.toInt(); result.export_downloaded_ = ui_->export_downloaded->isChecked(); result.export_embedded_ = ui_->export_embedded->isChecked(); } return result; } void AlbumCoverExport::ForceSizeToggled(int state) { ui_->width->setEnabled(state == Qt::Checked); ui_->height->setEnabled(state == Qt::Checked); }