add a "help" entry to the about menu. For now this opens the system browser with...
[Rockbox.git] / rbutil / rbutilqt / installtalkwindow.cpp
blobcc2def6ab1d1afea83ae1bb88fb37e4150faba9a
1 /***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
9 * Copyright (C) 2007 by Dominik Riebeling
10 * $Id$
12 * All files in this archive are subject to the GNU General Public License.
13 * See the file COPYING in the source tree root for full license agreement.
15 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
16 * KIND, either express or implied.
18 ****************************************************************************/
20 #include "installtalkwindow.h"
21 #include "ui_installtalkfrm.h"
23 #include "browsedirtree.h"
25 InstallTalkWindow::InstallTalkWindow(QWidget *parent) : QDialog(parent)
27 ui.setupUi(this);
28 talkcreator = new TalkFileCreator(this);
30 connect(ui.buttonBrowse, SIGNAL(clicked()), this, SLOT(browseFolder()));
32 ui.OverwriteWav->setChecked(true);
33 ui.RemoveWav->setChecked(true);
34 ui.recursive->setChecked(true);
35 ui.OverwriteTalk->setChecked(true);
36 ui.StripExtensions->setChecked(true);
39 void InstallTalkWindow::browseFolder()
41 BrowseDirtree browser(this);
42 browser.setFilter(QDir::AllDirs | QDir::NoDotAndDotDot | QDir::NoSymLinks);
44 if(QFileInfo(ui.lineTalkFolder->text()).isDir())
46 QDir d(ui.lineTalkFolder->text());
47 browser.setDir(d);
49 else
51 QDir d("/media");
52 browser.setDir(d);
54 if(browser.exec() == QDialog::Accepted)
56 qDebug() << browser.getSelected();
57 setTalkFolder(browser.getSelected());
61 void InstallTalkWindow::setTalkFolder(QString folder)
63 ui.lineTalkFolder->setText(folder);
67 void InstallTalkWindow::accept()
69 logger = new ProgressLoggerGui(this);
70 logger->show();
72 QString folderToTalk = ui.lineTalkFolder->text();
73 QString pathEncoder = userSettings->value("encbin").toString();
74 QString pathTTS = userSettings->value("ttsbin").toString();
76 if(!QFileInfo(folderToTalk).isDir())
78 logger->addItem(tr("The Folder to Talk is wrong!"),LOGERROR);
79 logger->abort();
80 return;
83 if(!QFileInfo(pathEncoder).isExecutable())
85 logger->addItem(tr("Path to Encoder is wrong!"),LOGERROR);
86 logger->abort();
87 return;
90 if(!QFileInfo(pathTTS).isExecutable())
92 logger->addItem(tr("Path to TTS is wrong!"),LOGERROR);
93 logger->abort();
94 return;
97 userSettings->setValue("last_talked_folder", folderToTalk);
99 userSettings->sync();
101 talkcreator->setDir(folderToTalk);
102 talkcreator->setTTSexe(pathTTS);
103 talkcreator->setEncexe(pathEncoder);
104 talkcreator->setEncOpts(userSettings->value("encopts").toString());
105 talkcreator->setTTsOpts(userSettings->value("ttsopts").toString());
107 devices->beginGroup(userSettings->value("ttspreset").toString());
108 talkcreator->setTTsType(devices->value("tts").toString());
109 talkcreator->setTTsOpts(devices->value("options").toString());
110 talkcreator->setTTsTemplate(devices->value("template").toString());
111 devices->endGroup();
112 devices->beginGroup(userSettings->value("encpreset").toString());
113 talkcreator->setEncType(devices->value("encoder").toString());
114 talkcreator->setEncOpts(devices->value("options").toString());
115 talkcreator->setEncTemplate(devices->value("template").toString());
116 devices->endGroup();
118 talkcreator->setOverwriteTalk(ui.OverwriteTalk->isChecked());
119 talkcreator->setOverwriteWav(ui.OverwriteWav->isChecked());
120 talkcreator->setRemoveWav(ui.RemoveWav->isChecked());
121 talkcreator->setRecursive(ui.recursive->isChecked());
122 talkcreator->setStripExtensions(ui.StripExtensions->isChecked());
124 talkcreator->createTalkFiles(logger);
125 connect(logger,SIGNAL(closed()),this,SLOT(close()));
129 void InstallTalkWindow::setDeviceSettings(QSettings *dev)
131 devices = dev;
132 qDebug() << "Install::setDeviceSettings:" << devices;
134 QString profile;
136 profile = userSettings->value("ttspreset").toString();
137 devices->beginGroup("tts");
138 ui.labelTtsProfile->setText(tr("TTS Profile: <b>%1</b>")
139 .arg(devices->value(profile, tr("Invalid TTS profile!")).toString()));
140 qDebug() << profile;
141 devices->endGroup();
142 profile = userSettings->value("encpreset").toString();
143 devices->beginGroup("encoders");
144 ui.labelEncProfile->setText(tr("Encoder Profile: <b>%1</b>")
145 .arg(devices->value(profile, tr("Invalid encoder profile!")).toString()));
146 qDebug() << profile;
147 devices->endGroup();
153 void InstallTalkWindow::setUserSettings(QSettings *user)
155 userSettings = user;
157 talkcreator->setMountPoint(userSettings->value("defaults/mountpoint").toString());
159 setTalkFolder(userSettings->value("last_talked_folder").toString());