summaryrefslogtreecommitdiffstats
path: root/kcontrol/bell
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit4aed2c8219774f5d797760606b8489a92ddc5163 (patch)
tree3f8c130f7d269626bf6a9447407ef6c35954426a /kcontrol/bell
downloadtdebase-4aed2c8219774f5d797760606b8489a92ddc5163.tar.gz
tdebase-4aed2c8219774f5d797760606b8489a92ddc5163.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kcontrol/bell')
-rw-r--r--kcontrol/bell/Makefile.am15
-rw-r--r--kcontrol/bell/bell.cpp256
-rw-r--r--kcontrol/bell/bell.desktop251
-rw-r--r--kcontrol/bell/bell.h54
4 files changed, 576 insertions, 0 deletions
diff --git a/kcontrol/bell/Makefile.am b/kcontrol/bell/Makefile.am
new file mode 100644
index 000000000..3c3d94181
--- /dev/null
+++ b/kcontrol/bell/Makefile.am
@@ -0,0 +1,15 @@
+kde_module_LTLIBRARIES = kcm_bell.la
+
+kcm_bell_la_SOURCES = bell.cpp
+
+kcm_bell_la_LDFLAGS = $(all_libraries) -module -avoid-version -no-undefined
+kcm_bell_la_LIBADD = -lkdeui
+
+AM_CPPFLAGS= $(all_includes)
+
+METASOURCES = bell.moc
+
+messages:
+ $(XGETTEXT) $(kcm_bell_la_SOURCES) -o $(podir)/kcmbell.pot
+
+xdg_apps_DATA = bell.desktop
diff --git a/kcontrol/bell/bell.cpp b/kcontrol/bell/bell.cpp
new file mode 100644
index 000000000..707e6c151
--- /dev/null
+++ b/kcontrol/bell/bell.cpp
@@ -0,0 +1,256 @@
+/*
+ Copyright (c) 1997 Christian Czezatke (e9025461@student.tuwien.ac.at)
+ 1998 Bernd Wuebben <wuebben@kde.org>
+ 2000 Matthias Elter <elter@kde.org>
+ 2001 Carsten PFeiffer <pfeiffer@kde.org>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+*/
+
+#include <qcheckbox.h>
+#include <qgroupbox.h>
+#include <qlayout.h>
+#include <qpushbutton.h>
+#include <qwhatsthis.h>
+
+#include <kaboutdata.h>
+#include <kapplication.h>
+#include <kconfig.h>
+#include <kdialog.h>
+#include <kglobal.h>
+#include <knotifyclient.h>
+#include <knuminput.h>
+
+#include "bell.h"
+#include "bell.moc"
+
+#include <X11/Xlib.h>
+
+extern "C"
+{
+ KDE_EXPORT KCModule *create_bell(QWidget *parent, const char *)
+ {
+ return new KBellConfig(parent, "kcmbell");
+ }
+
+ KDE_EXPORT void init_bell()
+ {
+ XKeyboardState kbd;
+ XKeyboardControl kbdc;
+
+ XGetKeyboardControl(kapp->getDisplay(), &kbd);
+
+ KConfig config("kcmbellrc", true, false);
+ config.setGroup("General");
+
+ kbdc.bell_percent = config.readNumEntry("Volume", kbd.bell_percent);
+ kbdc.bell_pitch = config.readNumEntry("Pitch", kbd.bell_pitch);
+ kbdc.bell_duration = config.readNumEntry("Duration", kbd.bell_duration);
+ XChangeKeyboardControl(kapp->getDisplay(),
+ KBBellPercent | KBBellPitch | KBBellDuration,
+ &kbdc);
+ }
+}
+
+KBellConfig::KBellConfig(QWidget *parent, const char *name):
+ KCModule(parent, name)
+{
+ QBoxLayout *layout = new QVBoxLayout(this, 0, KDialog::spacingHint());
+
+ int row = 0;
+ QGroupBox *box = new QGroupBox( i18n("Bell Settings"), this );
+ box->setColumnLayout( 0, Qt::Horizontal );
+ layout->addWidget(box);
+ layout->addStretch();
+ QGridLayout *grid = new QGridLayout(box->layout(), KDialog::spacingHint());
+ grid->setColStretch(0, 0);
+ grid->setColStretch(1, 1);
+ grid->addColSpacing(0, 30);
+
+ m_useBell = new QCheckBox( i18n("&Use system bell instead of system notification" ), box );
+ QWhatsThis::add(m_useBell, i18n("You can use the standard system bell (PC speaker) or a "
+ "more sophisticated system notification, see the "
+ "\"System Notifications\" control module for the "
+ "\"Something Special Happened in the Program\" event."));
+ connect(m_useBell, SIGNAL( toggled( bool )), SLOT( useBell( bool )));
+ row++;
+ grid->addMultiCellWidget(m_useBell, row, row, 0, 1);
+
+ setQuickHelp( i18n("<h1>System Bell</h1> Here you can customize the sound of the standard system bell,"
+ " i.e. the \"beep\" you always hear when there is something wrong. Note that you can further"
+ " customize this sound using the \"Accessibility\" control module; for example, you can choose"
+ " a sound file to be played instead of the standard bell."));
+
+ m_volume = new KIntNumInput(50, box);
+ m_volume->setLabel(i18n("&Volume:"));
+ m_volume->setRange(0, 100, 5);
+ m_volume->setSuffix("%");
+ m_volume->setSteps(5,25);
+ grid->addWidget(m_volume, ++row, 1);
+ QWhatsThis::add( m_volume, i18n("Here you can customize the volume of the system bell. For further"
+ " customization of the bell, see the \"Accessibility\" control module.") );
+
+ m_pitch = new KIntNumInput(m_volume, 800, box);
+ m_pitch->setLabel(i18n("&Pitch:"));
+ m_pitch->setRange(20, 2000, 20);
+ m_pitch->setSuffix(i18n(" Hz"));
+ m_pitch->setSteps(40,200);
+ grid->addWidget(m_pitch, ++row, 1);
+ QWhatsThis::add( m_pitch, i18n("Here you can customize the pitch of the system bell. For further"
+ " customization of the bell, see the \"Accessibility\" control module.") );
+
+ m_duration = new KIntNumInput(m_pitch, 100, box);
+ m_duration->setLabel(i18n("&Duration:"));
+ m_duration->setRange(1, 1000, 50);
+ m_duration->setSuffix(i18n(" msec"));
+ m_duration->setSteps(20,100);
+ grid->addWidget(m_duration, ++row, 1);
+ QWhatsThis::add( m_duration, i18n("Here you can customize the duration of the system bell. For further"
+ " customization of the bell, see the \"Accessibility\" control module.") );
+
+ QBoxLayout *boxLayout = new QHBoxLayout();
+ m_testButton = new QPushButton(i18n("&Test"), box, "test");
+ boxLayout->addWidget(m_testButton, 0, AlignRight);
+ grid->addLayout( boxLayout, ++row, 1 );
+ connect( m_testButton, SIGNAL(clicked()), SLOT(ringBell()));
+ QWhatsThis::add( m_testButton, i18n("Click \"Test\" to hear how the system bell will sound using your changed settings.") );
+
+ // watch for changes
+ connect(m_volume, SIGNAL(valueChanged(int)), SLOT(changed()));
+ connect(m_pitch, SIGNAL(valueChanged(int)), SLOT(changed()));
+ connect(m_duration, SIGNAL(valueChanged(int)), SLOT(changed()));
+
+ KAboutData *about =
+ new KAboutData(I18N_NOOP("kcmbell"), I18N_NOOP("KDE Bell Control Module"),
+ 0, 0, KAboutData::License_GPL,
+ I18N_NOOP("(c) 1997 - 2001 Christian Czezatke, Matthias Elter"));
+
+ about->addAuthor("Christian Czezatke", I18N_NOOP("Original author"), "e9025461@student.tuwien.ac.at");
+ about->addAuthor("Bernd Wuebben", 0, "wuebben@kde.org");
+ about->addAuthor("Matthias Elter", I18N_NOOP("Current maintainer"), "elter@kde.org");
+ about->addAuthor("Carsten Pfeiffer", 0, "pfeiffer@kde.org");
+ setAboutData(about);
+
+ load();
+}
+
+void KBellConfig::load()
+{
+ load( false );
+}
+
+void KBellConfig::load( bool useDefaults )
+{
+ XKeyboardState kbd;
+ XGetKeyboardControl(kapp->getDisplay(), &kbd);
+
+ m_volume->setValue(kbd.bell_percent);
+ m_pitch->setValue(kbd.bell_pitch);
+ m_duration->setValue(kbd.bell_duration);
+
+ KConfig cfg("kdeglobals", false, false);
+ cfg.setReadDefaults( useDefaults );
+ cfg.setGroup("General");
+ m_useBell->setChecked(cfg.readBoolEntry("UseSystemBell", false));
+ useBell(m_useBell->isChecked());
+ emit changed( useDefaults );
+}
+
+void KBellConfig::save()
+{
+ XKeyboardControl kbd;
+
+ int bellVolume = m_volume->value();
+ int bellPitch = m_pitch->value();
+ int bellDuration = m_duration->value();
+
+ kbd.bell_percent = bellVolume;
+ kbd.bell_pitch = bellPitch;
+ kbd.bell_duration = bellDuration;
+ XChangeKeyboardControl(kapp->getDisplay(),
+ KBBellPercent | KBBellPitch | KBBellDuration,
+ &kbd);
+
+ KConfig config("kcmbellrc", false, false);
+ config.setGroup("General");
+ config.writeEntry("Volume",bellVolume);
+ config.writeEntry("Pitch",bellPitch);
+ config.writeEntry("Duration",bellDuration);
+
+ config.sync();
+
+ KConfig cfg("kdeglobals", false, false);
+ cfg.setGroup("General");
+ cfg.writeEntry("UseSystemBell", m_useBell->isChecked());
+ cfg.sync();
+
+ if (!m_useBell->isChecked())
+ {
+ KConfig config("kaccessrc", false);
+
+ config.setGroup("Bell");
+ config.writeEntry("SystemBell", false);
+ config.writeEntry("ArtsBell", false);
+ config.writeEntry("VisibleBell", false);
+ }
+}
+
+void KBellConfig::ringBell()
+{
+ if (!m_useBell->isChecked()) {
+ KNotifyClient::beep();
+ return;
+ }
+
+ // store the old state
+ XKeyboardState old_state;
+ XGetKeyboardControl(kapp->getDisplay(), &old_state);
+
+ // switch to the test state
+ XKeyboardControl kbd;
+ kbd.bell_percent = m_volume->value();
+ kbd.bell_pitch = m_pitch->value();
+ if (m_volume->value() > 0)
+ kbd.bell_duration = m_duration->value();
+ else
+ kbd.bell_duration = 0;
+ XChangeKeyboardControl(kapp->getDisplay(),
+ KBBellPercent | KBBellPitch | KBBellDuration,
+ &kbd);
+ // ring bell
+ XBell(kapp->getDisplay(),0);
+
+ // restore old state
+ kbd.bell_percent = old_state.bell_percent;
+ kbd.bell_pitch = old_state.bell_pitch;
+ kbd.bell_duration = old_state.bell_duration;
+ XChangeKeyboardControl(kapp->getDisplay(),
+ KBBellPercent | KBBellPitch | KBBellDuration,
+ &kbd);
+}
+
+void KBellConfig::defaults()
+{
+ load( true );
+}
+
+void KBellConfig::useBell( bool on )
+{
+ m_volume->setEnabled( on );
+ m_pitch->setEnabled( on );
+ m_duration->setEnabled( on );
+ m_testButton->setEnabled( on );
+ changed();
+}
diff --git a/kcontrol/bell/bell.desktop b/kcontrol/bell/bell.desktop
new file mode 100644
index 000000000..5fbc7193e
--- /dev/null
+++ b/kcontrol/bell/bell.desktop
@@ -0,0 +1,251 @@
+[Desktop Entry]
+Exec=kcmshell bell
+Icon=bell
+Type=Application
+DocPath=kcontrol/bell/index.html
+Categories=Qt;KDE;X-KDE-settings-sound;
+
+
+X-KDE-Library=bell
+X-KDE-Init=bell
+X-KDE-ParentApp=kcontrol
+
+Name=System Bell
+Name[af]=Stelsel Klok
+Name[ar]=جرس النظام
+Name[az]=Sistem Zınqırovu
+Name[be]=Сістэмны званок
+Name[bg]=Системен звук
+Name[bn]=সিস্টেম ঘণ্টা
+Name[br]=Kloc'h ar reizhiad
+Name[bs]=Sistemsko zvono
+Name[ca]=Timbre del sistema
+Name[cs]=Systémový zvonek
+Name[csb]=Systemowi brzãczk
+Name[cy]=Cloch Cysawd
+Name[da]=Systemklokke
+Name[de]=Signalton
+Name[el]=Μεγαφωνάκι συστήματος
+Name[eo]=Sistempepo
+Name[es]=Timbre del sistema
+Name[et]=Süsteemne signaal
+Name[eu]=Sistemaren ezkila
+Name[fa]=زنگ سیستم
+Name[fi]=Järjestelmän varoitus
+Name[fo]=Kervisklokka
+Name[fr]=Cloche du système
+Name[fy]=Systeembel
+Name[ga]=Clog an Chórais
+Name[gl]=Badalada do Sistema
+Name[he]=פעמון המערכת
+Name[hi]=तंत्र घंटी
+Name[hr]=Sistemsko zvono
+Name[hu]=Rendszercsengő
+Name[id]=Bel Sistem
+Name[is]=Kerfisbjalla
+Name[it]=Campanella di sistema
+Name[ja]=システムベル
+Name[ka]=სისტემის ხმოვანი სიგნალი
+Name[kk]=Жүйелік қоңырау
+Name[km]=កណ្ដឹង​ប្រព័ន្ធ
+Name[ko]=시스템 종소리
+Name[lo]=ກະດິງລະບົບ
+Name[lt]=Sistemos skambutis
+Name[lv]=Sistēmas Zvans
+Name[mk]=Системско ѕвонче
+Name[mn]=Сигналийн чимээ
+Name[ms]=Loceng Sistem
+Name[mt]=Spijker tas-sistema
+Name[nb]=Systemlyd
+Name[nds]=Systeempingel
+Name[ne]=प्रणाली बेल
+Name[nl]=Systeembel
+Name[nn]=Systemlyd
+Name[nso]=Bell ya System
+Name[oc]=Timbre dèu sistemo
+Name[pa]=ਸਿਸਟਮ ਘੰਟੀ
+Name[pl]=Brzęczyk systemowy
+Name[pt]=Campainha do Sistema
+Name[pt_BR]=Campainha do sistema
+Name[ro]=Sunet de difuzor
+Name[ru]=Системный звуковой сигнал
+Name[rw]=Inzogera Sisitemu
+Name[se]=Vuogádatjietna
+Name[sk]=Zvonček
+Name[sl]=Sistemski zvonec
+Name[sr]=Системско звоно
+Name[sr@Latn]=Sistemsko zvono
+Name[ss]=Umshini Bell
+Name[sv]=Systemsummer
+Name[ta]=அமைப்பு மணி
+Name[te]=వ్యవస్థ గంట
+Name[tg]=Занги система
+Name[th]=ออดระบบ
+Name[tr]=Sistem Zili
+Name[tt]=Sistem Zile
+Name[uk]=Системний дзвінок
+Name[uz]=Tizim tovush signali
+Name[uz@cyrillic]=Тизим товуш сигнали
+Name[ven]=Bele ya sisitemu
+Name[vi]=Chuông Hệ thống
+Name[wa]=Xhîlete do sistinme
+Name[xh]=Indlela yokusebenza Yentsimbi
+Name[zh_CN]=系统铃声
+Name[zh_TW]=系統鈴聲
+Name[zu]=Insimbi yesistimu
+
+Comment=System Bell Configuration
+Comment[af]=Stelsel Klok Opstelling
+Comment[ar]=اعداد جرس النظام
+Comment[az]=Sistem Səsləri Quraşdırması
+Comment[be]=Настаўленне сістэмнага званка
+Comment[bg]=Настройване звуковия сигнал на системата
+Comment[bn]=সিস্টেম ঘণ্টা কনফিগারেশন
+Comment[br]=Kefluniañ kloc'h ar reizhiad
+Comment[bs]=Postavke za sistemsko zvono
+Comment[ca]=Configuració del timbre del sistema
+Comment[cs]=Nastavení systémového zvonku
+Comment[csb]=Kònfigùracëjô systemòwégò brzãczka
+Comment[cy]=Gosodiadau'r Cloch Cysawd
+Comment[da]=Systemklokkeindstilling
+Comment[de]=Einstellungen zum Signalton
+Comment[el]=Ρυθμίσεις για το μεγαφωνάκι του συστήματός σας
+Comment[eo]=Agordo de la sistempepo
+Comment[es]=Configuración del timbre del sistema
+Comment[et]=Süsteemse signaali seadistamine
+Comment[eu]=Sistemaren ezkilaren konfigurazioa
+Comment[fa]=پیکربندی زنگ سیستم
+Comment[fi]=Järjestelmän varoitusäänen asetus
+Comment[fo]=Uppseting av kervisklokka
+Comment[fr]=Configuration de la cloche du système
+Comment[fy]=Systeemlûden ynstelle
+Comment[ga]=Cumraíocht Chloig an Chórais
+Comment[gl]=Configuración da Badalada do Sistema
+Comment[he]=שינוי הגדרות פעמון המערכת
+Comment[hi]=तंत्र घंटी कॉन्फ़िगरेशन
+Comment[hr]=Konfiguracija sistemskog zvona
+Comment[hu]=A rendszercsengő beállításai
+Comment[id]=Konfigurasi Sistem Bel
+Comment[is]=Stillingar kerfishljóða
+Comment[it]=Configurazione campanella di sistema
+Comment[ja]=システムベルの設定
+Comment[ka]=სისტემის ხმოვანი სიგნალის კონფიგურაცია
+Comment[kk]=Жүйелік қоңырауды баптау
+Comment[km]=ការ​កំណត់​រចនាសម្ព័ន្ធ​កណ្ដឹង​ប្រព័ន្ធ
+Comment[ko]=시스템 종소리 설정
+Comment[lo]=ປັບແຕ່ງກະດິງລະບົບ
+Comment[lt]=Sistemos skambučio derinimas
+Comment[lv]=Sistēmas Zvana Konfigurācija
+Comment[mk]=Конфигурација на системското ѕвонче
+Comment[mn]=Сигналийн чимээ тохируулах
+Comment[ms]=Konfigurasi Loceng Sistem
+Comment[mt]=Konfigurazzjoni tal-ispijker tas-sistema
+Comment[nb]=Systemlydoppsett
+Comment[nds]=Systeempingel instellen
+Comment[ne]=प्रणाली बेल कन्फिगरेसन
+Comment[nl]=Systeemgeluiden instellen
+Comment[nn]=Systemlydoppsett
+Comment[nso]=Peakanyo ya Bell ya System
+Comment[oc]=Configuracion dèu timbre dèu sistemo
+Comment[pa]=ਸਿਸਟਮ ਘੰਟੀ ਸੰਰਚਨਾ
+Comment[pl]=Konfiguracja brzęczka systemowego
+Comment[pt]=Configuração da Campainha do Sistema
+Comment[pt_BR]=Configuração da Campainha do Sistema
+Comment[ro]=Configurează sunetul de difuzor
+Comment[ru]=Настройка системного звукового сигнала
+Comment[rw]=Iboneza ry'Inzogera Sisitemu
+Comment[se]=Vuogádatjietnaheivehusat
+Comment[sk]=Nastavenie zvončeka
+Comment[sl]=Nastavitve sistemskega zvonca
+Comment[sr]=Подешавање системског звона
+Comment[sr@Latn]=Podešavanje sistemskog zvona
+Comment[ss]=Kuhleleka kwebheli yemshini
+Comment[sv]=Anpassa systemets summer
+Comment[ta]=மணி,ஒலி,சத்தம்,உரப்பு,சுருதி,இடைவெளி
+Comment[te]=వ్యవస్థ గంట అమరిక
+Comment[tg]=Танзимоти занги системаы
+Comment[th]=ปรับแต่งออดระบบ
+Comment[tr]=Sistem Sesleri Yapılandırması
+Comment[tt]=Sistem Zil Caylawı
+Comment[uk]=Налаштування системного дзвінка
+Comment[uz]=Tizim tovush signalini moslash
+Comment[uz@cyrillic]=Тизим товуш сигналини мослаш
+Comment[ven]=Nzudzanyo ya sisitemu ya Bele
+Comment[vi]=Cấu hình Chuông Hệ thống
+Comment[wa]=Apontiaedje del xhîlete do sistinme
+Comment[xh]=Uqwalaselo Lwendlela Yentsimbi
+Comment[zh_CN]=系统铃声配置
+Comment[zh_TW]=系統鈴聲組態
+Comment[zu]=Inhlanganiselo Yensimbi Yesistimu
+
+Keywords=Bell,Audio,Sound,Volume,Pitch,Duration
+Keywords[az]=çən,Səs,Səs,Səs Qurğusu,Addım,Müddət
+Keywords[be]=Званок,аўдыё,гук,гучнасць,Bell,Audio,Sound,Volume,Pitch,Duration
+Keywords[bg]=звук, системен, говорител, сила, Bell, Audio, Sound, Volume, Pitch, Duration
+Keywords[ca]=Timbre,Àudio,So,Volum,To,Durada
+Keywords[cs]=Systémový zvonek,Audio,Zvuk,Hlasitost,Trvání
+Keywords[csb]=brzãczk,audio,zwãk,głosnosc,tonacëjô,dérowanié
+Keywords[cy]=Cloch,Awdio,S?n,Sain,Gogwydd,Hyd
+Keywords[da]=Klokke,Audio,Lyd,Lydstyrke,Tonehøjde,Varighed
+Keywords[de]=Signalton,Systemton,Klänge,Audio,Sound,Dauer,Lautstärke,Höhen
+Keywords[el]=Μεγαφωνάκι,Audio,Ήχος,Ένταση,Τονισμός,Διάρκεια
+Keywords[eo]=pepo,sonoro,sono,aŭdio,alteco,daŭro
+Keywords[es]=Timbre,Audio,Sonido,Volumen,Tono,Duración
+Keywords[et]=signaal,audio,heli,helitugevus,helikõrgus,kestvus
+Keywords[eu]=Ezkila,Audioa,Soinua,Bolumena,Pitch-a,Iraupena
+Keywords[fa]=زنگ، صوتی، صوت، حجم صدا، زیروبمی صدا، دوام
+Keywords[fi]=Äänet,Piippaus,Ääni,Äänenvoimakkuus,Korkeus,Kesto
+Keywords[fr]=cloche,audio,son,volume,durée,modulation,bip
+Keywords[fy]=bel,audio,lûd,folume,singalering,lûd,duer,toan,toanen,toanhichte,systeemlûden,systeembel
+Keywords[ga]=Clog,Fuaim,Airde,Fad
+Keywords[gl]=Badalada,Audio,Son,Volume,Pitch,Duración
+Keywords[he]=פעמון,שמע,צליל,עצמה,גובה,משך, Bell,Audio,Sound,Volume,Pitch,Duration
+Keywords[hi]=घंटी,ऑडियो,ध्वनि,आवाज़ निर्धारक,पिच,अवधि
+Keywords[hr]=Bell,Audio,Sound,Volume,Pitch,Duration,Zvono,Zvuk,Zvuci sustava,Sistemsko zvono,Glasnoća,Razdoblje
+Keywords[hu]=csengő,audió,hang,hangerő,hangmagasság,időtartam
+Keywords[id]=Bel,Audio,Suara,Volume,Pitch,Durasi
+Keywords[is]=Kerfishljóð,hljóð,bjalla,styrkur,hljóðstyrkur,tónn,lengd,tónlengd
+Keywords[it]=campanella,audio,suono,volume,tono,durata
+Keywords[ja]=ベル,オーディオ,サウンド,音量,ピッチ,持続時間
+Keywords[ka]=ზარი, აუდიო, ხმა, ხმა, მიწოდება, ხანგრძლივობა
+Keywords[km]=កណ្ដឹង,សោត,សំឡេង,កម្ពស់​សំឡេង,ថិរវេលា
+Keywords[lo]=ກະດິງ,ລະບົບສງງ,ຄວາມດັງຂອງສງງ,ພິດສງງ, ດູເຣເຊິນ
+Keywords[lt]=Bell,skambutis,Audio,Sound,garsas,Volume,garsumas,Pitch,aukštis,Duration,trukmė
+Keywords[lv]=Zvans,Audio,Skaņa,Līmenis,Pīķis,Ilgums
+Keywords[mk]=Bell,Audio,Sound,Volume,Pitch,Duration,Ѕвонче,Аудио,Звук,Гласност,Амплитуда,Траење
+Keywords[mn]=Сигналийн чимээ,Системын чимээ,Чимээ,Дуу,Дууны чанга,Үргэлжилэл,Өндөр
+Keywords[ms]=Loceng,Audio,Bunyi,Volum,Pic,Tempoh
+Keywords[nb]=signal,audio,lyd,lydstyrke,volum,tone,lengde
+Keywords[nds]=Pingel,Audio,Klang,Kläng,Luutstärk,Pitch,Duer
+Keywords[ne]=बेल, अडियो, ध्वनि, भोल्युम, पिच, अन्तराल
+Keywords[nl]=bel,audio,sound,volume,signalering,geluid,duur,toon,tonen,toonhoogte,systeemgeluiden,systeembel
+Keywords[nn]=signal,audio,lyd,lydstyrke,volum,tone,lengd
+Keywords[nso]=Bell,Audio,Modumo,Volume,Pitch,Nako
+Keywords[pa]=Bell,Audio,Sound,Volume,Pitch,Duration, ਘੰਟੀ, ਆਡੀਓ, ਸਾਊਡ
+Keywords[pl]=Brzęczyk,Audio,Dźwięk,Głośność,Tonacja,Trwanie
+Keywords[pt]=Campainha,Áudio,Som,Volume,Frequência,Duração
+Keywords[pt_BR]=Campainha,Áudio,Som,Volume,Tom,Duração
+Keywords[ro]=difuzor,audio,sunet,volum,frecvență,durată
+Keywords[rw]=Inzogera,Inyumvo,Ijwi,Agahindurajwi,Iyatura,Igihebimara
+Keywords[se]=signála,audio,jietna,voluma,nuohtta,guhkkodat
+Keywords[sk]=Zvonček,Audio,Zvuk,Hlasitosť,Výška,Trvanie
+Keywords[sl]=zvonec,avdio,zvok,glasnost,višina,trajanje
+Keywords[sr]=Звоно,Аудио,Звук,Јачина,Трајање
+Keywords[sr@Latn]=Zvono,Audio,Zvuk,Jačina,Trajanje
+Keywords[ss]=Ibheli,I-audio,Umsindvo,Ivolumu,I-pitch,Sikhatsi
+Keywords[sv]=Summer,Ljud,Volym,Tonhöjd,Varaktighet
+Keywords[ta]=மணி,ஒலி அமைப்பு,ஒலி,ஒலி,இடம்,நேர அளவு
+Keywords[tg]=Bell,Audio,Sound,Volume,Pitch,Duration,Занг,Аудио,Садо
+Keywords[th]=ออด,ระบบเสียง,เสียง,ความดังเสียง,พิทช์เสียง,ดูเรชัน
+Keywords[tr]=zil,Ses,Ses,Ses Ayarı,Adım,Süre
+Keywords[uk]=аудіо,гучність,висота,тривалість,гудок,звук
+Keywords[uz]=Tovush signali,Audio,Tovush,Tovush balandligi,Pitch,Davom etishi
+Keywords[uz@cyrillic]=Товуш сигнали,Аудио,Товуш,Товуш баландлиги,Pitch,Давом этиши
+Keywords[ven]=Bele,Zwo u pfala,Mubvumo,Volomu,Fhufhela,Tshikhala
+Keywords[vi]=Chuông,Âm nhạc,Âm thanh,Âm lượng,Âm sắc,Thời lượng
+Keywords[wa]=Xhilete,Audio,Son,Volume,ton,hôteu,longueur
+Keywords[xh]=Intsimbi,Evakalayo,iSandi,Umqulu,Uniko lobude obufunekayo,Ixesha ezalithatha
+Keywords[zh_CN]=Bell,Audio,Sound,Volume,Pitch,Duration,响铃,音频,音量,音调,持续时间
+Keywords[zh_TW]=Bell,Audio,Sound,Volume,Pitch,Duration,響鈴,聲音,音量,音調,持續時間
+Keywords[zu]=Insimbi,Okuzwakalayo,Usimdo,Izinga lomsindo,Umnswininizo,Ubude besikhathi
+
diff --git a/kcontrol/bell/bell.h b/kcontrol/bell/bell.h
new file mode 100644
index 000000000..ceaf875df
--- /dev/null
+++ b/kcontrol/bell/bell.h
@@ -0,0 +1,54 @@
+/*
+ Copyright (c) 1997 Christian Czezatke (e9025461@student.tuwien.ac.at)
+ 1998 Bernd Wuebben <wuebben@kde.org>
+ 2000 Matthias Elter <elter@kde.org>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+*/
+
+#ifndef __bell_h__
+#define __bell_h__
+
+#include "kcmodule.h"
+
+class QCheckBox;
+class KIntNumInput;
+class QPushButton;
+
+class KBellConfig : public KCModule
+{
+ Q_OBJECT
+
+ public:
+ KBellConfig(QWidget *parent, const char *name);
+
+ void load();
+ void load( bool useDefaults );
+ void save();
+ void defaults();
+
+ protected slots:
+ void ringBell();
+ void useBell( bool );
+
+ private:
+ QPushButton *m_testButton;
+ KIntNumInput *m_volume;
+ KIntNumInput *m_pitch;
+ KIntNumInput *m_duration;
+ QCheckBox *m_useBell;
+};
+
+#endif