aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/llprefsvoice.cpp
diff options
context:
space:
mode:
authorJacek Antonelli2009-05-30 17:16:26 -0500
committerJacek Antonelli2009-05-30 19:12:37 -0500
commit499afbab7be4c4136eea0e1897319c3ac4e9799d (patch)
tree95e9de524994eae69b0dd88b8c6608d5f45d030c /linden/indra/newview/llprefsvoice.cpp
parentFixed end-of-line style for Info-Imprudence.plist. (diff)
parentSecond Life viewer sources 1.22.11 (diff)
downloadmeta-impy-499afbab7be4c4136eea0e1897319c3ac4e9799d.zip
meta-impy-499afbab7be4c4136eea0e1897319c3ac4e9799d.tar.gz
meta-impy-499afbab7be4c4136eea0e1897319c3ac4e9799d.tar.bz2
meta-impy-499afbab7be4c4136eea0e1897319c3ac4e9799d.tar.xz
Merged SL 1.22.11 into Imprudence 1.1 RC2.
Conflicts: linden/doc/contributions.txt linden/indra/cmake/APR.cmake linden/indra/cmake/CopyWinLibs.cmake linden/indra/cmake/LLKDU.cmake (removed) linden/indra/cmake/LLMedia.cmake linden/indra/cmake/OPENAL.cmake linden/indra/cmake/QuickTime.cmake (removed) linden/indra/develop.py linden/indra/lib/python/indra/base/llsd.py linden/indra/lib/python/indra/util/fastest_elementtree.py linden/indra/lib/python/indra/util/llmanifest.py linden/indra/lib/python/indra/util/named_query.py linden/indra/llaudio/CMakeLists.txt linden/indra/llaudio/audioengine.cpp linden/indra/llaudio/audioengine.h linden/indra/llaudio/audioengine_fmod.cpp linden/indra/llaudio/audioengine_fmod.h linden/indra/llaudio/audioengine_openal.cpp linden/indra/llaudio/audioengine_openal.h linden/indra/llaudio/listener_openal.cpp linden/indra/llaudio/listener_openal.h linden/indra/llaudio/windgen.h linden/indra/llcrashlogger/llcrashlogger.cpp linden/indra/llmedia/llmediaimplgstreamer.cpp linden/indra/llmedia/llmediaimplgstreamer_syms.cpp (removed) linden/indra/llmedia/llmediaimplgstreamer_syms.h (removed) linden/indra/llmessage/llcircuit.h linden/indra/llrender/llgl.cpp linden/indra/llrender/llrender.h linden/indra/llui/llfloater.cpp linden/indra/llui/lltexteditor.cpp linden/indra/llwindow/llwindowsdl.cpp linden/indra/mac_crash_logger/CMakeLists.txt linden/indra/mac_updater/CMakeLists.txt linden/indra/newview/CMakeLists.txt linden/indra/newview/English.lproj/InfoPlist.strings linden/indra/newview/Info-Imprudence.plist linden/indra/newview/installers/windows/installer_template.nsi linden/indra/newview/installers/windows/lang_de.nsi linden/indra/newview/installers/windows/lang_en-us.nsi linden/indra/newview/installers/windows/lang_ja.nsi linden/indra/newview/installers/windows/lang_ko.nsi linden/indra/newview/llappviewer.cpp linden/indra/newview/llaudiosourcevo.cpp linden/indra/newview/llfloaterabout.cpp linden/indra/newview/llfloaterhtml.cpp linden/indra/newview/llfloaterhtml.h linden/indra/newview/llfloaterinspect.cpp linden/indra/newview/llfloatersnapshot.cpp linden/indra/newview/llpanelgeneral.cpp linden/indra/newview/llpanelgeneral.h linden/indra/newview/llpanellogin.cpp linden/indra/newview/llpanelobject.cpp linden/indra/newview/llurlhistory.cpp linden/indra/newview/llviewermenu.cpp linden/indra/newview/llviewernetwork.cpp linden/indra/newview/llviewernetwork.h linden/indra/newview/llviewerobject.cpp linden/indra/newview/llviewerwindow.cpp linden/indra/newview/llvoavatar.cpp linden/indra/newview/res/viewerRes.rc linden/indra/newview/skins/default/xui/de/floater_env_settings.xml linden/indra/newview/skins/default/xui/de/floater_html.xml linden/indra/newview/skins/default/xui/de/floater_inspect.xml linden/indra/newview/skins/default/xui/de/floater_instant_message_group.xml linden/indra/newview/skins/default/xui/de/floater_lagmeter.xml linden/indra/newview/skins/default/xui/de/floater_lsl_guide.xml linden/indra/newview/skins/default/xui/de/floater_url_entry.xml linden/indra/newview/skins/default/xui/de/floater_water.xml linden/indra/newview/skins/default/xui/de/mime_types.xml linden/indra/newview/skins/default/xui/de/need_to_long.xml linden/indra/newview/skins/default/xui/de/need_to_translate.xml linden/indra/newview/skins/default/xui/de/need_to_update.xml linden/indra/newview/skins/default/xui/de/panel_friends.xml linden/indra/newview/skins/default/xui/de/panel_media_remote_expanded.xml linden/indra/newview/skins/default/xui/de/panel_preferences_voice.xml linden/indra/newview/skins/default/xui/de/panel_voice_controls.xml linden/indra/newview/skins/default/xui/de/panel_voice_enable.xml linden/indra/newview/skins/default/xui/de/panel_voice_options.xml linden/indra/newview/skins/default/xui/de/strings.xml linden/indra/newview/skins/default/xui/en-us/floater_chat_history.xml linden/indra/newview/skins/default/xui/en-us/floater_instant_message_ad_hoc.xml linden/indra/newview/skins/default/xui/en-us/floater_instant_message_group.xml linden/indra/newview/skins/default/xui/en-us/floater_lagmeter.xml linden/indra/newview/skins/default/xui/en-us/menu_pie_object.xml linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml linden/indra/newview/skins/default/xui/en-us/panel_audio_device.xml linden/indra/newview/skins/default/xui/en-us/panel_preferences_general.xml linden/indra/newview/skins/default/xui/en-us/panel_preferences_input.xml linden/indra/newview/skins/default/xui/en-us/panel_preferences_voice.xml linden/indra/newview/skins/default/xui/en-us/panel_voice_remote.xml linden/indra/newview/skins/default/xui/en-us/panel_voice_remote_expanded.xml linden/indra/newview/skins/default/xui/es/alerts.xml linden/indra/newview/skins/default/xui/es/floater_about_land.xml linden/indra/newview/skins/default/xui/es/floater_mute.xml linden/indra/newview/skins/default/xui/es/menu_viewer.xml linden/indra/newview/skins/default/xui/es/panel_group_land_money.xml linden/indra/newview/skins/default/xui/es/panel_preferences_general.xml linden/indra/newview/skins/default/xui/fr/alerts.xml linden/indra/newview/skins/default/xui/fr/floater_about.xml linden/indra/newview/skins/default/xui/fr/floater_about_land.xml linden/indra/newview/skins/default/xui/fr/floater_active_speakers.xml linden/indra/newview/skins/default/xui/fr/floater_animation_preview.xml linden/indra/newview/skins/default/xui/fr/floater_avatar_picker.xml linden/indra/newview/skins/default/xui/fr/floater_avatar_textures.xml linden/indra/newview/skins/default/xui/fr/floater_buy_contents.xml linden/indra/newview/skins/default/xui/fr/floater_buy_currency.xml linden/indra/newview/skins/default/xui/fr/floater_buy_land.xml linden/indra/newview/skins/default/xui/fr/floater_buy_object.xml linden/indra/newview/skins/default/xui/fr/floater_chat_history.xml linden/indra/newview/skins/default/xui/fr/floater_color_picker.xml linden/indra/newview/skins/default/xui/fr/floater_customize.xml linden/indra/newview/skins/default/xui/fr/floater_directory.xml linden/indra/newview/skins/default/xui/fr/floater_env_settings.xml linden/indra/newview/skins/default/xui/fr/floater_god_tools.xml linden/indra/newview/skins/default/xui/fr/floater_group_info.xml linden/indra/newview/skins/default/xui/fr/floater_hardware_settings.xml linden/indra/newview/skins/default/xui/fr/floater_html.xml linden/indra/newview/skins/default/xui/fr/floater_image_preview.xml linden/indra/newview/skins/default/xui/fr/floater_import.xml linden/indra/newview/skins/default/xui/fr/floater_instant_message.xml linden/indra/newview/skins/default/xui/fr/floater_instant_message_ad_hoc.xml linden/indra/newview/skins/default/xui/fr/floater_instant_message_group.xml linden/indra/newview/skins/default/xui/fr/floater_inventory.xml linden/indra/newview/skins/default/xui/fr/floater_inventory_item_properties.xml linden/indra/newview/skins/default/xui/fr/floater_inventory_view_finder.xml linden/indra/newview/skins/default/xui/fr/floater_joystick.xml linden/indra/newview/skins/default/xui/fr/floater_lagmeter.xml linden/indra/newview/skins/default/xui/fr/floater_land_holdings.xml linden/indra/newview/skins/default/xui/fr/floater_lsl_guide.xml linden/indra/newview/skins/default/xui/fr/floater_media_browser.xml linden/indra/newview/skins/default/xui/fr/floater_moveview.xml linden/indra/newview/skins/default/xui/fr/floater_mute.xml linden/indra/newview/skins/default/xui/fr/floater_mute_object.xml linden/indra/newview/skins/default/xui/fr/floater_name_description.xml linden/indra/newview/skins/default/xui/fr/floater_new_outfit_dialog.xml linden/indra/newview/skins/default/xui/fr/floater_openobject.xml linden/indra/newview/skins/default/xui/fr/floater_pay.xml linden/indra/newview/skins/default/xui/fr/floater_pay_object.xml linden/indra/newview/skins/default/xui/fr/floater_preferences.xml linden/indra/newview/skins/default/xui/fr/floater_preview_animation.xml linden/indra/newview/skins/default/xui/fr/floater_preview_gesture.xml linden/indra/newview/skins/default/xui/fr/floater_preview_notecard.xml linden/indra/newview/skins/default/xui/fr/floater_preview_notecard_keep_discard.xml linden/indra/newview/skins/default/xui/fr/floater_preview_sound.xml linden/indra/newview/skins/default/xui/fr/floater_price_for_listing.xml linden/indra/newview/skins/default/xui/fr/floater_region_info.xml linden/indra/newview/skins/default/xui/fr/floater_report_abuse.xml linden/indra/newview/skins/default/xui/fr/floater_report_bug.xml linden/indra/newview/skins/default/xui/fr/floater_script_ed_panel.xml linden/indra/newview/skins/default/xui/fr/floater_sell_land.xml linden/indra/newview/skins/default/xui/fr/floater_settings_debug.xml linden/indra/newview/skins/default/xui/fr/floater_skin_preview_template.xml linden/indra/newview/skins/default/xui/fr/floater_snapshot.xml linden/indra/newview/skins/default/xui/fr/floater_sound_preview.xml linden/indra/newview/skins/default/xui/fr/floater_telehub.xml linden/indra/newview/skins/default/xui/fr/floater_texture_ctrl.xml linden/indra/newview/skins/default/xui/fr/floater_tools.xml linden/indra/newview/skins/default/xui/fr/floater_top_objects.xml linden/indra/newview/skins/default/xui/fr/floater_url_entry.xml linden/indra/newview/skins/default/xui/fr/floater_windlight_options.xml linden/indra/newview/skins/default/xui/fr/floater_world_map.xml linden/indra/newview/skins/default/xui/fr/menu_inventory.xml linden/indra/newview/skins/default/xui/fr/menu_pie_avatar.xml linden/indra/newview/skins/default/xui/fr/menu_pie_land.xml linden/indra/newview/skins/default/xui/fr/menu_pie_self.xml linden/indra/newview/skins/default/xui/fr/menu_viewer.xml linden/indra/newview/skins/default/xui/fr/mime_types.xml linden/indra/newview/skins/default/xui/fr/notify.xml linden/indra/newview/skins/default/xui/fr/panel_audio.xml linden/indra/newview/skins/default/xui/fr/panel_audio_device.xml linden/indra/newview/skins/default/xui/fr/panel_avatar.xml linden/indra/newview/skins/default/xui/fr/panel_avatar_classified.xml linden/indra/newview/skins/default/xui/fr/panel_chat_bar.xml linden/indra/newview/skins/default/xui/fr/panel_classified.xml linden/indra/newview/skins/default/xui/fr/panel_event.xml linden/indra/newview/skins/default/xui/fr/panel_friends.xml linden/indra/newview/skins/default/xui/fr/panel_group.xml linden/indra/newview/skins/default/xui/fr/panel_group_finder.xml linden/indra/newview/skins/default/xui/fr/panel_group_general.xml linden/indra/newview/skins/default/xui/fr/panel_group_invite.xml linden/indra/newview/skins/default/xui/fr/panel_group_land_money.xml linden/indra/newview/skins/default/xui/fr/panel_group_notices.xml linden/indra/newview/skins/default/xui/fr/panel_group_roles.xml linden/indra/newview/skins/default/xui/fr/panel_group_voting.xml linden/indra/newview/skins/default/xui/fr/panel_groups.xml linden/indra/newview/skins/default/xui/fr/panel_login.xml linden/indra/newview/skins/default/xui/fr/panel_master_volume.xml linden/indra/newview/skins/default/xui/fr/panel_media_controls.xml linden/indra/newview/skins/default/xui/fr/panel_media_remote.xml linden/indra/newview/skins/default/xui/fr/panel_media_remote_expanded.xml linden/indra/newview/skins/default/xui/fr/panel_overlaybar.xml linden/indra/newview/skins/default/xui/fr/panel_place.xml linden/indra/newview/skins/default/xui/fr/panel_place_small.xml linden/indra/newview/skins/default/xui/fr/panel_preferences_audio.xml linden/indra/newview/skins/default/xui/fr/panel_preferences_chat.xml linden/indra/newview/skins/default/xui/fr/panel_preferences_general.xml linden/indra/newview/skins/default/xui/fr/panel_preferences_graphics1.xml linden/indra/newview/skins/default/xui/fr/panel_preferences_im.xml linden/indra/newview/skins/default/xui/fr/panel_preferences_input.xml linden/indra/newview/skins/default/xui/fr/panel_preferences_network.xml linden/indra/newview/skins/default/xui/fr/panel_preferences_popups.xml linden/indra/newview/skins/default/xui/fr/panel_preferences_voice.xml linden/indra/newview/skins/default/xui/fr/panel_preferences_web.xml linden/indra/newview/skins/default/xui/fr/panel_region_covenant.xml linden/indra/newview/skins/default/xui/fr/panel_region_debug.xml linden/indra/newview/skins/default/xui/fr/panel_region_estate.xml linden/indra/newview/skins/default/xui/fr/panel_region_general.xml linden/indra/newview/skins/default/xui/fr/panel_region_terrain.xml linden/indra/newview/skins/default/xui/fr/panel_scrolling_param.xml linden/indra/newview/skins/default/xui/fr/panel_speaker_controls.xml linden/indra/newview/skins/default/xui/fr/panel_status_bar.xml linden/indra/newview/skins/default/xui/fr/panel_toolbar.xml linden/indra/newview/skins/default/xui/fr/panel_voice_controls.xml linden/indra/newview/skins/default/xui/fr/panel_voice_enable.xml linden/indra/newview/skins/default/xui/fr/panel_voice_options.xml linden/indra/newview/skins/default/xui/fr/panel_voice_remote_expanded.xml linden/indra/newview/skins/default/xui/fr/role_actions.xml linden/indra/newview/skins/default/xui/fr/strings.xml linden/indra/newview/skins/default/xui/ja/floater_hardware_settings.xml linden/indra/newview/skins/default/xui/ja/floater_inspect.xml linden/indra/newview/skins/default/xui/ja/floater_instant_message_group.xml linden/indra/newview/skins/default/xui/ja/floater_lsl_guide.xml linden/indra/newview/skins/default/xui/ja/floater_media_browser.xml linden/indra/newview/skins/default/xui/ja/floater_mute_object.xml linden/indra/newview/skins/default/xui/ja/floater_url_entry.xml linden/indra/newview/skins/default/xui/ja/need_to_long.xml linden/indra/newview/skins/default/xui/ja/need_to_translate.xml linden/indra/newview/skins/default/xui/ja/need_to_update.xml linden/indra/newview/skins/default/xui/ja/panel_audio.xml linden/indra/newview/skins/default/xui/ja/panel_groups.xml linden/indra/newview/skins/default/xui/ja/panel_preferences_voice.xml linden/indra/newview/skins/default/xui/ja/panel_preferences_web.xml linden/indra/newview/skins/default/xui/ja/strings.xml linden/indra/newview/skins/default/xui/ko/need_to_long.xml linden/indra/newview/skins/default/xui/ko/need_to_translate.xml linden/indra/newview/skins/default/xui/ko/need_to_update.xml linden/indra/newview/skins/default/xui/pt/alerts.xml linden/indra/newview/skins/default/xui/pt/floater_about.xml linden/indra/newview/skins/default/xui/pt/floater_about_land.xml linden/indra/newview/skins/default/xui/pt/floater_animation_preview.xml linden/indra/newview/skins/default/xui/pt/floater_avatar_picker.xml linden/indra/newview/skins/default/xui/pt/floater_avatar_textures.xml linden/indra/newview/skins/default/xui/pt/floater_build_options.xml linden/indra/newview/skins/default/xui/pt/floater_buy_contents.xml linden/indra/newview/skins/default/xui/pt/floater_buy_currency.xml linden/indra/newview/skins/default/xui/pt/floater_buy_land.xml linden/indra/newview/skins/default/xui/pt/floater_buy_object.xml linden/indra/newview/skins/default/xui/pt/floater_chat_history.xml linden/indra/newview/skins/default/xui/pt/floater_color_picker.xml linden/indra/newview/skins/default/xui/pt/floater_customize.xml linden/indra/newview/skins/default/xui/pt/floater_directory.xml linden/indra/newview/skins/default/xui/pt/floater_gesture.xml linden/indra/newview/skins/default/xui/pt/floater_html.xml linden/indra/newview/skins/default/xui/pt/floater_im.xml linden/indra/newview/skins/default/xui/pt/floater_image_preview.xml linden/indra/newview/skins/default/xui/pt/floater_instant_message.xml linden/indra/newview/skins/default/xui/pt/floater_instant_message_ad_hoc.xml linden/indra/newview/skins/default/xui/pt/floater_inventory.xml linden/indra/newview/skins/default/xui/pt/floater_inventory_item_properties.xml linden/indra/newview/skins/default/xui/pt/floater_joystick.xml linden/indra/newview/skins/default/xui/pt/floater_land_holdings.xml linden/indra/newview/skins/default/xui/pt/floater_live_lsleditor.xml linden/indra/newview/skins/default/xui/pt/floater_mute.xml linden/indra/newview/skins/default/xui/pt/floater_new_outfit_dialog.xml linden/indra/newview/skins/default/xui/pt/floater_openobject.xml linden/indra/newview/skins/default/xui/pt/floater_pay.xml linden/indra/newview/skins/default/xui/pt/floater_pay_object.xml linden/indra/newview/skins/default/xui/pt/floater_postcard.xml linden/indra/newview/skins/default/xui/pt/floater_preview_animation.xml linden/indra/newview/skins/default/xui/pt/floater_preview_gesture.xml linden/indra/newview/skins/default/xui/pt/floater_preview_notecard.xml linden/indra/newview/skins/default/xui/pt/floater_preview_notecard_keep_discard.xml linden/indra/newview/skins/default/xui/pt/floater_report_abuse.xml linden/indra/newview/skins/default/xui/pt/floater_report_bug.xml linden/indra/newview/skins/default/xui/pt/floater_script_debug.xml linden/indra/newview/skins/default/xui/pt/floater_script_ed_panel.xml linden/indra/newview/skins/default/xui/pt/floater_snapshot.xml linden/indra/newview/skins/default/xui/pt/floater_texture_ctrl.xml linden/indra/newview/skins/default/xui/pt/floater_tools.xml linden/indra/newview/skins/default/xui/pt/floater_top_objects.xml linden/indra/newview/skins/default/xui/pt/floater_tos.xml linden/indra/newview/skins/default/xui/pt/floater_world_map.xml linden/indra/newview/skins/default/xui/pt/menu_inventory.xml linden/indra/newview/skins/default/xui/pt/menu_pie_avatar.xml linden/indra/newview/skins/default/xui/pt/menu_viewer.xml linden/indra/newview/skins/default/xui/pt/notify.xml linden/indra/newview/skins/default/xui/pt/panel_avatar.xml linden/indra/newview/skins/default/xui/pt/panel_avatar_classified.xml linden/indra/newview/skins/default/xui/pt/panel_chat_bar.xml linden/indra/newview/skins/default/xui/pt/panel_classified.xml linden/indra/newview/skins/default/xui/pt/panel_event.xml linden/indra/newview/skins/default/xui/pt/panel_group_general.xml linden/indra/newview/skins/default/xui/pt/panel_group_invite.xml linden/indra/newview/skins/default/xui/pt/panel_group_land_money.xml linden/indra/newview/skins/default/xui/pt/panel_group_notices.xml linden/indra/newview/skins/default/xui/pt/panel_group_roles.xml linden/indra/newview/skins/default/xui/pt/panel_group_voting.xml linden/indra/newview/skins/default/xui/pt/panel_login.xml linden/indra/newview/skins/default/xui/pt/panel_overlaybar.xml linden/indra/newview/skins/default/xui/pt/panel_place.xml linden/indra/newview/skins/default/xui/pt/panel_place_small.xml linden/indra/newview/skins/default/xui/pt/panel_preferences_audio.xml linden/indra/newview/skins/default/xui/pt/panel_preferences_chat.xml linden/indra/newview/skins/default/xui/pt/panel_preferences_general.xml linden/indra/newview/skins/default/xui/pt/panel_preferences_graphics1.xml linden/indra/newview/skins/default/xui/pt/panel_preferences_im.xml linden/indra/newview/skins/default/xui/pt/panel_preferences_input.xml linden/indra/newview/skins/default/xui/pt/panel_preferences_network.xml linden/indra/newview/skins/default/xui/pt/panel_preferences_popups.xml linden/indra/newview/skins/default/xui/pt/panel_preferences_web.xml linden/indra/newview/skins/default/xui/pt/panel_region_covenant.xml linden/indra/newview/skins/default/xui/pt/panel_region_debug.xml linden/indra/newview/skins/default/xui/pt/panel_region_estate.xml linden/indra/newview/skins/default/xui/pt/panel_region_general.xml linden/indra/newview/skins/default/xui/pt/panel_status_bar.xml linden/indra/newview/skins/default/xui/pt/panel_toolbar.xml linden/indra/newview/skins/default/xui/pt/teleport_strings.xml linden/indra/newview/skins/default/xui/zh/floater_account_history.xml linden/indra/newview/skins/default/xui/zh/floater_god_tools.xml linden/indra/newview/skins/default/xui/zh/floater_html.xml linden/indra/newview/skins/default/xui/zh/floater_inspect.xml linden/indra/newview/skins/default/xui/zh/floater_inventory_view_finder.xml linden/indra/newview/skins/default/xui/zh/floater_preferences.xml linden/indra/newview/skins/default/xui/zh/floater_sell_land.xml linden/indra/newview/skins/default/xui/zh/floater_settings_debug.xml linden/indra/newview/skins/default/xui/zh/menu_pie_attachment.xml linden/indra/newview/skins/default/xui/zh/menu_pie_avatar.xml linden/indra/newview/skins/default/xui/zh/menu_pie_land.xml linden/indra/newview/skins/default/xui/zh/menu_pie_object.xml linden/indra/newview/skins/default/xui/zh/menu_pie_self.xml linden/indra/newview/skins/default/xui/zh/menu_viewer.xml linden/indra/newview/skins/default/xui/zh/need_to_translate.xml linden/indra/newview/skins/default/xui/zh/panel_account_details.xml linden/indra/newview/skins/default/xui/zh/panel_account_planning.xml linden/indra/newview/skins/default/xui/zh/panel_account_transactions.xml linden/indra/newview/skins/default/xui/zh/panel_avatar.xml linden/indra/newview/skins/default/xui/zh/panel_group.xml linden/indra/newview/skins/default/xui/zh/panel_group_finder.xml linden/indra/newview/skins/default/xui/zh/panel_group_general.xml linden/indra/newview/skins/default/xui/zh/panel_group_invite.xml linden/indra/newview/skins/default/xui/zh/panel_group_land_money.xml linden/indra/newview/skins/default/xui/zh/panel_group_notices.xml linden/indra/newview/skins/default/xui/zh/panel_group_roles.xml linden/indra/newview/skins/default/xui/zh/panel_group_voting.xml linden/indra/newview/skins/default/xui/zh/panel_preferences_audio.xml linden/indra/newview/skins/default/xui/zh/panel_preferences_chat.xml linden/indra/newview/skins/default/xui/zh/panel_preferences_im.xml linden/indra/newview/skins/default/xui/zh/panel_preferences_popups.xml linden/indra/newview/skins/default/xui/zh/panel_region_covenant.xml linden/indra/newview/skins/default/xui/zh/strings.xml linden/indra/newview/skins/default/xui/zh/strings_long.xml linden/indra/newview/skins/silver/xui/en-us/floater_about_land.xml linden/indra/newview/skins/silver/xui/en-us/panel_status_bar.xml linden/indra/newview/viewer_manifest.py linden/indra/win_updater/updater.cpp linden/install.xml
Diffstat (limited to 'linden/indra/newview/llprefsvoice.cpp')
-rw-r--r--linden/indra/newview/llprefsvoice.cpp292
1 files changed, 111 insertions, 181 deletions
diff --git a/linden/indra/newview/llprefsvoice.cpp b/linden/indra/newview/llprefsvoice.cpp
index 6661f08..ae7c921 100644
--- a/linden/indra/newview/llprefsvoice.cpp
+++ b/linden/indra/newview/llprefsvoice.cpp
@@ -5,7 +5,7 @@
5 * 5 *
6 * $LicenseInfo:firstyear=2003&license=viewergpl$ 6 * $LicenseInfo:firstyear=2003&license=viewergpl$
7 * 7 *
8 * Copyright (c) 2003-2008, Linden Research, Inc. 8 * Copyright (c) 2003-2009, Linden Research, Inc.
9 * 9 *
10 * Second Life Viewer Source Code 10 * Second Life Viewer Source Code
11 * The source code in this file ("Source Code") is provided by Linden Lab 11 * The source code in this file ("Source Code") is provided by Linden Lab
@@ -35,245 +35,175 @@
35#include "llprefsvoice.h" 35#include "llprefsvoice.h"
36 36
37#include "llcheckboxctrl.h" 37#include "llcheckboxctrl.h"
38#include "llcombobox.h" 38#include "llfloatervoicedevicesettings.h"
39 39#include "llfocusmgr.h"
40#include "llkeyboard.h"
41#include "llmodaldialog.h"
40#include "llviewercontrol.h" 42#include "llviewercontrol.h"
41#include "lluictrlfactory.h" 43#include "lluictrlfactory.h"
42 44
43#include "llmodaldialog.h"
44#include "llkeyboard.h"
45#include "llfocusmgr.h"
46#include "llfloatervoicedevicesettings.h"
47
48#include "llappviewer.h"
49
50#include "llvoiceclient.h"
51 45
52class LLVoiceHotkeySelectDialog : public LLModalDialog 46class LLVoiceSetKeyDialog : public LLModalDialog
53{ 47{
54private:
55 LLPrefsVoiceLogic *mParent;
56 LLFloater *mOldFrontmost;
57
58public: 48public:
59 LLVoiceHotkeySelectDialog( LLPrefsVoiceLogic *parent ) 49 LLVoiceSetKeyDialog(LLPrefsVoice* parent);
60 : LLModalDialog( LLStringUtil::null, 240, 100 ), 50 ~LLVoiceSetKeyDialog();
61 mParent( parent )
62 {
63 mOldFrontmost = gFloaterView->getFrontmost();
64
65 LLUICtrlFactory::getInstance()->buildFloater(this, "floater_select_key.xml");
66
67 childSetAction("Cancel", LLVoiceHotkeySelectDialog::onCancel, this );
68 childSetFocus("Cancel");
69 }
70
71 /*virtual*/ void setFocus( BOOL b )
72 {
73 LLFloater::setFocus(b);
74
75 // This forces keyboard processing to happen at the raw key level instead of going through handleUnicodeChar.
76 if (b)
77 {
78 gFocusMgr.setKeystrokesOnly(TRUE);
79 }
80 }
81
82 static void onCancel( void* userdata );
83 51
84 BOOL handleKeyHere(KEY key, MASK mask); 52 BOOL handleKeyHere(KEY key, MASK mask);
85 53
54 static void onCancel(void* user_data);
55
56private:
57 LLPrefsVoice* mParent;
86}; 58};
87 59
88LLPrefsVoiceLogic::LLPrefsVoiceLogic(LLPanel* panelp) : 60LLVoiceSetKeyDialog::LLVoiceSetKeyDialog(LLPrefsVoice* parent)
89 mPanel(panelp) 61 : LLModalDialog(LLStringUtil::null, 240, 100), mParent(parent)
90{ 62{
91 init(); 63 LLUICtrlFactory::getInstance()->buildFloater(this, "floater_select_key.xml");
64 childSetAction("Cancel", onCancel, this);
65 childSetFocus("Cancel");
66
67 gFocusMgr.setKeystrokesOnly(TRUE);
92} 68}
93
94void LLPrefsVoiceLogic::init()
95{
96 mEnableVoice = gSavedSettings.getBOOL("EnableVoiceChat");
97 69
98 mVoiceCallsFriendsOnly = gSavedSettings.getBOOL("VoiceCallsFriendsOnly"); 70LLVoiceSetKeyDialog::~LLVoiceSetKeyDialog()
99 mModifier = gSavedSettings.getString("PushToTalkButton"); 71{
100 mPushToTalkToggle = gSavedSettings.getBOOL("PushToTalkToggle"); 72}
101 mEarLocation = gSavedSettings.getS32("VoiceEarLocation");
102 73
103 LLUICtrl* ear_location = mPanel->getChild<LLUICtrl>("ear_location"); 74BOOL LLVoiceSetKeyDialog::handleKeyHere(KEY key, MASK mask)
104 mCtrlEarLocation = ear_location->getSelectionInterface(); 75{
105 if (mCtrlEarLocation) 76 BOOL result = TRUE;
77
78 if(key == 'Q' && mask == MASK_CONTROL)
106 { 79 {
107 mCtrlEarLocation->selectByValue(LLSD(gSavedSettings.getS32("VoiceEarLocation"))); 80 result = FALSE;
81 }
82 else
83 {
84 mParent->setKey(key);
108 } 85 }
109 mPanel->childSetCommitCallback("ear_location", onEarLocationCommit, this );
110
111 mPanel->childSetAction("set_voice_hotkey_button", onClickSetKey, this);
112 mPanel->childSetAction("set_voice_middlemouse_button", onClickSetMiddleMouse, this);
113 86
114 refresh(); 87 close();
115 mEatNextSetKeyClick = FALSE; 88 return result;
116} 89}
117 90
118void LLPrefsVoiceLogic::refresh() 91//static
92void LLVoiceSetKeyDialog::onCancel(void* user_data)
119{ 93{
120 BOOL voiceDisabled = gSavedSettings.getBOOL("CmdLineDisableVoice"); 94 LLVoiceSetKeyDialog* self = (LLVoiceSetKeyDialog*)user_data;
121 mPanel->childSetVisible("voice_unavailable", voiceDisabled); 95 self->close();
122 mPanel->childSetVisible("enable_voice_check", !voiceDisabled);
123 mPanel->childSetEnabled("enable_voice_check", !voiceDisabled);
124
125 bool enable = !voiceDisabled && gSavedSettings.getBOOL("EnableVoiceChat");
126
127 mPanel->childSetEnabled("friends_only_check", enable);
128 mPanel->childSetEnabled("push_to_talk_check", enable);
129 mPanel->childSetEnabled("push_to_talk_label", enable);
130 mPanel->childSetEnabled("voice_call_friends_only_check", enable);
131 mPanel->childSetEnabled("push_to_talk_toggle_check", enable);
132 mPanel->childSetEnabled("ear_location", enable);
133 mPanel->childSetEnabled("set_voice_hotkey_button", enable);
134 mPanel->childSetEnabled("set_voice_middlemouse_button", enable);
135} 96}
136 97
137void LLPrefsVoiceLogic::cancel() 98//--------------------------------------------------------------------
138{ 99//LLPrefsVoice
139 gSavedSettings.setBOOL("EnableVoiceChat", mEnableVoice); 100LLPrefsVoice::LLPrefsVoice()
140 gSavedSettings.setBOOL("VoiceCallsFriendsOnly", mVoiceCallsFriendsOnly); 101 : LLPanel(std::string("Voice Chat Panel"))
141 gSavedSettings.setString("PushToTalkButton", mModifier); 102{
142 gSavedSettings.setBOOL("PushToTalkToggle", mPushToTalkToggle ); 103 LLUICtrlFactory::getInstance()->buildPanel(this, "panel_preferences_voice.xml");
143 gSavedSettings.setS32("VoiceEarLocation", mEarLocation);
144} 104}
145 105
146void LLPrefsVoiceLogic::apply() 106LLPrefsVoice::~LLPrefsVoice()
147{ 107{
148} 108}
149 109
150//static 110BOOL LLPrefsVoice::postBuild()
151void LLPrefsVoiceLogic::onEarLocationCommit(LLUICtrl* ctrl, void* user_data)
152{ 111{
153 LLCtrlSelectionInterface* interfacep = ctrl->getSelectionInterface(); 112 childSetCommitCallback("enable_voice_check", onCommitEnableVoiceChat, this);
154 if (interfacep) 113 childSetAction("set_voice_hotkey_button", onClickSetKey, this);
155 { 114 childSetAction("set_voice_middlemouse_button", onClickSetMiddleMouse, this);
156 gSavedSettings.setS32("VoiceEarLocation", interfacep->getSelectedValue().asInteger()); 115 childSetAction("device_settings_btn", onClickVoiceDeviceSettings, NULL);
157 }
158}
159 116
160// static 117 BOOL voice_disabled = gSavedSettings.getBOOL("CmdLineDisableVoice");
161void LLPrefsVoiceLogic::onClickSetKey(void* user_data) 118 childSetVisible("voice_unavailable", voice_disabled);
162{ 119 childSetVisible("enable_voice_check", !voice_disabled);
163 LLPrefsVoiceLogic* self=(LLPrefsVoiceLogic*)user_data; 120 childSetEnabled("enable_voice_check", !voice_disabled);
164 if(self->mEatNextSetKeyClick)
165 {
166 self->mEatNextSetKeyClick = false;
167 }
168 else
169 {
170 LLVoiceHotkeySelectDialog* dialog = new LLVoiceHotkeySelectDialog( self );
171 dialog->startModal();
172 // dialog will delete itself
173 }
174}
175 121
122 bool enable = !voice_disabled && gSavedSettings.getBOOL("EnableVoiceChat");
123 childSetValue("enable_voice_check", enable);
124 onCommitEnableVoiceChat(getChild<LLCheckBoxCtrl>("enable_voice_check"), this);
176 125
177// static 126 childSetValue("modifier_combo", gSavedSettings.getString("PushToTalkButton"));
178void LLPrefsVoiceLogic::onClickSetMiddleMouse(void* user_data) 127 childSetValue("voice_call_friends_only_check", gSavedSettings.getBOOL("VoiceCallsFriendsOnly"));
179{ 128 childSetValue("push_to_talk_toggle_check", gSavedSettings.getBOOL("PushToTalkToggle"));
180// LLPrefsVoiceLogic* self=(LLPrefsVoiceLogic*)user_data; 129 childSetValue("ear_location", gSavedSettings.getS32("VoiceEarLocation"));
181 130
182 gSavedSettings.setString("PushToTalkButton", "MiddleMouse"); 131 return TRUE;
183} 132}
184 133
185void LLPrefsVoiceLogic::setKey(KEY key, MASK mask) 134void LLPrefsVoice::apply()
186{ 135{
187 std::string keystring = LLKeyboard::stringFromKey(key); 136 gSavedSettings.setBOOL("EnableVoiceChat", childGetValue("enable_voice_check"));
188 gSavedSettings.setString("PushToTalkButton", keystring); 137
138 gSavedSettings.setString("PushToTalkButton", childGetValue("modifier_combo"));
139 gSavedSettings.setBOOL("VoiceCallsFriendsOnly", childGetValue("voice_call_friends_only_check"));
140 gSavedSettings.setBOOL("PushToTalkToggle", childGetValue("push_to_talk_toggle_check"));
141 gSavedSettings.setS32("VoiceEarLocation", childGetValue("ear_location"));
189 142
190 if(key == ' ') 143 LLFloaterVoiceDeviceSettings* voice_device_settings = LLFloaterVoiceDeviceSettings::getInstance();
144 if(voice_device_settings)
191 { 145 {
192 // This will cause the select dialog to immediately reopen. 146 voice_device_settings->apply();
193 // Eat the next click event.
194 mEatNextSetKeyClick = TRUE;
195 } 147 }
196} 148}
197 149
198void LLVoiceHotkeySelectDialog::onCancel( void* userdata ) 150void LLPrefsVoice::cancel()
199{
200 LLVoiceHotkeySelectDialog* self = (LLVoiceHotkeySelectDialog*) userdata;
201 self->close(); // destroys this object
202 self->mOldFrontmost->setFrontmost(TRUE);
203}
204
205BOOL LLVoiceHotkeySelectDialog::handleKeyHere(KEY key, MASK mask)
206{ 151{
207 BOOL result = TRUE; 152 LLFloaterVoiceDeviceSettings* voice_device_settings = LLFloaterVoiceDeviceSettings::getInstance();
208 153 if(voice_device_settings)
209 // Suck up all keystokes except CTRL-Q.
210 BOOL is_quit = ('Q' == key) && (MASK_CONTROL == mask);
211 if(is_quit)
212 { 154 {
213 result = FALSE; 155 voice_device_settings->cancel();
214 }
215 else
216 {
217 mParent->setKey(key, mask);
218 } 156 }
219
220 close(); // destroys this object
221 mOldFrontmost->setFrontmost(TRUE);
222
223 return result;
224} 157}
225 158
226//--------------------------------------------------------------------------- 159void LLPrefsVoice::setKey(KEY key)
227
228
229LLPrefsVoice::LLPrefsVoice()
230 : LLPanel(std::string("Voice Chat Panel"))
231{
232 LLUICtrlFactory::getInstance()->buildPanel(this, "panel_preferences_voice.xml");
233 mLogic = new LLPrefsVoiceLogic(this);
234 childSetAction("device_settings_btn", onClickVoiceDeviceSettingsBtn, this);
235
236 // create floater immediately and keep it hidden
237 // since it stores preference state for audio devices
238 mVoiceDeviceSettings = LLFloaterVoiceDeviceSettings::getInstance();
239}
240
241LLPrefsVoice::~LLPrefsVoice()
242{ 160{
243 delete mLogic; 161 childSetValue("modifier_combo", LLKeyboard::stringFromKey(key));
244} 162}
245 163
246void LLPrefsVoice::draw() 164//static
165void LLPrefsVoice::onCommitEnableVoiceChat(LLUICtrl* ctrl, void* user_data)
247{ 166{
248 bool enable = !gSavedSettings.getBOOL("CmdLineDisableVoice") 167 LLPrefsVoice* self = (LLPrefsVoice*)user_data;
249 && gSavedSettings.getBOOL("EnableVoiceChat"); 168 LLCheckBoxCtrl* enable_voice_chat = (LLCheckBoxCtrl*)ctrl;
250 childSetEnabled("device_settings_btn", enable); 169
170 bool enable = enable_voice_chat->getValue();
251 171
252 mLogic->refresh(); 172 self->childSetEnabled("modifier_combo", enable);
253 mVoiceDeviceSettings->refresh(); 173 self->childSetEnabled("friends_only_check", enable);
254 LLPanel::draw(); 174 self->childSetEnabled("push_to_talk_label", enable);
175 self->childSetEnabled("voice_call_friends_only_check", enable);
176 self->childSetEnabled("push_to_talk_toggle_check", enable);
177 self->childSetEnabled("ear_location", enable);
178 self->childSetEnabled("set_voice_hotkey_button", enable);
179 self->childSetEnabled("set_voice_middlemouse_button", enable);
180 self->childSetEnabled("device_settings_btn", enable);
255} 181}
256 182
257void LLPrefsVoice::apply() 183//static
184void LLPrefsVoice::onClickSetKey(void* user_data)
258{ 185{
259 mLogic->apply(); 186 LLPrefsVoice* self = (LLPrefsVoice*)user_data;
260 mVoiceDeviceSettings->apply(); 187 LLVoiceSetKeyDialog* dialog = new LLVoiceSetKeyDialog(self);
188 dialog->startModal();
261} 189}
262 190
263void LLPrefsVoice::cancel() 191//static
192void LLPrefsVoice::onClickSetMiddleMouse(void* user_data)
264{ 193{
265 mLogic->cancel(); 194 LLPrefsVoice* self = (LLPrefsVoice*)user_data;
266 mVoiceDeviceSettings->cancel(); 195 self->childSetValue("modifier_combo", "MiddleMouse");
267} 196}
268 197
269//static 198//static
270void LLPrefsVoice::onClickVoiceDeviceSettingsBtn(void* user_data) 199void LLPrefsVoice::onClickVoiceDeviceSettings(void* user_data)
271{ 200{
272 LLPrefsVoice* prefs = (LLPrefsVoice*)user_data; 201 LLPrefsVoice* voice_prefs = (LLPrefsVoice*)user_data;
273 prefs->mVoiceDeviceSettings->open(); 202 LLFloaterVoiceDeviceSettings* device_settings_floater = LLFloaterVoiceDeviceSettings::showInstance();
274 LLFloater* parent_floater = gFloaterView->getParentFloater(prefs); 203 LLFloater* parent_floater = gFloaterView->getParentFloater(voice_prefs);
275 if (parent_floater) 204 if(parent_floater)
276 { 205 {
277 parent_floater->addDependentFloater(prefs->mVoiceDeviceSettings, FALSE); 206 parent_floater->addDependentFloater(device_settings_floater, FALSE);
278 } 207 }
279} 208}
209