diff options
Diffstat (limited to 'rbutil/rbutilqt/voicefile.cpp')
-rw-r--r-- | rbutil/rbutilqt/voicefile.cpp | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/rbutil/rbutilqt/voicefile.cpp b/rbutil/rbutilqt/voicefile.cpp index 54fd7a6ec0..42902b93d8 100644 --- a/rbutil/rbutilqt/voicefile.cpp +++ b/rbutil/rbutilqt/voicefile.cpp | |||
@@ -54,6 +54,7 @@ bool VoiceFileCreator::createVoiceFile(ProgressloggerInterface* logger) | |||
54 | { | 54 | { |
55 | m_logger->addItem(tr("failed to open rockbox-info.txt"),LOGERROR); | 55 | m_logger->addItem(tr("failed to open rockbox-info.txt"),LOGERROR); |
56 | m_logger->abort(); | 56 | m_logger->abort(); |
57 | emit done(false); | ||
57 | return false; | 58 | return false; |
58 | } | 59 | } |
59 | 60 | ||
@@ -94,22 +95,12 @@ bool VoiceFileCreator::createVoiceFile(ProgressloggerInterface* logger) | |||
94 | getter->getFile(genlangUrl); | 95 | getter->getFile(genlangUrl); |
95 | 96 | ||
96 | connect(getter, SIGNAL(done(bool)), this, SLOT(downloadDone(bool))); | 97 | connect(getter, SIGNAL(done(bool)), this, SLOT(downloadDone(bool))); |
97 | connect(getter, SIGNAL(downloadDone(int, bool)), this, SLOT(downloadRequestFinished(int, bool))); | ||
98 | connect(getter, SIGNAL(dataReadProgress(int, int)), this, SLOT(updateDataReadProgress(int, int))); | 98 | connect(getter, SIGNAL(dataReadProgress(int, int)), this, SLOT(updateDataReadProgress(int, int))); |
99 | connect(m_logger, SIGNAL(aborted()), getter, SLOT(abort())); | 99 | connect(m_logger, SIGNAL(aborted()), getter, SLOT(abort())); |
100 | return true; | 100 | return true; |
101 | } | 101 | } |
102 | 102 | ||
103 | 103 | ||
104 | void VoiceFileCreator::downloadRequestFinished(int id, bool error) | ||
105 | { | ||
106 | qDebug() << "Install::downloadRequestFinished" << id << error; | ||
107 | qDebug() << "error:" << getter->errorString(); | ||
108 | |||
109 | downloadDone(error); | ||
110 | } | ||
111 | |||
112 | |||
113 | void VoiceFileCreator::downloadDone(bool error) | 104 | void VoiceFileCreator::downloadDone(bool error) |
114 | { | 105 | { |
115 | qDebug() << "Voice creator::downloadDone, error:" << error; | 106 | qDebug() << "Voice creator::downloadDone, error:" << error; |
@@ -124,12 +115,14 @@ void VoiceFileCreator::downloadDone(bool error) | |||
124 | if(getter->httpResponse() != 200 && !getter->isCached()) { | 115 | if(getter->httpResponse() != 200 && !getter->isCached()) { |
125 | m_logger->addItem(tr("Download error: received HTTP error %1.").arg(getter->httpResponse()),LOGERROR); | 116 | m_logger->addItem(tr("Download error: received HTTP error %1.").arg(getter->httpResponse()),LOGERROR); |
126 | m_logger->abort(); | 117 | m_logger->abort(); |
118 | emit done(false); | ||
127 | return; | 119 | return; |
128 | } | 120 | } |
129 | if(getter->isCached()) m_logger->addItem(tr("Cached file used."), LOGINFO); | 121 | if(getter->isCached()) m_logger->addItem(tr("Cached file used."), LOGINFO); |
130 | if(error) { | 122 | if(error) { |
131 | m_logger->addItem(tr("Download error: %1").arg(getter->errorString()),LOGERROR); | 123 | m_logger->addItem(tr("Download error: %1").arg(getter->errorString()),LOGERROR); |
132 | m_logger->abort(); | 124 | m_logger->abort(); |
125 | emit done(false); | ||
133 | return; | 126 | return; |
134 | } | 127 | } |
135 | else m_logger->addItem(tr("Download finished."),LOGOK); | 128 | else m_logger->addItem(tr("Download finished."),LOGOK); |
@@ -143,6 +136,7 @@ void VoiceFileCreator::downloadDone(bool error) | |||
143 | { | 136 | { |
144 | m_logger->addItem(tr("failed to open downloaded file"),LOGERROR); | 137 | m_logger->addItem(tr("failed to open downloaded file"),LOGERROR); |
145 | m_logger->abort(); | 138 | m_logger->abort(); |
139 | emit done(false); | ||
146 | return; | 140 | return; |
147 | } | 141 | } |
148 | 142 | ||
@@ -156,6 +150,7 @@ void VoiceFileCreator::downloadDone(bool error) | |||
156 | m_logger->addItem(errStr,LOGERROR); | 150 | m_logger->addItem(errStr,LOGERROR); |
157 | m_logger->addItem(tr("Init of TTS engine failed"),LOGERROR); | 151 | m_logger->addItem(tr("Init of TTS engine failed"),LOGERROR); |
158 | m_logger->abort(); | 152 | m_logger->abort(); |
153 | emit done(false); | ||
159 | return; | 154 | return; |
160 | } | 155 | } |
161 | 156 | ||
@@ -168,6 +163,7 @@ void VoiceFileCreator::downloadDone(bool error) | |||
168 | m_logger->addItem(tr("Init of Encoder engine failed"),LOGERROR); | 163 | m_logger->addItem(tr("Init of Encoder engine failed"),LOGERROR); |
169 | m_tts->stop(); | 164 | m_tts->stop(); |
170 | m_logger->abort(); | 165 | m_logger->abort(); |
166 | emit done(false); | ||
171 | return; | 167 | return; |
172 | } | 168 | } |
173 | 169 | ||
@@ -210,6 +206,7 @@ void VoiceFileCreator::downloadDone(bool error) | |||
210 | m_logger->addItem(tr("The downloaded file was empty!"),LOGERROR); | 206 | m_logger->addItem(tr("The downloaded file was empty!"),LOGERROR); |
211 | m_logger->abort(); | 207 | m_logger->abort(); |
212 | m_tts->stop(); | 208 | m_tts->stop(); |
209 | emit done(false); | ||
213 | return; | 210 | return; |
214 | } | 211 | } |
215 | 212 | ||
@@ -225,6 +222,7 @@ void VoiceFileCreator::downloadDone(bool error) | |||
225 | m_logger->addItem("aborted.",LOGERROR); | 222 | m_logger->addItem("aborted.",LOGERROR); |
226 | m_logger->abort(); | 223 | m_logger->abort(); |
227 | m_tts->stop(); | 224 | m_tts->stop(); |
225 | emit done(false); | ||
228 | return; | 226 | return; |
229 | } | 227 | } |
230 | 228 | ||
@@ -269,13 +267,15 @@ void VoiceFileCreator::downloadDone(bool error) | |||
269 | { | 267 | { |
270 | m_logger->addItem(tr("Error opening downloaded file"),LOGERROR); | 268 | m_logger->addItem(tr("Error opening downloaded file"),LOGERROR); |
271 | m_logger->abort(); | 269 | m_logger->abort(); |
270 | emit done(false); | ||
272 | return; | 271 | return; |
273 | } | 272 | } |
274 | 273 | ||
275 | FILE* output = fopen(QString(m_mountpoint + "/.rockbox/langs/" + m_lang + ".voice").toUtf8(), "wb"); | 274 | FILE* output = fopen(QString(m_mountpoint + "/.rockbox/langs/" + m_lang + ".voice").toUtf8(), "wb"); |
276 | if (output == NULL) | 275 | if (output == NULL) |
277 | { | 276 | { |
278 | m_logger->addItem(tr("Error opening output file"),LOGERROR); | 277 | m_logger->addItem(tr("Error opening output file"),LOGERROR); |
278 | emit done(false); | ||
279 | return; | 279 | return; |
280 | } | 280 | } |
281 | 281 | ||
@@ -290,7 +290,9 @@ void VoiceFileCreator::downloadDone(bool error) | |||
290 | m_logger->setProgressMax(100); | 290 | m_logger->setProgressMax(100); |
291 | m_logger->setProgressValue(100); | 291 | m_logger->setProgressValue(100); |
292 | m_logger->addItem(tr("successfully created."),LOGOK); | 292 | m_logger->addItem(tr("successfully created."),LOGOK); |
293 | m_logger->abort(); | 293 | m_logger->abort(); |
294 | |||
295 | emit done(true); | ||
294 | } | 296 | } |
295 | 297 | ||
296 | void VoiceFileCreator::updateDataReadProgress(int read, int total) | 298 | void VoiceFileCreator::updateDataReadProgress(int read, int total) |