rbutil: rework and rename the "dont overwrite talkfiles" option so it really generates only new Talkfiles.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23162 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Dominik Wenger 2009-10-13 20:51:20 +00:00
parent e3bd45ef81
commit 11bd80cd38
4 changed files with 21 additions and 8 deletions

View file

@ -140,6 +140,13 @@ bool TalkFileCreator::createTalkList(QDir startDir)
// insert into List
if(!dir.dirName().isEmpty() && m_talkFolders)
{
// check if we should ignore it
if(m_generateOnlyNew && QFileInfo(dir.path() + "/_dirname.talk").exists())
{
continue;
}
//generate entry
TalkGenerator::TalkEntry entry;
entry.toSpeak = dir.dirName();
entry.wavfilename = QDir::tempPath()+ "/talkfiles/" + QCryptographicHash::hash(entry.toSpeak.toUtf8(),
@ -150,7 +157,7 @@ bool TalkFileCreator::createTalkList(QDir startDir)
entry.voiced = false;
entry.encoded = false;
qDebug() << "toSpeak: " << entry.toSpeak << " target: " << entry.target << " intermediates: " <<
entry.wavfilename << entry.talkfilename;
entry.wavfilename << entry.talkfilename;
m_talkList.append(entry);
}
}
@ -171,6 +178,12 @@ bool TalkFileCreator::createTalkList(QDir startDir)
if(match)
continue;
// check if we should ignore it
if(m_generateOnlyNew && QFileInfo(fileInf.path() + "/" + fileInf.fileName() + ".talk").exists())
{
continue;
}
//generate entry
TalkGenerator::TalkEntry entry;
if(m_stripExtensions)
@ -223,7 +236,7 @@ bool TalkFileCreator::copyTalkFiles(QString* errString)
continue; // this file was skipped in one of the previous steps
}
// remove target if it exists, and if we should overwrite it
if(m_overwriteTalk && QFile::exists(m_talkList[i].target))
if(QFile::exists(m_talkList[i].target))
QFile::remove(m_talkList[i].target);
// copying

View file

@ -40,7 +40,7 @@ public:
void setDir(QDir dir){m_dir = dir; }
void setMountPoint(QString mountpoint) {m_mountpoint =mountpoint; }
void setOverwriteTalk(bool ov) {m_overwriteTalk = ov;}
void setGenerateOnlyNew(bool ov) {m_generateOnlyNew = ov;}
void setRecursive(bool ov) {m_recursive = ov;}
void setStripExtensions(bool ov) {m_stripExtensions = ov;}
void setTalkFolders(bool ov) {m_talkFolders = ov;}
@ -67,7 +67,7 @@ private:
QDir m_dir;
QString m_mountpoint;
bool m_overwriteTalk;
bool m_generateOnlyNew;
bool m_recursive;
bool m_stripExtensions;
bool m_talkFolders;

View file

@ -216,9 +216,9 @@
</widget>
</item>
<item row="7" column="0">
<widget class="QCheckBox" name="OverwriteTalk">
<widget class="QCheckBox" name="GenerateOnlyNew">
<property name="text">
<string>Overwrite Talkfiles</string>
<string>Create only new Talkfiles</string>
</property>
<property name="checked">
<bool>true</bool>

View file

@ -33,7 +33,7 @@ InstallTalkWindow::InstallTalkWindow(QWidget *parent) : QDialog(parent)
connect(ui.change,SIGNAL(clicked()),this,SLOT(change()));
ui.recursive->setChecked(true);
ui.OverwriteTalk->setChecked(true);
ui.GenerateOnlyNew->setChecked(true);
ui.StripExtensions->setChecked(true);
updateSettings();
@ -103,7 +103,7 @@ void InstallTalkWindow::accept()
talkcreator->setDir(QDir(folderToTalk));
talkcreator->setMountPoint(RbSettings::value(RbSettings::Mountpoint).toString());
talkcreator->setOverwriteTalk(ui.OverwriteTalk->isChecked());
talkcreator->setGenerateOnlyNew(ui.GenerateOnlyNew->isChecked());
talkcreator->setRecursive(ui.recursive->isChecked());
talkcreator->setStripExtensions(ui.StripExtensions->isChecked());
talkcreator->setTalkFolders(ui.talkFolders->isChecked());