1 /***************************************************************************
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
9 * Copyright (C) 2007 by Dominik Riebeling
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
)
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());
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);
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
);
83 if(!QFileInfo(pathEncoder
).isExecutable())
85 logger
->addItem(tr("Path to Encoder is wrong!"),LOGERROR
);
90 if(!QFileInfo(pathTTS
).isExecutable())
92 logger
->addItem(tr("Path to TTS is wrong!"),LOGERROR
);
97 userSettings
->setValue("last_talked_folder", folderToTalk
);
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());
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());
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
)
132 qDebug() << "Install::setDeviceSettings:" << devices
;
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()));
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()));
153 void InstallTalkWindow::setUserSettings(QSettings
*user
)
157 talkcreator
->setMountPoint(userSettings
->value("defaults/mountpoint").toString());
159 setTalkFolder(userSettings
->value("last_talked_folder").toString());