aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui/cueeditor.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2021-02-06 11:55:02 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2021-02-06 11:55:02 +0000
commit3cd19f7132c91639fd71615c726990de36411999 (patch)
tree76c516b26bdd65bbe3c163d97909ca2c1ab4e525 /src/qmmpui/cueeditor.cpp
parent43fae6b9581b9b596eb71a8acdfce2fd877904a7 (diff)
downloadqmmp-3cd19f7132c91639fd71615c726990de36411999.tar.gz
qmmp-3cd19f7132c91639fd71615c726990de36411999.tar.bz2
qmmp-3cd19f7132c91639fd71615c726990de36411999.zip
feature to save cue file
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@9689 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/qmmpui/cueeditor.cpp')
-rw-r--r--src/qmmpui/cueeditor.cpp25
1 files changed, 23 insertions, 2 deletions
diff --git a/src/qmmpui/cueeditor.cpp b/src/qmmpui/cueeditor.cpp
index ae93ec6e2..221abee94 100644
--- a/src/qmmpui/cueeditor.cpp
+++ b/src/qmmpui/cueeditor.cpp
@@ -27,15 +27,17 @@
#include "filedialog.h"
#include "ui_cueeditor.h"
-CueEditor::CueEditor(MetaDataModel *model, QWidget *parent) :
+CueEditor::CueEditor(MetaDataModel *model, const TrackInfo &info, QWidget *parent) :
QWidget(parent),
m_ui(new Ui::CueEditor),
- m_model(model)
+ m_model(model),
+ m_info(info)
{
m_ui->setupUi(this);
m_ui->plainTextEdit->setPlainText(model->cue());
QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
m_lastDir = settings.value("CueEditor/last_dir", QDir::homePath()).toString();
+ m_editable = m_model && (m_model->dialogHints() & MetaDataModel::IsCueEditable) && !m_model->isReadOnly();
}
CueEditor::~CueEditor()
@@ -60,6 +62,11 @@ void CueEditor::save()
}
}
+bool CueEditor::isEditable() const
+{
+ return m_editable;
+}
+
void CueEditor::on_loadButton_clicked()
{
QString path = FileDialog::getOpenFileName(this, tr("Open CUE File"),
@@ -81,5 +88,19 @@ void CueEditor::on_deleteButton_clicked()
void CueEditor::on_saveAsButton_clicked()
{
+ QString path = FileDialog::getSaveFileName(this, tr("Save CUE File"),
+ m_lastDir + "/" + m_info.value(Qmmp::TITLE) + ".cue",
+ tr("CUE Files") +" (*.cue)");
+
+
+ if(!path.isEmpty())
+ {
+ m_lastDir = QFileInfo(path).absoluteDir().path();
+ QString data = m_ui->plainTextEdit->toPlainText().trimmed();
+ data.append(QChar::LineFeed);
+ QFile file(path);
+ file.open(QIODevice::WriteOnly);
+ file.write(data.toUtf8());
+ }
}