diff options
author | Jacek Antonelli | 2009-08-29 17:44:38 -0500 |
---|---|---|
committer | Jacek Antonelli | 2009-08-29 22:49:51 -0500 |
commit | 6a5aab98892df74f60743f5b789959c9593d6647 (patch) | |
tree | 62da18f8540879ed01e12eeb0ce49375474272e4 /linden/indra/newview/llviewerwindow.cpp | |
parent | Merge branch 'mac-openal-url' into next (diff) | |
parent | Converted 1.23 XUI files to unix line endings. (diff) | |
download | meta-impy-6a5aab98892df74f60743f5b789959c9593d6647.zip meta-impy-6a5aab98892df74f60743f5b789959c9593d6647.tar.gz meta-impy-6a5aab98892df74f60743f5b789959c9593d6647.tar.bz2 meta-impy-6a5aab98892df74f60743f5b789959c9593d6647.tar.xz |
Merged SL 1.23.4 into Imprudence.
Conflicts:
linden/doc/contributions.txt
linden/indra/CMakeLists.txt
linden/indra/cmake/APR.cmake
linden/indra/cmake/CopyWinLibs.cmake
linden/indra/cmake/OPENAL.cmake
linden/indra/develop.py
linden/indra/llaudio/audioengine.cpp
linden/indra/llcommon/indra_constants.h
linden/indra/llcommon/llversionviewer.h
linden/indra/llcrashlogger/llcrashlogger.cpp
linden/indra/llmedia/llmediaimplgstreamer.cpp
linden/indra/llmedia/llmediaimplgstreamer.h
linden/indra/llmedia/llmediaimplgstreamer_syms.cpp
linden/indra/llmedia/llmediaimplgstreamer_syms.h
linden/indra/llmedia/llmediaimplgstreamer_syms_raw.inc
linden/indra/llmedia/llmediamanager.cpp
linden/indra/llmessage/llassetstorage.cpp
linden/indra/llui/lltexteditor.cpp
linden/indra/llvfs/lldir.cpp
linden/indra/newview/CMakeLists.txt
linden/indra/newview/English.lproj/InfoPlist.strings
linden/indra/newview/Info-Imprudence.plist
linden/indra/newview/app_settings/logcontrol.xml
linden/indra/newview/app_settings/settings.xml
linden/indra/newview/installers/windows/installer_template.nsi
linden/indra/newview/llagent.cpp
linden/indra/newview/llappviewer.cpp
linden/indra/newview/llcallingcard.cpp
linden/indra/newview/llfilepicker.cpp
linden/indra/newview/llfloateractivespeakers.cpp
linden/indra/newview/llfloateravatarpicker.cpp
linden/indra/newview/llfloaterbulkpermission.cpp
linden/indra/newview/llfloaterbulkpermission.h
linden/indra/newview/llfloaterchat.cpp
linden/indra/newview/llfloatergodtools.cpp
linden/indra/newview/llfloaterhtmlhelp.cpp
linden/indra/newview/llfloatertools.cpp
linden/indra/newview/llfloatertools.h
linden/indra/newview/llfloatertopobjects.cpp
linden/indra/newview/llinventorybridge.cpp
linden/indra/newview/llinventoryview.cpp
linden/indra/newview/llnetmap.cpp
linden/indra/newview/llnetmap.h
linden/indra/newview/llpanelland.cpp
linden/indra/newview/llpanellogin.cpp
linden/indra/newview/llpanelobject.cpp
linden/indra/newview/llprefsim.cpp
linden/indra/newview/lltexturecache.cpp
linden/indra/newview/lltoolbrush.cpp
linden/indra/newview/llvieweraudio.cpp
linden/indra/newview/llviewermenu.cpp
linden/indra/newview/llviewermessage.cpp
linden/indra/newview/llviewerparcelmedia.cpp
linden/indra/newview/llvoavatar.cpp
linden/indra/newview/llwebbrowserctrl.cpp
linden/indra/newview/llworldmapview.cpp
linden/indra/newview/pipeline.cpp
linden/indra/newview/res/viewerRes.rc
linden/indra/newview/skins/default/colors_base.xml
linden/indra/newview/skins/default/xui/de/floater_active_speakers.xml
linden/indra/newview/skins/default/xui/de/floater_instant_message_ad_hoc.xml
linden/indra/newview/skins/default/xui/de/floater_instant_message_group.xml
linden/indra/newview/skins/default/xui/de/floater_joystick.xml
linden/indra/newview/skins/default/xui/de/floater_mute_object.xml
linden/indra/newview/skins/default/xui/de/floater_sim_release_message.xml
linden/indra/newview/skins/default/xui/de/panel_media_controls.xml
linden/indra/newview/skins/default/xui/de/panel_preferences_voice.xml
linden/indra/newview/skins/default/xui/de/strings.xml
linden/indra/newview/skins/default/xui/de/teleport_strings.xml
linden/indra/newview/skins/default/xui/en-us/alerts.xml
linden/indra/newview/skins/default/xui/en-us/floater_about_land.xml
linden/indra/newview/skins/default/xui/en-us/floater_avatar_picker.xml
linden/indra/newview/skins/default/xui/en-us/floater_beacons.xml
linden/indra/newview/skins/default/xui/en-us/floater_bulk_perms.xml
linden/indra/newview/skins/default/xui/en-us/floater_buy_land.xml
linden/indra/newview/skins/default/xui/en-us/floater_chatterbox.xml
linden/indra/newview/skins/default/xui/en-us/floater_inventory_view_finder.xml
linden/indra/newview/skins/default/xui/en-us/floater_media_browser.xml
linden/indra/newview/skins/default/xui/en-us/floater_mini_map.xml
linden/indra/newview/skins/default/xui/en-us/floater_tools.xml
linden/indra/newview/skins/default/xui/en-us/menu_login.xml
linden/indra/newview/skins/default/xui/en-us/menu_mini_map.xml
linden/indra/newview/skins/default/xui/en-us/menu_pie_attachment.xml
linden/indra/newview/skins/default/xui/en-us/menu_pie_avatar.xml
linden/indra/newview/skins/default/xui/en-us/menu_pie_object.xml
linden/indra/newview/skins/default/xui/en-us/menu_pie_self.xml
linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml
linden/indra/newview/skins/default/xui/en-us/notify.xml
linden/indra/newview/skins/default/xui/en-us/panel_bars.xml
linden/indra/newview/skins/default/xui/en-us/panel_groups.xml
linden/indra/newview/skins/default/xui/en-us/panel_media_controls.xml
linden/indra/newview/skins/default/xui/en-us/panel_mini_map.xml
linden/indra/newview/skins/default/xui/en-us/panel_preferences_im.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/strings.xml
linden/indra/newview/skins/default/xui/es/alerts.xml
linden/indra/newview/skins/default/xui/es/floater_about.xml
linden/indra/newview/skins/default/xui/es/floater_about_land.xml
linden/indra/newview/skins/default/xui/es/floater_animation_preview.xml
linden/indra/newview/skins/default/xui/es/floater_auction.xml
linden/indra/newview/skins/default/xui/es/floater_avatar_picker.xml
linden/indra/newview/skins/default/xui/es/floater_avatar_textures.xml
linden/indra/newview/skins/default/xui/es/floater_build_options.xml
linden/indra/newview/skins/default/xui/es/floater_bumps.xml
linden/indra/newview/skins/default/xui/es/floater_buy_contents.xml
linden/indra/newview/skins/default/xui/es/floater_buy_currency.xml
linden/indra/newview/skins/default/xui/es/floater_buy_land.xml
linden/indra/newview/skins/default/xui/es/floater_buy_object.xml
linden/indra/newview/skins/default/xui/es/floater_chat_history.xml
linden/indra/newview/skins/default/xui/es/floater_choose_group.xml
linden/indra/newview/skins/default/xui/es/floater_clothing.xml
linden/indra/newview/skins/default/xui/es/floater_color_picker.xml
linden/indra/newview/skins/default/xui/es/floater_critical.xml
linden/indra/newview/skins/default/xui/es/floater_customize.xml
linden/indra/newview/skins/default/xui/es/floater_directory.xml
linden/indra/newview/skins/default/xui/es/floater_gesture.xml
linden/indra/newview/skins/default/xui/es/floater_group_info.xml
linden/indra/newview/skins/default/xui/es/floater_html.xml
linden/indra/newview/skins/default/xui/es/floater_im.xml
linden/indra/newview/skins/default/xui/es/floater_image_preview.xml
linden/indra/newview/skins/default/xui/es/floater_import.xml
linden/indra/newview/skins/default/xui/es/floater_instant_message.xml
linden/indra/newview/skins/default/xui/es/floater_inventory.xml
linden/indra/newview/skins/default/xui/es/floater_inventory_item_properties.xml
linden/indra/newview/skins/default/xui/es/floater_inventory_view_finder.xml
linden/indra/newview/skins/default/xui/es/floater_land_holdings.xml
linden/indra/newview/skins/default/xui/es/floater_live_lsleditor.xml
linden/indra/newview/skins/default/xui/es/floater_moveview.xml
linden/indra/newview/skins/default/xui/es/floater_mute.xml
linden/indra/newview/skins/default/xui/es/floater_name_description.xml
linden/indra/newview/skins/default/xui/es/floater_new_im.xml
linden/indra/newview/skins/default/xui/es/floater_new_outfit_dialog.xml
linden/indra/newview/skins/default/xui/es/floater_openobject.xml
linden/indra/newview/skins/default/xui/es/floater_pay.xml
linden/indra/newview/skins/default/xui/es/floater_pay_object.xml
linden/indra/newview/skins/default/xui/es/floater_postcard.xml
linden/indra/newview/skins/default/xui/es/floater_preferences.xml
linden/indra/newview/skins/default/xui/es/floater_preview_animation.xml
linden/indra/newview/skins/default/xui/es/floater_preview_embedded_texture.xml
linden/indra/newview/skins/default/xui/es/floater_preview_gesture.xml
linden/indra/newview/skins/default/xui/es/floater_preview_notecard.xml
linden/indra/newview/skins/default/xui/es/floater_preview_notecard_keep_discard.xml
linden/indra/newview/skins/default/xui/es/floater_preview_sound.xml
linden/indra/newview/skins/default/xui/es/floater_preview_texture.xml
linden/indra/newview/skins/default/xui/es/floater_preview_texture_keep_discard.xml
linden/indra/newview/skins/default/xui/es/floater_price_for_listing.xml
linden/indra/newview/skins/default/xui/es/floater_profile.xml
linden/indra/newview/skins/default/xui/es/floater_report_abuse.xml
linden/indra/newview/skins/default/xui/es/floater_script_debug.xml
linden/indra/newview/skins/default/xui/es/floater_script_ed_panel.xml
linden/indra/newview/skins/default/xui/es/floater_script_preview.xml
linden/indra/newview/skins/default/xui/es/floater_script_queue.xml
linden/indra/newview/skins/default/xui/es/floater_script_search.xml
linden/indra/newview/skins/default/xui/es/floater_sell_land.xml
linden/indra/newview/skins/default/xui/es/floater_settings_debug.xml
linden/indra/newview/skins/default/xui/es/floater_snapshot.xml
linden/indra/newview/skins/default/xui/es/floater_sound_preview.xml
linden/indra/newview/skins/default/xui/es/floater_telehub.xml
linden/indra/newview/skins/default/xui/es/floater_texture_ctrl.xml
linden/indra/newview/skins/default/xui/es/floater_tools.xml
linden/indra/newview/skins/default/xui/es/floater_top_objects.xml
linden/indra/newview/skins/default/xui/es/floater_tos.xml
linden/indra/newview/skins/default/xui/es/floater_wearable_save_as.xml
linden/indra/newview/skins/default/xui/es/floater_world_map.xml
linden/indra/newview/skins/default/xui/es/menu_inventory.xml
linden/indra/newview/skins/default/xui/es/menu_pie_attachment.xml
linden/indra/newview/skins/default/xui/es/menu_pie_avatar.xml
linden/indra/newview/skins/default/xui/es/menu_pie_land.xml
linden/indra/newview/skins/default/xui/es/menu_pie_object.xml
linden/indra/newview/skins/default/xui/es/menu_pie_self.xml
linden/indra/newview/skins/default/xui/es/menu_viewer.xml
linden/indra/newview/skins/default/xui/es/notify.xml
linden/indra/newview/skins/default/xui/es/panel_avatar.xml
linden/indra/newview/skins/default/xui/es/panel_avatar_classified.xml
linden/indra/newview/skins/default/xui/es/panel_avatar_pick.xml
linden/indra/newview/skins/default/xui/es/panel_chat_bar.xml
linden/indra/newview/skins/default/xui/es/panel_classified.xml
linden/indra/newview/skins/default/xui/es/panel_event.xml
linden/indra/newview/skins/default/xui/es/panel_group.xml
linden/indra/newview/skins/default/xui/es/panel_group_finder.xml
linden/indra/newview/skins/default/xui/es/panel_group_general.xml
linden/indra/newview/skins/default/xui/es/panel_group_invite.xml
linden/indra/newview/skins/default/xui/es/panel_group_land_money.xml
linden/indra/newview/skins/default/xui/es/panel_group_notices.xml
linden/indra/newview/skins/default/xui/es/panel_group_roles.xml
linden/indra/newview/skins/default/xui/es/panel_group_voting.xml
linden/indra/newview/skins/default/xui/es/panel_land_covenant.xml
linden/indra/newview/skins/default/xui/es/panel_login.xml
linden/indra/newview/skins/default/xui/es/panel_overlaybar.xml
linden/indra/newview/skins/default/xui/es/panel_place.xml
linden/indra/newview/skins/default/xui/es/panel_place_small.xml
linden/indra/newview/skins/default/xui/es/panel_preferences_audio.xml
linden/indra/newview/skins/default/xui/es/panel_preferences_chat.xml
linden/indra/newview/skins/default/xui/es/panel_preferences_general.xml
linden/indra/newview/skins/default/xui/es/panel_preferences_graphics1.xml
linden/indra/newview/skins/default/xui/es/panel_preferences_im.xml
linden/indra/newview/skins/default/xui/es/panel_preferences_input.xml
linden/indra/newview/skins/default/xui/es/panel_preferences_network.xml
linden/indra/newview/skins/default/xui/es/panel_preferences_popups.xml
linden/indra/newview/skins/default/xui/es/panel_region_covenant.xml
linden/indra/newview/skins/default/xui/es/panel_region_debug.xml
linden/indra/newview/skins/default/xui/es/panel_region_estate.xml
linden/indra/newview/skins/default/xui/es/panel_region_general.xml
linden/indra/newview/skins/default/xui/es/panel_region_terrain.xml
linden/indra/newview/skins/default/xui/es/panel_region_texture.xml
linden/indra/newview/skins/default/xui/es/panel_scrolling_param.xml
linden/indra/newview/skins/default/xui/es/panel_status_bar.xml
linden/indra/newview/skins/default/xui/es/panel_toolbar.xml
linden/indra/newview/skins/default/xui/es/panel_top_pick.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_avatar_picker.xml
linden/indra/newview/skins/default/xui/fr/floater_avatar_textures.xml
linden/indra/newview/skins/default/xui/fr/floater_beacons.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_chat_history.xml
linden/indra/newview/skins/default/xui/fr/floater_clothing.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_god_tools.xml
linden/indra/newview/skins/default/xui/fr/floater_group_info.xml
linden/indra/newview/skins/default/xui/fr/floater_html.xml
linden/indra/newview/skins/default/xui/fr/floater_im.xml
linden/indra/newview/skins/default/xui/fr/floater_instant_message.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_view_finder.xml
linden/indra/newview/skins/default/xui/fr/floater_joystick.xml
linden/indra/newview/skins/default/xui/fr/floater_land_holdings.xml
linden/indra/newview/skins/default/xui/fr/floater_live_lsleditor.xml
linden/indra/newview/skins/default/xui/fr/floater_media_browser.xml
linden/indra/newview/skins/default/xui/fr/floater_mem_leaking.xml
linden/indra/newview/skins/default/xui/fr/floater_name_description.xml
linden/indra/newview/skins/default/xui/fr/floater_preview_gesture.xml
linden/indra/newview/skins/default/xui/fr/floater_profile.xml
linden/indra/newview/skins/default/xui/fr/floater_report_abuse.xml
linden/indra/newview/skins/default/xui/fr/floater_script_search.xml
linden/indra/newview/skins/default/xui/fr/floater_sell_land.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_tools.xml
linden/indra/newview/skins/default/xui/fr/floater_top_objects.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_login.xml
linden/indra/newview/skins/default/xui/fr/menu_pie_attachment.xml
linden/indra/newview/skins/default/xui/fr/menu_pie_avatar.xml
linden/indra/newview/skins/default/xui/fr/menu_pie_object.xml
linden/indra/newview/skins/default/xui/fr/menu_viewer.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_avatar.xml
linden/indra/newview/skins/default/xui/fr/panel_avatar_classified.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_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_roles.xml
linden/indra/newview/skins/default/xui/fr/panel_login.xml
linden/indra/newview/skins/default/xui/fr/panel_media_controls.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_general.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_voice.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_general.xml
linden/indra/newview/skins/default/xui/fr/panel_voice_controls.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/fr/teleport_strings.xml
linden/indra/newview/skins/default/xui/ja/floater_active_speakers.xml
linden/indra/newview/skins/default/xui/ja/floater_html.xml
linden/indra/newview/skins/default/xui/ja/floater_instant_message_ad_hoc.xml
linden/indra/newview/skins/default/xui/ja/floater_instant_message_group.xml
linden/indra/newview/skins/default/xui/ja/floater_joystick.xml
linden/indra/newview/skins/default/xui/ja/floater_media_browser.xml
linden/indra/newview/skins/default/xui/ja/floater_windlight_options.xml
linden/indra/newview/skins/default/xui/ja/menu_login.xml
linden/indra/newview/skins/default/xui/ja/panel_friends.xml
linden/indra/newview/skins/default/xui/ja/panel_media_controls.xml
linden/indra/newview/skins/default/xui/ja/panel_media_remote_expanded.xml
linden/indra/newview/skins/default/xui/ja/panel_preferences_voice.xml
linden/indra/newview/skins/default/xui/ja/panel_speaker_controls.xml
linden/indra/newview/skins/default/xui/ja/strings.xml
linden/indra/newview/skins/default/xui/ja/teleport_strings.xml
linden/indra/newview/skins/default/xui/ko/panel_media_controls.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_active_speakers.xml
linden/indra/newview/skins/default/xui/pt/floater_animation_preview.xml
linden/indra/newview/skins/default/xui/pt/floater_auction.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_beacons.xml
linden/indra/newview/skins/default/xui/pt/floater_build_options.xml
linden/indra/newview/skins/default/xui/pt/floater_bumps.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_clothing.xml
linden/indra/newview/skins/default/xui/pt/floater_color_picker.xml
linden/indra/newview/skins/default/xui/pt/floater_critical.xml
linden/indra/newview/skins/default/xui/pt/floater_customize.xml
linden/indra/newview/skins/default/xui/pt/floater_day_cycle_options.xml
linden/indra/newview/skins/default/xui/pt/floater_directory.xml
linden/indra/newview/skins/default/xui/pt/floater_env_settings.xml
linden/indra/newview/skins/default/xui/pt/floater_gesture.xml
linden/indra/newview/skins/default/xui/pt/floater_god_tools.xml
linden/indra/newview/skins/default/xui/pt/floater_group_info.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_inspect.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_instant_message_group.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_inventory_view_finder.xml
linden/indra/newview/skins/default/xui/pt/floater_joystick.xml
linden/indra/newview/skins/default/xui/pt/floater_lagmeter.xml
linden/indra/newview/skins/default/xui/pt/floater_land_holdings.xml
linden/indra/newview/skins/default/xui/pt/floater_landmark_ctrl.xml
linden/indra/newview/skins/default/xui/pt/floater_live_lsleditor.xml
linden/indra/newview/skins/default/xui/pt/floater_lsl_guide.xml
linden/indra/newview/skins/default/xui/pt/floater_media_browser.xml
linden/indra/newview/skins/default/xui/pt/floater_moveview.xml
linden/indra/newview/skins/default/xui/pt/floater_mute.xml
linden/indra/newview/skins/default/xui/pt/floater_mute_object.xml
linden/indra/newview/skins/default/xui/pt/floater_name_description.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_postcard.xml
linden/indra/newview/skins/default/xui/pt/floater_preferences.xml
linden/indra/newview/skins/default/xui/pt/floater_preview_animation.xml
linden/indra/newview/skins/default/xui/pt/floater_preview_classified.xml
linden/indra/newview/skins/default/xui/pt/floater_preview_event.xml
linden/indra/newview/skins/default/xui/pt/floater_preview_gesture.xml
linden/indra/newview/skins/default/xui/pt/floater_preview_notecard_keep_discard.xml
linden/indra/newview/skins/default/xui/pt/floater_preview_sound.xml
linden/indra/newview/skins/default/xui/pt/floater_preview_url.xml
linden/indra/newview/skins/default/xui/pt/floater_price_for_listing.xml
linden/indra/newview/skins/default/xui/pt/floater_profile.xml
linden/indra/newview/skins/default/xui/pt/floater_report_abuse.xml
linden/indra/newview/skins/default/xui/pt/floater_script_debug.xml
linden/indra/newview/skins/default/xui/pt/floater_script_queue.xml
linden/indra/newview/skins/default/xui/pt/floater_script_search.xml
linden/indra/newview/skins/default/xui/pt/floater_sell_land.xml
linden/indra/newview/skins/default/xui/pt/floater_settings_debug.xml
linden/indra/newview/skins/default/xui/pt/floater_sim_release_message.xml
linden/indra/newview/skins/default/xui/pt/floater_snapshot.xml
linden/indra/newview/skins/default/xui/pt/floater_sound_preview.xml
linden/indra/newview/skins/default/xui/pt/floater_telehub.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_url_entry.xml
linden/indra/newview/skins/default/xui/pt/floater_water.xml
linden/indra/newview/skins/default/xui/pt/floater_wearable_save_as.xml
linden/indra/newview/skins/default/xui/pt/floater_windlight_options.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_attachment.xml
linden/indra/newview/skins/default/xui/pt/menu_pie_avatar.xml
linden/indra/newview/skins/default/xui/pt/menu_pie_land.xml
linden/indra/newview/skins/default/xui/pt/menu_pie_object.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_account_details.xml
linden/indra/newview/skins/default/xui/pt/panel_account_planning.xml
linden/indra/newview/skins/default/xui/pt/panel_account_transactions.xml
linden/indra/newview/skins/default/xui/pt/panel_audio_device.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_avatar_pick.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_friends.xml
linden/indra/newview/skins/default/xui/pt/panel_group.xml
linden/indra/newview/skins/default/xui/pt/panel_group_finder.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_land_covenant.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_voice.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_region_terrain.xml
linden/indra/newview/skins/default/xui/pt/panel_region_texture.xml
linden/indra/newview/skins/default/xui/pt/panel_scrolling_param.xml
linden/indra/newview/skins/default/xui/pt/panel_speaker_controls.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/panel_top_pick.xml
linden/indra/newview/skins/default/xui/pt/panel_voice_controls.xml
linden/indra/newview/skins/default/xui/pt/panel_voice_enable.xml
linden/indra/newview/skins/default/xui/pt/panel_voice_options.xml
linden/indra/newview/skins/default/xui/pt/strings.xml
linden/indra/newview/skins/default/xui/pt/teleport_strings.xml
linden/indra/newview/skins/default/xui/zh/floater_env_settings.xml
linden/indra/newview/skins/default/xui/zh/floater_instant_message_ad_hoc.xml
linden/indra/newview/skins/default/xui/zh/floater_lagmeter.xml
linden/indra/newview/skins/default/xui/zh/floater_landmark_ctrl.xml
linden/indra/newview/skins/default/xui/zh/floater_post_process.xml
linden/indra/newview/skins/default/xui/zh/floater_settings_debug.xml
linden/indra/newview/skins/default/xui/zh/floater_windlight_options.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_viewer.xml
linden/indra/newview/skins/default/xui/zh/panel_avatar.xml
linden/indra/newview/skins/default/xui/zh/panel_friends.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_preferences_audio.xml
linden/indra/newview/skins/default/xui/zh/panel_preferences_im.xml
linden/indra/newview/skins/default/xui/zh/panel_region_covenant.xml
linden/indra/newview/skins/default/xui/zh/panel_speaker_controls.xml
linden/indra/newview/skins/default/xui/zh/panel_voice_options.xml
linden/indra/newview/skins/default/xui/zh/strings.xml
linden/indra/newview/skins/silver/colors_base.xml
linden/indra/newview/skins/silver/xui/en-us/floater_about_land.xml
linden/indra/newview/skins/silver/xui/en-us/floater_directory.xml
linden/indra/newview/skins/silver/xui/en-us/floater_tools.xml
linden/indra/newview/skins/silver/xui/en-us/panel_media_controls.xml
linden/indra/newview/viewer_manifest.py
linden/install.xml
Diffstat (limited to 'linden/indra/newview/llviewerwindow.cpp')
-rw-r--r-- | linden/indra/newview/llviewerwindow.cpp | 303 |
1 files changed, 159 insertions, 144 deletions
diff --git a/linden/indra/newview/llviewerwindow.cpp b/linden/indra/newview/llviewerwindow.cpp index 7e6c24f..c0e4fed 100644 --- a/linden/indra/newview/llviewerwindow.cpp +++ b/linden/indra/newview/llviewerwindow.cpp | |||
@@ -17,7 +17,8 @@ | |||
17 | * There are special exceptions to the terms and conditions of the GPL as | 17 | * There are special exceptions to the terms and conditions of the GPL as |
18 | * it is applied to this Source Code. View the full text of the exception | 18 | * it is applied to this Source Code. View the full text of the exception |
19 | * in the file doc/FLOSS-exception.txt in this software distribution, or | 19 | * in the file doc/FLOSS-exception.txt in this software distribution, or |
20 | * online at http://secondlifegrid.net/programs/open_source/licensing/flossexception | 20 | * online at |
21 | * http://secondlifegrid.net/programs/open_source/licensing/flossexception | ||
21 | * | 22 | * |
22 | * By copying, modifying or distributing this software, you acknowledge | 23 | * By copying, modifying or distributing this software, you acknowledge |
23 | * that you have read and understood your obligations described above, | 24 | * that you have read and understood your obligations described above, |
@@ -182,6 +183,9 @@ | |||
182 | #include "llviewernetwork.h" | 183 | #include "llviewernetwork.h" |
183 | #include "llpostprocess.h" | 184 | #include "llpostprocess.h" |
184 | 185 | ||
186 | #include "llfloatertest.h" // HACK! | ||
187 | #include "llfloaternotificationsconsole.h" | ||
188 | |||
185 | #if LL_WINDOWS | 189 | #if LL_WINDOWS |
186 | #include <tchar.h> // For Unicode conversion methods | 190 | #include <tchar.h> // For Unicode conversion methods |
187 | #endif | 191 | #endif |
@@ -189,7 +193,7 @@ | |||
189 | // | 193 | // |
190 | // Globals | 194 | // Globals |
191 | // | 195 | // |
192 | void render_ui(); | 196 | void render_ui(F32 zoom_factor = 1.f, int subfield = 0); |
193 | LLBottomPanel* gBottomPanel = NULL; | 197 | LLBottomPanel* gBottomPanel = NULL; |
194 | 198 | ||
195 | extern BOOL gDebugClicks; | 199 | extern BOOL gDebugClicks; |
@@ -246,6 +250,7 @@ std::string LLViewerWindow::sMovieBaseName; | |||
246 | extern void toggle_debug_menus(void*); | 250 | extern void toggle_debug_menus(void*); |
247 | 251 | ||
248 | 252 | ||
253 | |||
249 | //////////////////////////////////////////////////////////////////////////// | 254 | //////////////////////////////////////////////////////////////////////////// |
250 | // | 255 | // |
251 | // LLDebugText | 256 | // LLDebugText |
@@ -441,7 +446,7 @@ public: | |||
441 | if (gPipeline.mBatchCount > 0) | 446 | if (gPipeline.mBatchCount > 0) |
442 | { | 447 | { |
443 | addText(xpos, ypos, llformat("Batch min/max/mean: %d/%d/%d", gPipeline.mMinBatchSize, gPipeline.mMaxBatchSize, | 448 | addText(xpos, ypos, llformat("Batch min/max/mean: %d/%d/%d", gPipeline.mMinBatchSize, gPipeline.mMaxBatchSize, |
444 | gPipeline.mMeanBatchSize)); | 449 | gPipeline.mTrianglesDrawn/gPipeline.mBatchCount)); |
445 | 450 | ||
446 | gPipeline.mMinBatchSize = gPipeline.mMaxBatchSize; | 451 | gPipeline.mMinBatchSize = gPipeline.mMaxBatchSize; |
447 | gPipeline.mMaxBatchSize = 0; | 452 | gPipeline.mMaxBatchSize = 0; |
@@ -458,9 +463,46 @@ public: | |||
458 | 463 | ||
459 | ypos += y_inc; | 464 | ypos += y_inc; |
460 | 465 | ||
466 | addText(xpos,ypos, llformat("%d Lights visible", LLPipeline::sVisibleLightCount)); | ||
467 | |||
468 | ypos += y_inc; | ||
469 | |||
461 | LLVertexBuffer::sBindCount = LLImageGL::sBindCount = | 470 | LLVertexBuffer::sBindCount = LLImageGL::sBindCount = |
462 | LLVertexBuffer::sSetCount = LLImageGL::sUniqueCount = | 471 | LLVertexBuffer::sSetCount = LLImageGL::sUniqueCount = |
463 | gPipeline.mNumVisibleNodes = 0; | 472 | gPipeline.mNumVisibleNodes = LLPipeline::sVisibleLightCount = 0; |
473 | } | ||
474 | if (gSavedSettings.getBOOL("DebugShowRenderMatrices")) | ||
475 | { | ||
476 | addText(xpos, ypos, llformat("%.4f .%4f %.4f %.4f", gGLProjection[12], gGLProjection[13], gGLProjection[14], gGLProjection[15])); | ||
477 | ypos += y_inc; | ||
478 | |||
479 | addText(xpos, ypos, llformat("%.4f .%4f %.4f %.4f", gGLProjection[8], gGLProjection[9], gGLProjection[10], gGLProjection[11])); | ||
480 | ypos += y_inc; | ||
481 | |||
482 | addText(xpos, ypos, llformat("%.4f .%4f %.4f %.4f", gGLProjection[4], gGLProjection[5], gGLProjection[6], gGLProjection[7])); | ||
483 | ypos += y_inc; | ||
484 | |||
485 | addText(xpos, ypos, llformat("%.4f .%4f %.4f %.4f", gGLProjection[0], gGLProjection[1], gGLProjection[2], gGLProjection[3])); | ||
486 | ypos += y_inc; | ||
487 | |||
488 | addText(xpos, ypos, "Projection Matrix"); | ||
489 | ypos += y_inc; | ||
490 | |||
491 | |||
492 | addText(xpos, ypos, llformat("%.4f .%4f %.4f %.4f", gGLModelView[12], gGLModelView[13], gGLModelView[14], gGLModelView[15])); | ||
493 | ypos += y_inc; | ||
494 | |||
495 | addText(xpos, ypos, llformat("%.4f .%4f %.4f %.4f", gGLModelView[8], gGLModelView[9], gGLModelView[10], gGLModelView[11])); | ||
496 | ypos += y_inc; | ||
497 | |||
498 | addText(xpos, ypos, llformat("%.4f .%4f %.4f %.4f", gGLModelView[4], gGLModelView[5], gGLModelView[6], gGLModelView[7])); | ||
499 | ypos += y_inc; | ||
500 | |||
501 | addText(xpos, ypos, llformat("%.4f .%4f %.4f %.4f", gGLModelView[0], gGLModelView[1], gGLModelView[2], gGLModelView[3])); | ||
502 | ypos += y_inc; | ||
503 | |||
504 | addText(xpos, ypos, "View Matrix"); | ||
505 | ypos += y_inc; | ||
464 | } | 506 | } |
465 | if (gSavedSettings.getBOOL("DebugShowColor")) | 507 | if (gSavedSettings.getBOOL("DebugShowColor")) |
466 | { | 508 | { |
@@ -513,7 +555,7 @@ public: | |||
513 | iter != mLineList.end(); ++iter) | 555 | iter != mLineList.end(); ++iter) |
514 | { | 556 | { |
515 | const Line& line = *iter; | 557 | const Line& line = *iter; |
516 | LLFontGL::sMonospace->renderUTF8(line.text, 0, (F32)line.x, (F32)line.y, mTextColor, | 558 | LLFontGL::getFontMonospace()->renderUTF8(line.text, 0, (F32)line.x, (F32)line.y, mTextColor, |
517 | LLFontGL::LEFT, LLFontGL::TOP, | 559 | LLFontGL::LEFT, LLFontGL::TOP, |
518 | LLFontGL::NORMAL, S32_MAX, S32_MAX, NULL, FALSE); | 560 | LLFontGL::NORMAL, S32_MAX, S32_MAX, NULL, FALSE); |
519 | } | 561 | } |
@@ -1341,8 +1383,9 @@ void LLViewerWindow::handleDataCopy(LLWindow *window, S32 data_type, void *data) | |||
1341 | case SLURL_MESSAGE_TYPE: | 1383 | case SLURL_MESSAGE_TYPE: |
1342 | // received URL | 1384 | // received URL |
1343 | std::string url = (const char*)data; | 1385 | std::string url = (const char*)data; |
1344 | const bool from_external_browser = true; | 1386 | LLWebBrowserCtrl* web = NULL; |
1345 | if (LLURLDispatcher::dispatch(url, from_external_browser)) | 1387 | const bool trusted_browser = false; |
1388 | if (LLURLDispatcher::dispatch(url, web, trusted_browser)) | ||
1346 | { | 1389 | { |
1347 | // bring window to foreground, as it has just been "launched" from a URL | 1390 | // bring window to foreground, as it has just been "launched" from a URL |
1348 | mWindow->bringToFront(); | 1391 | mWindow->bringToFront(); |
@@ -1420,6 +1463,12 @@ LLViewerWindow::LLViewerWindow( | |||
1420 | mIsFullscreenChecked(false), | 1463 | mIsFullscreenChecked(false), |
1421 | mCurrResolutionIndex(0) | 1464 | mCurrResolutionIndex(0) |
1422 | { | 1465 | { |
1466 | LLNotificationChannel::buildChannel("VW_alerts", "Visible", LLNotificationFilters::filterBy<std::string>(&LLNotification::getType, "alert")); | ||
1467 | LLNotificationChannel::buildChannel("VW_alertmodal", "Visible", LLNotificationFilters::filterBy<std::string>(&LLNotification::getType, "alertmodal")); | ||
1468 | |||
1469 | LLNotifications::instance().getChannel("VW_alerts")->connectChanged(&LLViewerWindow::onAlert); | ||
1470 | LLNotifications::instance().getChannel("VW_alertmodal")->connectChanged(&LLViewerWindow::onAlert); | ||
1471 | |||
1423 | // Default to application directory. | 1472 | // Default to application directory. |
1424 | LLViewerWindow::sSnapshotBaseName = "Snapshot"; | 1473 | LLViewerWindow::sSnapshotBaseName = "Snapshot"; |
1425 | LLViewerWindow::sMovieBaseName = "SLmovie"; | 1474 | LLViewerWindow::sMovieBaseName = "SLmovie"; |
@@ -1531,8 +1580,6 @@ LLViewerWindow::LLViewerWindow( | |||
1531 | // Can't have spaces in settings.ini strings, so use underscores instead and convert them. | 1580 | // Can't have spaces in settings.ini strings, so use underscores instead and convert them. |
1532 | LLStringUtil::replaceChar(mOverlayTitle, '_', ' '); | 1581 | LLStringUtil::replaceChar(mOverlayTitle, '_', ' '); |
1533 | 1582 | ||
1534 | LLAlertDialog::setDisplayCallback(alertCallback); // call this before calling any modal dialogs | ||
1535 | |||
1536 | // sync the keyboard's setting with the saved setting | 1583 | // sync the keyboard's setting with the saved setting |
1537 | gSavedSettings.getControl("NumpadControl")->firePropertyChanged(); | 1584 | gSavedSettings.getControl("NumpadControl")->firePropertyChanged(); |
1538 | 1585 | ||
@@ -1615,33 +1662,16 @@ void LLViewerWindow::initBase() | |||
1615 | gFloaterView->setVisible(TRUE); | 1662 | gFloaterView->setVisible(TRUE); |
1616 | 1663 | ||
1617 | gSnapshotFloaterView = new LLSnapshotFloaterView("Snapshot Floater View", full_window); | 1664 | gSnapshotFloaterView = new LLSnapshotFloaterView("Snapshot Floater View", full_window); |
1618 | gSnapshotFloaterView->setVisible(TRUE); | 1665 | // Snapshot floater must start invisible otherwise it eats all |
1666 | // the tooltips. JC | ||
1667 | gSnapshotFloaterView->setVisible(FALSE); | ||
1619 | 1668 | ||
1620 | // Console | 1669 | // Console |
1621 | llassert( !gConsole ); | 1670 | llassert( !gConsole ); |
1622 | LLRect console_rect = full_window; | ||
1623 | console_rect.mTop -= 24; | ||
1624 | |||
1625 | console_rect.mBottom += getChatConsoleBottomPad(); | ||
1626 | |||
1627 | // TODO: Eliminate magic constants - please used named constants if changing this - don't be a programmer hater | ||
1628 | console_rect.mLeft += 24; //gSavedSettings.getS32("StatusBarButtonWidth") + gSavedSettings.getS32("StatusBarPad"); | ||
1629 | |||
1630 | if (gSavedSettings.getBOOL("ChatFullWidth")) | ||
1631 | { | ||
1632 | console_rect.mRight -= 10; | ||
1633 | } | ||
1634 | else | ||
1635 | { | ||
1636 | // Make console rect somewhat narrow so having inventory open is | ||
1637 | // less of a problem. | ||
1638 | console_rect.mRight = console_rect.mLeft + 2 * width / 3; | ||
1639 | } | ||
1640 | |||
1641 | gConsole = new LLConsole( | 1671 | gConsole = new LLConsole( |
1642 | "console", | 1672 | "console", |
1643 | gSavedSettings.getS32("ConsoleBufferSize"), | 1673 | gSavedSettings.getS32("ConsoleBufferSize"), |
1644 | console_rect, | 1674 | getChatConsoleRect(), |
1645 | gSavedSettings.getS32("ChatFontSize"), | 1675 | gSavedSettings.getS32("ChatFontSize"), |
1646 | gSavedSettings.getF32("ChatPersistTime") ); | 1676 | gSavedSettings.getF32("ChatPersistTime") ); |
1647 | gConsole->setFollows(FOLLOWS_LEFT | FOLLOWS_RIGHT | FOLLOWS_BOTTOM); | 1677 | gConsole->setFollows(FOLLOWS_LEFT | FOLLOWS_RIGHT | FOLLOWS_BOTTOM); |
@@ -1721,13 +1751,24 @@ void adjust_rect_top_right(const std::string& control, const LLRect& window) | |||
1721 | } | 1751 | } |
1722 | } | 1752 | } |
1723 | 1753 | ||
1754 | // *TODO: Adjust based on XUI XML | ||
1755 | const S32 TOOLBAR_HEIGHT = 64; | ||
1756 | |||
1757 | void adjust_rect_bottom_left(const std::string& control, const LLRect& window) | ||
1758 | { | ||
1759 | LLRect r = gSavedSettings.getRect(control); | ||
1760 | if (r.mLeft == 0 && r.mBottom == 0) | ||
1761 | { | ||
1762 | r.setOriginAndSize(0, TOOLBAR_HEIGHT, r.getWidth(), r.getHeight()); | ||
1763 | gSavedSettings.setRect(control, r); | ||
1764 | } | ||
1765 | } | ||
1766 | |||
1724 | void adjust_rect_bottom_center(const std::string& control, const LLRect& window) | 1767 | void adjust_rect_bottom_center(const std::string& control, const LLRect& window) |
1725 | { | 1768 | { |
1726 | LLRect r = gSavedSettings.getRect(control); | 1769 | LLRect r = gSavedSettings.getRect(control); |
1727 | if (r.mLeft == 0 && r.mBottom == 0) | 1770 | if (r.mLeft == 0 && r.mBottom == 0) |
1728 | { | 1771 | { |
1729 | // *TODO: Adjust based on XUI XML | ||
1730 | const S32 TOOLBAR_HEIGHT = 64; | ||
1731 | r.setOriginAndSize( | 1772 | r.setOriginAndSize( |
1732 | window.getWidth()/2 - r.getWidth()/2, | 1773 | window.getWidth()/2 - r.getWidth()/2, |
1733 | TOOLBAR_HEIGHT, | 1774 | TOOLBAR_HEIGHT, |
@@ -1786,6 +1827,23 @@ void LLViewerWindow::adjustRectanglesForFirstUse(const LLRect& window) | |||
1786 | 1827 | ||
1787 | adjust_rect_top_left("FloaterBuildOptionsRect", window); | 1828 | adjust_rect_top_left("FloaterBuildOptionsRect", window); |
1788 | 1829 | ||
1830 | adjust_rect_bottom_left("FloaterActiveSpeakersRect", window); | ||
1831 | |||
1832 | adjust_rect_bottom_left("FloaterBumpRect", window); | ||
1833 | |||
1834 | adjust_rect_bottom_left("FloaterRegionInfo", window); | ||
1835 | |||
1836 | adjust_rect_bottom_left("FloaterEnvRect", window); | ||
1837 | |||
1838 | adjust_rect_bottom_left("FloaterAdvancedSkyRect", window); | ||
1839 | |||
1840 | adjust_rect_bottom_left("FloaterAdvancedWaterRect", window); | ||
1841 | |||
1842 | adjust_rect_bottom_left("FloaterDayCycleRect", window); | ||
1843 | |||
1844 | adjust_rect_top_right("FloaterStatisticsRect", window); | ||
1845 | |||
1846 | |||
1789 | // bottom-right | 1847 | // bottom-right |
1790 | r = gSavedSettings.getRect("FloaterInventoryRect"); | 1848 | r = gSavedSettings.getRect("FloaterInventoryRect"); |
1791 | if (r.mLeft == 0 && r.mBottom == 0) | 1849 | if (r.mLeft == 0 && r.mBottom == 0) |
@@ -2136,7 +2194,7 @@ void LLViewerWindow::setNormalControlsVisible( BOOL visible ) | |||
2136 | 2194 | ||
2137 | void LLViewerWindow::setMenuBackgroundColor(bool god_mode, bool dev_grid) | 2195 | void LLViewerWindow::setMenuBackgroundColor(bool god_mode, bool dev_grid) |
2138 | { | 2196 | { |
2139 | LLStringUtil::format_map_t args; | 2197 | LLSD args; |
2140 | LLColor4 new_bg_color; | 2198 | LLColor4 new_bg_color; |
2141 | 2199 | ||
2142 | if(god_mode && LLViewerLogin::getInstance()->isInProductionGrid()) | 2200 | if(god_mode && LLViewerLogin::getInstance()->isInProductionGrid()) |
@@ -2189,12 +2247,6 @@ void LLViewerWindow::draw() | |||
2189 | stop_glerror(); | 2247 | stop_glerror(); |
2190 | 2248 | ||
2191 | LLUI::setLineWidth(1.f); | 2249 | LLUI::setLineWidth(1.f); |
2192 | //popup alerts from the UI | ||
2193 | LLAlertInfo alert; | ||
2194 | while (LLPanel::nextAlert(alert)) | ||
2195 | { | ||
2196 | alertXml(alert.mLabel, alert.mArgs); | ||
2197 | } | ||
2198 | 2250 | ||
2199 | LLUI::setLineWidth(1.f); | 2251 | LLUI::setLineWidth(1.f); |
2200 | // Reset any left-over transforms | 2252 | // Reset any left-over transforms |
@@ -2303,7 +2355,7 @@ void LLViewerWindow::draw() | |||
2303 | { | 2355 | { |
2304 | // Used for special titles such as "Second Life - Special E3 2003 Beta" | 2356 | // Used for special titles such as "Second Life - Special E3 2003 Beta" |
2305 | const S32 DIST_FROM_TOP = 20; | 2357 | const S32 DIST_FROM_TOP = 20; |
2306 | LLFontGL::sSansSerifBig->renderUTF8( | 2358 | LLFontGL::getFontSansSerifBig()->renderUTF8( |
2307 | mOverlayTitle, 0, | 2359 | mOverlayTitle, 0, |
2308 | llround( getWindowWidth() * 0.5f), | 2360 | llround( getWindowWidth() * 0.5f), |
2309 | getWindowHeight() - DIST_FROM_TOP, | 2361 | getWindowHeight() - DIST_FROM_TOP, |
@@ -2370,6 +2422,17 @@ BOOL LLViewerWindow::handleKey(KEY key, MASK mask) | |||
2370 | } | 2422 | } |
2371 | } | 2423 | } |
2372 | 2424 | ||
2425 | // Debugging view for unified notifications: CTRL-SHIFT-5 | ||
2426 | // *FIXME: Having this special-cased right here (just so this can be invoked from the login screen) sucks. | ||
2427 | if ((MASK_SHIFT & mask) | ||
2428 | && (!(MASK_ALT & mask)) | ||
2429 | && (MASK_CONTROL & mask) | ||
2430 | && ('5' == key)) | ||
2431 | { | ||
2432 | LLFloaterNotificationConsole::showInstance(); | ||
2433 | return TRUE; | ||
2434 | } | ||
2435 | |||
2373 | // handle escape key | 2436 | // handle escape key |
2374 | //if (key == KEY_ESCAPE && mask == MASK_NONE) | 2437 | //if (key == KEY_ESCAPE && mask == MASK_NONE) |
2375 | //{ | 2438 | //{ |
@@ -2965,7 +3028,7 @@ BOOL LLViewerWindow::handlePerFrameHover() | |||
2965 | } | 3028 | } |
2966 | 3029 | ||
2967 | // Always update console | 3030 | // Always update console |
2968 | LLRect console_rect = gConsole->getRect(); | 3031 | LLRect console_rect = getChatConsoleRect(); |
2969 | console_rect.mBottom = gHUDView->getRect().mBottom + getChatConsoleBottomPad(); | 3032 | console_rect.mBottom = gHUDView->getRect().mBottom + getChatConsoleBottomPad(); |
2970 | gConsole->reshape(console_rect.getWidth(), console_rect.getHeight()); | 3033 | gConsole->reshape(console_rect.getWidth(), console_rect.getHeight()); |
2971 | gConsole->setRect(console_rect); | 3034 | gConsole->setRect(console_rect); |
@@ -3413,9 +3476,9 @@ void LLViewerWindow::schedulePick(LLPickInfo& pick_info) | |||
3413 | LLGLState scissor_state(GL_SCISSOR_TEST); | 3476 | LLGLState scissor_state(GL_SCISSOR_TEST); |
3414 | scissor_state.enable(); | 3477 | scissor_state.enable(); |
3415 | glScissor(pick_info.mScreenRegion.mLeft, pick_info.mScreenRegion.mBottom, pick_info.mScreenRegion.getWidth(), pick_info.mScreenRegion.getHeight()); | 3478 | glScissor(pick_info.mScreenRegion.mLeft, pick_info.mScreenRegion.mBottom, pick_info.mScreenRegion.getWidth(), pick_info.mScreenRegion.getHeight()); |
3416 | glClearColor(0.f, 0.f, 0.f, 0.f); | 3479 | glClearColor(0.f, 0.f, 0.f, 0.f); |
3417 | glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); | 3480 | glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); |
3418 | //glClear(GL_COLOR_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); | 3481 | //glClear(GL_COLOR_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); |
3419 | } | 3482 | } |
3420 | 3483 | ||
3421 | // build perspective transform and picking viewport | 3484 | // build perspective transform and picking viewport |
@@ -3968,6 +4031,10 @@ void LLViewerWindow::playSnapshotAnimAndSound() | |||
3968 | 4031 | ||
3969 | BOOL LLViewerWindow::thumbnailSnapshot(LLImageRaw *raw, S32 preview_width, S32 preview_height, BOOL show_ui, BOOL do_rebuild, ESnapshotType type) | 4032 | BOOL LLViewerWindow::thumbnailSnapshot(LLImageRaw *raw, S32 preview_width, S32 preview_height, BOOL show_ui, BOOL do_rebuild, ESnapshotType type) |
3970 | { | 4033 | { |
4034 | return rawSnapshot(raw, preview_width, preview_height, FALSE, FALSE, show_ui, do_rebuild, type); | ||
4035 | |||
4036 | // *TODO below code was broken in deferred pipeline | ||
4037 | /* | ||
3971 | if ((!raw) || preview_width < 10 || preview_height < 10) | 4038 | if ((!raw) || preview_width < 10 || preview_height < 10) |
3972 | { | 4039 | { |
3973 | return FALSE; | 4040 | return FALSE; |
@@ -3999,7 +4066,7 @@ BOOL LLViewerWindow::thumbnailSnapshot(LLImageRaw *raw, S32 preview_width, S32 p | |||
3999 | LLVOAvatar::updateFreezeCounter(1) ; //pause avatar updating for one frame | 4066 | LLVOAvatar::updateFreezeCounter(1) ; //pause avatar updating for one frame |
4000 | 4067 | ||
4001 | S32 w = preview_width ; | 4068 | S32 w = preview_width ; |
4002 | S32 h = preview_height ; | 4069 | S32 h = preview_height ; |
4003 | LLVector2 display_scale = mDisplayScale ; | 4070 | LLVector2 display_scale = mDisplayScale ; |
4004 | mDisplayScale.setVec((F32)w / mWindowRect.getWidth(), (F32)h / mWindowRect.getHeight()) ; | 4071 | mDisplayScale.setVec((F32)w / mWindowRect.getWidth(), (F32)h / mWindowRect.getHeight()) ; |
4005 | LLRect window_rect = mWindowRect; | 4072 | LLRect window_rect = mWindowRect; |
@@ -4038,7 +4105,7 @@ BOOL LLViewerWindow::thumbnailSnapshot(LLImageRaw *raw, S32 preview_width, S32 p | |||
4038 | gltype = GL_UNSIGNED_BYTE ; | 4105 | gltype = GL_UNSIGNED_BYTE ; |
4039 | } | 4106 | } |
4040 | 4107 | ||
4041 | raw->resize(w, h, glpixel_length); | 4108 | raw->resize(w, h, glpixel_length); |
4042 | glReadPixels(0, 0, w, h, glformat, gltype, raw->getData()); | 4109 | glReadPixels(0, 0, w, h, glformat, gltype, raw->getData()); |
4043 | 4110 | ||
4044 | if(SNAPSHOT_TYPE_DEPTH == type) | 4111 | if(SNAPSHOT_TYPE_DEPTH == type) |
@@ -4100,7 +4167,7 @@ BOOL LLViewerWindow::thumbnailSnapshot(LLImageRaw *raw, S32 preview_width, S32 p | |||
4100 | 4167 | ||
4101 | gSavedSettings.setS32("RenderName", render_name); | 4168 | gSavedSettings.setS32("RenderName", render_name); |
4102 | 4169 | ||
4103 | return TRUE; | 4170 | return TRUE;*/ |
4104 | } | 4171 | } |
4105 | 4172 | ||
4106 | // Saves the image from the screen to the specified filename and path. | 4173 | // Saves the image from the screen to the specified filename and path. |
@@ -4150,7 +4217,7 @@ BOOL LLViewerWindow::rawSnapshot(LLImageRaw *raw, S32 image_width, S32 image_hei | |||
4150 | F32 ratio = llmin( (F32)window_width / image_width , (F32)window_height / image_height) ; | 4217 | F32 ratio = llmin( (F32)window_width / image_width , (F32)window_height / image_height) ; |
4151 | snapshot_width = (S32)(ratio * image_width) ; | 4218 | snapshot_width = (S32)(ratio * image_width) ; |
4152 | snapshot_height = (S32)(ratio * image_height) ; | 4219 | snapshot_height = (S32)(ratio * image_height) ; |
4153 | scale_factor = llmax(1.0f, 1.0f / ratio) ; | 4220 | scale_factor = llmax(1.0f, 1.0f / ratio) ; |
4154 | } | 4221 | } |
4155 | else //the scene(window) proportion needs to be maintained. | 4222 | else //the scene(window) proportion needs to be maintained. |
4156 | { | 4223 | { |
@@ -4167,7 +4234,7 @@ BOOL LLViewerWindow::rawSnapshot(LLImageRaw *raw, S32 image_width, S32 image_hei | |||
4167 | 4234 | ||
4168 | snapshot_width = image_width; | 4235 | snapshot_width = image_width; |
4169 | snapshot_height = image_height; | 4236 | snapshot_height = image_height; |
4170 | target.allocate(snapshot_width, snapshot_height, GL_RGBA, TRUE, LLTexUnit::TT_RECT_TEXTURE, TRUE); | 4237 | target.allocate(snapshot_width, snapshot_height, GL_RGBA, TRUE, TRUE, LLTexUnit::TT_RECT_TEXTURE, TRUE); |
4171 | window_width = snapshot_width; | 4238 | window_width = snapshot_width; |
4172 | window_height = snapshot_height; | 4239 | window_height = snapshot_height; |
4173 | scale_factor = 1.f; | 4240 | scale_factor = 1.f; |
@@ -4244,9 +4311,10 @@ BOOL LLViewerWindow::rawSnapshot(LLImageRaw *raw, S32 image_width, S32 image_hei | |||
4244 | } | 4311 | } |
4245 | else | 4312 | else |
4246 | { | 4313 | { |
4247 | display(do_rebuild, scale_factor, subimage_x+(subimage_y*llceil(scale_factor)), TRUE); | 4314 | const U32 subfield = subimage_x+(subimage_y*llceil(scale_factor)); |
4315 | display(do_rebuild, scale_factor, subfield, TRUE); | ||
4248 | // Required for showing the GUI in snapshots? See DEV-16350 for details. JC | 4316 | // Required for showing the GUI in snapshots? See DEV-16350 for details. JC |
4249 | render_ui(); | 4317 | render_ui(scale_factor, subfield); |
4250 | } | 4318 | } |
4251 | 4319 | ||
4252 | S32 subimage_x_offset = llclamp(buffer_x_offset - (subimage_x * window_width), 0, window_width); | 4320 | S32 subimage_x_offset = llclamp(buffer_x_offset - (subimage_x * window_width), 0, window_width); |
@@ -4543,7 +4611,7 @@ void LLViewerWindow::stopGL(BOOL save_state) | |||
4543 | gBumpImageList.destroyGL(); | 4611 | gBumpImageList.destroyGL(); |
4544 | stop_glerror(); | 4612 | stop_glerror(); |
4545 | 4613 | ||
4546 | LLFontGL::destroyGL(); | 4614 | LLFontGL::destroyAllGL(); |
4547 | stop_glerror(); | 4615 | stop_glerror(); |
4548 | 4616 | ||
4549 | LLVOAvatar::destroyGL(); | 4617 | LLVOAvatar::destroyGL(); |
@@ -4573,7 +4641,7 @@ void LLViewerWindow::stopGL(BOOL save_state) | |||
4573 | gGLManager.mIsDisabled = TRUE; | 4641 | gGLManager.mIsDisabled = TRUE; |
4574 | stop_glerror(); | 4642 | stop_glerror(); |
4575 | 4643 | ||
4576 | llinfos << "Remaining allocated texture memory: " << LLImageGL::sGlobalTextureMemory << " bytes" << llendl; | 4644 | llinfos << "Remaining allocated texture memory: " << LLImageGL::sGlobalTextureMemoryInBytes << " bytes" << llendl; |
4577 | } | 4645 | } |
4578 | } | 4646 | } |
4579 | 4647 | ||
@@ -4630,23 +4698,12 @@ void LLViewerWindow::restoreGL(const std::string& progress_message) | |||
4630 | 4698 | ||
4631 | void LLViewerWindow::initFonts(F32 zoom_factor) | 4699 | void LLViewerWindow::initFonts(F32 zoom_factor) |
4632 | { | 4700 | { |
4633 | LLFontGL::destroyGL(); | 4701 | LLFontGL::destroyAllGL(); |
4634 | LLFontGL::initDefaultFonts( gSavedSettings.getF32("FontScreenDPI"), | 4702 | LLFontGL::initDefaultFonts( gSavedSettings.getF32("FontScreenDPI"), |
4635 | mDisplayScale.mV[VX] * zoom_factor, | 4703 | mDisplayScale.mV[VX] * zoom_factor, |
4636 | mDisplayScale.mV[VY] * zoom_factor, | 4704 | mDisplayScale.mV[VY] * zoom_factor, |
4637 | gSavedSettings.getString("FontMonospace"), | 4705 | gDirUtilp->getAppRODataDir(), |
4638 | gSavedSettings.getF32("FontSizeMonospace"), | 4706 | LLUICtrlFactory::getXUIPaths()); |
4639 | gSavedSettings.getString("FontSansSerif"), | ||
4640 | gSavedSettings.getString("FontSansSerifFallback"), | ||
4641 | gSavedSettings.getF32("FontSansSerifFallbackScale"), | ||
4642 | gSavedSettings.getF32("FontSizeSmall"), | ||
4643 | gSavedSettings.getF32("FontSizeMedium"), | ||
4644 | gSavedSettings.getF32("FontSizeLarge"), | ||
4645 | gSavedSettings.getF32("FontSizeHuge"), | ||
4646 | gSavedSettings.getString("FontSansSerifBold"), | ||
4647 | gSavedSettings.getF32("FontSizeMedium"), | ||
4648 | gDirUtilp->getAppRODataDir() | ||
4649 | ); | ||
4650 | } | 4707 | } |
4651 | 4708 | ||
4652 | 4709 | ||
@@ -4738,8 +4795,6 @@ BOOL LLViewerWindow::checkSettings() | |||
4738 | } | 4795 | } |
4739 | 4796 | ||
4740 | mResDirty = false; | 4797 | mResDirty = false; |
4741 | // This will force a state update the next frame. | ||
4742 | mStatesDirty = true; | ||
4743 | } | 4798 | } |
4744 | 4799 | ||
4745 | BOOL is_fullscreen = mWindow->getFullscreen(); | 4800 | BOOL is_fullscreen = mWindow->getFullscreen(); |
@@ -4890,10 +4945,10 @@ BOOL LLViewerWindow::changeDisplaySettings(BOOL fullscreen, LLCoordScreen size, | |||
4890 | 4945 | ||
4891 | if (!result_first_try) | 4946 | if (!result_first_try) |
4892 | { | 4947 | { |
4893 | LLStringUtil::format_map_t args; | 4948 | LLSD args; |
4894 | args["[RESX]"] = llformat("%d",size.mX); | 4949 | args["RESX"] = llformat("%d",size.mX); |
4895 | args["[RESY]"] = llformat("%d",size.mY); | 4950 | args["RESY"] = llformat("%d",size.mY); |
4896 | alertXml("ResolutionSwitchFail", args); | 4951 | LLNotifications::instance().add("ResolutionSwitchFail", args); |
4897 | size = old_size; // for reshape below | 4952 | size = old_size; // for reshape below |
4898 | } | 4953 | } |
4899 | 4954 | ||
@@ -5006,74 +5061,47 @@ S32 LLViewerWindow::getChatConsoleBottomPad() | |||
5006 | return offset; | 5061 | return offset; |
5007 | } | 5062 | } |
5008 | 5063 | ||
5009 | //---------------------------------------------------------------------------- | 5064 | LLRect LLViewerWindow::getChatConsoleRect() |
5010 | |||
5011 | // static | ||
5012 | bool LLViewerWindow::alertCallback(S32 modal) | ||
5013 | { | 5065 | { |
5014 | if (gNoRender) | 5066 | LLRect full_window(0, getWindowHeight(), getWindowWidth(), 0); |
5015 | { | 5067 | LLRect console_rect = full_window; |
5016 | return false; | ||
5017 | } | ||
5018 | else | ||
5019 | { | ||
5020 | // if (modal) // we really always want to take you out of mouselook | ||
5021 | { | ||
5022 | // If we're in mouselook, the mouse is hidden and so the user can't click | ||
5023 | // the dialog buttons. In that case, change to First Person instead. | ||
5024 | if( gAgent.cameraMouselook() ) | ||
5025 | { | ||
5026 | gAgent.changeCameraToDefault(); | ||
5027 | } | ||
5028 | } | ||
5029 | return true; | ||
5030 | } | ||
5031 | } | ||
5032 | 5068 | ||
5033 | LLAlertDialog* LLViewerWindow::alertXml(const std::string& xml_filename, | 5069 | const S32 CONSOLE_PADDING_TOP = 24; |
5034 | LLAlertDialog::alert_callback_t callback, void* user_data) | 5070 | const S32 CONSOLE_PADDING_LEFT = 24; |
5035 | { | 5071 | const S32 CONSOLE_PADDING_RIGHT = 10; |
5036 | LLStringUtil::format_map_t args; | ||
5037 | return alertXml( xml_filename, args, callback, user_data ); | ||
5038 | } | ||
5039 | 5072 | ||
5040 | LLAlertDialog* LLViewerWindow::alertXml(const std::string& xml_filename, const LLStringUtil::format_map_t& args, | 5073 | console_rect.mTop -= CONSOLE_PADDING_TOP; |
5041 | LLAlertDialog::alert_callback_t callback, void* user_data) | 5074 | console_rect.mBottom += getChatConsoleBottomPad(); |
5042 | { | 5075 | |
5043 | if (gNoRender) | 5076 | console_rect.mLeft += CONSOLE_PADDING_LEFT; |
5077 | |||
5078 | if (gSavedSettings.getBOOL("ChatFullWidth")) | ||
5044 | { | 5079 | { |
5045 | llinfos << "Alert: " << xml_filename << llendl; | 5080 | console_rect.mRight -= CONSOLE_PADDING_RIGHT; |
5046 | if (callback) | ||
5047 | { | ||
5048 | callback(-1, user_data); | ||
5049 | } | ||
5050 | return NULL; | ||
5051 | } | 5081 | } |
5052 | 5082 | else | |
5053 | // If we're in mouselook, the mouse is hidden and so the user can't click | ||
5054 | // the dialog buttons. In that case, change to First Person instead. | ||
5055 | if( gAgent.cameraMouselook() ) | ||
5056 | { | 5083 | { |
5057 | gAgent.changeCameraToDefault(); | 5084 | // Make console rect somewhat narrow so having inventory open is |
5085 | // less of a problem. | ||
5086 | console_rect.mRight = console_rect.mLeft + 2 * getWindowWidth() / 3; | ||
5058 | } | 5087 | } |
5059 | 5088 | ||
5060 | // Note: object adds, removes, and destroys itself. | 5089 | return console_rect; |
5061 | return LLAlertDialog::showXml( xml_filename, args, callback, user_data ); | ||
5062 | } | 5090 | } |
5091 | //---------------------------------------------------------------------------- | ||
5092 | |||
5063 | 5093 | ||
5064 | LLAlertDialog* LLViewerWindow::alertXmlEditText(const std::string& xml_filename, const LLStringUtil::format_map_t& args, | 5094 | //static |
5065 | LLAlertDialog::alert_callback_t callback, void* user_data, | 5095 | bool LLViewerWindow::onAlert(const LLSD& notify) |
5066 | LLAlertDialog::alert_text_callback_t text_callback, void *text_data, | ||
5067 | const LLStringUtil::format_map_t& edit_args, BOOL draw_asterixes) | ||
5068 | { | 5096 | { |
5097 | LLNotificationPtr notification = LLNotifications::instance().find(notify["id"].asUUID()); | ||
5098 | |||
5069 | if (gNoRender) | 5099 | if (gNoRender) |
5070 | { | 5100 | { |
5071 | llinfos << "Alert: " << xml_filename << llendl; | 5101 | llinfos << "Alert: " << notification->getName() << llendl; |
5072 | if (callback) | 5102 | notification->respond(LLSD::emptyMap()); |
5073 | { | 5103 | LLNotifications::instance().cancel(notification); |
5074 | callback(-1, user_data); | 5104 | return false; |
5075 | } | ||
5076 | return NULL; | ||
5077 | } | 5105 | } |
5078 | 5106 | ||
5079 | // If we're in mouselook, the mouse is hidden and so the user can't click | 5107 | // If we're in mouselook, the mouse is hidden and so the user can't click |
@@ -5082,20 +5110,7 @@ LLAlertDialog* LLViewerWindow::alertXmlEditText(const std::string& xml_filename, | |||
5082 | { | 5110 | { |
5083 | gAgent.changeCameraToDefault(); | 5111 | gAgent.changeCameraToDefault(); |
5084 | } | 5112 | } |
5085 | 5113 | return false; | |
5086 | // Note: object adds, removes, and destroys itself. | ||
5087 | LLAlertDialog* alert = LLAlertDialog::createXml( xml_filename, args, callback, user_data ); | ||
5088 | if (alert) | ||
5089 | { | ||
5090 | if (text_callback) | ||
5091 | { | ||
5092 | alert->setEditTextCallback(text_callback, text_data); | ||
5093 | } | ||
5094 | alert->setEditTextArgs(edit_args); | ||
5095 | alert->setDrawAsterixes(draw_asterixes); | ||
5096 | alert->show(); | ||
5097 | } | ||
5098 | return alert; | ||
5099 | } | 5114 | } |
5100 | 5115 | ||
5101 | //////////////////////////////////////////////////////////////////////////// | 5116 | //////////////////////////////////////////////////////////////////////////// |