diff options
author | Dominik Wenger <domonoky@googlemail.com> | 2009-06-26 20:40:51 +0000 |
---|---|---|
committer | Dominik Wenger <domonoky@googlemail.com> | 2009-06-26 20:40:51 +0000 |
commit | 20bf8aaf181dc5f24bad2628953c4d53782533cb (patch) | |
tree | 640787672cbe49dbbb23b8322d5a90595c2edf06 /rbutil/rbutilqt/base/talkfile.h | |
parent | 73d25744fb01844cc28402dfc4b48a030d270579 (diff) |
rbutil: improve voice and talk generation.
- introduce a talkgenerator to better share code between voice and talk generation.
- name intermediate .talkfiles after the md5sum of the text. (prevents naming problems).
- do not directly use the logger, instead emit signals.
- move talkfile and voicefile generation to base/
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21524 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'rbutil/rbutilqt/base/talkfile.h')
-rw-r--r-- | rbutil/rbutilqt/base/talkfile.h | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/rbutil/rbutilqt/base/talkfile.h b/rbutil/rbutilqt/base/talkfile.h new file mode 100644 index 0000000000..f82421416a --- /dev/null +++ b/rbutil/rbutilqt/base/talkfile.h @@ -0,0 +1,83 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * + * Copyright (C) 2007 by Dominik Wenger + * $Id$ + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + + +#ifndef TALKFILE_H +#define TALKFILE_H + +#include <QtCore> +#include "progressloggerinterface.h" + +#include "talkgenerator.h" + +class TalkFileCreator :public QObject +{ + Q_OBJECT + +public: + TalkFileCreator(QObject* parent); + + bool createTalkFiles(); + + void setDir(QDir dir){m_dir = dir; } + void setMountPoint(QString mountpoint) {m_mountpoint =mountpoint; } + + void setOverwriteTalk(bool ov) {m_overwriteTalk = ov;} + void setRecursive(bool ov) {m_recursive = ov;} + void setStripExtensions(bool ov) {m_stripExtensions = ov;} + void setTalkFolders(bool ov) {m_talkFolders = ov;} + void setTalkFiles(bool ov) {m_talkFiles = ov;} + +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_mountpoint; + + bool m_overwriteTalk; + bool m_recursive; + bool m_stripExtensions; + bool m_talkFolders; + bool m_talkFiles; + + bool m_abort; + + QList<TalkGenerator::TalkEntry> m_talkList; +}; + + +#endif + |