From 05caadbca3cf3c40264e39eae96b8eed61ededab Mon Sep 17 00:00:00 2001 From: Dominik Riebeling Date: Wed, 5 Sep 2012 20:17:26 +0200 Subject: 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 --- rbutil/rbutilqt/base/talkfile.cpp | 6 ++++-- rbutil/rbutilqt/base/talkfile.h | 26 +++++++++++++------------- rbutil/rbutilqt/installtalkwindow.cpp | 4 +++- 3 files changed, 20 insertions(+), 16 deletions(-) (limited to 'rbutil') 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 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(); } } -- cgit v1.2.3