Skip to content
Snippets Groups Projects
Commit 7a8960ff authored by Jérémy Quentin's avatar Jérémy Quentin
Browse files

Merge branch 'codeclistmodel' into qt-client

Conflicts:
	sflphone-client-kde/po/ru/sflphone-client-kde.po
parents e5ec7909 3aaf3fef
No related branches found
No related tags found
No related merge requests found
Showing
with 2469 additions and 1043 deletions
......@@ -3,774 +3,1531 @@
# This file is distributed under the same license as the sflphone package.
# Hussein Abdallah <hussein.abdallah@savoirfairelinux.com>, 2009
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: SFLphone 0.9.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-07-08 15:18-0400\n"
"PO-Revision-Date: 2009-06-08 10:19 GMT-5\n"
"Last-Translator: HUSSEIN ABDALLAH <hussein.abdallah@savoirfairelinux.com>\n"
"Language-Team: Savoir-Faire Linux Inc <sflphoneteam@savoirfairelinux.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../src/Account.cpp:34
msgctxt "account state"
msgid "Registered"
msgstr ""
#: ../src/Account.cpp:36
msgctxt "account state"
msgid "Not Registered"
msgstr ""
#: ../src/Account.cpp:38
msgctxt "account state"
msgid "Trying..."
msgstr ""
#: ../src/Account.cpp:40
msgctxt "account state"
msgid "Error"
msgstr ""
#: ../src/Account.cpp:42
#, fuzzy
msgctxt "account state"
msgid "Bad authentification"
msgstr "Включить предупреждения"
#: ../src/Account.cpp:44
msgctxt "account state"
msgid "Network unreachable"
msgstr ""
#: ../src/Account.cpp:46
msgctxt "account state"
msgid "Host unreachable"
msgstr ""
#: ../src/Account.cpp:48
#, fuzzy
msgctxt "account state"
msgid "Stun configuration error"
msgstr "Окно настроек"
#: ../src/Account.cpp:50
#, fuzzy
msgctxt "account state"
msgid "Stun server invalid"
msgstr "STUN-сервер"
#: ../src/Account.cpp:51
msgctxt "account state"
msgid "Invalid"
msgstr ""
#: ../src/AccountWizard.cpp:163 ../src/AccountWizard.cpp:278
msgid "Account Creation Wizard"
msgstr "Мастер настройки SFLphone"
#: ../src/AccountWizard.cpp:199
msgid "Creation of account succeed with these parameters"
msgstr "Успешное создание аккаунта с этими настройками"
#: ../src/AccountWizard.cpp:211
msgid "Creation of account has failed for the reason"
msgstr "Создание аккаунта не получилось по этим причинам"
#: ../src/AccountWizard.cpp:217
msgid "Register of account succeed with these parameters"
msgstr "Успешное регистрация аккаунта с этими настройками"
#: ../src/AccountWizard.cpp:255 ../src/AccountWizard.cpp:440
#: ../build/src/ui_dlgaccountsbase.h:359
msgid "Alias"
msgstr "Псевдоним"
#: ../src/AccountWizard.cpp:256 ../src/AccountWizard.cpp:441
#: ../build/src/ui_dlgaccountsbase.h:366
msgid "Server"
msgstr "Сервер"
#: ../src/AccountWizard.cpp:257 ../src/AccountWizard.cpp:442
#: ../build/src/ui_dlgaccountsbase.h:367
msgid "User"
msgstr "Пользователь"
#: ../src/AccountWizard.cpp:258 ../src/AccountWizard.cpp:443
#: ../build/src/ui_dlgaccountsbase.h:368
msgid "Password"
msgstr "Пароль"
#: ../src/AccountWizard.cpp:259 ../build/src/ui_dlgaccountsbase.h:360
msgid "Protocol"
msgstr "Протокол"
#: ../src/AccountWizard.cpp:260 ../build/src/ui_dlgaccountsbase.h:369
#: ../build/src/ui_sflphone_kdeview_base.h:396
msgid "Mailbox"
msgstr "Звуковые сообщения"
#: ../src/AccountWizard.cpp:279
#, fuzzy
msgid "Welcome to the Account creation wizard of SFLphone"
msgstr "Добро пожаловать в мастер настройки SFLphone"
#: ../src/AccountWizard.cpp:281
msgid "This wizard will help you setting up an account."
msgstr "Этот мастер установки поможет вам настроить ваш аккаунт."
#: ../src/AccountWizard.cpp:309 ../src/conf/ConfigurationDialog.cpp:50
msgid "Accounts"
msgstr "Аккаунты"
#: ../src/AccountWizard.cpp:310
msgid "Please choose between those options :"
msgstr "Выберите пожалуйста тип аккаунта :"
#: ../src/AccountWizard.cpp:312
msgid "Create a free SIP/IAX2 account on sflphone.org"
msgstr "Создать бесплатный SIP/IAX2-аккаунт на sflphone.org"
#: ../src/AccountWizard.cpp:313
msgid "Register an existing SIP/IAX2 account"
msgstr "Зарегистрировать существующий SIP или IAX2 аккаунт"
#: ../src/AccountWizard.cpp:352
msgid "VoIP Protocols"
msgstr "VoIP-протоколы"
#: ../src/AccountWizard.cpp:353
msgid "Choose the account type"
msgstr "Выберите тип аккаунта:"
#: ../src/AccountWizard.cpp:355
msgid "Register a SIP (Session Initiation Protocol) account"
msgstr "Зарегистрировать существующий SIP или IAX2 аккаунт"
#: ../src/AccountWizard.cpp:356
msgid "Register a IAX2 (InterAsterisk eXchange) account"
msgstr "Зарегистрируете IAX2-аккаунт"
#: ../src/AccountWizard.cpp:395
msgid "Optionnal Email Address"
msgstr "Электронный адрес (необязательный) "
#: ../src/AccountWizard.cpp:396
msgid "This email address will be used to send your voicemail messages."
msgstr "Этот электронный адрес будет использоваться для речевых сообщений"
#: ../src/AccountWizard.cpp:398
msgid "Email address"
msgstr "Адрес эл. почты"
#: ../src/AccountWizard.cpp:432
msgid "SIP Account Settings"
msgstr "Настройки SIP-аккаунта"
#: ../src/AccountWizard.cpp:436
msgid "IAX2 Account Settings"
msgstr "Настройки IAX2-аккаунта"
#: ../src/AccountWizard.cpp:438
msgid "Please full these settings fields."
msgstr "Заполните пожалуйста эти поля."
#: ../src/AccountWizard.cpp:444
msgid "Voicemail number"
msgstr ""
#: ../src/AccountWizard.cpp:523
msgid "Network Address Translation (NAT)"
msgstr "Network Address Translation (NAT)"
#: ../src/AccountWizard.cpp:524
msgid ""
"You should probably enable this option if you're placed under a firewall"
msgstr "Вы наверное должны это включить если вы находитесь за сетевым экраном."
#: ../src/AccountWizard.cpp:526
msgid "Enable STUN"
msgstr "Включить STUN"
#: ../src/AccountWizard.cpp:527
msgid "Stun Server"
msgstr "STUN-сервер"
#: ../src/AccountWizard.cpp:561
msgid "Account Definition Finished"
msgstr "Настройка аккаунта закончена."
#: ../src/AccountWizard.cpp:562
msgid ""
"After checking the settings you chose, click \"Finish\" to create the "
"account."
msgstr ""
"После просмотра выбранных настроек, нажмите на \"Закончить\" чтобы создать "
"аккаунт. "
#: ../src/ActionSetAccountFirst.cpp:26
msgid "Default account"
msgstr ""
#: ../src/Call.cpp:116
msgid "Transfer to : "
msgstr "Переслать звонок на другой номер :"
#: ../src/main.cpp:34
msgid "SFLphone KDE Client"
msgstr ""
#: ../src/main.cpp:38
msgid "(C) 2009 Savoir-faire Linux"
msgstr ""
#: ../src/main.cpp:42
msgid "Jérémy Quentin"
msgstr ""
#: ../src/main.cpp:43
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr ""
#: ../src/main.cpp:43
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr ""
#: ../src/SFLPhone.cpp:62 ../src/sflphone_kdeview.cpp:1066
#: ../src/sflphone_kdeview.cpp:1071 ../src/sflphone_kdeview.cpp:1076
#, fuzzy
msgid "SFLphone"
msgstr "SFLPhone"
#: ../src/SFLPhone.cpp:181
msgid "You still have some calls open. Please close all calls before quitting."
msgstr ""
"У вас ещё есть неоконченные звонки. Пожалуйста проверьте что все звонки "
"окончены перед тем как выйти."
#: ../src/SFLPhone.cpp:209
msgid "Incoming call"
msgstr "Входящий звонок"
#: ../src/SFLPhone.cpp:210
msgid "You have an incoming call from"
msgstr "Входящей звонок от "
#: ../src/SFLPhone.cpp:210
msgid "Click to accept or refuse it."
msgstr "Нажмите чтобы принять или отклонить."
#: ../src/sflphone_kdeview.cpp:883
msgid "No account registered"
msgstr ""
#: ../src/sflphone_kdeview.cpp:887
#, fuzzy
msgid "Using account"
msgstr "Настроить &аккаунты"
#: ../src/sflphone_kdeview.cpp:1066
msgid "Main screen"
msgstr "Главный экран"
#: ../src/sflphone_kdeview.cpp:1071 ../build/src/ui_dlggeneralbase.h:165
msgid "Call history"
msgstr "Журнал звонков"
#: ../src/sflphone_kdeview.cpp:1076
#: ../build/src/ui_sflphone_kdeview_base.h:407
msgid "Address book"
msgstr "Адресная книга"
#: ../src/sflphone_kdeview.cpp:1090 ../src/sflphone_kdeview.cpp:1151
msgid "Edit before call"
msgstr "Изменить перед звонком"
#: ../src/sflphone_const.h:56
msgid "Call"
msgstr "Звонок"
#: ../src/sflphone_const.h:57 ../build/src/ui_sflphone_kdeview_base.h:392
msgid "Hang up"
msgstr "Положить трубку"
#: ../src/sflphone_const.h:58 ../build/src/ui_sflphone_kdeview_base.h:393
msgid "Hold"
msgstr "Удержать звонок"
#: ../src/sflphone_const.h:59 ../build/src/ui_sflphone_kdeview_base.h:394
msgid "Transfer"
msgstr "Переслать звонок на другой номер"
#: ../src/sflphone_const.h:60
msgid "Record"
msgstr "Записать"
#: ../src/sflphone_const.h:61
msgid "Accept"
msgstr "Принять"
#: ../src/sflphone_const.h:62
msgid "Refuse"
msgstr "Отклонить"
#: ../src/sflphone_const.h:63
msgid "Unhold"
msgstr "Снова взять"
#: ../src/sflphone_const.h:64
msgid "Give up transfer"
msgstr "Отменить пересылку звонка"
#: ../src/sflphone_const.h:65
msgid "Call back"
msgstr "Перезвонить"
#: ../src/sflphone_const.h:66
msgid "Give up search"
msgstr "Отменить поиск"
#: ../src/conf/ConfigurationDialog.cpp:48 ../build/src/ui_dlgrecordbase.h:91
msgid "General"
msgstr "Общие настройки"
#: ../src/conf/ConfigurationDialog.cpp:49
msgid "Display"
msgstr "Экран"
#: ../src/conf/ConfigurationDialog.cpp:51
msgid "Audio"
msgstr "Звук"
#: ../src/conf/ConfigurationDialog.cpp:52
msgid "Address Book"
msgstr "Адресная книга"
#: ../src/conf/ConfigurationDialog.cpp:53
#, fuzzy
msgctxt "Config section"
msgid "Record"
msgstr "Записать"
#: ../src/conf/ConfigurationDialog.cpp:54
msgid "Hooks"
msgstr "перехватчики (hooks)"
#: ../build/src/ui_dlgaccountsbase.h:321
#: ../build/src/ui_dlgaddressbookbase.h:142 ../build/src/ui_dlgaudiobase.h:263
#: ../build/src/ui_dlgdisplaybase.h:120 ../build/src/ui_dlggeneralbase.h:164
#: ../build/src/ui_dlghooksbase.h:173 ../build/src/ui_dlgrecordbase.h:90
#: ../build/src/ui_sflphone_kdeview_base.h:390
msgid "Form"
msgstr ""
#: ../build/src/ui_dlgaccountsbase.h:323
msgid ""
"By default, when you place a call, sflphone will use the first account in "
"this list which is \"registered\". Change the order of the accounts using "
"the \"Up\" and \"Down\" arrows. Enable/disable them by checking/unchecking "
"them on the left of the item. Add or remove some with \"Plus\" and \"Sub\" "
"buttons. Edit the selected account with the form on the right."
msgstr ""
#: ../build/src/ui_dlgaccountsbase.h:327
#, fuzzy
msgid "Remove the selected account"
msgstr "Убрать этот аккаунт"
#: ../build/src/ui_dlgaccountsbase.h:330
msgid ""
"This button will remove the selected account in the list below. Be sure you "
"really don't need it anymore. If you think you might use it again later, "
"just uncheck it."
msgstr ""
#: ../build/src/ui_dlgaccountsbase.h:335
msgid "Remove"
msgstr ""
#: ../build/src/ui_dlgaccountsbase.h:336
msgid "Backspace, Return"
msgstr ""
#: ../build/src/ui_dlgaccountsbase.h:338
msgid "Add a new account"
msgstr "Добавить новый аккаунт"
#: ../build/src/ui_dlgaccountsbase.h:341
msgid ""
"This button enables you to initialize a new account. You will then be able "
"to edit it using the form on the right."
msgstr ""
#: ../build/src/ui_dlgaccountsbase.h:343
msgid "Add"
msgstr ""
#: ../build/src/ui_dlgaccountsbase.h:345
#, fuzzy
msgid "Get this account down"
msgstr "Убрать этот аккаунт"
#: ../build/src/ui_dlgaccountsbase.h:348 ../build/src/ui_dlgaccountsbase.h:355
msgid ""
"By default, when you place a call, sflphone will use the first account in "
"this list which is \"registered\". Change the order of the accounts using "
"the \"Up\" and \"Down\" arrows."
msgstr ""
#: ../build/src/ui_dlgaccountsbase.h:350
msgid "Down"
msgstr "Вниз"
#: ../build/src/ui_dlgaccountsbase.h:352
#, fuzzy
msgid "Get this account up"
msgstr "Убрать этот аккаунт"
#: ../build/src/ui_dlgaccountsbase.h:357
msgid "Up"
msgstr "Вверх"
#: ../build/src/ui_dlgaccountsbase.h:358
msgid "Apply"
msgstr "Применить"
#: ../build/src/ui_dlgaccountsbase.h:363
msgid "SIP"
msgstr "SIP"
#: ../build/src/ui_dlgaccountsbase.h:364
msgid "IAX"
msgstr "IAX"
#: ../build/src/ui_dlgaccountsbase.h:370
msgid "State"
msgstr "Статус"
#: ../build/src/ui_dlgaccountsbase.h:373
msgid "Stun settings will be applied on each account"
msgstr "Stun-настройки будут использоваться для всех аккаунтов"
#: ../build/src/ui_dlgaccountsbase.h:374
#, fuzzy
msgid "Enable Stun"
msgstr "&Включить STUN"
#: ../build/src/ui_dlgaccountsbase.h:375
msgid "choose Stun server (example : stunserver.org)"
msgstr ""
#: ../build/src/ui_dlgaddressbookbase.h:143
msgid "Maximum &results"
msgstr "Максимальное &количество результатов"
#: ../build/src/ui_dlgaddressbookbase.h:144
msgid "Display &photo if available"
msgstr "Показать &фотографию контакта (если имеется)"
#: ../build/src/ui_dlgaddressbookbase.h:145
msgid "Display phone numbers of these &types :"
msgstr "Если контакт имеет несколько номеров, показать &только :"
#: ../build/src/ui_dlgaddressbookbase.h:146
msgid "&Work"
msgstr "&Рабочий номер"
#: ../build/src/ui_dlgaddressbookbase.h:147
msgid "&Mobile"
msgstr "Номер &мобильника"
#: ../build/src/ui_dlgaddressbookbase.h:148
msgid "&Home"
msgstr "&Домашний номер"
#: ../build/src/ui_dlgaudiobase.h:265
#, fuzzy
msgid "Audio device"
msgstr "Звуковое устройство"
#: ../build/src/ui_dlgaudiobase.h:268
msgid "ALSA"
msgstr "ALSA"
#: ../build/src/ui_dlgaudiobase.h:269
msgid "PulseAudio"
msgstr "PulseAudio"
#: ../build/src/ui_dlgaudiobase.h:271
#, fuzzy
msgid "Enable ringtones"
msgstr "Включить звонок"
#: ../build/src/ui_dlgaudiobase.h:272
msgid "*.ul *.au *.wav"
msgstr ""
#: ../build/src/ui_dlgaudiobase.h:273
msgid "&Codecs"
msgstr "&Кодеки"
#: ../build/src/ui_dlgaudiobase.h:275
msgid "Active"
msgstr ""
#: ../build/src/ui_dlgaudiobase.h:277
msgid "Name"
msgstr "Имя"
#: ../build/src/ui_dlgaudiobase.h:279
msgid "Frequency"
msgstr "Частота"
#: ../build/src/ui_dlgaudiobase.h:281
msgid "Bitrate"
msgstr "Битрейт"
#: ../build/src/ui_dlgaudiobase.h:283
msgid "Bandwidth"
msgstr "Пропускная способность"
#: ../build/src/ui_dlgaudiobase.h:286
msgid "ALSA settings"
msgstr "Настройка ALSA"
#: ../build/src/ui_dlgaudiobase.h:287
#, fuzzy
msgid "ALSA plugin"
msgstr "ALSA-плагин"
#: ../build/src/ui_dlgaudiobase.h:288
msgid "In"
msgstr ""
#: ../build/src/ui_dlgaudiobase.h:289
msgid "Out"
msgstr ""
#: ../build/src/ui_dlgaudiobase.h:290
msgid "PulseAudio settings"
msgstr "Настройка PulseAudio"
#: ../build/src/ui_dlgaudiobase.h:291
msgid "Mute other applications during a call"
msgstr "Приглушить звук других програм во время звонка"
#: ../build/src/ui_dlgdisplaybase.h:121
msgid "Enable notifications"
msgstr "Включить предупреждения"
#: ../build/src/ui_dlgdisplaybase.h:122
msgid "On incoming &calls"
msgstr "При входящих звонках"
#: ../build/src/ui_dlgdisplaybase.h:123
msgid "On &messages"
msgstr "При звуковых &сообщениях"
#: ../build/src/ui_dlgdisplaybase.h:124
msgid "Show main window"
msgstr "Показать главное окно"
#: ../build/src/ui_dlgdisplaybase.h:125
msgid "On &start"
msgstr "При &запуске"
#: ../build/src/ui_dlgdisplaybase.h:126
msgid "On &incoming calls"
msgstr "При входящих звонках"
#: ../build/src/ui_dlggeneralbase.h:166
msgid "Keep my history for at least"
msgstr ""
#: ../build/src/ui_dlggeneralbase.h:167
msgid "days"
msgstr ""
#: ../build/src/ui_dlggeneralbase.h:168
#, fuzzy
msgid "Clear history"
msgstr "Стереть журнал"
#: ../build/src/ui_dlggeneralbase.h:169
msgid "Connection"
msgstr "Подключение"
#: ../build/src/ui_dlggeneralbase.h:170
#, fuzzy
msgid "SIP Port"
msgstr "SIP-порт"
#: ../build/src/ui_dlggeneralbase.h:171
msgid "Attention "
msgstr "Внимание"
#: ../build/src/ui_dlghooksbase.h:174
msgid "URL Argument"
msgstr ""
#: ../build/src/ui_dlghooksbase.h:175
#, c-format
msgid "Custom commands with URL %s will be replaced with the passed URL."
msgstr ""
#: ../build/src/ui_dlghooksbase.h:176
msgid "Trigger on specific SIP header"
msgstr ""
#: ../build/src/ui_dlghooksbase.h:177
msgid "Trigger on IAX2 URL"
msgstr ""
#: ../build/src/ui_dlghooksbase.h:178
#, fuzzy
msgid "Command to run"
msgstr "Команда"
#: ../build/src/ui_dlghooksbase.h:179
msgid "Phone number formatting"
msgstr "Формат номера телефона"
#: ../build/src/ui_dlghooksbase.h:180
msgid "Add phone number prefix"
msgstr "Добавить перед на набранными номерами"
#: ../build/src/ui_dlgrecordbase.h:92
msgid "Destination folder"
msgstr "Папка для записи"
#: ../build/src/ui_sflphone_kdeview_base.h:391
#, fuzzy
msgid "Pick up"
msgstr "&Взять трубку"
#: ../build/src/ui_sflphone_kdeview_base.h:395
#, fuzzy
msgid "History"
msgstr "Журнал"
#: ../build/src/ui_sflphone_kdeview_base.h:397
#, fuzzy
msgid "Configure accounts"
msgstr "Настроить &аккаунты"
#: ../build/src/ui_sflphone_kdeview_base.h:398
#, fuzzy
msgid "Configure audio"
msgstr "Настроить &звук"
#: ../build/src/ui_sflphone_kdeview_base.h:399
#: ../build/src/ui_sflphone_kdeview_base.h:401
#, fuzzy
msgid "Configure SFLphone"
msgstr "&Настроить SFLPhone"
#: ../build/src/ui_sflphone_kdeview_base.h:403
#, fuzzy
msgid "Display volume bars"
msgstr "Показать уровень &громкости"
#: ../build/src/ui_sflphone_kdeview_base.h:404
#, fuzzy
msgid "Display dialpad"
msgstr "Показать &клавиатуру"
#: ../build/src/ui_sflphone_kdeview_base.h:405
#, fuzzy
msgctxt "Action record a call"
msgid "Record"
msgstr "Записать"
#: ../build/src/ui_sflphone_kdeview_base.h:406
#, fuzzy
msgid "Account creation wizard"
msgstr "&Мастер настройки SFLphone"
#: ../build/src/ui_sflphone_kdeview_base.h:408
msgid "Attention:number of results exceeds max displayed."
msgstr ""
#~ msgid "Attention : SIP port must be over 1024 !"
#~ msgstr "Внимание : SIP-порт должен быть больше чем 1024 !"
#~ msgid "Attention : SIP port must be under 65536 !"
#~ msgstr "Внимание : SIP-порт должен быть меньше чем 65536 !"
#~ msgid "about"
#~ msgstr "О"
#~ msgid "Configure general settings"
#~ msgstr "Общие настройки"
#~ msgid "&Capacity"
#~ msgstr "Вместимость"
#~ msgid "Configure display"
#~ msgstr "Настроить экран"
#~ msgid "Configure user accounts"
#~ msgstr "Настройка аккаунтов пользователей"
#~ msgid "&Alias"
#~ msgstr "Псевдоним"
#~ msgid "&Protocol"
#~ msgstr "Протокол"
#~ msgid "&Server"
#~ msgstr "&Сервер"
#~ msgid "&User"
#~ msgstr "&Пользователь"
#~ msgid "Pass&word"
#~ msgstr "Па&роль"
#~ msgid "&Mailbox"
#~ msgstr "&Звуковые сообщения"
#~ msgid "Configure audio settings"
#~ msgstr "Настройки звука"
#~ msgid "Configure record settings"
#~ msgstr "Настроить запись звонков"
#~ msgid "Configure address book settings"
#~ msgstr "Настроить адресную книгу"
#~ msgid "Configure hooks settings"
#~ msgstr "Настроить перехватчики"
#~ msgid "SIP Protocol"
#~ msgstr "SIP-Протокол"
#~ msgid "IAX2 Protocol"
#~ msgstr "IAX2-Протокол"
#~ msgid "SIP Header"
#~ msgstr "SIP Заголовок"
#~ msgid "Prepend"
#~ msgstr "Добавить в начало"
#~ msgid "&Hang up"
#~ msgstr "&Положить трубку"
#~ msgid "H&old"
#~ msgstr "&Удержать звонок"
#~ msgid "&Transfer"
#~ msgstr "Пе&реслать звонок на другой номер"
#~ msgid "&About"
#~ msgstr "&О SFLphone"
#~ msgid "&Record"
#~ msgstr "Записать"
msgid ""
msgstr ""
"Project-Id-Version: SFLphone 0.9.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-07-08 15:18-0400\n"
"PO-Revision-Date: 2009-06-08 10:19 GMT-5\n"
"Last-Translator: HUSSEIN ABDALLAH <hussein.abdallah@savoirfairelinux.com>\n"
"Language-Team: Savoir-Faire Linux Inc <sflphoneteam@savoirfairelinux.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../src/Account.cpp:34
msgctxt "account state"
msgid "Registered"
msgstr ""
#: ../src/Account.cpp:36
msgctxt "account state"
msgid "Not Registered"
msgstr ""
#: ../src/Account.cpp:38
msgctxt "account state"
msgid "Trying..."
msgstr ""
#: ../src/Account.cpp:40
msgctxt "account state"
msgid "Error"
msgstr ""
#: ../src/Account.cpp:42
#, fuzzy
msgctxt "account state"
msgid "Bad authentification"
msgstr "Включить предупреждения"
#: ../src/Account.cpp:44
msgctxt "account state"
msgid "Network unreachable"
msgstr ""
#: ../src/Account.cpp:46
msgctxt "account state"
msgid "Host unreachable"
msgstr ""
#: ../src/Account.cpp:48
#, fuzzy
msgctxt "account state"
msgid "Stun configuration error"
msgstr "Окно настроек"
#: ../src/Account.cpp:50
#, fuzzy
msgctxt "account state"
msgid "Stun server invalid"
msgstr "STUN-сервер"
#: ../src/Account.cpp:51
msgctxt "account state"
msgid "Invalid"
msgstr ""
#: ../src/AccountWizard.cpp:163 ../src/AccountWizard.cpp:278
msgid "Account Creation Wizard"
msgstr "Мастер настройки SFLphone"
#: ../src/AccountWizard.cpp:199
msgid "Creation of account succeed with these parameters"
msgstr "Успешное создание аккаунта с этими настройками"
#: ../src/AccountWizard.cpp:211
msgid "Creation of account has failed for the reason"
msgstr "Создание аккаунта не получилось по этим причинам"
#: ../src/AccountWizard.cpp:217
msgid "Register of account succeed with these parameters"
msgstr "Успешное регистрация аккаунта с этими настройками"
#: ../src/AccountWizard.cpp:255 ../src/AccountWizard.cpp:440
#: ../build/src/ui_dlgaccountsbase.h:359
msgid "Alias"
msgstr "Псевдоним"
#: ../src/AccountWizard.cpp:256 ../src/AccountWizard.cpp:441
#: ../build/src/ui_dlgaccountsbase.h:366
msgid "Server"
msgstr "Сервер"
#: ../src/AccountWizard.cpp:257 ../src/AccountWizard.cpp:442
#: ../build/src/ui_dlgaccountsbase.h:367
msgid "User"
msgstr "Пользователь"
#: ../src/AccountWizard.cpp:258 ../src/AccountWizard.cpp:443
#: ../build/src/ui_dlgaccountsbase.h:368
msgid "Password"
msgstr "Пароль"
#: ../src/AccountWizard.cpp:259 ../build/src/ui_dlgaccountsbase.h:360
msgid "Protocol"
msgstr "Протокол"
#: ../src/AccountWizard.cpp:260 ../build/src/ui_dlgaccountsbase.h:369
#: ../build/src/ui_sflphone_kdeview_base.h:396
msgid "Mailbox"
msgstr "Звуковые сообщения"
#: ../src/AccountWizard.cpp:279
#, fuzzy
msgid "Welcome to the Account creation wizard of SFLphone"
msgstr "Добро пожаловать в мастер настройки SFLphone"
#: ../src/AccountWizard.cpp:281
msgid "This wizard will help you setting up an account."
msgstr "Этот мастер установки поможет вам настроить ваш аккаунт."
#: ../src/AccountWizard.cpp:309 ../src/conf/ConfigurationDialog.cpp:50
msgid "Accounts"
msgstr "Аккаунты"
#: ../src/AccountWizard.cpp:310
msgid "Please choose between those options :"
msgstr "Выберите пожалуйста тип аккаунта :"
#: ../src/AccountWizard.cpp:312
msgid "Create a free SIP/IAX2 account on sflphone.org"
msgstr "Создать бесплатный SIP/IAX2-аккаунт на sflphone.org"
#: ../src/AccountWizard.cpp:313
msgid "Register an existing SIP/IAX2 account"
msgstr "Зарегистрировать существующий SIP или IAX2 аккаунт"
#: ../src/AccountWizard.cpp:352
msgid "VoIP Protocols"
msgstr "VoIP-протоколы"
#: ../src/AccountWizard.cpp:353
msgid "Choose the account type"
msgstr "Выберите тип аккаунта:"
#: ../src/AccountWizard.cpp:355
msgid "Register a SIP (Session Initiation Protocol) account"
msgstr "Зарегистрировать существующий SIP или IAX2 аккаунт"
#: ../src/AccountWizard.cpp:356
msgid "Register a IAX2 (InterAsterisk eXchange) account"
msgstr "Зарегистрируете IAX2-аккаунт"
#: ../src/AccountWizard.cpp:395
msgid "Optionnal Email Address"
msgstr "Электронный адрес (необязательный) "
#: ../src/AccountWizard.cpp:396
msgid "This email address will be used to send your voicemail messages."
msgstr "Этот электронный адрес будет использоваться для речевых сообщений"
#: ../src/AccountWizard.cpp:398
msgid "Email address"
msgstr "Адрес эл. почты"
#: ../src/AccountWizard.cpp:432
msgid "SIP Account Settings"
msgstr "Настройки SIP-аккаунта"
#: ../src/AccountWizard.cpp:436
msgid "IAX2 Account Settings"
msgstr "Настройки IAX2-аккаунта"
#: ../src/AccountWizard.cpp:438
msgid "Please full these settings fields."
msgstr "Заполните пожалуйста эти поля."
#: ../src/AccountWizard.cpp:444
msgid "Voicemail number"
msgstr ""
#: ../src/AccountWizard.cpp:523
msgid "Network Address Translation (NAT)"
msgstr "Network Address Translation (NAT)"
#: ../src/AccountWizard.cpp:524
msgid ""
"You should probably enable this option if you're placed under a firewall"
msgstr "Вы наверное должны это включить если вы находитесь за сетевым экраном."
#: ../src/AccountWizard.cpp:526
msgid "Enable STUN"
msgstr "Включить STUN"
#: ../src/AccountWizard.cpp:527
msgid "Stun Server"
msgstr "STUN-сервер"
#: ../src/AccountWizard.cpp:561
msgid "Account Definition Finished"
msgstr "Настройка аккаунта закончена."
#: ../src/AccountWizard.cpp:562
msgid ""
"After checking the settings you chose, click \"Finish\" to create the "
"account."
msgstr ""
"После просмотра выбранных настроек, нажмите на \"Закончить\" чтобы создать "
"аккаунт. "
#: ../src/ActionSetAccountFirst.cpp:26
msgid "Default account"
msgstr ""
#: ../src/Call.cpp:116
msgid "Transfer to : "
msgstr "Переслать звонок на другой номер :"
#: ../src/main.cpp:34
msgid "SFLphone KDE Client"
msgstr ""
#: ../src/main.cpp:38
msgid "(C) 2009 Savoir-faire Linux"
msgstr ""
#: ../src/main.cpp:42
msgid "Jérémy Quentin"
msgstr ""
#: ../src/main.cpp:43
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr ""
#: ../src/main.cpp:43
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr ""
#: ../src/SFLPhone.cpp:62 ../src/sflphone_kdeview.cpp:1066
#: ../src/sflphone_kdeview.cpp:1071 ../src/sflphone_kdeview.cpp:1076
#, fuzzy
msgid "SFLphone"
msgstr "SFLPhone"
#: ../src/SFLPhone.cpp:181
msgid "You still have some calls open. Please close all calls before quitting."
msgstr ""
"У вас ещё есть неоконченные звонки. Пожалуйста проверьте что все звонки "
"окончены перед тем как выйти."
#: ../src/SFLPhone.cpp:209
msgid "Incoming call"
msgstr "Входящий звонок"
#: ../src/SFLPhone.cpp:210
msgid "You have an incoming call from"
msgstr "Входящей звонок от "
#: ../src/SFLPhone.cpp:210
msgid "Click to accept or refuse it."
msgstr "Нажмите чтобы принять или отклонить."
#: ../src/sflphone_kdeview.cpp:883
msgid "No account registered"
msgstr ""
#: ../src/sflphone_kdeview.cpp:887
#, fuzzy
msgid "Using account"
msgstr "Настроить &аккаунты"
#: ../src/sflphone_kdeview.cpp:1066
msgid "Main screen"
msgstr "Главный экран"
#: ../src/sflphone_kdeview.cpp:1071 ../build/src/ui_dlggeneralbase.h:165
msgid "Call history"
msgstr "Журнал звонков"
#: ../src/sflphone_kdeview.cpp:1076
#: ../build/src/ui_sflphone_kdeview_base.h:407
msgid "Address book"
msgstr "Адресная книга"
#: ../src/sflphone_kdeview.cpp:1090 ../src/sflphone_kdeview.cpp:1151
msgid "Edit before call"
msgstr "Изменить перед звонком"
#: ../src/sflphone_const.h:56
msgid "Call"
msgstr "Звонок"
#: ../src/sflphone_const.h:57 ../build/src/ui_sflphone_kdeview_base.h:392
msgid "Hang up"
msgstr "Положить трубку"
#: ../src/sflphone_const.h:58 ../build/src/ui_sflphone_kdeview_base.h:393
msgid "Hold"
msgstr "Удержать звонок"
#: ../src/sflphone_const.h:59 ../build/src/ui_sflphone_kdeview_base.h:394
msgid "Transfer"
msgstr "Переслать звонок на другой номер"
#: ../src/sflphone_const.h:60
msgid "Record"
msgstr "Записать"
#: ../src/sflphone_const.h:61
msgid "Accept"
msgstr "Принять"
#: ../src/sflphone_const.h:62
msgid "Refuse"
msgstr "Отклонить"
#: ../src/sflphone_const.h:63
msgid "Unhold"
msgstr "Снова взять"
#: ../src/sflphone_const.h:64
msgid "Give up transfer"
msgstr "Отменить пересылку звонка"
#: ../src/sflphone_const.h:65
msgid "Call back"
msgstr "Перезвонить"
#: ../src/sflphone_const.h:66
msgid "Give up search"
msgstr "Отменить поиск"
#: ../src/conf/ConfigurationDialog.cpp:48 ../build/src/ui_dlgrecordbase.h:91
msgid "General"
msgstr "Общие настройки"
#: ../src/conf/ConfigurationDialog.cpp:49
msgid "Display"
msgstr "Экран"
#: ../src/conf/ConfigurationDialog.cpp:51
msgid "Audio"
msgstr "Звук"
#: ../src/conf/ConfigurationDialog.cpp:52
msgid "Address Book"
msgstr "Адресная книга"
#: ../src/conf/ConfigurationDialog.cpp:53
#, fuzzy
msgctxt "Config section"
msgid "Record"
msgstr "Записать"
#: ../src/conf/ConfigurationDialog.cpp:54
msgid "Hooks"
msgstr "перехватчики (hooks)"
#: ../build/src/ui_dlgaccountsbase.h:321
#: ../build/src/ui_dlgaddressbookbase.h:142 ../build/src/ui_dlgaudiobase.h:263
#: ../build/src/ui_dlgdisplaybase.h:120 ../build/src/ui_dlggeneralbase.h:164
#: ../build/src/ui_dlghooksbase.h:173 ../build/src/ui_dlgrecordbase.h:90
#: ../build/src/ui_sflphone_kdeview_base.h:390
msgid "Form"
msgstr ""
#: ../build/src/ui_dlgaccountsbase.h:323
msgid ""
"By default, when you place a call, sflphone will use the first account in "
"this list which is \"registered\". Change the order of the accounts using "
"the \"Up\" and \"Down\" arrows. Enable/disable them by checking/unchecking "
"them on the left of the item. Add or remove some with \"Plus\" and \"Sub\" "
"buttons. Edit the selected account with the form on the right."
msgstr ""
#: ../build/src/ui_dlgaccountsbase.h:327
#, fuzzy
msgid "Remove the selected account"
msgstr "Убрать этот аккаунт"
#: ../build/src/ui_dlgaccountsbase.h:330
msgid ""
"This button will remove the selected account in the list below. Be sure you "
"really don't need it anymore. If you think you might use it again later, "
"just uncheck it."
msgstr ""
#: ../build/src/ui_dlgaccountsbase.h:335
msgid "Remove"
msgstr ""
#: ../build/src/ui_dlgaccountsbase.h:336
msgid "Backspace, Return"
msgstr ""
#: ../build/src/ui_dlgaccountsbase.h:338
msgid "Add a new account"
msgstr "Добавить новый аккаунт"
#: ../build/src/ui_dlgaccountsbase.h:341
msgid ""
"This button enables you to initialize a new account. You will then be able "
"to edit it using the form on the right."
msgstr ""
#: ../build/src/ui_dlgaccountsbase.h:343
msgid "Add"
msgstr ""
#: ../build/src/ui_dlgaccountsbase.h:345
#, fuzzy
msgid "Get this account down"
msgstr "Убрать этот аккаунт"
#: ../build/src/ui_dlgaccountsbase.h:348 ../build/src/ui_dlgaccountsbase.h:355
msgid ""
"By default, when you place a call, sflphone will use the first account in "
"this list which is \"registered\". Change the order of the accounts using "
"the \"Up\" and \"Down\" arrows."
msgstr ""
#: ../build/src/ui_dlgaccountsbase.h:350
msgid "Down"
msgstr "Вниз"
#: ../build/src/ui_dlgaccountsbase.h:352
#, fuzzy
msgid "Get this account up"
msgstr "Убрать этот аккаунт"
#: ../build/src/ui_dlgaccountsbase.h:357
msgid "Up"
msgstr "Вверх"
#: ../build/src/ui_dlgaccountsbase.h:358
msgid "Apply"
msgstr "Применить"
#: ../build/src/ui_dlgaccountsbase.h:363
msgid "SIP"
msgstr "SIP"
#: ../build/src/ui_dlgaccountsbase.h:364
msgid "IAX"
msgstr "IAX"
#: ../build/src/ui_dlgaccountsbase.h:370
msgid "State"
msgstr "Статус"
#: ../build/src/ui_dlgaccountsbase.h:373
msgid "Stun settings will be applied on each account"
msgstr "Stun-настройки будут использоваться для всех аккаунтов"
#: ../build/src/ui_dlgaccountsbase.h:374
#, fuzzy
msgid "Enable Stun"
msgstr "&Включить STUN"
#: ../build/src/ui_dlgaccountsbase.h:375
msgid "choose Stun server (example : stunserver.org)"
msgstr ""
#: ../build/src/ui_dlgaddressbookbase.h:143
msgid "Maximum &results"
msgstr "Максимальное &количество результатов"
#: ../build/src/ui_dlgaddressbookbase.h:144
msgid "Display &photo if available"
msgstr "Показать &фотографию контакта (если имеется)"
#: ../build/src/ui_dlgaddressbookbase.h:145
msgid "Display phone numbers of these &types :"
msgstr "Если контакт имеет несколько номеров, показать &только :"
#: ../build/src/ui_dlgaddressbookbase.h:146
msgid "&Work"
msgstr "&Рабочий номер"
#: ../build/src/ui_dlgaddressbookbase.h:147
msgid "&Mobile"
msgstr "Номер &мобильника"
#: ../build/src/ui_dlgaddressbookbase.h:148
msgid "&Home"
msgstr "&Домашний номер"
#: ../build/src/ui_dlgaudiobase.h:265
#, fuzzy
msgid "Audio device"
msgstr "Звуковое устройство"
#: ../build/src/ui_dlgaudiobase.h:268
msgid "ALSA"
msgstr "ALSA"
#: ../build/src/ui_dlgaudiobase.h:269
msgid "PulseAudio"
msgstr "PulseAudio"
#: ../build/src/ui_dlgaudiobase.h:271
#, fuzzy
msgid "Enable ringtones"
msgstr "Включить звонок"
#: ../build/src/ui_dlgaudiobase.h:272
msgid "*.ul *.au *.wav"
msgstr ""
#: ../build/src/ui_dlgaudiobase.h:273
msgid "&Codecs"
msgstr "&Кодеки"
#: ../build/src/ui_dlgaudiobase.h:275
msgid "Active"
msgstr ""
#: ../build/src/ui_dlgaudiobase.h:277
msgid "Name"
msgstr "Имя"
#: ../build/src/ui_dlgaudiobase.h:279
msgid "Frequency"
msgstr "Частота"
#: ../build/src/ui_dlgaudiobase.h:281
msgid "Bitrate"
msgstr "Битрейт"
#: ../build/src/ui_dlgaudiobase.h:283
msgid "Bandwidth"
msgstr "Пропускная способность"
#: ../build/src/ui_dlgaudiobase.h:286
msgid "ALSA settings"
msgstr "Настройка ALSA"
#: ../build/src/ui_dlgaudiobase.h:287
#, fuzzy
msgid "ALSA plugin"
msgstr "ALSA-плагин"
#: ../build/src/ui_dlgaudiobase.h:288
msgid "In"
msgstr ""
#: ../build/src/ui_dlgaudiobase.h:289
msgid "Out"
msgstr ""
#: ../build/src/ui_dlgaudiobase.h:290
msgid "PulseAudio settings"
msgstr "Настройка PulseAudio"
#: ../build/src/ui_dlgaudiobase.h:291
msgid "Mute other applications during a call"
msgstr "Приглушить звук других програм во время звонка"
#: ../build/src/ui_dlgdisplaybase.h:121
msgid "Enable notifications"
msgstr "Включить предупреждения"
#: ../build/src/ui_dlgdisplaybase.h:122
msgid "On incoming &calls"
msgstr "При входящих звонках"
#: ../build/src/ui_dlgdisplaybase.h:123
msgid "On &messages"
msgstr "При звуковых &сообщениях"
#: ../build/src/ui_dlgdisplaybase.h:124
msgid "Show main window"
msgstr "Показать главное окно"
#: ../build/src/ui_dlgdisplaybase.h:125
msgid "On &start"
msgstr "При &запуске"
#: ../build/src/ui_dlgdisplaybase.h:126
msgid "On &incoming calls"
msgstr "При входящих звонках"
#: ../build/src/ui_dlggeneralbase.h:166
msgid "Keep my history for at least"
msgstr ""
#: ../build/src/ui_dlggeneralbase.h:167
msgid "days"
msgstr ""
#: ../build/src/ui_dlggeneralbase.h:168
#, fuzzy
msgid "Clear history"
msgstr "Стереть журнал"
#: ../build/src/ui_dlggeneralbase.h:169
msgid "Connection"
msgstr "Подключение"
#: ../build/src/ui_dlggeneralbase.h:170
#, fuzzy
msgid "SIP Port"
msgstr "SIP-порт"
#: ../build/src/ui_dlggeneralbase.h:171
msgid "Attention "
msgstr "Внимание"
#: ../build/src/ui_dlghooksbase.h:174
msgid "URL Argument"
msgstr ""
#: ../build/src/ui_dlghooksbase.h:175
#, c-format
msgid "Custom commands with URL %s will be replaced with the passed URL."
msgstr ""
#: ../build/src/ui_dlghooksbase.h:176
msgid "Trigger on specific SIP header"
msgstr ""
#: ../build/src/ui_dlghooksbase.h:177
msgid "Trigger on IAX2 URL"
msgstr ""
#: ../build/src/ui_dlghooksbase.h:178
#, fuzzy
msgid "Command to run"
msgstr "Команда"
#: ../build/src/ui_dlghooksbase.h:179
msgid "Phone number formatting"
msgstr "Формат номера телефона"
#: ../build/src/ui_dlghooksbase.h:180
msgid "Add phone number prefix"
msgstr "Добавить перед на набранными номерами"
#: ../build/src/ui_dlgrecordbase.h:92
msgid "Destination folder"
msgstr "Папка для записи"
#: ../build/src/ui_sflphone_kdeview_base.h:391
#, fuzzy
msgid "Pick up"
msgstr "&Взять трубку"
#: ../build/src/ui_sflphone_kdeview_base.h:395
#, fuzzy
msgid "History"
msgstr "Журнал"
#: ../build/src/ui_sflphone_kdeview_base.h:397
#, fuzzy
msgid "Configure accounts"
msgstr "Настроить &аккаунты"
#: ../build/src/ui_sflphone_kdeview_base.h:398
#, fuzzy
msgid "Configure audio"
msgstr "Настроить &звук"
#: ../build/src/ui_sflphone_kdeview_base.h:399
#: ../build/src/ui_sflphone_kdeview_base.h:401
#, fuzzy
msgid "Configure SFLphone"
msgstr "&Настроить SFLPhone"
#: ../build/src/ui_sflphone_kdeview_base.h:403
#, fuzzy
msgid "Display volume bars"
msgstr "Показать уровень &громкости"
#: ../build/src/ui_sflphone_kdeview_base.h:404
#, fuzzy
msgid "Display dialpad"
msgstr "Показать &клавиатуру"
#: ../build/src/ui_sflphone_kdeview_base.h:405
#, fuzzy
msgctxt "Action record a call"
msgid "Record"
msgstr "Записать"
#: ../build/src/ui_sflphone_kdeview_base.h:406
#, fuzzy
msgid "Account creation wizard"
msgstr "&Мастер настройки SFLphone"
#: ../build/src/ui_sflphone_kdeview_base.h:408
msgid "Attention:number of results exceeds max displayed."
msgstr ""
#~ msgid "Attention : SIP port must be over 1024 !"
#~ msgstr "Внимание : SIP-порт должен быть больше чем 1024 !"
#~ msgid "Attention : SIP port must be under 65536 !"
#~ msgstr "Внимание : SIP-порт должен быть меньше чем 65536 !"
#~ msgid "about"
#~ msgstr "О"
#~ msgid "Configure general settings"
#~ msgstr "Общие настройки"
#~ msgid "&Capacity"
#~ msgstr "Вместимость"
#~ msgid "Configure display"
#~ msgstr "Настроить экран"
#~ msgid "Configure user accounts"
#~ msgstr "Настройка аккаунтов пользователей"
#~ msgid "&Alias"
#~ msgstr "Псевдоним"
#~ msgid "&Protocol"
#~ msgstr "Протокол"
#~ msgid "&Server"
#~ msgstr "&Сервер"
#~ msgid "&User"
#~ msgstr "&Пользователь"
#~ msgid "Pass&word"
#~ msgstr "Па&роль"
#~ msgid "&Mailbox"
#~ msgstr "&Звуковые сообщения"
#~ msgid "Configure audio settings"
#~ msgstr "Настройки звука"
#~ msgid "Configure record settings"
#~ msgstr "Настроить запись звонков"
#~ msgid "Configure address book settings"
#~ msgstr "Настроить адресную книгу"
#~ msgid "Configure hooks settings"
#~ msgstr "Настроить перехватчики"
#~ msgid "SIP Protocol"
#~ msgstr "SIP-Протокол"
#~ msgid "IAX2 Protocol"
#~ msgstr "IAX2-Протокол"
#~ msgid "SIP Header"
#~ msgstr "SIP Заголовок"
#~ msgid "Prepend"
#~ msgstr "Добавить в начало"
#~ msgid "&Hang up"
#~ msgstr "&Положить трубку"
#~ msgid "H&old"
#~ msgstr "&Удержать звонок"
#~ msgid "&Transfer"
#~ msgstr "Пе&реслать звонок на другой номер"
#~ msgid "&About"
#~ msgstr "&О SFLphone"
#~ msgid "&Record"
#~ msgstr "Записать"
=======
msgid ""
msgstr ""
"Project-Id-Version: SFLphone 0.9.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-07-08 15:18-0400\n"
"PO-Revision-Date: 2009-06-08 10:19 GMT-5\n"
"Last-Translator: HUSSEIN ABDALLAH <hussein.abdallah@savoirfairelinux.com>\n"
"Language-Team: Savoir-Faire Linux Inc <sflphoneteam@savoirfairelinux.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../src/Account.cpp:34
msgctxt "account state"
msgid "Registered"
msgstr "Зарегестрирован"
#: ../src/Account.cpp:36
msgctxt "account state"
msgid "Not Registered"
msgstr "Не зарегестрирован"
#: ../src/Account.cpp:38
msgctxt "account state"
msgid "Trying..."
msgstr "попытка подключения..."
#: ../src/Account.cpp:40
msgctxt "account state"
msgid "Error"
msgstr "Ошибка"
#: ../src/Account.cpp:42
msgctxt "account state"
msgid "Bad authentification"
msgstr "Включить предупреждения"
#: ../src/Account.cpp:44
msgctxt "account state"
msgid "Network unreachable"
msgstr "Сеть недоступна"
#: ../src/Account.cpp:46
msgctxt "account state"
msgid "Host unreachable"
msgstr "Сервер недоступен"
#: ../src/Account.cpp:48
msgctxt "account state"
msgid "Stun configuration error"
msgstr "Окно настроек"
#: ../src/Account.cpp:50
msgctxt "account state"
msgid "Stun server invalid"
msgstr "STUN-сервер недействителен"
#: ../src/Account.cpp:51
msgctxt "account state"
msgid "Invalid"
msgstr "Недействителен"
#: ../src/AccountWizard.cpp:163 ../src/AccountWizard.cpp:278
msgid "Account Creation Wizard"
msgstr "Мастер настройки SFLphone"
#: ../src/AccountWizard.cpp:199
msgid "Creation of account succeed with these parameters"
msgstr "Успешное создание аккаунта с этими настройками"
#: ../src/AccountWizard.cpp:211
msgid "Creation of account has failed for the reason"
msgstr "Создание аккаунта не получилось по этим причинам"
#: ../src/AccountWizard.cpp:217
msgid "Register of account succeed with these parameters"
msgstr "Успешное регистрация аккаунта с этими настройками"
#: ../src/AccountWizard.cpp:255 ../src/AccountWizard.cpp:440
#: ../build/src/ui_dlgaccountsbase.h:359
msgid "Alias"
msgstr "Псевдоним"
#: ../src/AccountWizard.cpp:256 ../src/AccountWizard.cpp:441
#: ../build/src/ui_dlgaccountsbase.h:366
msgid "Server"
msgstr "Сервер"
#: ../src/AccountWizard.cpp:257 ../src/AccountWizard.cpp:442
#: ../build/src/ui_dlgaccountsbase.h:367
msgid "User"
msgstr "Пользователь"
#: ../src/AccountWizard.cpp:258 ../src/AccountWizard.cpp:443
#: ../build/src/ui_dlgaccountsbase.h:368
msgid "Password"
msgstr "Пароль"
#: ../src/AccountWizard.cpp:259 ../build/src/ui_dlgaccountsbase.h:360
msgid "Protocol"
msgstr "Протокол"
#: ../src/AccountWizard.cpp:260 ../build/src/ui_dlgaccountsbase.h:369
#: ../build/src/ui_sflphone_kdeview_base.h:396
msgid "Mailbox"
msgstr "Автоответчик"
#: ../src/AccountWizard.cpp:279
msgid "Welcome to the Account creation wizard of SFLphone"
msgstr "Добро пожаловать в мастер настройки SFLphone"
#: ../src/AccountWizard.cpp:281
msgid "This wizard will help you setting up an account."
msgstr "Этот мастер установки поможет вам настроить ваш аккаунт."
#: ../src/AccountWizard.cpp:309 ../src/conf/ConfigurationDialog.cpp:50
msgid "Accounts"
msgstr "Аккаунты"
#: ../src/AccountWizard.cpp:310
msgid "Please choose between those options :"
msgstr "Выберите пожалуйста тип аккаунта :"
#: ../src/AccountWizard.cpp:312
msgid "Create a free SIP/IAX2 account on sflphone.org"
msgstr "Создать бесплатный SIP/IAX2-аккаунт на sflphone.org"
#: ../src/AccountWizard.cpp:313
msgid "Register an existing SIP/IAX2 account"
msgstr "Зарегистрировать существующий SIP или IAX2 аккаунт"
#: ../src/AccountWizard.cpp:352
msgid "VoIP Protocols"
msgstr "VoIP-протоколы"
#: ../src/AccountWizard.cpp:353
msgid "Choose the account type"
msgstr "Выберите тип аккаунта:"
#: ../src/AccountWizard.cpp:355
msgid "Register a SIP (Session Initiation Protocol) account"
msgstr "Зарегистрировать существующий SIP-аккаунт"
#: ../src/AccountWizard.cpp:356
msgid "Register a IAX2 (InterAsterisk eXchange) account"
msgstr "Зарегистрировать существующий IAX2-аккаунт"
#: ../src/AccountWizard.cpp:395
msgid "Optionnal Email Address"
msgstr "Электронный адрес (необязательный) "
#: ../src/AccountWizard.cpp:396
msgid "This email address will be used to send your voicemail messages."
msgstr "Этот электронный адрес будет использоваться для речевых сообщений"
#: ../src/AccountWizard.cpp:398
msgid "Email address"
msgstr "Адрес эл. почты"
#: ../src/AccountWizard.cpp:432
msgid "SIP Account Settings"
msgstr "Настройки SIP-аккаунта"
#: ../src/AccountWizard.cpp:436
msgid "IAX2 Account Settings"
msgstr "Настройки IAX2-аккаунта"
#: ../src/AccountWizard.cpp:438
msgid "Please full these settings fields."
msgstr "Заполните пожалуйста эти поля."
#: ../src/AccountWizard.cpp:444
msgid "Voicemail number"
msgstr "Номер автоответчика"
#: ../src/AccountWizard.cpp:523
msgid "Network Address Translation (NAT)"
msgstr "Network Address Translation (NAT)"
#: ../src/AccountWizard.cpp:524
msgid ""
"You should probably enable this option if you're placed under a firewall"
msgstr ""
"Вы наверное должны это включить если вы находитесь за сетевым экраном."
#: ../src/AccountWizard.cpp:526
msgid "Enable STUN"
msgstr "Включить STUN"
#: ../src/AccountWizard.cpp:527
msgid "Stun Server"
msgstr "STUN-сервер"
#: ../src/AccountWizard.cpp:561
msgid "Account Definition Finished"
msgstr "Настройка аккаунта закончена."
#: ../src/AccountWizard.cpp:562
msgid ""
"After checking the settings you chose, click \"Finish\" to create the "
"account."
msgstr ""
"После просмотра выбранных настроек, нажмите на \"Закончить\" чтобы создать "
"аккаунт. "
#: ../src/ActionSetAccountFirst.cpp:26
msgid "Default account"
msgstr "Аккаунт по умолчанию"
#: ../src/Call.cpp:116
msgid "Transfer to : "
msgstr "Переслать звонок на другой номер :"
#: ../src/main.cpp:34
msgid "SFLphone KDE Client"
msgstr "SFLphone - версия для KDE "
#: ../src/main.cpp:38
msgid "(C) 2009 Savoir-faire Linux"
msgstr "(C) 2009 Savoir-faire Linux"
#: ../src/main.cpp:42
msgid "Jérémy Quentin"
msgstr "Jérémy Quentin"
#: ../src/main.cpp:43
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Hussein Abdallah"
#: ../src/main.cpp:43
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "hussein.abdallah@savoirfairelinux.com"
#: ../src/SFLPhone.cpp:62 ../src/sflphone_kdeview.cpp:1066
#: ../src/sflphone_kdeview.cpp:1071 ../src/sflphone_kdeview.cpp:1076
msgid "SFLphone"
msgstr "SFLphone"
#: ../src/SFLPhone.cpp:181
msgid "You still have some calls open. Please close all calls before quitting."
msgstr ""
"У вас ещё есть неоконченные звонки. Пожалуйста проверьте что все звонки "
"окончены перед тем как выйти."
#: ../src/SFLPhone.cpp:209
msgid "Incoming call"
msgstr "Входящий звонок"
#: ../src/SFLPhone.cpp:210
msgid "You have an incoming call from"
msgstr "Входящей звонок от "
#: ../src/SFLPhone.cpp:210
msgid "Click to accept or refuse it."
msgstr "Нажмите чтобы принять или отклонить."
#: ../src/sflphone_kdeview.cpp:883
msgid "No account registered"
msgstr "Нет зарегистрированных аккаунтов"
#: ../src/sflphone_kdeview.cpp:887
msgid "Using account"
msgstr "Используется аккаунт"
#: ../src/sflphone_kdeview.cpp:1066
msgid "Main screen"
msgstr "Главный экран"
#: ../src/sflphone_kdeview.cpp:1071 ../build/src/ui_dlggeneralbase.h:165
msgid "Call history"
msgstr "Журнал звонков"
#: ../src/sflphone_kdeview.cpp:1076
#: ../build/src/ui_sflphone_kdeview_base.h:407
msgid "Address book"
msgstr "Адресная книга"
#: ../src/sflphone_kdeview.cpp:1090 ../src/sflphone_kdeview.cpp:1151
msgid "Edit before call"
msgstr "Изменить перед звонком"
#: ../src/sflphone_const.h:56
msgid "Call"
msgstr "Звонок"
#: ../src/sflphone_const.h:57 ../build/src/ui_sflphone_kdeview_base.h:392
msgid "Hang up"
msgstr "Положить трубку"
#: ../src/sflphone_const.h:58 ../build/src/ui_sflphone_kdeview_base.h:393
msgid "Hold"
msgstr "Удержать звонок"
#: ../src/sflphone_const.h:59 ../build/src/ui_sflphone_kdeview_base.h:394
msgid "Transfer"
msgstr "Переслать звонок на другой номер"
#: ../src/sflphone_const.h:60
msgid "Record"
msgstr "Записать"
#: ../src/sflphone_const.h:61
msgid "Accept"
msgstr "Принять"
#: ../src/sflphone_const.h:62
msgid "Refuse"
msgstr "Отклонить"
#: ../src/sflphone_const.h:63
msgid "Unhold"
msgstr "Снова взять"
#: ../src/sflphone_const.h:64
msgid "Give up transfer"
msgstr "Отменить пересылку звонка"
#: ../src/sflphone_const.h:65
msgid "Call back"
msgstr "Перезвонить"
#: ../src/sflphone_const.h:66
msgid "Give up search"
msgstr "Отменить поиск"
#: ../src/conf/ConfigurationDialog.cpp:48 ../build/src/ui_dlgrecordbase.h:91
msgid "General"
msgstr "Общие настройки"
#: ../src/conf/ConfigurationDialog.cpp:49
msgid "Display"
msgstr "Экран"
#: ../src/conf/ConfigurationDialog.cpp:51
msgid "Audio"
msgstr "Звук"
#: ../src/conf/ConfigurationDialog.cpp:52
msgid "Address Book"
msgstr "Адресная книга"
#: ../src/conf/ConfigurationDialog.cpp:53
msgctxt "Config section"
msgid "Record"
msgstr "Запись переговоров"
#: ../src/conf/ConfigurationDialog.cpp:54
msgid "Hooks"
msgstr "перехватчики (hooks)"
#: ../build/src/ui_dlgaccountsbase.h:321
#: ../build/src/ui_dlgaddressbookbase.h:142 ../build/src/ui_dlgaudiobase.h:263
#: ../build/src/ui_dlgdisplaybase.h:120 ../build/src/ui_dlggeneralbase.h:164
#: ../build/src/ui_dlghooksbase.h:173 ../build/src/ui_dlgrecordbase.h:90
#: ../build/src/ui_sflphone_kdeview_base.h:390
msgid "Form"
msgstr ""
#: ../build/src/ui_dlgaccountsbase.h:323
msgid ""
"By default, when you place a call, sflphone will use the first account in "
"this list which is \"registered\". Change the order of the accounts using "
"the \"Up\" and \"Down\" arrows. Enable/disable them by checking/unchecking "
"them on the left of the item. Add or remove some with \"Plus\" and \"Sub\" "
"buttons. Edit the selected account with the form on the right."
msgstr ""
"По умолчанию, SFLPhone будет использовать первый аккаунт в списке "
"зарегистрированных аккаунтов. Последовательность использования "
"аккаунтов можно изменить при помощи стрелок \"Вверх\" и \"Вниз\"."
#: ../build/src/ui_dlgaccountsbase.h:327
msgid "Remove the selected account"
msgstr "Убрать этот аккаунт"
#: ../build/src/ui_dlgaccountsbase.h:330
msgid ""
"This button will remove the selected account in the list below. Be sure you "
"really don't need it anymore. If you think you might use it again later, "
"just uncheck it."
msgstr ""
"Это кнопка уберëт аккаунт. Если вы думаете его использовать позже, "
"то достаточно его отменить "
#: ../build/src/ui_dlgaccountsbase.h:335
msgid "Remove"
msgstr "Убрать"
#: ../build/src/ui_dlgaccountsbase.h:336
msgid "Backspace, Return"
msgstr "Backspace, Return"
#: ../build/src/ui_dlgaccountsbase.h:338
msgid "Add a new account"
msgstr "Добавить новый аккаунт"
#: ../build/src/ui_dlgaccountsbase.h:341
msgid ""
"This button enables you to initialize a new account. You will then be able "
"to edit it using the form on the right."
msgstr ""
"Это кнопка позволит вам добавить новый аккаунт. После этого вы сможете "
"его изменить при помощи экрана справа."
#: ../build/src/ui_dlgaccountsbase.h:343
msgid "Add"
msgstr "Добавить"
#: ../build/src/ui_dlgaccountsbase.h:345
msgid "Get this account down"
msgstr "Убрать этот аккаунт"
#: ../build/src/ui_dlgaccountsbase.h:348 ../build/src/ui_dlgaccountsbase.h:355
msgid ""
"By default, when you place a call, sflphone will use the first account in "
"this list which is \"registered\". Change the order of the accounts using "
"the \"Up\" and \"Down\" arrows."
msgstr ""
"По умолчанию, SFLPhone будет использовать первый аккаунт в списке "
"зарегистрированных аккаунтов. Последовательность использования "
"аккаунтов можно изменить при помощи стрелок \"Вверх\" и \"Вниз\"."
#: ../build/src/ui_dlgaccountsbase.h:350
msgid "Down"
msgstr "Вниз"
#: ../build/src/ui_dlgaccountsbase.h:352
msgid "Get this account up"
msgstr "Убрать этот аккаунт"
#: ../build/src/ui_dlgaccountsbase.h:357
msgid "Up"
msgstr "Вверх"
#: ../build/src/ui_dlgaccountsbase.h:358
msgid "Apply"
msgstr "Применить"
#: ../build/src/ui_dlgaccountsbase.h:363
msgid "SIP"
msgstr "SIP"
#: ../build/src/ui_dlgaccountsbase.h:364
msgid "IAX"
msgstr "IAX"
#: ../build/src/ui_dlgaccountsbase.h:370
msgid "State"
msgstr "Статус"
#: ../build/src/ui_dlgaccountsbase.h:373
msgid "Stun settings will be applied on each account"
msgstr "Stun-настройки будут использоваться для всех аккаунтов"
#: ../build/src/ui_dlgaccountsbase.h:374
msgid "Enable Stun"
msgstr "&Включить STUN"
#: ../build/src/ui_dlgaccountsbase.h:375
msgid "choose Stun server (example : stunserver.org)"
msgstr "Выберите STUN-сервер (например : stunserver.org )"
#: ../build/src/ui_dlgaddressbookbase.h:143
msgid "Maximum &results"
msgstr "Максимальное &количество результатов"
#: ../build/src/ui_dlgaddressbookbase.h:144
msgid "Display &photo if available"
msgstr "Показать &фотографию контакта (если имеется)"
#: ../build/src/ui_dlgaddressbookbase.h:145
msgid "Display phone numbers of these &types :"
msgstr "Если контакт имеет несколько номеров, показать &только :"
#: ../build/src/ui_dlgaddressbookbase.h:146
msgid "&Work"
msgstr "&Рабочий номер"
#: ../build/src/ui_dlgaddressbookbase.h:147
msgid "&Mobile"
msgstr "Номер &мобильника"
#: ../build/src/ui_dlgaddressbookbase.h:148
msgid "&Home"
msgstr "&Домашний номер"
#: ../build/src/ui_dlgaudiobase.h:265
msgid "Audio device"
msgstr "Звуковое устройство"
#: ../build/src/ui_dlgaudiobase.h:268
msgid "ALSA"
msgstr "ALSA"
#: ../build/src/ui_dlgaudiobase.h:269
msgid "PulseAudio"
msgstr "PulseAudio"
#: ../build/src/ui_dlgaudiobase.h:271
msgid "Enable ringtones"
msgstr "Включить звонок"
#: ../build/src/ui_dlgaudiobase.h:272
msgid "*.ul *.au *.wav"
msgstr "*.ul *.au *.wav"
#: ../build/src/ui_dlgaudiobase.h:273
msgid "&Codecs"
msgstr "&Кодеки"
#: ../build/src/ui_dlgaudiobase.h:275
msgid "Active"
msgstr "Вкл."
#: ../build/src/ui_dlgaudiobase.h:277
msgid "Name"
msgstr "Имя"
#: ../build/src/ui_dlgaudiobase.h:279
msgid "Frequency"
msgstr "Частота"
#: ../build/src/ui_dlgaudiobase.h:281
msgid "Bitrate"
msgstr "Битрейт"
#: ../build/src/ui_dlgaudiobase.h:283
msgid "Bandwidth"
msgstr "Пропускная способность"
#: ../build/src/ui_dlgaudiobase.h:286
msgid "ALSA settings"
msgstr "Настройка ALSA"
#: ../build/src/ui_dlgaudiobase.h:287
msgid "ALSA plugin"
msgstr "ALSA-плагин"
#: ../build/src/ui_dlgaudiobase.h:288
msgid "In"
msgstr "Вход"
#: ../build/src/ui_dlgaudiobase.h:289
msgid "Out"
msgstr "Выход"
#: ../build/src/ui_dlgaudiobase.h:290
msgid "PulseAudio settings"
msgstr "Настройка PulseAudio"
#: ../build/src/ui_dlgaudiobase.h:291
msgid "Mute other applications during a call"
msgstr "Приглушить звук других програм во время звонка"
#: ../build/src/ui_dlgdisplaybase.h:121
msgid "Enable notifications"
msgstr "Включить предупреждения"
#: ../build/src/ui_dlgdisplaybase.h:122
msgid "On incoming &calls"
msgstr "При входящих звонках"
#: ../build/src/ui_dlgdisplaybase.h:123
msgid "On &messages"
msgstr "При звуковых &сообщениях"
#: ../build/src/ui_dlgdisplaybase.h:124
msgid "Show main window"
msgstr "Показать главное окно"
#: ../build/src/ui_dlgdisplaybase.h:125
msgid "On &start"
msgstr "При &запуске"
#: ../build/src/ui_dlgdisplaybase.h:126
msgid "On &incoming calls"
msgstr "При входящих звонках"
#: ../build/src/ui_dlggeneralbase.h:166
msgid "Keep my history for at least"
msgstr "Сохранить журнал звонков как минимум "
#: ../build/src/ui_dlggeneralbase.h:167
msgid "days"
msgstr "дней"
#: ../build/src/ui_dlggeneralbase.h:168
msgid "Clear history"
msgstr "Стереть журнал"
#: ../build/src/ui_dlggeneralbase.h:169
msgid "Connection"
msgstr "Подключение"
#: ../build/src/ui_dlggeneralbase.h:170
msgid "SIP Port"
msgstr "SIP-порт"
#: ../build/src/ui_dlggeneralbase.h:171
msgid "Attention "
msgstr "Внимание"
#: ../build/src/ui_dlghooksbase.h:174
msgid "URL Argument"
msgstr "Аргумент переданный в URL"
#: ../build/src/ui_dlghooksbase.h:175
#, c-format
msgid "Custom commands with URL %s will be replaced with the passed URL."
msgstr "Команды с URL %s будут заменены на переданный URL"
#: ../build/src/ui_dlghooksbase.h:176
msgid "Trigger on specific SIP header"
msgstr "Запустить при определëнном SIP-заголовке"
#: ../build/src/ui_dlghooksbase.h:177
msgid "Trigger on IAX2 URL"
msgstr "Запустить при URL IAX2 "
#: ../build/src/ui_dlghooksbase.h:178
msgid "Command to run"
msgstr "Команда"
#: ../build/src/ui_dlghooksbase.h:179
msgid "Phone number formatting"
msgstr "Формат номера телефона"
#: ../build/src/ui_dlghooksbase.h:180
msgid "Add phone number prefix"
msgstr "Добавить перед на набранными номерами"
#: ../build/src/ui_dlgrecordbase.h:92
msgid "Destination folder"
msgstr "Папка для записи"
#: ../build/src/ui_sflphone_kdeview_base.h:391
msgid "Pick up"
msgstr "&Взять трубку"
#: ../build/src/ui_sflphone_kdeview_base.h:395
msgid "History"
msgstr "Журнал"
#: ../build/src/ui_sflphone_kdeview_base.h:397
msgid "Configure accounts"
msgstr "Настроить &аккаунты"
#: ../build/src/ui_sflphone_kdeview_base.h:398
msgid "Configure audio"
msgstr "Настроить &звук"
#: ../build/src/ui_sflphone_kdeview_base.h:399
#: ../build/src/ui_sflphone_kdeview_base.h:401
msgid "Configure SFLphone"
msgstr "&Настроить SFLPhone"
#: ../build/src/ui_sflphone_kdeview_base.h:403
msgid "Display volume bars"
msgstr "Показать уровень &громкости"
#: ../build/src/ui_sflphone_kdeview_base.h:404
msgid "Display dialpad"
msgstr "Показать &клавиатуру"
#: ../build/src/ui_sflphone_kdeview_base.h:405
msgctxt "Action record a call"
msgid "Record"
msgstr "Записать"
#: ../build/src/ui_sflphone_kdeview_base.h:406
msgid "Account creation wizard"
msgstr "&Мастер настройки SFLphone"
#: ../build/src/ui_sflphone_kdeview_base.h:408
msgid "Attention:number of results exceeds max displayed."
msgstr "Внимание: Количество результатов превышает настроенный максимум результатов"
#~ msgid "Attention : SIP port must be over 1024 !"
#~ msgstr "Внимание : SIP-порт должен быть больше чем 1024 !"
#~ msgid "Attention : SIP port must be under 65536 !"
#~ msgstr "Внимание : SIP-порт должен быть меньше чем 65536 !"
#~ msgid "about"
#~ msgstr "О"
#~ msgid "Configure general settings"
#~ msgstr "Общие настройки"
#~ msgid "&Capacity"
#~ msgstr "Вместимость"
#~ msgid "Configure display"
#~ msgstr "Настроить экран"
#~ msgid "Configure user accounts"
#~ msgstr "Настройка аккаунтов пользователей"
#~ msgid "&Alias"
#~ msgstr "Псевдоним"
#~ msgid "&Protocol"
#~ msgstr "Протокол"
#~ msgid "&Server"
#~ msgstr "&Сервер"
#~ msgid "&User"
#~ msgstr "&Пользователь"
#~ msgid "Pass&word"
#~ msgstr "Па&роль"
#~ msgid "&Mailbox"
#~ msgstr "&Звуковые сообщения"
#~ msgid "Configure audio settings"
#~ msgstr "Настройки звука"
#~ msgid "Configure record settings"
#~ msgstr "Настроить запись звонков"
#~ msgid "Configure address book settings"
#~ msgstr "Настроить адресную книгу"
#~ msgid "Configure hooks settings"
#~ msgstr "Настроить перехватчики"
#~ msgid "SIP Protocol"
#~ msgstr "SIP-Протокол"
#~ msgid "IAX2 Protocol"
#~ msgstr "IAX2-Протокол"
#~ msgid "SIP Header"
#~ msgstr "SIP Заголовок"
#~ msgid "Prepend"
#~ msgstr "Добавить в начало"
#~ msgid "&Hang up"
#~ msgstr "&Положить трубку"
#~ msgid "H&old"
#~ msgstr "&Удержать звонок"
#~ msgid "&Transfer"
#~ msgstr "Пе&реслать звонок на другой номер"
#~ msgid "&About"
#~ msgstr "&О SFLphone"
#~ msgid "&Record"
#~ msgstr "Записать"
......@@ -54,9 +54,9 @@ SET( sflphone_client_kde_SRCS
conf/dlghooks.cpp
conf/ConfigurationSkeleton.cpp
Dialpad.cpp
# Codec.cpp
# CodecListModel.cpp
# SortableCodecListWidget.cpp
Codec.cpp
CodecListModel.cpp
SortableCodecListWidget.cpp
Item.cpp
)
......
......@@ -358,7 +358,7 @@ Contact * Call::findContactForNumberInKAddressBook(QString number)
ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance();
MapStringInt addressBookSettings = configurationManager.getAddressbookSettings().value();
bool displayPhoto = addressBookSettings[ADDRESSBOOK_DISPLAY_CONTACT_PHOTO];
AddressBook * ab = KABC::StdAddressBook::self();
AddressBook * ab = KABC::StdAddressBook::self(true);
QVector<Contact *> results = QVector<Contact *>();
AddressBook::Iterator it;
for ( it = ab->begin(); it != ab->end(); ++it ) {
......@@ -593,8 +593,8 @@ void Call::call()
callManager.placeCall(account, callId, number);
this->account = account;
this->peerPhoneNumber = number;
Contact * contact = findContactForNumberInKAddressBook(peerPhoneNumber);
if(contact) this->peerName = contact->getNickName();
// Contact * contact = findContactForNumberInKAddressBook(peerPhoneNumber);
// if(contact) this->peerName = contact->getNickName();
this->startTime = new QDateTime(QDateTime::currentDateTime());
this->historyState = OUTGOING;
}
......
/***************************************************************************
* Copyright (C) 2009 by Savoir-Faire Linux *
* Author : Jérémy Quentin *
* jeremy.quentin@savoirfairelinux.com *
* *
* 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 3 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., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#include "Codec.h"
#include "configurationmanager_interface_singleton.h"
#include "sflphone_const.h"
Codec::Codec(int payload, bool enabled)
{
ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance();
QStringList details = configurationManager.getCodecDetails(payload);
this->payload = QString::number(payload);
this->enabled = enabled;
this->name = details[CODEC_NAME];
this->frequency = details[CODEC_SAMPLE_RATE];
this->bitrate = details[CODEC_BIT_RATE];
this->bandwidth = details[CODEC_BANDWIDTH];
}
QString Codec::getPayload() const
{ return payload; }
QString Codec::getName() const
{ return name; }
QString Codec::getFrequency() const
{ return frequency; }
QString Codec::getBitrate() const
{ return bitrate; }
QString Codec::getBandwidth() const
{ return bandwidth; }
bool Codec::isEnabled() const
{ return enabled; }
void Codec::setPayload(QString payload)
{ this->payload = payload; }
void Codec::setName(QString name)
{ this->name = name; }
void Codec::setFrequency(QString frequency)
{ this->frequency = frequency; }
void Codec::setBitrate(QString bitrate)
{ this->bitrate = bitrate; }
void Codec::setBandwidth(QString bandwidth)
{ this->bandwidth = bandwidth; }
void Codec::setEnabled(bool enabled)
{ this->enabled = enabled; }
/***************************************************************************
* Copyright (C) 2009 by Savoir-Faire Linux *
* Author : Jérémy Quentin *
* jeremy.quentin@savoirfairelinux.com *
* *
* 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 3 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., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#ifndef CODEC_H
#define CODEC_H
#include <QObject>
#include <QtCore/QString>
/**
@author Jérémy Quentin <jeremy.quentin@gmail.com>
*/
class Codec : public QObject
{
Q_OBJECT
private:
QString payload;
QString name;
QString frequency;
QString bitrate;
QString bandwidth;
bool enabled;
public:
Codec(int payload, bool enabled);
// Codec(const Codec & codec);
// ~Codec();
QString getPayload() const;
QString getName() const;
QString getFrequency() const;
QString getBitrate() const;
QString getBandwidth() const;
bool isEnabled() const;
void setPayload(QString payload);
void setName(QString name);
void setFrequency(QString frequency);
void setBitrate(QString bitrate);
void setBandwidth(QString bandwidth);
void setEnabled(bool enabled);
Codec & operator=(const Codec&);
};
#endif
/***************************************************************************
* Copyright (C) 2009 by Savoir-Faire Linux *
* Author : Jérémy Quentin *
* jeremy.quentin@savoirfairelinux.com *
* *
* 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 3 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., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#include "CodecListModel.h"
#include <QtCore/QSize>
#include <QtCore/QDebug>
#include "configurationmanager_interface_singleton.h"
CodecListModel::CodecListModel(QObject *parent)
: QAbstractTableModel(parent)
{
this->codecs = QList<Codec *>();
ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance();
QStringList activeCodecList = configurationManager.getActiveCodecList();
setActiveCodecList(activeCodecList);
}
CodecListModel::~CodecListModel()
{
}
QVariant CodecListModel::data ( const QModelIndex & index, int role) const
{
if (!index.isValid())
return QVariant();
const Codec * codec = codecs[index.row()];
if(index.column() == 0 && role == Qt::DisplayRole)
{
return QVariant(codec->getName());
}
else if(index.column() == 0 && role == Qt::CheckStateRole)
{
return QVariant(codec->isEnabled() ? Qt::Checked : Qt::Unchecked);
}
else if(index.column() == 1 && role == Qt::DisplayRole)
{
return QVariant(codec->getFrequency());
}
else if(index.column() == 2 && role == Qt::DisplayRole)
{
return QVariant(codec->getBitrate());
}
else if(index.column() == 3 && role == Qt::DisplayRole)
{
return QVariant(codec->getBandwidth());
}
return QVariant();
}
int CodecListModel::rowCount(const QModelIndex & parent) const
{
return codecs.count();
}
int CodecListModel::columnCount(const QModelIndex & parent) const
{
return 4;
}
QVariant CodecListModel::headerData(int section , Qt::Orientation orientation, int role) const
{
if (section == 0 && orientation == Qt::Horizontal && role == Qt::DisplayRole)
{
return QVariant("Codec");
}
else if (section == 1 && orientation == Qt::Horizontal && role == Qt::DisplayRole)
{
return QVariant("Frequency");
}
else if (section == 2 && orientation == Qt::Horizontal && role == Qt::DisplayRole)
{
return QVariant("Bitrate");
}
else if (section == 3 && orientation == Qt::Horizontal && role == Qt::DisplayRole)
{
return QVariant("Bandwidth");
}
return QVariant();
}
Qt::ItemFlags CodecListModel::flags(const QModelIndex & index) const
{
if (index.column() == 0)
{
return QAbstractItemModel::flags(index) | Qt::ItemIsUserCheckable;
}
return QAbstractItemModel::flags(index);
}
bool CodecListModel::setData ( const QModelIndex & index, const QVariant &value, int role)
{
qDebug() << "setData";
if (index.isValid() && index.column() == 0 && role == Qt::CheckStateRole) {
codecs[index.row()]->setEnabled(value.toBool());
emit dataChanged(index, index);
return true;
}
return false;
}
bool CodecListModel::codecUp( int index )
{
qDebug() << getActiveCodecList();
if(index > 0 && index <= rowCount())
{
codecs.swap(index - 1, index);
qDebug() << getActiveCodecList();
emit dataChanged(this->index(index - 1, 0, QModelIndex()), this->index(index, columnCount(), QModelIndex()));
qDebug() << getActiveCodecList();
return true;
}
return false;
}
bool CodecListModel::codecDown( int index )
{
if(index >= 0 && index < rowCount())
{
codecs.swap(index + 1, index);
emit dataChanged(this->index(index, 0, QModelIndex()), this->index(index + 1, columnCount(), QModelIndex()));
return true;
}
return false;
}
QStringList CodecListModel::getActiveCodecList() const
{
QStringList codecList;
for(int i = 0 ; i < rowCount() ; i++)
{
if(codecs[i]->isEnabled())
codecList.append(codecs[i]->getPayload());
}
return codecList;
}
void CodecListModel::setActiveCodecList(const QStringList & activeCodecListToSet)
{
this->codecs = QList<Codec *>();
ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance();
QStringList codecList = configurationManager.getCodecList();
QStringList activeCodecList = activeCodecListToSet;
#if QT_VERSION >= 0x040500
activeCodecList.removeDuplicates();
#else
for (int i = 0 ; i < activeCodecList.size() ; i++)
{
if(activeCodecList.lastIndexOf(activeCodecList[i]) != i || ! codecList.contains(activeCodecList[i]))
{
activeCodecList.removeAt(i);
i--;
}
}
#endif
QStringList codecListToDisplay = activeCodecList;
for (int i=0 ; i<codecList.size() ; i++)
{
if(! activeCodecList.contains(codecList[i]))
{
codecListToDisplay << codecList[i];
}
}
for(int i=0 ; i<codecListToDisplay.size() ; i++)
{
bool ok;
qDebug() << codecListToDisplay[i];
QString payloadStr = QString(codecListToDisplay[i]);
int payload = payloadStr.toInt(&ok);
if(!ok)
qDebug() << "The codec's payload sent by the configurationManager is not a number : " << codecListToDisplay[i];
else
{
codecs << new Codec(payload, activeCodecList.contains(codecListToDisplay[i]));
}
}
emit dataChanged(this->index(0, 0, QModelIndex()), this->index(rowCount(), columnCount(), QModelIndex()));
}
/***************************************************************************
* Copyright (C) 2009 by Savoir-Faire Linux *
* Author : Jérémy Quentin *
* jeremy.quentin@savoirfairelinux.com *
* *
* 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 3 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., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#ifndef CODECLISTMODEL_H
#define CODECLISTMODEL_H
#include <QAbstractItemModel>
#include "Codec.h"
/**
@author Jérémy Quentin <jeremy.quentin@gmail.com>
*/
class CodecListModel : public QAbstractTableModel
{
Q_OBJECT
private:
QList<Codec *> codecs;
public:
CodecListModel(QObject *parent = 0);
~CodecListModel();
void setCodecs(QList<Codec *> codecs);
QVariant data ( const QModelIndex & index, int role = Qt::DisplayRole ) const;
int rowCount(const QModelIndex & parent = QModelIndex()) const;
int columnCount(const QModelIndex & parent = QModelIndex()) const;
// bool insertRows(int position, int rows, const QModelIndex &parent);
QVariant headerData(int section , Qt::Orientation orientation, int role) const;
Qt::ItemFlags flags(const QModelIndex & index) const;
virtual bool setData ( const QModelIndex & index, const QVariant &value, int role);
bool codecUp( int index );
bool codecDown( int index );
QStringList getActiveCodecList() const ;
void setActiveCodecList(const QStringList & activeCodecListToSet);
signals:
void dataChanged(const QModelIndex &, const QModelIndex &);
};
#endif
/***************************************************************************
* Copyright (C) 2009 by Savoir-Faire Linux *
* Author : Jérémy Quentin *
* jeremy.quentin@savoirfairelinux.com *
* *
* 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 3 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., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#include "SortableCodecListWidget.h"
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QDebug>
SortableCodecListWidget::SortableCodecListWidget(QWidget *parent)
: QWidget(parent)
{
codecTable = new QTableView(this);
codecTable->setObjectName("codecTable");
// CodecListModel * model = new CodecListModel();
// codecTable->setModel(model);
// codecTable->resizeColumnsToContents();
// codecTable->resizeRowsToContents();
codecTable->setSelectionBehavior(QAbstractItemView::SelectRows);
codecUpButton = new KPushButton(this);
codecUpButton->setObjectName("codecUpButton");
codecUpButton->setIcon(KIcon("go-up"));
codecDownButton = new KPushButton(this);
codecDownButton->setObjectName("codecDownButton");
codecDownButton->setIcon(KIcon("go-down"));
QHBoxLayout * mainLayout = new QHBoxLayout(this);
QVBoxLayout * buttonsLayout = new QVBoxLayout();
buttonsLayout->addWidget(codecUpButton);
buttonsLayout->addWidget(codecDownButton);
mainLayout->addWidget(codecTable);
mainLayout->addLayout(buttonsLayout);
QMetaObject::connectSlotsByName(this);
}
void SortableCodecListWidget::setModel(CodecListModel * model)
{
codecTable->setModel(model);
codecTable->resizeColumnsToContents();
codecTable->resizeRowsToContents();
connect(codecTable->selectionModel(), SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)),
this, SLOT(updateCommands()));
connect(codecTable->model(), SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)),
this, SIGNAL(dataChanged()));
}
CodecListModel * SortableCodecListWidget::model()
{
return (CodecListModel *) codecTable->model();
}
void SortableCodecListWidget::on_codecUpButton_clicked()
{
qDebug() << "on_toolButton_codecUpButton_clicked";
CodecListModel * model = (CodecListModel *) codecTable->model();
int currentRow = selectedRow();
model->codecUp(currentRow);
setSelectedRow(currentRow - 1);
}
void SortableCodecListWidget::on_codecDownButton_clicked()
{
qDebug() << "on_codecDownButton_clicked";
CodecListModel * model = (CodecListModel *) codecTable->model();
int currentRow = selectedRow();
model->codecDown(currentRow);
setSelectedRow(currentRow + 1);
}
void SortableCodecListWidget::updateCommands()
{
qDebug() << "SortableCodecListWidget::updateCommands";
bool buttonsEnabled[2] = {true,true};
if(selectedRow() == -1)
{
buttonsEnabled[0] = false;
buttonsEnabled[1] = false;
}
else
{
if(selectedRow() == 0)
{
buttonsEnabled[0] = false;
}
if(selectedRow() == codecTable->model()->rowCount() - 1)
{
buttonsEnabled[1] = false;
}
}
codecUpButton->setEnabled(buttonsEnabled[0]);
codecDownButton->setEnabled(buttonsEnabled[1]);
}
QModelIndex SortableCodecListWidget::selectedIndex()
{
QItemSelectionModel *selection = codecTable->selectionModel();
const QModelIndexList selectedIndexes = selection->selectedIndexes();
if ( !selectedIndexes.isEmpty() && selectedIndexes[0].isValid() )
return selectedIndexes[0];
else
return QModelIndex();
}
int SortableCodecListWidget::selectedRow()
{
QModelIndex index = selectedIndex();
if(index.isValid())
return index.row();
else
return -1;
}
void SortableCodecListWidget::setSelectedRow(int row)
{
QItemSelectionModel * selection = codecTable->selectionModel();
QAbstractItemModel * model = codecTable->model();
QItemSelection newSelection = QItemSelection(model->index(row, 0, QModelIndex()), model->index(row +1 , model->columnCount(), QModelIndex()));
selection->clear();
for(int i = 0 ; i < model->columnCount() ; i++)
{
selection->select(model->index(row, i, QModelIndex()) , QItemSelectionModel::Select);
}
}
\ No newline at end of file
/***************************************************************************
* Copyright (C) 2009 by Savoir-Faire Linux *
* Author : Jérémy Quentin *
* jeremy.quentin@savoirfairelinux.com *
* *
* 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 3 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., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#ifndef SORTABLECODECLISTWIDGET_H
#define SORTABLECODECLISTWIDGET_H
#include <QWidget>
#include <KPushButton>
#include <QTableView>
#include "CodecListModel.h"
/**
@author Jérémy Quentin <jeremy.quentin@gmail.com>
*/
class SortableCodecListWidget : public QWidget
{
Q_OBJECT
private:
KPushButton * codecUpButton;
KPushButton * codecDownButton;
QTableView * codecTable;
public:
SortableCodecListWidget(QWidget *parent = 0);
virtual void setModel(CodecListModel * model);
virtual CodecListModel * model();
private slots:
void on_codecUpButton_clicked();
void on_codecDownButton_clicked();
public slots:
void updateCommands();
private:
QModelIndex selectedIndex();
int selectedRow();
void setSelectedRow(int row);
signals:
void dataChanged();
};
#endif
......@@ -102,12 +102,14 @@ void ConfigurationDialogKDE::updateButtons()
void ConfigurationDialogKDE::applyCustomSettings()
{
qDebug() << "applyCustomSettings";
dlgAccounts->applyCustomSettings();
// if(hasChanged())
// {
ConfigurationSkeleton::self()->writeConfig();
// }
dlgAccounts->applyCustomSettings();
dlgAudio->applyCustomSettings();
updateButtons();
emit changesApplied();
}
void ConfigurationDialogKDE::reload()
......@@ -115,5 +117,6 @@ void ConfigurationDialogKDE::reload()
qDebug() << "reload";
ConfigurationSkeleton::self()->readConfig();
updateWidgets();
applyCustomSettings();
updateButtons();
}
......@@ -103,6 +103,7 @@ private slots:
signals:
void clearCallHistoryAsked();
void changesApplied();
};
......
......@@ -26,9 +26,10 @@
ConfigurationSkeleton::ConfigurationSkeleton()
: ConfigurationSkeletonBase()
{
qDebug() << "Yoooooooouuuuupppppppiiiiii";
qDebug() << "Building ConfigurationSkeleton";
codecListModel = new CodecListModel();
readConfig();
isImmutable( QString::fromLatin1 ( "alsaPlugin" ) );
}
ConfigurationSkeleton * ConfigurationSkeleton::instance = NULL;
......@@ -45,6 +46,11 @@ ConfigurationSkeleton::~ConfigurationSkeleton()
{
}
CodecListModel * ConfigurationSkeleton::getCodecListModel()
{
return codecListModel;
}
void ConfigurationSkeleton::readConfig()
{
qDebug() << "\nReading config";
......@@ -151,6 +157,7 @@ void ConfigurationSkeleton::readConfig()
MapStringInt addressBookSettings = configurationManager.getAddressbookSettings().value();
qDebug() << "getAddressbookSettings() : " << addressBookSettings;
setEnableAddressBook(addressBookSettings[ADDRESSBOOK_ENABLE]);
setMaxResults(addressBookSettings[ADDRESSBOOK_MAX_RESULTS]);
setDisplayPhoto(addressBookSettings[ADDRESSBOOK_DISPLAY_CONTACT_PHOTO]);
setBusiness(addressBookSettings[ADDRESSBOOK_DISPLAY_BUSINESS]);
......@@ -181,6 +188,8 @@ void ConfigurationSkeleton::writeConfig()
////General settings////
////////////////////////
qDebug() << "Writing General settings";
//Call history settings
if(enableHistory() != configurationManager.getHistoryEnabled()) configurationManager.setHistoryEnabled();
configurationManager.setHistoryLimit(historyMax());
......@@ -192,6 +201,8 @@ void ConfigurationSkeleton::writeConfig()
////Display settings////
////////////////////////
qDebug() << "Writing Display settings";
//Notification settings
if(notifOnCalls() != configurationManager.getNotify()) configurationManager.setNotify();
if(notifOnMessages() != configurationManager.getMailNotify()) configurationManager.setMailNotify();
......@@ -205,6 +216,8 @@ void ConfigurationSkeleton::writeConfig()
////Accounts settings////
/////////////////////////
qDebug() << "Writing Accounts settings";
// saveAccountList();
......@@ -216,6 +229,8 @@ void ConfigurationSkeleton::writeConfig()
////Audio settings////
//////////////////////
qDebug() << "Writing Audio settings";
//Audio Interface settings
int prevManager = configurationManager.getAudioManager();
int newManager = interface();
......@@ -229,6 +244,7 @@ void ConfigurationSkeleton::writeConfig()
configurationManager.setRingtoneChoice(ringtone());
//codecs settings
qDebug() << "activeCodecList = " << activeCodecList();
configurationManager.setActiveCodecList(activeCodecList());
......@@ -252,6 +268,8 @@ void ConfigurationSkeleton::writeConfig()
////Record settings////
///////////////////////
qDebug() << "Writing Record settings";
QString destination = destinationFolder();
qDebug() << destination ;
configurationManager.setRecordPath(destination);
......@@ -261,7 +279,10 @@ void ConfigurationSkeleton::writeConfig()
////Address Book settings////
/////////////////////////////
qDebug() << "Writing Address Book settings";
MapStringInt addressBookSettings = MapStringInt();
addressBookSettings[ADDRESSBOOK_ENABLE] = enableAddressBook();
addressBookSettings[ADDRESSBOOK_MAX_RESULTS] = maxResults();
addressBookSettings[ADDRESSBOOK_DISPLAY_CONTACT_PHOTO] = displayPhoto();
addressBookSettings[ADDRESSBOOK_DISPLAY_BUSINESS] = business();
......@@ -273,6 +294,8 @@ void ConfigurationSkeleton::writeConfig()
///////Hooks settings////////
/////////////////////////////
qDebug() << "Writing Hooks settings";
MapStringString hooksSettings = MapStringString();
hooksSettings[HOOKS_ENABLED] = addPrefix() ? "1" : "0";
hooksSettings[HOOKS_ADD_PREFIX] = prepend();
......@@ -285,4 +308,12 @@ void ConfigurationSkeleton::writeConfig()
readConfig();
}
QStringList ConfigurationSkeleton::activeCodecList() const
{
return codecListModel->getActiveCodecList();
}
void ConfigurationSkeleton::setActiveCodecList(const QStringList & v)
{
codecListModel->setActiveCodecList(v);
}
......@@ -24,6 +24,7 @@
#include <QWidget>
#include "kcfg_settings.h"
#include "CodecListModel.h"
/**
@author Jérémy Quentin <jeremy.quentin@gmail.com>
......@@ -34,6 +35,8 @@ Q_OBJECT
private:
static ConfigurationSkeleton * instance;
CodecListModel * codecListModel;
public:
ConfigurationSkeleton();
......@@ -47,6 +50,10 @@ public:
static ConfigurationSkeleton * self();
QStringList activeCodecList() const;
void setActiveCodecList(const QStringList & v);
CodecListModel * getCodecListModel();
// protected:
......
......@@ -296,7 +296,7 @@ void DlgAccounts::on_toolButton_accountsApply_clicked()
void DlgAccounts::applyCustomSettings()
{
qDebug() << "applyCustomSettings";
qDebug() << "DlgAccounts::applyCustomSettings";
if(hasChanged())
{
toolButton_accountsApply->setEnabled(false);
......
......@@ -14,16 +14,38 @@
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QCheckBox" name="kcfg_enableAddressBook">
<property name="text">
<string>Enable address book</string>
</property>
</widget>
</item>
<item>
<widget class="QWidget" name="widget_configAddressBookGeneral" native="true">
<property name="enabled">
<bool>false</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="leftMargin">
<number>0</number>
</property>
<item>
<widget class="QWidget" name="widget_maxResults" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_4">
<property name="spacing">
<number>-1</number>
</property>
<property name="margin">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>5</number>
</property>
<property name="rightMargin">
<number>5</number>
</property>
<property name="bottomMargin">
<number>5</number>
</property>
<item>
......@@ -68,34 +90,34 @@
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_displayTypes">
<property name="title">
<string>Display phone numbers of these &amp;types :</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<widget class="QCheckBox" name="kcfg_business">
<property name="text">
<string>&amp;Work</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="kcfg_mobile">
<property name="text">
<string>&amp;Mobile</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="kcfg_home">
<property name="text">
<string>&amp;Home</string>
<widget class="QGroupBox" name="groupBox_displayTypes">
<property name="title">
<string>Display phone numbers of these &amp;types :</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<widget class="QCheckBox" name="kcfg_business">
<property name="text">
<string>&amp;Work</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="kcfg_mobile">
<property name="text">
<string>&amp;Mobile</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="kcfg_home">
<property name="text">
<string>&amp;Home</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
......@@ -132,12 +154,12 @@
<slot>setValue(int)</slot>
<hints>
<hint type="sourcelabel">
<x>223</x>
<y>35</y>
<x>265</x>
<y>67</y>
</hint>
<hint type="destinationlabel">
<x>301</x>
<y>33</y>
<x>326</x>
<y>70</y>
</hint>
</hints>
</connection>
......@@ -148,12 +170,28 @@
<slot>setValue(int)</slot>
<hints>
<hint type="sourcelabel">
<x>294</x>
<y>36</y>
<x>326</x>
<y>70</y>
</hint>
<hint type="destinationlabel">
<x>265</x>
<y>67</y>
</hint>
</hints>
</connection>
<connection>
<sender>kcfg_enableAddressBook</sender>
<signal>toggled(bool)</signal>
<receiver>widget_configAddressBookGeneral</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>92</x>
<y>25</y>
</hint>
<hint type="destinationlabel">
<x>215</x>
<y>33</y>
<x>91</x>
<y>39</y>
</hint>
</hints>
</connection>
......
......@@ -38,25 +38,33 @@ DlgAudio::DlgAudio(KConfigDialog *parent)
KUrlRequester_ringtone->lineEdit()->setReadOnly(true);
codecTableHasChanged = false;
toolButton_codecUp->setIcon(KIcon("go-up"));
toolButton_codecDown->setIcon(KIcon("go-down"));
tableWidget_codecs->verticalHeader()->hide();
tableWidget_codecs->setSelectionBehavior(QAbstractItemView::SelectRows);
// toolButton_codecUp->setIcon(KIcon("go-up"));
// toolButton_codecDown->setIcon(KIcon("go-down"));
// tableWidget_codecs->verticalHeader()->hide();
// tableWidget_codecs->setSelectionBehavior(QAbstractItemView::SelectRows);
ConfigurationSkeleton * skeleton = ConfigurationSkeleton::self();
CodecListModel * model = skeleton->getCodecListModel();
sortableCodecList->setModel(model);
updateAlsaSettings();
connect(box_alsaPlugin, SIGNAL(currentIndexChanged(int)),
parent, SLOT(updateButtons()));
connect(tableWidget_codecs, SIGNAL(itemChanged(QTableWidgetItem *)),
this, SLOT(codecTableChanged()));
connect(tableWidget_codecs, SIGNAL(currentCellChanged(int, int, int, int)),
this, SLOT(updateCodecListCommands()));
connect(toolButton_codecUp, SIGNAL(clicked()),
this, SLOT(codecTableChanged()));
connect(toolButton_codecDown, SIGNAL(clicked()),
this, SLOT(codecTableChanged()));
// connect(tableWidget_codecs, SIGNAL(itemChanged(QTableWidgetItem *)),
// this, SLOT(codecTableChanged()));
// connect(tableWidget_codecs, SIGNAL(currentCellChanged(int, int, int, int)),
// this, SLOT(updateCodecListCommands()));
// connect(toolButton_codecUp, SIGNAL(clicked()),
// this, SLOT(codecTableChanged()));
// connect(toolButton_codecDown, SIGNAL(clicked()),
// this, SLOT(codecTableChanged()));
connect(this, SIGNAL(updateButtons()),
parent, SLOT(updateButtons()));
connect(sortableCodecList, SIGNAL(dataChanged()),
this, SLOT(codecTableChanged()));
}
......@@ -72,88 +80,108 @@ void DlgAudio::updateWidgets()
box_alsaPlugin->setCurrentIndex(box_alsaPlugin->findText(skeleton->alsaPlugin()));
//codecList
qDebug() << "loadCodecs";
ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance();
QStringList codecList = configurationManager.getCodecList();
QStringList activeCodecList = skeleton->activeCodecList();
#if QT_VERSION >= 0x040500
activeCodecList.removeDuplicates();
#else
for (int i = 0 ; i < activeCodecList.size() ; i++)
{
if(activeCodecList.lastIndexOf(activeCodecList[i]) != i || ! codecList.contains(activeCodecList[i]))
{
activeCodecList.removeAt(i);
i--;
}
}
#endif
QStringList codecListToDisplay = activeCodecList;
for (int i=0 ; i<codecList.size() ; i++)
{
if(! activeCodecList.contains(codecList[i]))
{
codecListToDisplay << codecList[i];
}
}
qDebug() << "codecList = " << codecList;
qDebug() << "activeCodecList" << activeCodecList;
qDebug() << "codecListToDisplay" << codecListToDisplay;
tableWidget_codecs->setRowCount(0);
for(int i=0 ; i<codecListToDisplay.size() ; i++)
{
bool ok;
qDebug() << codecListToDisplay[i];
QString payloadStr = QString(codecListToDisplay[i]);
int payload = payloadStr.toInt(&ok);
if(!ok)
qDebug() << "The codec's payload sent by the configurationManager is not a number : " << codecListToDisplay[i];
else
{
QStringList details = configurationManager.getCodecDetails(payload);
tableWidget_codecs->insertRow(i);
tableWidget_codecs->setVerticalHeaderItem (i, new QTableWidgetItem());
tableWidget_codecs->verticalHeaderItem (i)->setText(payloadStr);
tableWidget_codecs->setItem(i,0,new QTableWidgetItem(""));
tableWidget_codecs->setItem(i,1,new QTableWidgetItem(details[CODEC_NAME]));
tableWidget_codecs->setItem(i,2,new QTableWidgetItem(details[CODEC_SAMPLE_RATE]));
tableWidget_codecs->setItem(i,3,new QTableWidgetItem(details[CODEC_BIT_RATE]));
tableWidget_codecs->setItem(i,4,new QTableWidgetItem(details[CODEC_BANDWIDTH]));
tableWidget_codecs->item(i,0)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsUserCheckable|Qt::ItemIsEnabled);
tableWidget_codecs->item(i,0)->setCheckState(activeCodecList.contains(codecListToDisplay[i]) ? Qt::Checked : Qt::Unchecked);
tableWidget_codecs->item(i,1)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);
tableWidget_codecs->item(i,2)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);
tableWidget_codecs->item(i,3)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);
tableWidget_codecs->item(i,4)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);
qDebug() << "Added to codecs : " << payloadStr << " , " << details[CODEC_NAME];
}
}
tableWidget_codecs->resizeColumnsToContents();
tableWidget_codecs->resizeRowsToContents();
// qDebug() << "loadCodecs";
// ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance();
// QStringList codecList = configurationManager.getCodecList();
// QStringList activeCodecList = skeleton->activeCodecList();
//
// qDebug() << "loadCodecs1";
// #if QT_VERSION >= 0x040500
// qDebug() << "loadCodecs1b";
// activeCodecList.removeDuplicates();
//
// qDebug() << "loadCodecs1c";
// #else
//
// qDebug() << "loadCodecs1d";
// for (int i = 0 ; i < activeCodecList.size() ; i++)
// {
// if(activeCodecList.lastIndexOf(activeCodecList[i]) != i || ! codecList.contains(activeCodecList[i]))
// {
// activeCodecList.removeAt(i);
// i--;
// }
// }
//
// qDebug() << "loadCodecs1e";
// #endif
//
// qDebug() << "loadCodecs2";
// QStringList codecListToDisplay = activeCodecList;
// qDebug() << "loadCodecs2b";
// codecList.size();
//
// qDebug() << "loadCodecs2c";
// for (int i=0 ; i<codecList.size() ; i++)
// {
//
// qDebug() << "loadCodecs3";
// if(! activeCodecList.contains(codecList[i]))
// {
//
// qDebug() << "loadCodecs4";
// codecListToDisplay << codecList[i];
// }
// }
//
// qDebug() << "loadCodecs5";
// qDebug() << "codecList = " << codecList;
// qDebug() << "activeCodecList" << activeCodecList;
// qDebug() << "codecListToDisplay" << codecListToDisplay;
// tableWidget_codecs->setRowCount(0);
// for(int i=0 ; i<codecListToDisplay.size() ; i++)
// {
// bool ok;
// qDebug() << codecListToDisplay[i];
// QString payloadStr = QString(codecListToDisplay[i]);
// int payload = payloadStr.toInt(&ok);
// if(!ok)
// qDebug() << "The codec's payload sent by the configurationManager is not a number : " << codecListToDisplay[i];
// else
// {
// QStringList details = configurationManager.getCodecDetails(payload);
// tableWidget_codecs->insertRow(i);
// tableWidget_codecs->setVerticalHeaderItem (i, new QTableWidgetItem());
// tableWidget_codecs->verticalHeaderItem (i)->setText(payloadStr);
// tableWidget_codecs->setItem(i,0,new QTableWidgetItem(""));
// tableWidget_codecs->setItem(i,1,new QTableWidgetItem(details[CODEC_NAME]));
// tableWidget_codecs->setItem(i,2,new QTableWidgetItem(details[CODEC_SAMPLE_RATE]));
// tableWidget_codecs->setItem(i,3,new QTableWidgetItem(details[CODEC_BIT_RATE]));
// tableWidget_codecs->setItem(i,4,new QTableWidgetItem(details[CODEC_BANDWIDTH]));
// tableWidget_codecs->item(i,0)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsUserCheckable|Qt::ItemIsEnabled);
// tableWidget_codecs->item(i,0)->setCheckState(activeCodecList.contains(codecListToDisplay[i]) ? Qt::Checked : Qt::Unchecked);
// tableWidget_codecs->item(i,1)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);
// tableWidget_codecs->item(i,2)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);
// tableWidget_codecs->item(i,3)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);
// tableWidget_codecs->item(i,4)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);
//
// qDebug() << "Added to codecs : " << payloadStr << " , " << details[CODEC_NAME];
// }
// }
// tableWidget_codecs->resizeColumnsToContents();
// tableWidget_codecs->resizeRowsToContents();
codecTableHasChanged = false;
}
void DlgAudio::updateSettings()
{
// qDebug() << "DlgAudio::updateSettings";
qDebug() << "DlgAudio::updateSettings";
//alsaPlugin
ConfigurationSkeleton * skeleton = ConfigurationSkeleton::self();
skeleton->setAlsaPlugin(box_alsaPlugin->currentText());
//codecList
QStringList activeCodecs;
for(int i = 0 ; i < tableWidget_codecs->rowCount() ; i++)
{
if(tableWidget_codecs->item(i,0)->checkState() == Qt::Checked)
{
activeCodecs << tableWidget_codecs->verticalHeaderItem(i)->text();
}
}
qDebug() << "Calling setActiveCodecList with list : " << activeCodecs ;
skeleton->setActiveCodecList(activeCodecs);
// QStringList activeCodecs;
// for(int i = 0 ; i < tableWidget_codecs->rowCount() ; i++)
// {
// if(tableWidget_codecs->item(i,0)->checkState() == Qt::Checked)
// {
// activeCodecs << tableWidget_codecs->verticalHeaderItem(i)->text();
// }
// }
// qDebug() << "Calling setActiveCodecList with list : " << activeCodecs ;
// skeleton->setActiveCodecList(activeCodecs);
codecTableHasChanged = false;
}
......@@ -205,69 +233,75 @@ void DlgAudio::updateAlsaSettings()
}
}
void DlgAudio::updateCodecListCommands()
{
qDebug() << "updateCodecListCommands";
bool buttonsEnabled[2] = {true,true};
if(! tableWidget_codecs->currentItem())
{
buttonsEnabled[0] = false;
buttonsEnabled[1] = false;
}
else
{
if(tableWidget_codecs->currentRow() == 0)
{
buttonsEnabled[0] = false;
}
if(tableWidget_codecs->currentRow() == tableWidget_codecs->rowCount() - 1)
{
buttonsEnabled[1] = false;
}
}
toolButton_codecUp->setEnabled(buttonsEnabled[0]);
toolButton_codecDown->setEnabled(buttonsEnabled[1]);
}
// void DlgAudio::updateCodecListCommands()
// {
// qDebug() << "updateCodecListCommands";
// bool buttonsEnabled[2] = {true,true};
// if(! tableWidget_codecs->currentItem())
// {
// buttonsEnabled[0] = false;
// buttonsEnabled[1] = false;
// }
// else
// {
// if(tableWidget_codecs->currentRow() == 0)
// {
// buttonsEnabled[0] = false;
// }
// if(tableWidget_codecs->currentRow() == tableWidget_codecs->rowCount() - 1)
// {
// buttonsEnabled[1] = false;
// }
// }
// toolButton_codecUp->setEnabled(buttonsEnabled[0]);
// toolButton_codecDown->setEnabled(buttonsEnabled[1]);
// }
void DlgAudio::on_toolButton_codecUp_clicked()
{
qDebug() << "on_toolButton_codecUp_clicked";
int currentCol = tableWidget_codecs->currentColumn();
int currentRow = tableWidget_codecs->currentRow();
int nbCol = tableWidget_codecs->columnCount();
for(int i = 0 ; i < nbCol ; i++)
{
QTableWidgetItem * item1 = tableWidget_codecs->takeItem(currentRow, i);
QTableWidgetItem * item2 = tableWidget_codecs->takeItem(currentRow - 1, i);
tableWidget_codecs->setItem(currentRow - 1, i , item1);
tableWidget_codecs->setItem(currentRow, i , item2);
}
QTableWidgetItem * item1 = tableWidget_codecs->takeVerticalHeaderItem(currentRow);
QTableWidgetItem * item2 = tableWidget_codecs->takeVerticalHeaderItem(currentRow - 1);
tableWidget_codecs->setVerticalHeaderItem(currentRow - 1, item1);
tableWidget_codecs->setVerticalHeaderItem(currentRow, item2);
tableWidget_codecs->setCurrentCell(currentRow - 1, currentCol);
}
// void DlgAudio::on_toolButton_codecUp_clicked()
// {
// qDebug() << "on_toolButton_codecUp_clicked";
// int currentCol = tableWidget_codecs->currentColumn();
// int currentRow = tableWidget_codecs->currentRow();
// int nbCol = tableWidget_codecs->columnCount();
// for(int i = 0 ; i < nbCol ; i++)
// {
// QTableWidgetItem * item1 = tableWidget_codecs->takeItem(currentRow, i);
// QTableWidgetItem * item2 = tableWidget_codecs->takeItem(currentRow - 1, i);
// tableWidget_codecs->setItem(currentRow - 1, i , item1);
// tableWidget_codecs->setItem(currentRow, i , item2);
// }
// QTableWidgetItem * item1 = tableWidget_codecs->takeVerticalHeaderItem(currentRow);
// QTableWidgetItem * item2 = tableWidget_codecs->takeVerticalHeaderItem(currentRow - 1);
// tableWidget_codecs->setVerticalHeaderItem(currentRow - 1, item1);
// tableWidget_codecs->setVerticalHeaderItem(currentRow, item2);
// tableWidget_codecs->setCurrentCell(currentRow - 1, currentCol);
// }
//
// void DlgAudio::on_toolButton_codecDown_clicked()
// {
// qDebug() << "on_toolButton_codecDown_clicked";
// int currentCol = tableWidget_codecs->currentColumn();
// int currentRow = tableWidget_codecs->currentRow();
// int nbCol = tableWidget_codecs->columnCount();
// for(int i = 0 ; i < nbCol ; i++)
// {
// QTableWidgetItem * item1 = tableWidget_codecs->takeItem(currentRow, i);
// QTableWidgetItem * item2 = tableWidget_codecs->takeItem(currentRow + 1, i);
// tableWidget_codecs->setItem(currentRow + 1, i , item1);
// tableWidget_codecs->setItem(currentRow, i , item2);
// }
// QTableWidgetItem * item1 = tableWidget_codecs->takeVerticalHeaderItem(currentRow);
// QTableWidgetItem * item2 = tableWidget_codecs->takeVerticalHeaderItem(currentRow + 1);
// tableWidget_codecs->setVerticalHeaderItem(currentRow + 1, item1);
// tableWidget_codecs->setVerticalHeaderItem(currentRow, item2);
// tableWidget_codecs->setCurrentCell(currentRow + 1, currentCol);
// }
void DlgAudio::on_toolButton_codecDown_clicked()
void DlgAudio::applyCustomSettings()
{
qDebug() << "on_toolButton_codecDown_clicked";
int currentCol = tableWidget_codecs->currentColumn();
int currentRow = tableWidget_codecs->currentRow();
int nbCol = tableWidget_codecs->columnCount();
for(int i = 0 ; i < nbCol ; i++)
{
QTableWidgetItem * item1 = tableWidget_codecs->takeItem(currentRow, i);
QTableWidgetItem * item2 = tableWidget_codecs->takeItem(currentRow + 1, i);
tableWidget_codecs->setItem(currentRow + 1, i , item1);
tableWidget_codecs->setItem(currentRow, i , item2);
}
QTableWidgetItem * item1 = tableWidget_codecs->takeVerticalHeaderItem(currentRow);
QTableWidgetItem * item2 = tableWidget_codecs->takeVerticalHeaderItem(currentRow + 1);
tableWidget_codecs->setVerticalHeaderItem(currentRow + 1, item1);
tableWidget_codecs->setVerticalHeaderItem(currentRow, item2);
tableWidget_codecs->setCurrentCell(currentRow + 1, currentCol);
codecTableHasChanged = false;
}
......
......@@ -46,11 +46,12 @@ public slots:
void updateSettings();
bool hasChanged();
void updateAlsaSettings();
void applyCustomSettings();
private slots:
void updateCodecListCommands();
void on_toolButton_codecUp_clicked();
void on_toolButton_codecDown_clicked();
// void updateCodecListCommands();
// void on_toolButton_codecUp_clicked();
// void on_toolButton_codecDown_clicked();
void codecTableChanged();
signals:
......
......@@ -95,87 +95,7 @@
<number>2</number>
</property>
<item>
<widget class="QTableWidget" name="tableWidget_codecs">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>100</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
</property>
<property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarAsNeeded</enum>
</property>
<property name="textElideMode">
<enum>Qt::ElideRight</enum>
</property>
<property name="verticalScrollMode">
<enum>QAbstractItemView::ScrollPerPixel</enum>
</property>
<property name="horizontalScrollMode">
<enum>QAbstractItemView::ScrollPerPixel</enum>
</property>
<column>
<property name="text">
<string>Active</string>
</property>
</column>
<column>
<property name="text">
<string>Name</string>
</property>
</column>
<column>
<property name="text">
<string>Frequency</string>
</property>
</column>
<column>
<property name="text">
<string>Bitrate</string>
</property>
</column>
<column>
<property name="text">
<string>Bandwidth</string>
</property>
</column>
</widget>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_codecsOrder">
<property name="leftMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<item>
<widget class="QToolButton" name="toolButton_codecUp">
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="toolButton_codecDown">
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
<widget class="SortableCodecListWidget" name="sortableCodecList" native="true"/>
</item>
</layout>
</widget>
......@@ -311,6 +231,12 @@
<extends>QFrame</extends>
<header>kurlrequester.h</header>
</customwidget>
<customwidget>
<class>SortableCodecListWidget</class>
<extends>QWidget</extends>
<header>SortableCodecListWidget.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<resources/>
<connections>
......
......@@ -29,6 +29,7 @@ DlgRecord::DlgRecord(QWidget *parent)
KUrlRequester_destinationFolder->setMode(KFile::Directory|KFile::ExistingOnly|KFile::LocalOnly);
KUrlRequester_destinationFolder->setUrl(KUrl(QDir::home().path()));
KUrlRequester_destinationFolder->lineEdit()->setObjectName("kcfg_destinationFolder");
KUrlRequester_destinationFolder->lineEdit()->setReadOnly(true);
}
......
......@@ -2,7 +2,10 @@
<!DOCTYPE kcfg SYSTEM "http://www.kde.org/standards/kcfg/1.0/kcfg.dtd">
<kcfg>
<kcfgfile name="ConfigDialogKDE" />
<group name="main">
<group name="main">
<!-- General Settings -->
<entry name="SIPPort" type="Int">
<label>Defines the port that will be used for SIP communication.</label>
<min> 1025 </min>
......@@ -18,6 +21,9 @@
<max> 99 </max>
<default> 30 </default>
</entry>
<!-- Display Settings -->
<entry name="notifOnCalls" type="Bool">
<label>Defines whether user should be notified when receiving a call.</label>
</entry>
......@@ -30,6 +36,9 @@
<entry name="displayOnCalls" type="Bool">
<label>Defines whether the main window should be displayed when receiving a message.</label>
</entry>
<!-- Accounts Settings -->
<!--
<entry name="accountList" type="StringList">
<label>Defines the list of accounts to register, in order of preference (first registered used by default).</label>
......@@ -41,6 +50,9 @@
<entry name="stunServer" type="String">
<label>Defines the Stun server to use.</label>
</entry>
<!-- Audio Settings -->
<entry name="interface" type="Enum">
<label>Defines the Stun server to use.</label>
<choices>
......@@ -54,9 +66,11 @@
<entry name="ringtone" type="Path">
<label>Defines which ringtone is used.</label>
</entry>
<!--
<entry name="activeCodecList" type="StringList">
<label>Defines which ALSA plugin to use.</label>
</entry>
-->
<entry name="alsaPlugin" type="String">
<label>Defines which ALSA plugin to use.</label>
</entry>
......@@ -69,6 +83,12 @@
<entry name="pulseAudioVolumeAlter" type="Bool">
<label>Defines whether pulse audio can mute other applications during a call.</label>
</entry>
<!-- Address Book Settings -->
<entry name="enableAddressBook" type="Bool">
<label>Defines whether the search in KDE Address Book is enabled</label>
</entry>
<entry name="maxResults" type="Int">
<label>Defines the max number of contacts to display during a search in address book.</label>
</entry>
......@@ -84,9 +104,15 @@
<entry name="home" type="Bool">
<label>Defines whether to display personnal phone numbers.</label>
</entry>
<!-- Record Settings -->
<entry name="destinationFolder" type="Path">
<label>Defines the destination directory for call recordings.</label>
</entry>
<!-- Hooks Settings -->
<entry name="enableHooksSIP" type="Bool">
<label>Defines whether to enable hooks for SIP accounts.</label>
</entry>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment