SVN_SILENT made messages (.desktop file)
[kdeaccessibility.git] / kttsd / plugins / hadifix / hadifixconfigui.ui.h
blobe8ef649288fce1dbe0bd04e5a4511e60cd157821
1 /****************************************************************************
2 ** ui.h extension file, included from the uic-generated form implementation.
3 **
4 ** If you wish to add, delete or rename slots use Qt Designer which will
5 ** update this file, preserving your code. Create an init() slot in place of
6 ** a constructor, and a destroy() slot in place of a destructor.
7 *****************************************************************************/
9 // Basically the slider values are logarithmic (0,...,1000) whereas percent
10 // values are linear (50%,...,200%).
12 // slider = alpha * (log(percent)-log(50))
13 // with alpha = 1000/(log(200)-log(50))
15 #ifndef HADIFIXCONFIGUI_UI_H
16 #define HADIFIXCONFIGUI_UI_H
18 int percentToSlider (int percentValue) {
19 double alpha = 1000 / (log(200) - log(50));
20 return (int)floor (0.5 + alpha * (log(percentValue)-log(50)));
23 int sliderToPercent (int sliderValue) {
24 double alpha = 1000 / (log(200) - log(50));
25 return (int)floor(0.5 + exp (sliderValue/alpha + log(50)));
28 void volumeBox_valueChanged (int percentValue) {
29 volumeSlider->setValue (percentToSlider (percentValue));
32 void timeBox_valueChanged (int percentValue) {
33 timeSlider->setValue (percentToSlider (percentValue));
36 void frequencyBox_valueChanged (int percentValue) {
37 frequencySlider->setValue (percentToSlider (percentValue));
40 void volumeSlider_valueChanged (int sliderValue) {
41 volumeBox->setValue (sliderToPercent (sliderValue));
44 void timeSlider_valueChanged (int sliderValue) {
45 timeBox->setValue (sliderToPercent (sliderValue));
48 void frequencySlider_valueChanged (int sliderValue) {
49 frequencyBox->setValue (sliderToPercent (sliderValue));
52 void init () {
53 male = KIconLoader::global()->loadIcon("male", K3Icon::Small);
54 female = KIconLoader::global()->loadIcon("female", K3Icon::Small);
57 void addVoice (const QString &filename, bool isMale) {
58 if (isMale) {
59 if (!maleVoices.contains(filename)) {
60 int id = voiceCombo->count();
61 maleVoices.insert (filename, id);
62 voiceCombo->addItem (male, filename);
65 else {
66 if (!femaleVoices.contains(filename)) {
67 int id = voiceCombo->count();
68 femaleVoices.insert (filename, id);
69 voiceCombo->addItem (female, filename);
74 void addVoice (const QString &filename, bool isMale, const QString &displayname) {
75 addVoice (filename, isMale);
77 if (isMale) {
78 defaultVoicesMap [maleVoices [filename]] = filename;
79 voiceCombo->setItemIcon (maleVoices [filename], male);
80 voiceCombo->setItemText (maleVoices [filename], displayname);
82 else{
83 defaultVoicesMap [femaleVoices [filename]] = filename;
84 voiceCombo->setItemIcon (femaleVoices [filename], female);
85 voiceCombo->setItemText (femaleVoices [filename], displayname);
89 void setVoice (const QString &filename, bool isMale) {
90 addVoice (filename, isMale);
91 if (isMale)
92 voiceCombo->setCurrentIndex (maleVoices[filename]);
93 else
94 voiceCombo->setCurrentIndex (femaleVoices[filename]);
97 QString getVoiceFilename() {
98 int curr = voiceCombo->currentIndex();
100 QString filename = voiceCombo->itemText(curr);
101 if (defaultVoicesMap.contains(curr))
102 filename = defaultVoicesMap[curr];
104 return filename;
107 bool isMaleVoice() {
108 int curr = voiceCombo->currentIndex();
109 QString filename = getVoiceFilename();
111 if (maleVoices.contains(filename))
112 return maleVoices[filename] == curr;
113 else
114 return false;
117 void changed (const QString &) {
118 emit changed (true);
121 #endif // HADIFIXCONFIGUI_UI_H