Make sure the selected output directory is writable.
This commit is contained in:
parent
47a6c2fdff
commit
75bd180939
@ -52,7 +52,7 @@
|
||||
#include <QDragEnterEvent>
|
||||
#include <QWindowsMime>
|
||||
#include <QProcess>
|
||||
#include <QRegExp>
|
||||
#include <QUuid>
|
||||
|
||||
//Win32 includes
|
||||
#include <Windows.h>
|
||||
@ -124,9 +124,9 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S
|
||||
connect(buttonFileUp, SIGNAL(clicked()), this, SLOT(fileUpButtonClicked()));
|
||||
connect(buttonFileDown, SIGNAL(clicked()), this, SLOT(fileDownButtonClicked()));
|
||||
connect(buttonShowDetails, SIGNAL(clicked()), this, SLOT(showDetailsButtonClicked()));
|
||||
connect(m_fileListModel, SIGNAL(rowsInserted(QModelIndex,int,int)), this, SLOT(rowsChanged(QModelIndex,int,int)));
|
||||
connect(m_fileListModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SLOT(rowsChanged(QModelIndex,int,int)));
|
||||
connect(m_fileListModel, SIGNAL(modelReset()), this, SLOT(modelReset()));
|
||||
connect(m_fileListModel, SIGNAL(rowsInserted(QModelIndex,int,int)), this, SLOT(sourceModelChanged()));
|
||||
connect(m_fileListModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SLOT(sourceModelChanged()));
|
||||
connect(m_fileListModel, SIGNAL(modelReset()), this, SLOT(sourceModelChanged()));
|
||||
|
||||
//Setup "Output" tab
|
||||
m_fileSystemModel = new QFileSystemModel();
|
||||
@ -139,6 +139,7 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S
|
||||
outputFolderView->header()->hideSection(3);
|
||||
outputFolderView->setHeaderHidden(true);
|
||||
outputFolderView->setAnimated(true);
|
||||
while(saveToSourceFolderCheckBox->isChecked() != m_settings->outputToSourceDir()) saveToSourceFolderCheckBox->click();
|
||||
connect(outputFolderView, SIGNAL(clicked(QModelIndex)), this, SLOT(outputFolderViewClicked(QModelIndex)));
|
||||
outputFolderView->setCurrentIndex(m_fileSystemModel->index(m_settings->outputDir()));
|
||||
outputFolderViewClicked(outputFolderView->currentIndex());
|
||||
@ -146,6 +147,7 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S
|
||||
connect(buttonGotoHome, SIGNAL(clicked()), SLOT(gotoHomeFolderButtonClicked()));
|
||||
connect(buttonGotoDesktop, SIGNAL(clicked()), this, SLOT(gotoDesktopButtonClicked()));
|
||||
connect(buttonGotoMusic, SIGNAL(clicked()), this, SLOT(gotoMusicFolderButtonClicked()));
|
||||
connect(saveToSourceFolderCheckBox, SIGNAL(clicked()), this, SLOT(saveToSourceFolderChanged()));
|
||||
|
||||
//Setup "Meta Data" tab
|
||||
m_metaInfoModel = new MetaInfoModel(m_metaData, 6);
|
||||
@ -155,7 +157,7 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S
|
||||
metaDataView->verticalHeader()->hide();
|
||||
metaDataView->horizontalHeader()->setResizeMode(QHeaderView::ResizeToContents);
|
||||
while(writeMetaDataCheckBox->isChecked() != m_settings->writeMetaTags()) writeMetaDataCheckBox->click();
|
||||
while(generatePlaylistCheckBox->isChecked() != m_settings->createPlaylist()) generatePlaylistCheckBox->click();
|
||||
generatePlaylistCheckBox->setChecked(m_settings->createPlaylist());
|
||||
connect(buttonEditMeta, SIGNAL(clicked()), this, SLOT(editMetaButtonClicked()));
|
||||
connect(buttonClearMeta, SIGNAL(clicked()), this, SLOT(clearMetaButtonClicked()));
|
||||
connect(writeMetaDataCheckBox, SIGNAL(clicked()), this, SLOT(metaTagsEnabledChanged()));
|
||||
@ -324,7 +326,7 @@ void MainWindow::showEvent(QShowEvent *event)
|
||||
{
|
||||
m_accepted = false;
|
||||
m_dropNoteLabel->setGeometry(0, 0, sourceFileView->width(), sourceFileView->height());
|
||||
modelReset();
|
||||
sourceModelChanged();
|
||||
tabWidget->setCurrentIndex(0);
|
||||
|
||||
if(m_firstTimeShown)
|
||||
@ -496,6 +498,22 @@ void MainWindow::encodeButtonClicked(void)
|
||||
tabWidget->setCurrentIndex(3);
|
||||
return;
|
||||
}
|
||||
|
||||
if(!m_settings->outputToSourceDir())
|
||||
{
|
||||
QFile writeTest(QString("%1/~%2.txt").arg(m_settings->outputDir(), QUuid::createUuid().toString()));
|
||||
if(!writeTest.open(QIODevice::ReadWrite))
|
||||
{
|
||||
QMessageBox::warning(this, "LameXP", QString("Cannot write to the selected output directory.<br><nobr>%1</nobr><br><br>Please choose a different directory!").arg(m_settings->outputDir()));
|
||||
tabWidget->setCurrentIndex(1);
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
writeTest.close();
|
||||
writeTest.remove();
|
||||
}
|
||||
}
|
||||
|
||||
m_accepted = true;
|
||||
close();
|
||||
@ -1062,18 +1080,10 @@ void MainWindow::updateBitrate(int value)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Rows changed
|
||||
*/
|
||||
void MainWindow::rowsChanged(const QModelIndex &parent, int start, int end)
|
||||
{
|
||||
m_dropNoteLabel->setVisible(m_fileListModel->rowCount() <= 0);
|
||||
}
|
||||
|
||||
/*
|
||||
* Model reset
|
||||
*/
|
||||
void MainWindow::modelReset(void)
|
||||
void MainWindow::sourceModelChanged(void)
|
||||
{
|
||||
m_dropNoteLabel->setVisible(m_fileListModel->rowCount() <= 0);
|
||||
}
|
||||
@ -1093,3 +1103,11 @@ void MainWindow::playlistEnabledChanged(void)
|
||||
{
|
||||
m_settings->createPlaylist(generatePlaylistCheckBox->isChecked());
|
||||
}
|
||||
|
||||
/*
|
||||
* Output to source dir changed
|
||||
*/
|
||||
void MainWindow::saveToSourceFolderChanged(void)
|
||||
{
|
||||
m_settings->outputToSourceDir(saveToSourceFolderCheckBox->isChecked());
|
||||
}
|
||||
|
@ -76,10 +76,10 @@ private slots:
|
||||
void updateEncoder(int id);
|
||||
void updateRCMode(int id);
|
||||
void updateBitrate(int value);
|
||||
void rowsChanged(const QModelIndex &parent, int start, int end);
|
||||
void modelReset(void);
|
||||
void sourceModelChanged(void);
|
||||
void metaTagsEnabledChanged(void);
|
||||
void playlistEnabledChanged(void);
|
||||
void saveToSourceFolderChanged(void);
|
||||
|
||||
protected:
|
||||
void showEvent(QShowEvent *event);
|
||||
|
Loading…
x
Reference in New Issue
Block a user