summaryrefslogtreecommitdiffstats
path: root/rbutil
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2012-09-05 20:17:26 +0200
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2012-09-05 20:21:59 +0200
commit05caadbca3cf3c40264e39eae96b8eed61ededab (patch)
tree933b31fe032d47c3ca3796ff85bfcdf668e6d35b /rbutil
parenta46e0b02c1ac95d8843e580c0a4bf4d5b3a7452a (diff)
downloadrockbox-05caadbca3cf3c40264e39eae96b8eed61ededab.tar.gz
rockbox-05caadbca3cf3c40264e39eae96b8eed61ededab.tar.bz2
rockbox-05caadbca3cf3c40264e39eae96b8eed61ededab.zip
Correctly construct the path for talkfile generation.
While TalkFileCreator uses the current mountpoint for writing logging information it does not use it for constructing the correct path to generate talkfiles for. Since there is not much point in generating talkfiles for files that are not on the player (and the UI limits the paths that can get selected to folders on the player) make TalkFileCreator use the mountpoint for creating correct paths. Fixes FS#12748. Change-Id: Id682a3738649e4167556255599553edc6e2acd48
Diffstat (limited to 'rbutil')
-rw-r--r--rbutil/rbutilqt/base/talkfile.cpp6
-rw-r--r--rbutil/rbutilqt/base/talkfile.h26
-rw-r--r--rbutil/rbutilqt/installtalkwindow.cpp4
3 files changed, 20 insertions, 16 deletions
diff --git a/rbutil/rbutilqt/base/talkfile.cpp b/rbutil/rbutilqt/base/talkfile.cpp
index b7d080de01..dc4dceef08 100644
--- a/rbutil/rbutilqt/base/talkfile.cpp
+++ b/rbutil/rbutilqt/base/talkfile.cpp
@@ -33,13 +33,13 @@ bool TalkFileCreator::createTalkFiles()
QString errStr;
emit logItem(tr("Starting Talk file generation for folder %1")
- .arg(m_dir.dirName()), LOGINFO);
+ .arg(m_dir), LOGINFO);
emit logProgress(0,0);
QCoreApplication::processEvents();
// read in Maps of paths - file/dirnames
emit logItem(tr("Reading Filelist..."),LOGINFO);
- if(createTalkList(m_dir) == false)
+ if(createTalkList(m_mountpoint + "/" + m_dir) == false)
{
emit logItem(tr("Talk file creation aborted"),LOGERROR);
doAbort();
@@ -109,6 +109,7 @@ void TalkFileCreator::doAbort()
//! \param startDir The directory from which to start scanning
bool TalkFileCreator::createTalkList(QDir startDir)
{
+ qDebug() << "[TalkGenerator] generating list of files" << startDir;
m_talkList.clear();
// create Iterator
@@ -213,6 +214,7 @@ bool TalkFileCreator::createTalkList(QDir startDir)
}
QCoreApplication::processEvents();
}
+ qDebug() << "[TalkFileCreator] list created, entries:" << m_talkList.size();
return true;
}
diff --git a/rbutil/rbutilqt/base/talkfile.h b/rbutil/rbutilqt/base/talkfile.h
index 66e9ca68c8..11dd95ca14 100644
--- a/rbutil/rbutilqt/base/talkfile.h
+++ b/rbutil/rbutilqt/base/talkfile.h
@@ -35,46 +35,46 @@ public:
TalkFileCreator(QObject* parent);
bool createTalkFiles();
-
- void setDir(QDir dir){m_dir = dir; }
- void setMountPoint(QString mountpoint) {m_mountpoint =mountpoint; }
+
+ void setDir(QString dir) {m_dir = dir;}
+ void setMountPoint(QString mountpoint) {m_mountpoint = mountpoint;}
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;}
+ void setTalkFolders(bool ov) {m_talkFolders = ov;}
void setTalkFiles(bool ov) {m_talkFiles = ov;}
- void setIgnoreFiles(QStringList wildcards) {m_ignoreFiles=wildcards;}
+ void setIgnoreFiles(QStringList wildcards) {m_ignoreFiles = wildcards;}
public slots:
void abort();
-
+
signals:
void done(bool);
void aborted();
void logItem(QString, int); //! set logger item
void logProgress(int, int); //! set progress bar.
-
+
private:
bool cleanup();
QString stripExtension(QString filename);
void doAbort();
void resetProgress(int max);
bool copyTalkFiles(QString* errString);
-
+
bool createTalkList(QDir startDir);
-
- QDir m_dir;
+
+ QString m_dir;
QString m_mountpoint;
-
+
bool m_generateOnlyNew;
bool m_recursive;
bool m_stripExtensions;
bool m_talkFolders;
bool m_talkFiles;
QStringList m_ignoreFiles;
-
+
bool m_abort;
-
+
QList<TalkGenerator::TalkEntry> m_talkList;
};
diff --git a/rbutil/rbutilqt/installtalkwindow.cpp b/rbutil/rbutilqt/installtalkwindow.cpp
index 115c51706c..f6e67720f5 100644
--- a/rbutil/rbutilqt/installtalkwindow.cpp
+++ b/rbutil/rbutilqt/installtalkwindow.cpp
@@ -111,7 +111,9 @@ void InstallTalkWindow::accept()
QStringList foldersToTalk
= RbSettings::value(RbSettings::TalkFolders).toStringList();
for(int i = 0; i < foldersToTalk.size(); i++) {
- talkcreator->setDir(QDir(foldersToTalk.at(i)));
+ qDebug() << "[InstallTalkWindow] creating talk files for folder"
+ << foldersToTalk.at(i);
+ talkcreator->setDir(foldersToTalk.at(i));
talkcreator->createTalkFiles();
}
}