summaryrefslogtreecommitdiff
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
parenta46e0b02c1ac95d8843e580c0a4bf4d5b3a7452a (diff)
downloadrockbox-05caadbca3cf3c40264e39eae96b8eed61ededab.tar.gz
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
-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()
33 QString errStr; 33 QString errStr;
34 34
35 emit logItem(tr("Starting Talk file generation for folder %1") 35 emit logItem(tr("Starting Talk file generation for folder %1")
36 .arg(m_dir.dirName()), LOGINFO); 36 .arg(m_dir), LOGINFO);
37 emit logProgress(0,0); 37 emit logProgress(0,0);
38 QCoreApplication::processEvents(); 38 QCoreApplication::processEvents();
39 39
40 // read in Maps of paths - file/dirnames 40 // read in Maps of paths - file/dirnames
41 emit logItem(tr("Reading Filelist..."),LOGINFO); 41 emit logItem(tr("Reading Filelist..."),LOGINFO);
42 if(createTalkList(m_dir) == false) 42 if(createTalkList(m_mountpoint + "/" + m_dir) == false)
43 { 43 {
44 emit logItem(tr("Talk file creation aborted"),LOGERROR); 44 emit logItem(tr("Talk file creation aborted"),LOGERROR);
45 doAbort(); 45 doAbort();
@@ -109,6 +109,7 @@ void TalkFileCreator::doAbort()
109//! \param startDir The directory from which to start scanning 109//! \param startDir The directory from which to start scanning
110bool TalkFileCreator::createTalkList(QDir startDir) 110bool TalkFileCreator::createTalkList(QDir startDir)
111{ 111{
112 qDebug() << "[TalkGenerator] generating list of files" << startDir;
112 m_talkList.clear(); 113 m_talkList.clear();
113 114
114 // create Iterator 115 // create Iterator
@@ -213,6 +214,7 @@ bool TalkFileCreator::createTalkList(QDir startDir)
213 } 214 }
214 QCoreApplication::processEvents(); 215 QCoreApplication::processEvents();
215 } 216 }
217 qDebug() << "[TalkFileCreator] list created, entries:" << m_talkList.size();
216 return true; 218 return true;
217} 219}
218 220
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:
35 TalkFileCreator(QObject* parent); 35 TalkFileCreator(QObject* parent);
36 36
37 bool createTalkFiles(); 37 bool createTalkFiles();
38 38
39 void setDir(QDir dir){m_dir = dir; } 39 void setDir(QString dir) {m_dir = dir;}
40 void setMountPoint(QString mountpoint) {m_mountpoint =mountpoint; } 40 void setMountPoint(QString mountpoint) {m_mountpoint = mountpoint;}
41 41
42 void setGenerateOnlyNew(bool ov) {m_generateOnlyNew = ov;} 42 void setGenerateOnlyNew(bool ov) {m_generateOnlyNew = ov;}
43 void setRecursive(bool ov) {m_recursive = ov;} 43 void setRecursive(bool ov) {m_recursive = ov;}
44 void setStripExtensions(bool ov) {m_stripExtensions = ov;} 44 void setStripExtensions(bool ov) {m_stripExtensions = ov;}
45 void setTalkFolders(bool ov) {m_talkFolders = ov;} 45 void setTalkFolders(bool ov) {m_talkFolders = ov;}
46 void setTalkFiles(bool ov) {m_talkFiles = ov;} 46 void setTalkFiles(bool ov) {m_talkFiles = ov;}
47 void setIgnoreFiles(QStringList wildcards) {m_ignoreFiles=wildcards;} 47 void setIgnoreFiles(QStringList wildcards) {m_ignoreFiles = wildcards;}
48public slots: 48public slots:
49 void abort(); 49 void abort();
50 50
51signals: 51signals:
52 void done(bool); 52 void done(bool);
53 void aborted(); 53 void aborted();
54 void logItem(QString, int); //! set logger item 54 void logItem(QString, int); //! set logger item
55 void logProgress(int, int); //! set progress bar. 55 void logProgress(int, int); //! set progress bar.
56 56
57private: 57private:
58 bool cleanup(); 58 bool cleanup();
59 QString stripExtension(QString filename); 59 QString stripExtension(QString filename);
60 void doAbort(); 60 void doAbort();
61 void resetProgress(int max); 61 void resetProgress(int max);
62 bool copyTalkFiles(QString* errString); 62 bool copyTalkFiles(QString* errString);
63 63
64 bool createTalkList(QDir startDir); 64 bool createTalkList(QDir startDir);
65 65
66 QDir m_dir; 66 QString m_dir;
67 QString m_mountpoint; 67 QString m_mountpoint;
68 68
69 bool m_generateOnlyNew; 69 bool m_generateOnlyNew;
70 bool m_recursive; 70 bool m_recursive;
71 bool m_stripExtensions; 71 bool m_stripExtensions;
72 bool m_talkFolders; 72 bool m_talkFolders;
73 bool m_talkFiles; 73 bool m_talkFiles;
74 QStringList m_ignoreFiles; 74 QStringList m_ignoreFiles;
75 75
76 bool m_abort; 76 bool m_abort;
77 77
78 QList<TalkGenerator::TalkEntry> m_talkList; 78 QList<TalkGenerator::TalkEntry> m_talkList;
79}; 79};
80 80
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()
111 QStringList foldersToTalk 111 QStringList foldersToTalk
112 = RbSettings::value(RbSettings::TalkFolders).toStringList(); 112 = RbSettings::value(RbSettings::TalkFolders).toStringList();
113 for(int i = 0; i < foldersToTalk.size(); i++) { 113 for(int i = 0; i < foldersToTalk.size(); i++) {
114 talkcreator->setDir(QDir(foldersToTalk.at(i))); 114 qDebug() << "[InstallTalkWindow] creating talk files for folder"
115 << foldersToTalk.at(i);
116 talkcreator->setDir(foldersToTalk.at(i));
115 talkcreator->createTalkFiles(); 117 talkcreator->createTalkFiles();
116 } 118 }
117} 119}