• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeaccessibility API Reference
  • KDE Home
  • Contact Us
 

jovie

  • sources
  • kde-4.12
  • kdeaccessibility
  • jovie
  • kcmkttsmgr
kcmkttsmgr.h
Go to the documentation of this file.
1 /***************************************************** vim:set ts=4 sw=4 sts=4:
2  KControl module for KTTSD configuration and job management
3  -------------------
4  Copyright 2002-2003 by José Pablo Ezequiel "Pupeno" Fernández <pupeno@kde.org>
5  Copyright 2004-2005 by Gary Cramblitt <garycramblitt@comcast.net>
6  Copyright 2009 by Jeremy Whiting <jpwhiting@kde.org>
7  -------------------
8  Original author: José Pablo Ezequiel "Pupeno" Fernández <pupeno@kde.org>
9  Current Maintainer: Jeremy Whiting <jpwhiting@kde.org>
10 
11  This program is free software; you can redistribute it and/or modify
12  it under the terms of the GNU General Public License as published by
13  the Free Software Foundation; either version 2 of the License, or
14  (at your option) any later version.
15 
16  This program is distributed in the hope that it will be useful,
17  but WITHOUT ANY WARRANTY; without even the implied warranty of
18  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  GNU General Public License for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with this program; if not, write to the Free Software
23  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
24  ***************************************************************************/
25 
31 #ifndef KCMKTTSMGR_H
32 #define KCMKTTSMGR_H
33 
34 // Qt includes.
35 #include <QtCore/QMap>
36 #include <QtCore/QAbstractListModel>
37 #include <QtCore/QModelIndex>
38 
39 // KDE includes.
40 #include <kcmodule.h>
41 #include <kdebug.h>
42 
43 // KTTS includes.
44 #include "talkercode.h"
45 #include "talkerlistmodel.h"
46 #include "addtalker.h"
47 #include "ui_kcmkttsmgrwidget.h"
48 #include "kspeechinterface.h"
49 
50 class KttsFilterConf;
51 class QTreeWidget;
52 class QTreeWidgetItem;
53 class KAboutData;
54 class KConfig;
55 class KttsJobMgr;
56 
57 class FilterItem
58 {
59 public:
60  QString id;
61  QString userFilterName;
62  QString plugInName;
63  QString desktopEntryName;
64  bool enabled;
65  bool multiInstance;
66 };
67 
68 typedef QList<FilterItem> FilterList;
69 
70 class FilterListModel : public QAbstractListModel
71 {
72  Q_OBJECT
73 public:
74  explicit FilterListModel(FilterList filters = FilterList(), QObject *parent = 0);
75 
76  FilterList datastore() { return m_filters; }
77  void setDatastore(FilterList filters = FilterList()) { m_filters = filters; }
78  int rowCount(const QModelIndex &parent = QModelIndex()) const;
79  int columnCount(const QModelIndex &parent = QModelIndex()) const;
80  QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const;
81  QModelIndex parent(const QModelIndex & index ) const;
82  QVariant data(const QModelIndex &index, int role) const;
83  QVariant headerData(int section, Qt::Orientation orientation,
84  int role = Qt::DisplayRole) const;
85  Qt::ItemFlags flags(const QModelIndex &index) const;
86  bool removeRow(int row, const QModelIndex & parent = QModelIndex());
87 
88  FilterItem getRow(int row) const;
89  bool appendRow(FilterItem& filter);
90  bool updateRow(int row, FilterItem& filter);
91  bool swap(int i, int j);
92  void clear();
93 protected:
94  FilterList m_filters;
95 };
96 
97 class KCMKttsMgr :
98  public KCModule,
99  private Ui::KCMKttsMgrWidget
100 {
101  Q_OBJECT
102 
103  public:
104  KCMKttsMgr(QWidget *parent, const QVariantList &);
105 
106  ~KCMKttsMgr();
107 
116  void load();
117 
124  void save();
125 
132  void defaults();
133 
142  static void init();
143 
148  QString quickHelp() const;
149 
153  const KAboutData* aboutData() const;
154 
155  public slots:
159  void configChanged()
160  {
161  if (!m_suppressConfigChanged)
162  {
163  // kDebug() << "KCMKttsMgr::configChanged: Running";
164  m_changed = true;
165  emit changed(true);
166  }
167  }
168 
169  protected slots:
176  void jovieStarted();
177 
181  void jovieExiting();
182 
183  void slotServiceUnregistered( const QString & );
184  void slotServiceOwnerChanged( const QString &, const QString &, const QString & );
185  private:
186  enum widgetPages
187  {
188  wpGeneral = 0, // General tab.
189  wpTalkers = 1, // Talkers tab.
190  wpFilters = 2, // Filters tab.
191  wpJobs = 3 // Jobs tab.
192  };
193 
205  QString defaultTalkerCode(const QString &languageCode, const QString &plugInName);
206 
212  KttsFilterConf* loadFilterPlugin(const QString& plugInName);
213 
217  void configureFilterItem();
218  void configureFilter();
219 
223  void addFilter();
224 
228  void removeFilter();
229 
233  int countFilterPlugins(const QString& filterPlugInName);
234 
241  QString FilterNameToDesktopEntryName(const QString& name);
242 
248  QString FilterDesktopEntryNameToName(const QString& desktopEntryName);
249 
250 
261  //QTreeWidgetItem* findTreeWidgetItem(QTreeWidget* tw, const QString& sought, int col);
262 
266  org::kde::KSpeech* m_kspeech;
267 
271  KConfig *m_config;
272 
276  KttsJobMgr *m_jobMgrWidget;
277 
281  KDialog* m_configDlg;
282 
286  KttsFilterConf *m_loadedFilterPlugIn;
287 
291  TalkerListModel m_talkerListModel;
292 
296  int m_lastTalkerID;
297 
301  FilterListModel m_filterListModel;
302 
306  int m_lastFilterID;
307 
311  bool m_changed;
312 
317  bool m_suppressConfigChanged;
318 
322  QMap<QString, QString> m_languagesToCodes;
323 
327  //SynthToLangMap m_synthToLangMap;
328 
329  private slots:
333  void updateTalkerButtons();
334  void updateFilterButtons();
335 
339  void slotConfigTalkerDlg_ConfigChanged();
340  void slotConfigFilterDlg_ConfigChanged();
341  void slotConfigTalkerDlg_DefaultClicked();
342  void slotConfigFilterDlg_DefaultClicked();
343  void slotConfigTalkerDlg_CancelClicked();
344  void slotConfigFilterDlg_CancelClicked();
345 
349  void slotEnableJovie_toggled(bool checked);
350 
354  void slotAddTalkerButton_clicked();
355  void slotRemoveTalkerButton_clicked();
356  void slotHigherTalkerPriorityButton_clicked();
357  void slotLowerTalkerPriorityButton_clicked();
358  void slotConfigureTalkerButton_clicked();
359 
363  void slotFilterListView_clicked(const QModelIndex & index);
364  void slotAddFilterButton_clicked();
365  void slotRemoveFilterButton_clicked();
366  void slotHigherFilterPriorityButton_clicked();
367  void slotLowerFilterPriorityButton_clicked();
368  void slotConfigureFilterButton_clicked();
369 
373  void slotTabChanged();
374 };
375 
376 #endif
FilterItem::desktopEntryName
QString desktopEntryName
Definition: kcmkttsmgr.h:63
FilterListModel
Definition: kcmkttsmgr.h:70
KCMKttsMgr::jovieStarted
void jovieStarted()
DCOP Methods connected to D-Bus Signals emitted by KTTSD.
Definition: kcmkttsmgr.cpp:1088
KCMKttsMgr
Definition: kcmkttsmgr.h:97
FilterList
QList< KttsFilterProc * > FilterList
Definition: filtermgr.h:36
FilterListModel::datastore
FilterList datastore()
Definition: kcmkttsmgr.h:76
KCMKttsMgr::jovieExiting
void jovieExiting()
This slot is called just before Jovie exits.
Definition: kcmkttsmgr.cpp:1147
FilterListModel::headerData
QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const
Definition: kcmkttsmgr.cpp:177
QWidget
FilterListModel::rowCount
int rowCount(const QModelIndex &parent=QModelIndex()) const
Definition: kcmkttsmgr.cpp:95
KttsJobMgr
Definition: kttsjobmgr.h:46
QAbstractListModel
FilterListModel::data
QVariant data(const QModelIndex &index, int role) const
Definition: kcmkttsmgr.cpp:123
KDialog
KCMKttsMgr::~KCMKttsMgr
~KCMKttsMgr()
Destructor.
Definition: kcmkttsmgr.cpp:346
QObject
FilterListModel::setDatastore
void setDatastore(FilterList filters=FilterList())
Definition: kcmkttsmgr.h:77
FilterListModel::m_filters
FilterList m_filters
Definition: kcmkttsmgr.h:94
FilterListModel::parent
QModelIndex parent(const QModelIndex &index) const
Definition: kcmkttsmgr.cpp:117
KCMKttsMgr::save
void save()
This function gets called when the user wants to save the settings in the user interface, updating the config files or wherever the configuration is stored.
Definition: kcmkttsmgr.cpp:519
FilterListModel::swap
bool swap(int i, int j)
Definition: kcmkttsmgr.cpp:218
FilterListModel::columnCount
int columnCount(const QModelIndex &parent=QModelIndex()) const
Definition: kcmkttsmgr.cpp:103
talkercode.h
KCMKttsMgr::quickHelp
QString quickHelp() const
This function returns the small quickhelp.
Definition: kcmkttsmgr.cpp:660
KCMKttsMgr::KCMKttsMgr
KCMKttsMgr(QWidget *parent, const QVariantList &)
Constructor.
Definition: kcmkttsmgr.cpp:236
TalkerListModel
Model for list of configured talkers.
Definition: talkerlistmodel.h:45
FilterListModel::removeRow
bool removeRow(int row, const QModelIndex &parent=QModelIndex())
Definition: kcmkttsmgr.cpp:189
FilterListModel::updateRow
bool updateRow(int row, FilterItem &filter)
Definition: kcmkttsmgr.cpp:211
KCMKttsMgr::slotServiceOwnerChanged
void slotServiceOwnerChanged(const QString &, const QString &, const QString &)
Definition: kcmkttsmgr.cpp:1137
KCMKttsMgr::aboutData
const KAboutData * aboutData() const
Return the about information for this module.
Definition: kcmkttsmgr.cpp:670
talkerlistmodel.h
KCMKttsMgr::init
static void init()
This is a static method which gets called to realize the modules settings durign the startup of KDE...
Definition: kcmkttsmgr.cpp:651
FilterList
QList< FilterItem > FilterList
Definition: kcmkttsmgr.h:68
FilterItem::enabled
bool enabled
Definition: kcmkttsmgr.h:64
FilterListModel::appendRow
bool appendRow(FilterItem &filter)
Definition: kcmkttsmgr.cpp:203
FilterListModel::getRow
FilterItem getRow(int row) const
Definition: kcmkttsmgr.cpp:197
KCMKttsMgr::defaults
void defaults()
This function is called to set the settings in the module to sensible default values.
Definition: kcmkttsmgr.cpp:635
FilterListModel::clear
void clear()
Definition: kcmkttsmgr.cpp:225
FilterItem::plugInName
QString plugInName
Definition: kcmkttsmgr.h:62
FilterListModel::FilterListModel
FilterListModel(FilterList filters=FilterList(), QObject *parent=0)
Definition: kcmkttsmgr.cpp:90
KCMKttsMgr::load
void load()
This method is invoked whenever the module should read its configuration (most of the times from a co...
Definition: kcmkttsmgr.cpp:360
KttsFilterConf
Definition: filterconf.h:36
FilterItem::userFilterName
QString userFilterName
Definition: kcmkttsmgr.h:61
FilterItem
Definition: kcmkttsmgr.h:57
FilterItem::multiInstance
bool multiInstance
Definition: kcmkttsmgr.h:65
KCMKttsMgr::slotServiceUnregistered
void slotServiceUnregistered(const QString &)
Definition: kcmkttsmgr.cpp:1129
FilterItem::id
QString id
Definition: kcmkttsmgr.h:60
FilterListModel::flags
Qt::ItemFlags flags(const QModelIndex &index) const
Definition: kcmkttsmgr.cpp:160
FilterListModel::index
QModelIndex index(int row, int column, const QModelIndex &parent=QModelIndex()) const
Definition: kcmkttsmgr.cpp:109
addtalker.h
KCModule
KCMKttsMgr::configChanged
void configChanged()
This slot is used to emit the signal changed when any widget changes the configuration.
Definition: kcmkttsmgr.h:159
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:32:25 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

jovie

Skip menu "jovie"
  • Main Page
  • Namespace List
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

kdeaccessibility API Reference

Skip menu "kdeaccessibility API Reference"
  • jovie

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal