26 #include "kttsjobmgr.moc"
27 #include "ui_kttsjobmgr.h"
30 #include <QtCore/QObject>
31 #include <QtGui/QLabel>
32 #include <QtGui/QSplitter>
33 #include <QtGui/QClipboard>
34 #include <QtGui/QPushButton>
35 #include <QtCore/QList>
36 #include <QtGui/QTreeView>
37 #include <QtCore/QMimeData>
38 #include <QtDBus/QtDBus>
41 #include <kcomponentdata.h>
43 #include <kaboutdata.h>
46 #include <kencodingfiledialog.h>
47 #include <kinputdialog.h>
48 #include <ktextedit.h>
50 #include <kdemacros.h>
61 m_ui =
new Ui::kttsjobmgr;
64 m_kspeech =
new OrgKdeKSpeechInterface(QLatin1String(
"org.kde.KSpeech" ), QLatin1String(
"/KSpeech" ), QDBusConnection::sessionBus());
65 m_kspeech->setParent(
this);
68 m_kspeech->setApplicationName(QLatin1String(
"KCMKttsMgr" ));
69 m_kspeech->setIsSystemManager(
true);
72 KGlobal::locale()->insertCatalog(QLatin1String(
"jovie" ));
75 m_ui->talkerWidget->setNameReadOnly(
true);
76 connect (m_ui->talkerWidget, SIGNAL(talkerChanged()),
this, SIGNAL(
configChanged()));
78 m_ui->stopButton->setIcon(KIcon( QLatin1String(
"media-playback-stop" )));
79 connect (m_ui->stopButton, SIGNAL(clicked()),
this, SLOT(slot_stop()));
80 m_ui->cancelButton->setIcon(KIcon( QLatin1String(
"edit-clear" )));
81 connect (m_ui->cancelButton, SIGNAL(clicked()),
this, SLOT(slot_cancel()));
82 m_ui->pauseButton->setIcon(KIcon( QLatin1String(
"media-playback-pause" )));
83 connect (m_ui->pauseButton, SIGNAL(clicked()),
this, SLOT(slot_pause()));
84 m_ui->resumeButton->setIcon(KIcon( QLatin1String(
"media-playback-start" )));
85 connect (m_ui->resumeButton, SIGNAL(clicked()),
this, SLOT(slot_resume()));
87 m_ui->speak_clipboard->setIcon(KIcon( QLatin1String(
"klipper" )));
88 connect (m_ui->speak_clipboard, SIGNAL(clicked()),
this, SLOT(slot_speak_clipboard()));
89 m_ui->speak_file->setIcon(KIcon( QLatin1String(
"document-open" )));
90 connect (m_ui->speak_file, SIGNAL(clicked()),
this, SLOT(slot_speak_file()));
95 KGlobal::locale()->removeCatalog(QLatin1String(
"jovie" ));
102 void KttsJobMgr::slot_stop()
107 void KttsJobMgr::slot_cancel()
112 void KttsJobMgr::slot_pause()
117 void KttsJobMgr::slot_resume()
124 TalkerCode talker = m_ui->talkerWidget->getTalkerCode();
126 m_kspeech->setSpeed(talker.
rate());
127 m_kspeech->setPitch(talker.
pitch());
128 m_kspeech->setVolume(talker.
volume());
129 m_kspeech->setVoiceType(talker.
voiceType());
130 kDebug() <<
"setting output module to " << talker.
outputModule();
132 kDebug() <<
"setting language to " << talker.
language();
133 m_kspeech->setLanguage(talker.
language());
140 void KttsJobMgr::slot_speak_clipboard()
142 m_kspeech->sayClipboard();
145 void KttsJobMgr::slot_speak_file()
147 KEncodingFileDialog dlg;
148 KEncodingFileDialog::Result result = dlg.getOpenFileNameAndEncoding();
149 if (result.fileNames.count() == 1)
153 m_kspeech->sayFile(result.fileNames[0], result.encoding);
162 QString KttsJobMgr::cachedTalkerCodeToTalkerID(
const QString& talkerCode)
165 if (m_talkerCodesToTalkerIDs.contains(talkerCode))
166 return m_talkerCodesToTalkerIDs[talkerCode];
170 QString talkerID = m_kspeech->talkerToTalkerId(talkerCode);
171 m_talkerCodesToTalkerIDs[talkerCode] = talkerID;
KttsJobMgr(QWidget *parent=0)
void save()
apply current settings, i.e.
QString outputModule() const
void load()
get the current settings from speech-dispatcher